• 《深入理解 Java 虚拟机》学习 -- 类加载机制

    时间:2023-12-16 19:19:53

    《深入理解 Java 虚拟机》学习 -- 类加载机制1. 概述虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这就是虚拟机的类加载机制。2. 类加载的时机2.1 类的生命周期:加载 --> 连接(验证 --...

  • (转)《深入理解java虚拟机》学习笔记6——类加载机制

    时间:2023-12-16 18:57:00

    Java虚拟机类加载过程是把Class类文件加载到内存,并对Class文件中的数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型的过程。在加载阶段,java虚拟机需要完成以下3件事:a.通过一个类的全限定名来获取定义此类的二进制字节流。b.将定义类的二进制字节流所代表的静态存...

  • 《深入Java虚拟机学习笔记》- 第19章 方法的调用与返回

    时间:2023-11-21 15:24:16

    《深入Java虚拟机学习笔记》- 第19章 方法的调用与返回

  • 《深入理解 java虚拟机》学习笔记

    时间:2023-11-19 12:58:24

    java内存区域详解以下内容参考自《深入理解 java虚拟机 JVM高级特性与最佳实践》,其中图片大多取自网络与本书,以供学习和参考。一、运行时数据区域异常解释:StackOverflowError是指线程请求的栈深度大于虚拟机所允许的深度时所抛出的异常;OutOfMemoryError是指扩展时无...

  • Java虚拟机学习(4):对象内存分配与回收

    时间:2023-08-21 23:10:16

    对象优先在Eden上分配大多数情况下,对象优先在新生代Eden区域中分配。当Eden内存区域没有足够的空间进行分配时,虚拟机将触发一次 Minor GC(新生代GC)。Minor GC期间虚拟机将Eden区域的对象移动到其中一块Survivor区域。大对象直接进入老年代所谓大对象是指需要大量连续空间...

  • 深入理解java虚拟机系列初篇(一):为什么要学习JVM?

    时间:2023-08-11 21:20:32

    前言本来想着关于写JVM这个专栏,直接写知识点干货的,但是想着还是有必要开篇讲一下为什么要学习JVM,这样的话让一些学习者心里有点底的感觉比较好...原因一:面试不得不说,随着互联网门槛越来越高,JVM知识也是中高级程序员阶段必问的一个话题!现在不像以前了,以前会点html都好找工作,现在由于学习软...

  • 《深入Java虚拟机学习笔记》- 第2章 平台无关

    时间:2023-04-02 12:15:50

    Java虚拟机学习笔记(二)平台无关

  • 深入理解java虚拟机学习笔记(二)垃圾回收策略

    时间:2023-02-03 18:07:15

    上篇文章介绍了JVM内存模型的相关知识,其实还有些内容可以更深入的介绍下,比如运行时常量池的动态插入,直接内存等,后期抽空再完善下上篇博客,今天来介绍下JVM中的一些垃圾回收策略。       一、finailize()方法              在介绍GC策略前,先介绍下GC中的finaili...

  • Java虚拟机JVM学习07 类的卸载机制

    时间:2023-02-03 14:38:43

    Java虚拟机JVM学习07 类的卸载机制类的生命周期当Sample类被加载、连接和初始化后,它的生命周期就开始了。当代表Sample类的Class对象不再被引用,即不可触及时,Class对象就会结束生命周期,Sample类在方法区内的数据也会被卸载,从而结束Sample类的生命周期。由此可见,一个...

  • Java工程师学习指南第6部分:深入理解JVM虚拟机

    时间:2023-01-13 16:32:55

    本文整理了微信公众号【Java技术江湖】发表和转载过的JVM虚拟机相关优质文章,想看到更多Java技术文章,就赶紧关注本公众号吧吧。JVM原理分析,看了都说好JVM 深入学习:Java 解析 Class 文件过程解析深入理解JVM之类加载机制jvm优化——监控工具万万没想到,JVM内存结构的面试题可...

  • 深入理解Java虚拟机学习笔记(二)-----垃圾收集器与内存分配策略

    时间:2023-01-13 11:32:22

    写在前面本节常见面试题:如何判断对象是否死亡(两种方法)。简单的介绍一下强引用、软引用、弱引用、虚引用(虚引用与软引用和弱引用的区别、使用软引用能带来的好处)。如何判断一个常量是废弃常量如何判断一个类是无用的类垃圾收集有哪些算法,各自的特点?HotSpot为什么要分为新生代和老年代?常见的垃圾回收器...

  • java虚拟机学习-JVM调优总结-调优方法(12)

    时间:2023-01-12 21:48:20

    JVM调优工具Jconsole,jProfile,VisualVMJconsole : jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。详细说明参考这里JProfiler:商业软件,需要付费。功能强大。详细说明参考这里VisualVM:JDK自带,功能强大,...

  • JAVA虚拟机学习

    时间:2023-01-03 10:57:54

    Java虚拟机不同与系统虚拟机(VMware),而是一种进程虚拟机,如(adobe flash player),目前我们最常用的为Oracle HotSpot 虚拟机运行时数据区划分java虚拟机栈是为了执行class字节码文件 后进先出栈 java本地方法栈 是为了执行native方法的 后进先出...

  • Java虚拟机学习之类文件结构

    时间:2023-01-03 07:41:42

    一、语言无关性与平台无关性 语言无关性:Java虚拟机上运行的是Class文件(字节码文件*.class),而Class文件不一定由Java程序编译而来,JRuby经过jrubyc编译器编译生成的是Class文件,Groovy程序经过groovyc编译器编译后生成的也是class文件,都可在虚拟...

  • java虚拟机学习(二)

    时间:2023-01-03 00:27:54

    HotSpot虚拟机对象探秘   一、对象创建 Java 是一门面向对象的编程语言,在Java 程序运行过程中无时无刻都有对象被创建出来.在语言层面上,创建对象(例如克隆、反序列化)通常仅仅是一个new 关键字而己,而在虚拟机中,对象(指普通Java 对象,非数组和Class 对象等) 的创建是一个...

  • Java虚拟机学习

    时间:2023-01-03 00:18:41

    Java虚拟机 Java虚拟机(Java Virtual Machine) 简称JVM Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。下面我们就来看一下这几部分比较重要的java虚拟机的结构 J...

  • Java虚拟机学习

    时间:2023-01-03 00:14:01

    Java虚拟机内存划分为以下几个区域: 1、方法区:方法区是各个线程共享的内存区域,它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。虽然Java虚拟机规范把方法区描述为堆的一个逻辑部分,但是它有一个别名叫做Non-Heap(非堆),目的是与Java堆分开来。 对于习惯...

  • java 虚拟机学习

    时间:2023-01-03 00:09:37

    1.学习了解GC垃圾回收 参考:https://www.ibm.com/developerworks/cn/java/l-JavaMemoryLeak2/ 2.类加载机制 http://blog.csdn.net/gjanyanlig/article/details/6818655/ 深入探讨 Ja...

  • Java虚拟机学习

    时间:2023-01-03 00:04:42

    虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载、解析和初始化过。如果没有,必须先执行相应类的加载过程。 类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需内存的大小在类加载完成后便可完全确定,为对象分...

  • Java 虚拟机学习 不断积累

    时间:2023-01-02 23:45:53

    ·Java虚拟机运行期的几个概念  Java虚拟机运行期的几个概念,方法区:存储类,静态变量,其他一些运行时参数;堆:存对象和数组;方法区和堆是共享的。程序计数器:记录代码运行到那一行;虚拟机栈和本地方法栈分别服务于Java虚拟机的方法调用和本地系统的Native方法调用。后面三个都是线程私有的。 ...