自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

有图有真相

一言不合就上源码

原创 Java异常机制--try catch finally 执行顺序详解

引言关于try catch finally 执行顺序的笔试面试题目非常的多,我曾经在牛客网刷题的时候不止一次的碰到过,而且不止一次的做错过,这里面需要涉及的细节如果不弄清楚每次做题就会产生似是而非的感觉。这次查阅了很多相关资料,关于try catch finally 执行顺序各方面基本都讲到了。不...

2017-06-20 16:52:23 9073 7

原创 Java进阶--static完全解析

前言现在深深的感觉到写一篇好的博客十分不容易,static关键字的考点在各种笔试面试中会经常遇到,在写这篇博客之前我也是大量的阅读了相关的文献,争取从全局上对static做一个分析,这里的全局包括JVM(Java虚拟机),JMM(Java内存模型)等。Java内存管理机制在讲static关键字之前...

2017-06-13 17:08:49 980 0

原创 Java并发编程--深入理解volatile关键字

前言一个月以前就准备写篇关于volatile关键字的博客,一直没有动笔,期间看了大量的文章,发现一个小小volatile关键字竟然涉及JMM(Java memory model),JVM(Java virtual machine),Java多线程同步与安全各个方面的知识,写起了非常的困难,后面附带...

2017-06-12 17:39:06 538 0

原创 深入理解jvm--Java类的初始化及主动引用和被动引用完全解析

初始化类初始化阶段是类加载过程的最后一步,前面的类加载过程中,除了在加载阶段用户应用程序可以通过自定义类加载器参与之外,其余动作完全由虚拟机主导和控制。 到了初始化阶段,才真正开始执行类中定义的Java程序代码(或者说是字节码)。初始化阶段是执行类构造器<clinit>()方法的过程。 主动引用对...

2017-06-10 20:45:56 1682 0

原创 深入理解Jvm--Java静态分配和动态分配完全解析

jvm中绑定Binding的概念绑定是针对类型而言的,指的是类型确定的过程,通常发生在访问对象成员或者方法调用的过程中。当我们谈论方法或属性的访问时动态绑定还是静态绑定时,实际上指的是方法的接收者和属性的所有者的类型确定(determine by atual type or determine b...

2017-06-10 17:00:12 3017 0

原创 深入理解jvm--Java中init和clinit区别完全解析

init和clinit区别①init和clinit方法执行时机不同 init是对象构造器方法,也就是说在程序执行 new 一个对象调用该对象类的 constructor 方法时才会执行init方法,而clinit是类构造器方法,也就是在jvm进行类加载—–验证—-解析—–初始化,中的初始化阶段j...

2017-06-10 10:43:57 14984 6

原创 Java进阶--Java中 i++完全解析

在讲 i++与++i之前先看两个在笔试面试中经常遇到的题目: 题目1//代码1 int x=2; int b=(x++)*3; System.out.println(b);/* 输出结果为:6 */题目2//代码1 int i=0...

2017-06-08 22:43:34 1265 0

原创 Java并发编程--深入理解Semaphore

Semaphore简介Semaphore(信号量)是用来控制同时访问特定资源的线程数量,它通过协调各个线程,以保证合理的使用公共资源。Semaphore的用途Semaphore可以用于做流量控制,特别公用资源有限的应用场景,比如数据库连接。假如有一个需求,要读取几万个文件的数据,因为都是IO密集型...

2017-06-06 16:03:28 1600 0

原创 Java并发编程--深入理解ReadWriteLock锁机制

Lock锁简介Lock和synchronized 同步代码块类似,是线程同步机制,但是Lock比synchronized 同步代码块更加灵活。Lock是通过synchronized关键字来实现的。从Java 5开始,java.util.concurrent.locks包含几个锁,下面通过自己实现的...

2017-06-05 18:03:34 708 0

原创 Java进阶--Java泛型总结

一. 泛型概念的提出(为什么需要泛型)?首先,我们看下下面这段简短的代码:public class GenericTest { public static void main(String[] args) { List list = new ArrayList(); ...

2017-06-05 09:18:21 371 0

提示
确定要删除当前文章?
取消 删除