- 博客(6)
- 资源 (4)
- 收藏
- 关注
原创 JVM(二)---HotSpot 虚拟机对象探秘
一 前言 通过上一篇JVM(一)我们大致知道了JVM虚拟机的内存的概况,接下来来了解下HotSpot 虚拟机在 Java 堆中对象分配、布局和访问的全过程。 二 对象的创建 1.类加载检查:虚拟机遇到一条 new 指令时,首先将去检查这个指令的参数是否能在常量池中定位到这个类的符号引用,(因为常量池中存放的是编译期生成的字面量跟符号引用)并且检查这个符号引用代表的类是否已...
2019-04-27 14:21:33 176
原创 JVM(四)---分代垃圾回收
一 前言 本篇重点整理现在最普遍使用的垃圾回收算法,分代垃圾回收算法。 基于对对象生命周期分析后得出的垃圾回收算法。把对象分为年青代、年老代、持久代,对不同生命周期的对象使用不同的算法(上述方式中的一个)进行回收。现在的垃圾回收器(从J2SE1.2开始)都是使用此算法的。 二 概念 JVM堆内存分为2块:Permanent Space和 Heap Space。 Permanent...
2019-04-26 15:56:18 396
原创 JVM(三 )---基本垃圾回收算法
按照基本回收策略分 引用计数(Reference Counting): 比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。 标记-清除(Mark-Sweep): 此算法执行分两阶段。第一阶段从引用根节点开始标记所有被引用的对象,第二阶段遍历整个堆,把未标记的对象清除。此算法...
2019-04-26 14:22:43 121
原创 JVM(一)---原理与运行机制
一 原理及运行机制 我们都知道java语言的最大优点在于他的跨平台概念,为什么能跨平台?因为有了这个jvm,中文为java 虚拟机.正因为它的存在所以有了一次编译,到处运行一说.. Java是一种技术,它由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如下图所示: 运行期环境代表着Java平台,开发人员编...
2019-04-26 13:23:26 216
转载 @Transactional注解在什么情况下会失效,为什么。
首先我们来了解@Transactional这个注解: @Transactional注解事务的特性: 1.service类标签(一般不在接口上)上添加@Transactional,可以将整个类纳入spring事务管理,在每个业务方法执行时都会开启一个事务,不过这些事务采用相同的管理方式。 2.@Transactional注解只能应用到public可见度的方法上。如果应用在protected、p...
2019-04-06 14:37:47 674
原创 ArrayList在循环过程中删除中出现的问题
前言 之前搜索面试题的时候,出现了一个题:一个ArrayList在循环过程中删除,会不会出问题,为什么?心里想的答案是肯定会有问题但是又不知道是为什么,在搜索到答案后,发现里面其实并不简单,所以专门写篇文章研究一下。 for循环正向删除 先看示例,再解析原因: public static void main(String[] args){ List<String&g...
2019-04-05 20:53:06 2575 2
zooKeeper-3.4.8
2019-02-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人