posts - 106,comments - 5,views - 31万

随笔分类 -  JVM虚拟机深入

虚拟机Class文件结构笔记
摘要:1.Java语言的平台无关性 Java是与平台无关的语言,“一次编写,到处运行”,这一方面依赖于Java源代码编译后生成的存储字节码的文件,即Class文件是语言和平台无关的; 另一方面依赖于Java虚拟机的实现。 Java虚拟机并不关心Class的来源是什么语言,只要它符合一定的结构,就可以在Ja 阅读全文
posted @ 2017-06-16 16:49 xijin_wu 阅读(221) 评论(0) 推荐(0) 编辑
JVM内存区域与内存溢出异常
摘要:Java虚拟机在执行java程序时会把它所管理的内存会分为若干个不同的数据区域,不同的区域在内存不足时会抛出不同的异常。 一、运行时数据区域的划分 (1)程序计数器程序计数器(Program Counter Register)是一块比较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器;P 阅读全文
posted @ 2017-06-16 16:34 xijin_wu 阅读(502) 评论(0) 推荐(0) 编辑
深入学习虚拟机类加载过程
摘要:JVM的类加载机制是指虚拟机 把描述类的数据从class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型的实现过程。 类加载过程具体可以分成下面几个步骤: (1)装载:查找和导入Class文件; (2)链接:把类的二进制数据合并到JRE中; 校验:检查载 阅读全文
posted @ 2017-06-16 16:17 xijin_wu 阅读(208) 评论(0) 推荐(0) 编辑
虚拟机常用的内存查看与分析工具
摘要:内存查看与分析工具,下面是日常监控可以使用的一些工具, 在调试时应用比较多的是堆栈信息,查看这篇文章: Java Thread Dump 性能分析 gc日志输出 在jvm启动参数中加入 1 2 3 4 -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTime 阅读全文
posted @ 2017-06-16 15:40 xijin_wu 阅读(7663) 评论(0) 推荐(0) 编辑
对Java内存模型即JMM的理解
摘要:类似物理上的计算机系统,Java虚拟机规范中也定义了一种Java内存模型,即Java Memory Model(JMM),来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的并发效果。 现在最新的Java内存模型规范是JSR-133,即Java内存模型与线程规范, 阅读全文
posted @ 2017-06-15 14:51 xijin_wu 阅读(269) 评论(0) 推荐(0) 编辑
Java内存泄露的理解与解决
摘要:依赖于引用判断的内存管理机制 Java中对内存对象的访问,使用的是引用的方式。在Java代码中我们维护一个内存对象的引用变量,通过这个引用变量的值,我们可以访问到对应的内存地址中的内存对象空间。在Java程序中,这个引用变量本身既可以存放堆内存中,又可以放在代码栈的内存中(与基本数据类型相同)。GC 阅读全文
posted @ 2017-06-14 13:52 xijin_wu 阅读(276) 评论(0) 推荐(0) 编辑
JVM的内存分配与垃圾回收策略
摘要:自动内存管理机制主要解决了两个问题:给对象分配内存以及回收分配给对象的内存。 >>垃圾回收的区域 前面的笔记中整理过虚拟机运行数据区,再看一下这个区域: 注意在这个Runtime Data Area中: 程序计数器、Java栈、本地方法栈3个区域随线程而生,随线程而灭;每一个栈帧中分配多少内存基本上 阅读全文
posted @ 2017-06-12 14:32 xijin_wu 阅读(229) 评论(0) 推荐(0) 编辑
volatile关键字与线程间通信
摘要:1.Java内存模型 现在计算机普遍使用多处理器进行运算,并且为了解决计算机存储设备和处理器的运算速度之间巨大的差距,引入了高速缓存作为缓冲,缓存虽然能极大的提高性能,但是随之带来的缓存一致性的问题,例如,当多个处理器同时操作同一个内存地址,可能会导致各自的缓存数据不一致,由此产生冲突问题,内存模型 阅读全文
posted @ 2017-06-09 15:19 xijin_wu 阅读(294) 评论(0) 推荐(0) 编辑
理解Java中的引用传递和值传递
摘要:关于Java传参时是引用传递还是值传递,一直是一个讨论比较多的话题,有论坛说Java中只有值传递,也有些地方说引用传递和值传递都存在,比较容易让人迷惑。关于值传递和引用传递其实需要分情况看待,今天学习和分析一下,着急可以先看最后的结论。 1.基本类型和引用类型在内存中的保存 Java中数据类型分为两 阅读全文
posted @ 2017-06-09 14:01 xijin_wu 阅读(232) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示