jvm
T-Birds
cmf老公
展开
-
Java虚拟机内存分布以及垃圾收集
目录一.Java内存区域与内存溢出异常1.1 运行时数据区域1.2 对象的访问1.3 异常(溢出)2 垃圾收集、内存分配策略2.1对象已死?2.2 引用类型2.3方法区的垃圾回收2.4垃圾收集算法2.5 垃圾收集器2.6垃圾收集器参数总结2.7 对象分配一.Java内存区域与内存溢出异常1.1 运行时数据区域内存分布如图:分为程序计数...原创 2018-08-16 00:15:04 · 379 阅读 · 2 评论 -
new 一个对象时 虚拟机干了啥
1、相应类加载检查过程 Java程序中的“new”操作会转换为Class文件中方法的“new”字节码指令。 JVM(本文特指HotSpot)遇到new指令时,先检查指令参数是否能在常量池中定位到一个类的符号引用: (A)、如果能定位到,检查这个符号引用代表的类是否已被加载、解析和初始化过; (B)、如果不能定位到,或没有检查到,就先执行相应的类加载...转载 2018-11-29 15:56:32 · 516 阅读 · 0 评论 -
java虚拟机如何加载类
一、虚拟机加载类的过程类加载到内存中到卸载出内存为止,一共经理七个阶段:加载、验证、准备、解析、初始化、使用、卸载;其中加载、验证、准备、初始化、卸载顺序是固定的;解析的顺序是不定的,它可能在初始化之后再开始;这是为了支持java语言的运行时绑定,这些阶段通常都是交叉地混合式进行的,通常会在一个阶段执行的过程中调用或者激活另一个阶段;1.1 什么时候开始第一个阶段:加载什么...原创 2019-03-20 12:13:48 · 172 阅读 · 0 评论 -
Java并发问题--乐观锁与悲观锁以及乐观锁的一种实现方式-CAS
原文出处:https://www.cnblogs.com/qjjazry/p/6581568.html首先介绍一些乐观锁与悲观锁: 悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。再比如Java里面...转载 2019-03-25 23:59:47 · 1110 阅读 · 0 评论