类加载器是一个用来加载类文件的一个类.java源代码通过javac编译器编译成类文件.然后jvm来执行类文件中的字节码来执行程序. 类加载文件负责加载文件系统、网络或其他来源的类文件. 有以下三种默认使用的类加载器: 1…
分类:java虚拟机
读郑雨迪《深入拆解Java虚拟机》 -- 第四讲 JVM是如何执行方法调用的?(上)
本文转自https://time.geekbang.org/column/article/11539 在写Java代码的时候,我们可能会遇到可变长参数方法的重载造成的坑。(官方文档建议避免重载可变长参数方法) 实例代码如…
深入理解Java虚拟机笔记---原子性、可见性、有序性
Java内存模型是围绕着并发过程中如何处理原子性、可见性、有序性这三个特征来建立的,下面是这三个特性的实现原理: 1.原子性(Atomicity) 由Java内存模型来…
Java 虚拟机总结给面试的你(下)
本篇博客主要针对Java虚拟机的晚期编译优化,Java内存模型与线程,线程安全与锁优化进行总结,其余部分总结请点击Java虚拟总结上篇 ,Java虚拟机总结中篇。 一.晚期运行期优化 即时编译器JIT 即时编译器JIT的…
《深入理解Java虚拟机-->程序编译与代码优化部分
Java语言的“编译期”是一段“不确定”的操作过程,因为它可能是指一个前端编译器把*.java文件转变成*.class文件的过程;也可能是指虚拟机的后端运行期编译器(JIT编译器,Just In Time Compile…
深入理解java虚拟机(二):java内存溢出实战
深入理解java虚拟机(一):java内存区域(内存结构划分)深入理解java虚拟机(二):java内存溢出实战 深入理解java虚拟机(三):String.intern()-字符串常量池深入理解java虚拟机…
《深入理解Java虚拟机》第二版 第二章笔记
目录 二.Java内存区域与内存溢出异常 1 运行时数据区域 1.1 程序计数器(Program Counter Register) 1.2 Java虚拟机栈(JVM Stacks) …
【深入理解Java虚拟机】读后感:JVM垃圾回收小结
JVM垃圾回收小结 1.GC 问题侧重点 虚拟机栈、本地方法栈、程序计数器随线程而生,随线程而灭。栈中的栈帧随方法的进入和退出而有条不紊地执行着出栈与入栈操作,每个栈帧分配多少内存基本是在类结构确定下来时就已知了(尽管运…
深入理解java虚拟机笔记一:内存管理机制
java虚拟机运行时,管理的内存包含5个数据区域: 1.方法区;2.堆;3.java虚拟机栈;4.本地方法栈;5.程序计数器 程序计数器(Program Counter Register):当前线程所执行的字…
[notes]深入理解java虚拟机
3、垃圾收集和内存分配策略 程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭,内存的分配和回收具有确定性,不需要考虑回收的问题。 堆和方法区需要考虑内存分配 。 判断对象已死的方法 : 引用计数法 Refe…
深入 了解 java 虚拟机 JVM
JAVA 虚拟机 及 运行时环境 [url]http://www.javacoffeebreak.com/articles/inside_java/insidejava-jan99.html[/url] jvm 相关文章…
《深入理解Java虚拟机》笔记-对象死亡判断-引用计数算法
主流的Java虚拟机里面没有选用引用计数算法来管理内存的,最主要的原因是它很难解决对象之间循环引用的问题。 /** * testGC()方法执行后,objA和objB会不会被GC呢? */…