Spring Boot 使用 全局异常捕捉

全局异常捕捉 在项目中异常一般都会进行统一处理,那么如何进行统一进行处理呢? 新建一个类GlobalDefaultExceptionHandler 在class注解上@ControllerAdvice 在方法上注解上@ExceptionHandler(value = Exception.class),用于拦截相应的信息 如果返回view,方法的返回值是ModelAndView 如果返回的是String或者是JSON,那么在返回的方法上添加@ResponseBody注解 代码编写 具体代码如下:
分类: 编程语言 发布时间: 06-05 23:12 阅读次数: 1

多线程(六)

1.lock 用lock实现同步: public class MyService { private Lock lock=new ReentrantLock(); public void testMethod(){ lock.lock(); for (int i = 0; i <5; i++) { System.out.println("ThreadName="+Thread.currentThread().getName
分类: 其他 发布时间: 06-05 23:12 阅读次数: 0

scrapy 框架 python 爬虫

朋友托我帮忙写个爬虫,记录一下。 项目整体介绍: scrapy 框架 , anaconda(python 3.6) 开发工具: IDEA 详细介绍: scrapy 结构图: Scrapy主要包括了以下组件: 引擎(Scrapy Engine) 负责Spider . ItemPipline. Downloader . Scheduler 中间的通讯,信号,数据传递等 调度器(Scheduler) 负责接受引擎发送过来的Request请求,并按照一定的方式进行整理队列,入队,当引擎需要时,交换给引
分类: 其他 发布时间: 06-05 23:12 阅读次数: 3

redis 存储机制

Redis存储机制分成两种Snapshot和AOF。无论是那种机制,Redis都是将数据存储在内存中。 Snapshot工作原理: 是将数据先存储在内存,然后当数据累计达到某些设定的伐值的时候,就会触发一次DUMP操作,将变化的数据一次性写入数据文件(RDB文件)。 AOF 工作原理: 是将数据也是先存在内存,但是在存储的时候会使用调用fsync来完成对本次写操作的日志记录,这个日志揭露文件其实是一个基于Redis网络交互协议的文本文件。AOF调用fsync也不是说全部都是无阻塞的,在某些系统
分类: 服务端 发布时间: 06-05 23:12 阅读次数: 8

安装es(elasticsearch)遇到问题总结

[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536] [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] [3]...
分类: 其他 发布时间: 06-05 23:12 阅读次数: 3

elk介绍及其安装教程

ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。官方网站:https://www.elastic.co/products·        Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。·        Logstash是一个完全开源的工具,他...
分类: 其他 发布时间: 06-05 23:11 阅读次数: 0

springboot集成elk日志

搭建elk请见我的另一篇博客一、加入下面依赖包: &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;net.logstash.logback&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;logstash-logback-encoder&amp;lt;/artifactId&amp;gt; ...
分类: 其他 发布时间: 06-05 23:11 阅读次数: 0

多线程-等待其他线程完成CountDownLatch

CountDownLatch使用场景,所有线程执行完了,再执行等待的线程。比如:比赛完出成绩CountDownLatch latch = new CountDownLatch(10);//初始化同步计数器,只有是0时,等待的线程才会执行,初始化一次后,不可再次设置 latch.countDown(); //每执行一个线程结束,把计数手动减一latch.await(); //在等待线程中执行 ...
分类: 其他 发布时间: 06-05 23:11 阅读次数: 1

Executors创建四种线程池

newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。 newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。 newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。 newSingleThreadExecutor 创建一个单线程化...
分类: 其他 发布时间: 06-05 23:10 阅读次数: 3

springboot 整合interceptor

过滤器是java实现的,它需要依赖于Servlet容器,而拦截器是SprignMVC实现的一个机制,独立于Servlet容器,而且能实现IOC容器中的各个bean。简单的说:过滤器的urlPattern针对的是所有的请求,而拦截器的urlPattern针对的SpringMVC中的Controller控制器处理的请求,并不会拦截Servlet容器 一、创建一个自定义拦截器,继承HandlerInte...
分类: 其他 发布时间: 06-05 23:10 阅读次数: 3

springboot使用redis实现消息队列

redis消息队列适合轻量级高并发的情况,比如秒杀,及时数据分析等。首先springboot配置文件配置如下:spring: redis: database: 1 host: 192.168.94.151 port: 6379 password: xuhaixing jedis: pool: max-idle: 8 ...
分类: 其他 发布时间: 06-05 23:10 阅读次数: 0

SpringCloud(一) eureka服务注册与发现

一、Eureka介绍Eureka是一个基于REST(Representational State Transfer)的服务,主要用于AWS cloud, 提供服务定位(locating services)、负载均衡(load balancing)、故障转移(failover of middle-tier servers)。我们把它叫做Eureka Server. Eureka也提供了基于Java的...
分类: 其他 发布时间: 06-05 23:10 阅读次数: 1

SpringCloud(二) eureka开启安全认证

在上一篇的基础上:在eureka server的pom文件中加下面依赖: &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;spring-boot-starter-security&amp;lt;/artifa...
分类: 其他 发布时间: 06-05 23:09 阅读次数: 0

SpringCloud(三) eureka集群

根据  SpringCloud(一) eureka服务注册与发现 ,再增加两个eureka serverEureka Server的高可用Eureka Server的设计一开始就考虑到了高可用的问题,在Eureka的服务治理设计中,所有节点即是服务提供方,也是服务消费方,服务注册也不列外。之前的有配置:eureka:  client:    register-with-eureka: false ...
分类: 其他 发布时间: 06-05 23:09 阅读次数: 1

工厂方法设计模式

前言:工厂方法模式也属于类的创建模式,也被称为多态工厂模式,它与简单工厂模式的不同是,工厂定义为抽象的,工厂的每个子类负责创建具体的实体类。这样的好处是,增加新的实体,只需要增加相应的工厂就可以了,不需要修改原工厂代码。怎么实现:1、需要实体类:要被创建的类2、被创建的类的共同父类:多态的体现,负责所有实例的公共接口,在工厂类中接受实体对象3、抽象工厂类:所有工厂类的父类4、工厂类:创建实体类,继...
分类: 其他 发布时间: 06-05 23:09 阅读次数: 1

X86和X64到底是怎么回事

x86是对基于intel处理器的系统的标准缩写。X与处理器没有任何关系,它是一个对所有*86系统的简单的通配符定义,是一个intel通用计算机系列的编号,也标识一套通用的计算机指令集合,由于早期intel的CPU编号都是如8086,80286来编号,由于这整个系列的CPU都是指令兼容的,所以都用X86来标识所使用的指令集合如今的奔腾,P2,P4,赛扬系列都是支持X86指令系统的,所以都属于X86家...
分类: 其他 发布时间: 06-05 23:08 阅读次数: 1

C语言学习:基本语法

分号如果你有其它编程语言的基础,相信你已经明白了分号的意义。分号在C语言中与多数语言相同,它代表了语句的结束。也就是说,一个完整的语句必须以分号结尾。注释注释就像是帮助文件一样,它可以帮助我们更快更容易的去阅读理解代码,在编译的时候它会被编译器忽略 。注释以/*开头,*/结束。标识符C标识符是用来标识变量、函数或自定义项目的名称。一个合法的标识符以大写字母A-Z或小写字母a-z或下划线_开始,后面...
分类: 其他 发布时间: 06-05 23:08 阅读次数: 0

Install Oracle Tuxedo in silent mode

We can save time by using silent mode provided by many software. We can do some other things with saved time. Hope this can help you. Tuxedo 12.1.3 1. reponse file content. below content should be saved as tuxedo_install.rsp RESPONSEFILE_VERSION=2.2
分类: 其他 发布时间: 06-05 23:07 阅读次数: 0

[Luogu4550] 收集邮票

题目描述 有n种不同的邮票,皮皮想收集所有种类的邮票。唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是n种邮票中的哪一种是等概率的,概率均为1/n。但是由于凡凡也很喜欢邮票,所以皮皮购买第k张邮票需要支付k元钱。 现在皮皮手中没有邮票,皮皮想知道自己得到所有种类的邮票需要花费的钱数目的期望。 输入输出格式 输入格式: 一行,一个数字N N<=10000 输出格式: 要付出多少钱. 保留二位小数 输入输出样例 输入样例#1: 3 输出样例#1: 21.25 提交地址 :
分类: 其他 发布时间: 06-05 23:07 阅读次数: 1

Redis-Set常用命令

Redis-Set常用命令 Set与List的区别在于,Set保存的队列数据是不重复的,且无序 sadd key value... 在指定key对应的集合中添加 value集合,如果key不存在,即新创建 srem key value... 移除指定key中的value集合,并返回移除的值的数量 sismember key value 判断指定key中指定value是否存在集合中,返回 0 或 1 scard key 返回指定key对应的集合长度 smembers key 返回指定key对应的
分类: 其他 发布时间: 06-05 23:07 阅读次数: 0