
jvm
文章平均质量分 65
givmchickenblood
try to like it,do it
展开
-
开启String去重XX:+UseStringDeduplication的利与弊
转载 https://blog.csdn.net/goldenfish1919/article/details/94555589。转载 2024-04-01 19:53:48 · 138 阅读 · 0 评论 -
Shallow Size和Retained Size详解
计算Retained Size的关键在于领会移除实例时, 可以同时被回收的实例, 重点观察B实例的情况。转载 2024-02-24 23:19:45 · 2059 阅读 · 0 评论 -
分析OOM 常见原因及解决方案
https://www.cnblogs.com/kongzhongqijing/articles/7283599.htmlhttps://www.cnblogs.com/sessionbest/articles/8688593.htmlhttps://mp.weixin.qq.com/s?__biz=MzA3MTUzOTcxOQ==&mid=2452967256&idx=1&a...转载 2019-10-06 20:25:58 · 314 阅读 · 0 评论 -
不同的类加载器加载的类不是同一个类
https://blog.csdn.net/qq_26222859/article/details/52600260一、定义类加载器、初始类加载器类加载器结构:bootstrapExtClassloaderAppClassloader自定义clsloadr1自定义clsloadr2如果用“自定义clsloadr1”加载java.lang.String类,那么根...转载 2019-04-12 10:25:26 · 5802 阅读 · 0 评论 -
通过JVM指令分析Java中i++与++i的区别
转自https://blog.csdn.net/s394500839/article/details/80878485通过jvm编译指令,来解析为何i++与++i运算过程的区别i++public void testFun(){ int y = 13; int x = y++;}对应指令结构public void testFun(); descriptor: ...转载 2019-04-02 11:33:02 · 338 阅读 · 0 评论 -
深入理解Java对象的创建过程:类的初始化与实例化(实例化的几种方式)
超级棒的博客~https://blog.csdn.net/justloveyou_/article/details/72466416摘要:在Java中,一个对象在可以被使用之前必须要被正确地初始化,这一点是Java规范规定的。在实例化一个对象时,JVM首先会检查相关类型是否已经加载并初始化,如果没有,则JVM立即进行加载并调用类构造器完成类的初始化。在类初始化过程中或初始化完毕后,根据具体情.........转载 2019-03-30 16:38:59 · 2068 阅读 · 0 评论 -
JDK1.8 JVM运行时数据区域划分
https://blog.csdn.net/bruce128/article/details/79357870一、JDK1.8 JVM运行时数据区域概览这里介绍的是JDK1.8 JVM运行时内存数据区域划分。1.8同1.7比,最大的差别就是:元数据区取代了永久代。元空间的本质和永久代类似,都是对JVM规范中方法区的实现。不过元空间与永久代之间最大的区别在于:元数据空间并不在虚拟机中,而是使用...转载 2019-03-21 20:59:01 · 1408 阅读 · 0 评论 -
JVM 第6章类文件结构
1 概述代码编译的结果从本地机器码(Native Code)转变为字节码,字节码与操作系统和机器指令集无关。1.1 无关性的基石字节码是构成无关性的基石。平台无关性虚拟机载入和执行同一种平台无关性的字节码,从而实现程序的“一次编写,到处运行”。语言无关性其他语言运行也可以运行在JVM上(Scala,Jython等)。JVM...原创 2019-01-02 11:49:58 · 155 阅读 · 0 评论 -
JVM 第8章 虚拟机字节码执行引擎
前一章讲解了类加载机制。那么把字节码加载到虚拟机以后,JVM该如何去执行呢?这就是这章要讲的内容。所谓执行字节码,其实就是执行程序中的一个个和业务相关的方法。我们都知道,每个java方法的执行,其实都对应着一个栈帧从入栈到出栈的过程。因此,要知道方法如何执行,就必须要了解栈帧的存储结构,这样才能了解到这个栈帧是如何对应着一个方法的执行的。这就是本章第一个重要的部分:栈帧结构。接下来要从JVM角度分...原创 2019-01-04 23:06:53 · 155 阅读 · 0 评论 -
JVM 第7章 虚拟机类加载机制
这一章主要讲了2部分内容:其一是:类加载的整个过程其二,几种类加载器及其工作原理1 综述类加载机制:概括的说就是,虚拟机将class文件中描述类的数据加载到内存当中,并对数据进行校验、转换解析、初始化,最终形成可以被虚拟机直接使用的java类型。java中,类型的加载、连接和初始化过程都是在程序运行期间完成的。java的可动态扩展的特性就是依赖运行期动态加载和动态连接这个特点的实现...原创 2019-01-03 23:23:01 · 189 阅读 · 0 评论 -
JVM 第3章垃圾收集器与内存分配策略
1 概述程序计数器、虚拟机栈、本地方法栈这3个区域随线程而生,随线程而灭。每个栈帧中分配多少内存基本是在类结构确定下来时就已知的,因此这几个区域的内存分配和回收都具备确定性。而java堆和方法区是线程共享的内存,且一个接口中的多个实现类需要的内存可能不一样,一个方法中的多个分支需要的内存也可能不一样,只有在程序运行期间才能知道会创建哪些对象,这部分内存的分配和回收都是动态的,垃圾收集器关注的是这...原创 2018-12-20 22:58:26 · 334 阅读 · 0 评论 -
JVM 第2章 Java内存区域与内存溢出异常
1 概述对于java程序员来说,在虚拟机自动内存管理机制的帮助下,不需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄漏和内存溢出的问题。不过,一旦出现内存泄漏和内存溢出问题,如果不了解虚拟机是怎么使用内存的,那么排查错误会很困难。2 运行时数据区域java虚拟机在执行java程序的过程中会把内存划分若干个不同的数据区域。有的区域随着虚拟机进程的启动而存在,有的区域...原创 2018-12-18 23:16:14 · 176 阅读 · 0 评论 -
JVM——Java虚拟机架构
转自 https://blog.csdn.net/seu_calvin/article/details/51404589转载 2018-08-21 23:25:19 · 138 阅读 · 0 评论 -
JVM——自定义类加载器
转自 https://blog.csdn.net/seu_calvin/article/details/52315125转载 2018-08-22 09:23:49 · 171 阅读 · 0 评论 -
JVM——内存管理和垃圾回收
转自 https://blog.csdn.net/seu_calvin/article/details/51892567转载 2018-08-22 09:23:29 · 123 阅读 · 0 评论 -
JVM——Java类加载机制总结
转自 https://blog.csdn.net/seu_calvin/article/details/52301541转载 2018-08-22 09:23:03 · 129 阅读 · 0 评论