- 博客(10)
- 收藏
- 关注
原创 IdleStateHandler
作用:用于空闲连接处理,当出现reader/writer空闲时,触发IdleStateEvent Netty事件,ChannelInboundHandler通过userEventTriggered来捕获这个事件,从而进行处理。一、构造函数一般我们使用的IdleStateHandler的构造函数有4个参数:long readerIdleTimeSeconds:Channel多久没有读取数...
2018-12-05 11:57:33 2680
原创 Spring注解之@Conditional
@Conditional Spring 提供了profile进行一个动态配置选择,同时更加细力度的,我们可以使用@Conditional来实现。可以说profile能够实现的,@Conditional都能够实现。@Configuration@Conditional({Main.MyCondition.class})@Main.MyAnnotation({"123", "456...
2018-08-31 17:53:45 311
原创 Spring注解之@Import和@ImportResource
前言 为什么研究这两个注解,是因为在看Spring Boot源码的时候,对于其中大量的EnableXXX都使用了@Import注解,所以决定研究下这个注解,顺便写了一点关于@ImportRescource注解的东西,希望对大家有帮助。@Import 简介:功能类似XML配置的,用来导入配置类,可以导入带有@Configuration注解的配置类或实现了ImportSele...
2018-08-31 17:51:44 6711
原创 Spring注解之@Bean
@Bean 功能:注册实例为Spring Bean。/** * Indicates that a method produces a bean to be managed by the Spring container. * * <h3>Overview</h3> * * <p>The names and semantics of t...
2018-08-31 17:50:28 1390
原创 Spring注解之@Configuration
前言 Spring 3.0之后推出了大量的注解来完全替代XML,这里介绍一下@Configuration的使用,希望能给大家带来收获。@Configuration 这个注解用过Spring纯注解配置方式的都不陌生,代表这是一个Spring配置类。建议大家有时间还是看下这个源码的解释,说了很多@Configuration的多种使用方式。/** * Indic...
2018-08-31 17:48:55 2524
原创 JUC中的同步工具类
0.主题 在JDK1.5之前,我们只能通过Object的wait/notify/notifyAll来进行线程之间的协作,阻塞当前线程和唤醒阻塞在该Object方法上的线程。不过在JDK 1.5之后,JUC包中推出了很多工具类,来方便我们完成线程之间的协作,方便更加高效的低错误率的实现一些功能。这里介绍三个JUC中的工具类,CountDownLatch/Semaphore/Barri...
2018-08-05 15:32:21 607
原创 Java线程池
线程池概述通俗的讲,线程池就是一个池子,里面全是线程。目的是对线程进行统一管理,对线程进行复用,对线程数量进行控制,避免过多的线程导致系统缓慢。和线程池紧密关联的是阻塞队列,当线程池中线程全部属于活跃状态时,新进来的请求就需要放在阻塞队列中进行排队等待空闲的线程。Java中线程池的顶级接口Executor:public interface Executor { /** * Ex...
2018-05-13 18:22:52 368 4
原创 Java锁
锁类型锁按照不同的标准可以定义出不同类型。可重入锁/不可重入锁公平锁/非公平锁独占锁/共享锁乐观锁/悲观锁偏向锁/轻量级锁/重量级锁可重入锁/不可重入锁按照锁是否可以嵌套获取,我们可以将锁分为可重入锁和不可重入锁。Java中的synchronized和ReentrantLock都是可重入锁,现在基本上很少见不可重入锁,不可重入锁在嵌套获取锁的时候会阻塞出现死锁。如下代码就是一个不可重入锁,永远不会...
2018-05-12 14:21:04 193
原创 Git学习笔记
参考git pro:http://git.oschina.net/progit本地仓库git init 初始化一个本地仓库git status 检查当前文件的状态git add 文件名 将新文件纳入版本控制,或将修改的旧文件添加到暂存,以等待提交,可以使用git add * 来添加所有文件(将新文件纳入版本控制,将修改的旧文件添加到暂存区)。git rm 文件名 将文件
2017-03-16 15:51:38 199
原创 SLF4J学习笔记
1、什么是SLF4J?SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。简单的说,SLF4J是多个日志的统一门面,SLF4J通往提供了各个日志实现框架的插件。最终用户只需要通过调
2016-12-28 14:34:26 235
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人