caison个人博客
理解Java并发底层之AQS实现 理解Java并发底层之AQS实现
jdk的JUC包(java.util.concurrent)提供大量Java并发工具提供使用,基本由Doug Lea编写,很多地方值得学习和借鉴,是进阶升级必经之路 本文从JUC包中常用的对象锁、并发工具的使用和功能特性入手,带着问题,由浅
2019-10-13
理解Java-GC原理和调优 理解Java-GC原理和调优
概述本文介绍GC基础原理和理论,GC调优方法思路和方法,基于Hotspot jdk1.8,学习之后将了解如何对生产系统出现的GC问题进行排查解决 阅读时长约30分钟,内容主要如下: GC基础原理,涉及调优目标,GC事件分类、JVM内存分
2019-10-13
理解Java内存模型 理解Java内存模型
最近重新学习一遍《深入学习Java虚拟机》,把之前Java内存模型中模糊的知识重新梳理一遍,这篇文章主要介绍模型产生的问题背景,解决的问题,处理思路,相关实现规则,环环相扣,希望读者看完这篇文章后能对Java内存模型体系产生一个相对清晰的
2019-10-13
理解Java中SPI机制 理解Java中SPI机制
本文通过探析JDK提供的,在开源项目中比较常用的Java SPI机制,希望给大家在实际开发实践、学习开源项目提供参考。 1 SPI是什么SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或
2019-10-13
理解Java的分级引用模型 理解Java的分级引用模型
作者 陈彩华 文章转载交流请联系 caison@aliyun.com本文通过探析Java中的引用模型,分析比较强引用、软引用、弱引用、虚引用的概念及使用场景,知其然且知其所以然,希望给大家在实际开发实践、学习开源项目提供参考。 1 Jav
2019-10-13
《阿里巴巴Java开发手册》学习笔记 《阿里巴巴Java开发手册》学习笔记
2017年,阿里官方推出一套Java编程规范:《阿里巴巴Java开发手册(终极版)》,这套Java统一规范标准将有助于提高行业编码规范化水平,帮助行业人员提高开发质量和效率、大大降低代码维护成本。推出之后,在CSDN,InfoQ,知乎等网
2019-10-13
日志打印规范及技巧学习总结 日志打印规范及技巧学习总结
一、日志打印级别 DEBUG(调试)开发调试日志。一般来说,在系统实际运行过程中,不会输出该级别的日志。因此,开发人员可以打印任何自己觉得有利于了解系统运行状态的东东。不过很多场景下,过多的DEBUG日志,并不是好事,建议是按照业务逻辑的
2019-10-13
设计模式-结构型模式 设计模式-结构型模式
享元模式(Flyweight)意图:运用共享技术有效地支持大量细粒度的对象。主要解决:在有大量对象时,有可能会造成内存溢出,我们把其中共同的部分抽象出来,如果有相同的业务请求,直接返回在内存中已有的对象,避免重新创建。 代理模式(Prox
2019-10-13
设计模式-行为型模式 设计模式-行为型模式
中介者模式(Mediator)意图:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。主要解决:对象与对象之间存在大量的关联关系,这样势必会导致系统的结构变得很复
2019-10-13
线程的5种状态总结 线程的5种状态总结
线程的5种状态线程可以有如下5种状态:5种状态的转换图如下 New (新创建)*  当用*new**操作符创建一个线程时,如new Thread(r),该线程还没有开始运行。这意外这它的状态是new。此时程序还没有开始运行线程中的代码,
2019-10-13
设计模式-创建型模式 设计模式-创建型模式
原型模式(Prototype )意图:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。主要解决:在运行期建立和删除原型。 建造者模式(Builder)意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表
2019-10-13