自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 Java对象的创建过程以及在内存中的分布

Java对象的创建过程Java是一个面向对象编程语言,我们在编写代码时无时无刻不在创建对象,那么我们在源代码中new一个对象的操作,映射到JVM中是如何执行的呢。接下来我们将对此展开讨论。1、Java虚拟机当遇到new指令时,首先会去JVM的方法区看这个对象所属的类是否已经被加载,如果这个类还没有被加载,则虚拟机会先去加载此类到方法区,以及将该类的符号引用加载到方法区的常量池中。2、为新创建的对象...

2018-04-14 15:40:30 498

原创 深入理解Java虚拟机读书笔记之垃圾收集器与内存分配策略

可达性分析算法Java虚拟机通过可达性分析算法来判断哪些对象已死可以回收,哪些对象还存活不可回收。可达性分析算法的实现原理:通过一系列的称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链。当一个对象到GC Roots没有任何引用链相连接时,那么这个对象就死了,可以被回收。换句话说,当对象到GC Roots不可达时,该对象就可以被垃圾收集器回收。可作为GC ...

2018-03-25 14:11:03 189

原创 深入理解Java虚拟机读书笔记之Java内存区域与内存溢出异常

JVM内存模型从上图可以看出JVM内存分配包括线程私有的JAVA栈,本地方法栈,程序计数器;还包括所有线程共享的JAVA堆,方法区。JVM中对象的创建过程虚拟机在接收到new指令后,首先(1)将去检查这个指令的参数是否能在常量池中定位到一个的符号引用,并且检查这个符号引用代表的类是否已被加载,解析和初始化。如果没有,那必须先执行类的加载过程。(2)在类加载检查通过后,接下来虚拟机将为新生对象分配内...

2018-03-25 14:09:33 262

原创 线程池ThreadPoolExecutor介绍

一、创建线程池的必要性       大多数并发应用程序都是围绕着任务执行来构造的,任务通常是抽象且离散的工作单元。在处理这些任务的时候,有几种方案可以采取。串行执行:也就是说所有任务都交由同一个线程依次处理,弊端就是,如果执行某个任务发生长时间阻塞,则导致任务挤压过多,处理性能不足,如果是处理实时性要求比较高的任务,则可能导致任务长时间没有响应。并发执行:并发执行任务也有两种方案。一种是每个任务都...

2018-03-04 21:40:54 176

原创 线程通信

本文介绍线程通信的两种方式,一种是只有以synchronized方式实现线程同步时,可以采取的线程通信方式;另外一种是以ReentrantLock实现线程同步时,可以采取的线程通信方式。以下我们将分别介绍这两种实现线程通信的方式。

2017-05-06 21:54:18 309

原创 HashMap源码解析及非线程安全的原因

HashMap在我们平时的项目开发,以及面试中都会经常遇到,是一个出场率极高的数据结构。大多数人对HashMap的操作都得心应手,但是往往对其实现原理和源码实现一头雾水,本文将带您一起分析HashMap的源码,以及为什么HashMap在多线程应用中不是线程安全的。请尊重笔者劳动成果,转载请标明出处。一、HashMap的实现原理HashMap的实现结构就是一个数组+链表的组合,它

2016-11-20 16:14:54 334

原创 浅谈Java的final关键字

final关键字的含义通常具有“这是无法改变的”的含义,本文将对final关键字进行深度的解析,使大家能够正确使用该关键字。本文主要分一下几个部分:1、final 数据2、final 参数3、final 方法4、final 类

2016-07-23 19:52:08 243

原创 浅谈Java 的static关键字

static关键字在平时项目开发和阅读代码时经常会遇到,本文对static关键字的用法做一个全面的介绍,主要分为以下三部分:1、static变量2、static方法3、static代码块笔者能力有限,若有不正之处欢迎批评指正。请尊重笔者劳动成果,转载请标明出处。1、static变量static变量,即静态变量,有的文章中也叫作类变量,与非静态变量(实例变量)的区别在于,

2016-07-21 21:31:49 341

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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