logo头像
Snippet 博客主题

【【Java并发编程实战】线程池应用之Executors线程池静态工厂

今天我们来认识一下,线程池的静态工厂Executors类,平时写测试代码的时候可用一用,生产代码尽量少用。为什么说生产上尽量少用呢?这是有原因的,请耐心听彤哥讲解。 阿里的代码规约不建议使用这样的工厂类,而建议使用手动创建并管理ThreadPoolExecutor,在阿里巴巴Java开发手册中...

【Java并发编程实战】-深入ThreadPoolExecutor工作机制

为了高效的管理线程,JDK1.5版本的Doug Lea大神为我们设计了大名鼎鼎的ThreadPoolExecutor。 作为Executor框架中最核心的类-ThreadPoolExecutor,我们可以认为它是一个调度工具,为了高效执行或调度任务,我们非常有必要对该类的工作原理以及内部机制了...

【Java并发编程实战】-Java线程池基础

线程池是限制系统中执行线程的数量,并能够根据一定的策略回收线程并重复使用。JDK1.5之后加入了java.util.concurrent包,我们日常称之为J.U.C并发包,这个包对我们日常解决并发提供了非常大的帮助。 根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果;少了浪费...

【Java并发编程实战】-浅谈volatile内存可见性

volatile这个关键字大家都听过,看过许多源码也用过,这个关键字备受争议,很多人基于表面理解而导致在实际开发过生中大肆误用,暴露出各式各样的问题,让人摸不着头脑,今天我们来好好理解一下volatile。 百度百科:volatile是一个类型修饰符.volatile的作用是作为指令关键字,...

【Java并发编程实战】-Java内存模型

硬件的效率与一致性计算机内部运算流程 计算机执行若干个运算任务,所有的计算任务不可能仅仅靠处理器“计算”来完成,计算器存储设备与处理器的运算速度有几个数量级的差距; 至少要与内存进行交互,如读取运算数据、存储运算结果,不能仅仅靠CPU寄存器来完成 随着计算机硬件的快速发展,任何设备的读写速度要...

Spring Cloud-Zuul核心过滤器及异常处理

百家技术,谈笑古今.今天我们不讲三国,我们讲一讲微服务网关中的一些细节:Zuul过滤器. Zuul过滤器Spring Cloud中的Zuul为我们提供了统一对外,路由转发和过滤拦截的强大功能.在Spring Cloud Zuul中实现的过滤器必须包含4个基本特征:过滤类型,执行顺序,执行条...

自定义一个Spring Boot Starter

我们可以模仿之前http编码自动配置的例子也协议一个starter,目的是为了降低耦合性.虽说可以降低程序依赖之间的耦合性,但是我们不建议自己定义starter,因为Spring Boot或其他社区已经提供了大部分的starter,可以满足我们日常的需求.本篇博文主要为了让大家更好的理解Spr...

Spring Boot自动配置原理剖析

神奇魔法-自动配置前篇文章讲述了Spring 4 条件注解,其实Spring Boot自动配置神奇实现也是基于这一原理的.若想知道Spring Boot为我们做了哪些的自动配置,可以查看这里的源码.可以通过以下三种方式查看项目中已启用和未启用的自动配置报告. 运行jar时增加–debug参数...

Spring条件注解@Conditional

@Conditional注解Spring 4提供了一个基于条件的Bean的创建,即使用@Conditional注解.@Conditional根据满足某一个特定条件创建一个特定的Bean.比如说,当某一个jar包在一个类路径下的时候,自动配置一个或多个Bean;或者只有某个Bean被创建才会创建...

Spring容器以及Bean的生命周期

Spring容器容器是Spring框架的核心.Spring容器使用DI管理构成应用的组件,他会创建相互协作的组件之间的关联.Spring容器并不是只有一个.Spring自带多个容器实现,可归纳为两种不同的类型: Bean工厂(由BeanFactory接口定义)是最简单的同期,提供基本的DI支...