E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
《深入理解Java虚拟机》
【学习笔记】
深入理解Java虚拟机
第四章 虚拟机性能监控与故障处理工具
jps(jvmprocessstatustool)列出正在运行的虚拟机进程,并显示虚拟机执行主类(MainClass,main()函数所在的类)名称以及这些进程的本地虚拟机唯一ID(LocalVirtualMachineIdentifier,LVMID)jps-l:运行的主类全名或jar包名称jps-m:运行时传入主类的参数(args)jps-v:虚拟机参数jstat(JVMstatisticsm
swineherd_MCQ
·
2020-01-01 11:00
《
深入理解Java虚拟机
》读书笔记
image.png前言交流或更多内容请关注我的公众号:nezha_blog我的技术博客:https://nezha.github.io微信公众号自己在阅读《
深入理解Java虚拟机
》后做了部分的整理,内容有些是来自网络
哪吒小子
·
2019-12-31 21:25
深入理解Java虚拟机
-垃圾收集器及内存分配策略
哪些内存需要回收什么时候回收如何回收如何判断对象是否存活可达性分析算法(ReachabilityAnalysis):通过一系列"GCRoots"对象作为起始点,从这些节点开始往下搜索,搜索过的路径称为引用链(ReferenceChain),当任意一个对象到GCRoots没有任何引用链相连时,则证明此对象不可用。GCRoots对象包括以下几种:虚拟机栈(栈帧中的本地变量表)中引用的对象方法区中类静态
那些年未曾努力过
·
2019-12-31 19:51
深入理解Java虚拟机
之类运行时栈帧结构
栈帧(StackFrame)是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区中的虚拟机栈(VirtualMachineStack)的栈元素。栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址等信息。每一个方法从调用开始至执行完成的过程,都对应着一个栈帧在虚拟机栈里面从入栈到出栈的过程。每一个栈帧都包括了局部变量表、操作数栈、动态连接、方法返回地址和一些额外的附加信
伯羽君
·
2019-12-31 10:12
深入理解java虚拟机
(一):Java 内存区域与内存溢出异常
参考博客http://blog.csdn.net/dongyuxu342719/article/details/78809049一、运行时数据区域1、线程隔离的数据区程序计数器(ProgramCounterRegister)当前线程所执行代码的行号指示器每个线程有一个独立的程序计数器虚拟机栈(VMStack)线程私有,生命周期等同于线程每个方法在执行的同时会创建一个帧栈储存局部变量表、操作数栈、动
susu2016
·
2019-12-31 07:53
学习笔记目录
MyBatis学习笔记Redis指南:安装、五种类型命令3.Java:JavaSE学习笔记ThinkinginJava读书笔记1JavaWeb学习笔记JavaEE学习笔记Java、JavaWeb面试题
深入理解
GunnerAha
·
2019-12-31 05:27
深入理解Java虚拟机
-如何利用VisualVM对高并发项目进行性能分析
前面在学习JVM的知识的时候,一般都需要利用相关参数进行分析,而分析一般都需要用到一些分析的工具,因为一般使用IDEA,而VisualVM对于IDEA也不错,所以就选择VisualVM来分析JVM性能,这篇文章就介绍一下如何利用VisualVM进行性能分析,以及在分析之前需要知道一些GC优化的原则,GC优化的目的,以及遇到问题时怎么去解决问题的方法。1为什么需要开发大型Java应用程序的过程中难免
欧阳思海
·
2019-12-31 03:24
java
深入理解JAVA虚拟机
原理之内存分配策略(二)
更多Android高级架构进阶视频学习请点击:https://space.bilibili.com/4743806801、对象优先在Eden分配大多情况,对象在新生代Eden区分配。当Eden区没有足够空间进行分配时,虚拟机将进行一次MinorGC。虚拟机提供了参数-XX:+PrintGCDetails,在虚拟机发生垃圾收集行为时打印内存回收日志。新生代MinorGC事例定义了4个字节数组对象,3
Alvin老师
·
2019-12-31 02:10
JVM学习之—垃圾回收与内存分配策略
为了加深对Java语言的理解,加深对Java虚拟机工作机制、底层特性的了解和掌握,准备在闲暇时间,抽空对《
深入理解Java虚拟机
JVM高级特性与最佳实践》一书进行学习。
你想要怎样的未来
·
2019-12-31 01:07
【转】Java内存模型
网上有很多关于Java内存模型的文章,在《
深入理解Java虚拟机
》和《Java并发编程的艺术》等书中也都有关于这个知识点
SunnyMore
·
2019-12-31 00:05
JVM探秘:内存溢出
本系列笔记主要基于《
深入理解Java虚拟机
:JVM高级特性与最佳实践第2版》,是这本书的读书笔记。
Cellei
·
2019-12-30 22:00
JVM探秘:内存溢出
本系列笔记主要基于《
深入理解Java虚拟机
:JVM高级特性与最佳实践第2版》,是这本书的读书笔记。
Cellei
·
2019-12-30 22:00
垃圾收集器
深入理解Java虚拟机
总结
如果说收集算法是内存回收的方法论,垃圾收集器就是内存回收的具体实现。Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、不同版本的虚拟机所提供的垃圾收集器都可能会有很大的差别,并且一般都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。这里讨论的收集器基于SunHotSpot虚拟机1.6版Update22。如果两个收集器之间存在连线,就说明它们可以搭配使
好好学习Sun
·
2019-12-30 19:58
Java/Android阿里面试JVM部分理解
微信号:a1018998632,交流qq群:859640274最近选择性的看了
深入理解java虚拟机
这本书,挑了几章对于深入android开发有帮助的章节,大厂面试android或者java的时候也可能会问到
何时夕
·
2019-12-30 18:53
深入理解Java虚拟机
-如何利用VisualVM对高并发项目进行性能分析
Java虚拟机深入理解系列全部文章更新中...
深入理解Java虚拟机
-Java内存区域透彻分析
深入理解Java虚拟机
-常用vm参数分析
深入理解Java虚拟机
-JVM内存分配与回收策略原理,从此告别JVM
欧阳思海
·
2019-12-30 15:53
Java虚拟机
性能调优
java
《
深入理解Java虚拟机
-JVM高级特性与最佳实践》学习总结(第十一章)
第十一章晚期(运行期)优化晚期(运行期)优化目录:11.1运行期优化什么?11.2解释器与编译器的分工11.3HotSpot虚拟机内的即时编译器11.4编译优化技术11.5Java与C/C++编译器对比11.1运行期优化什么?11.1.1最初代码在运行期所经历的事情:在部分的商用虚拟机(SunHotSpot、IBMJ9)中,Java程序最初是通过解释器(Interpreter)进行解释执行的。11
雅俗共赏M
·
2019-12-30 13:07
《
深入理解Java虚拟机
》读书笔记4:类文件结构
国内JVM相关书籍NO.1,Java程序员必读。读书笔记第四部分对应原书的第六章,主要介绍类文件结构的组成,并通过一个实例一步步了解各个部分的结构。第三部分虚拟机执行子系统第六章类文件结构代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。6.1概述由于最近十年内虚拟机以及大量建立在虚拟机之上的程序语言如雨后春笋般出现并蓬勃发展,将我们编写的程序编译成二进制本
ginobefun
·
2019-12-30 13:01
Java自动装箱的陷阱
今天看《
深入理解Java虚拟机
》,其中作者留了一段代码,让读者自己试试,运行结果和我预想的完全不一致,因此记录下来,做个总结。
tinyMonkey
·
2019-12-30 00:35
JVM探秘:Java对象
本系列笔记主要基于《
深入理解Java虚拟机
:JVM高级特性与最佳实践第2版》,是这本书的读书笔记。
Cellei
·
2019-12-29 11:00
《
深入理解Java虚拟机
》读书笔记6:程序编译与代码优化
国内JVM相关书籍NO.1,Java程序员必读。读书笔记第六部分对应原书的第十章和第十一章,主要介绍javac编译过程、HotSpot的即时编译器以及常见的编译优化技术,通过了解这部分的内容有利于我们更好的编码。第四部分程序编译与代码优化第十章早期(编译器)优化10.1概述前端编译器(或叫编译器前端):把.java文件转变为.class文件的过程,比如Sun的javac、EclipseJDT中的E
ginobefun
·
2019-12-29 06:17
JVM探秘:Java内存区域
本系列笔记主要基于《
深入理解Java虚拟机
:JVM高级特性与最佳实践第2版》,是这本书的读书笔记。
Cellei
·
2019-12-28 22:00
JVM笔记02-JVM内存区域结构
0.前言JVM笔记系列,以JDK1.7为基准,主要以《
深入理解Java虚拟机
》(第二版)和《Java虚拟机规范(JavaSE7版)》为参考,主要包括下图所示的五部分内容:1.类加载,2.内存区域,3.垃圾回收
郭寻抚
·
2019-12-28 20:45
深入理解Java虚拟机
总结-Java内存模型与线程
注:此文是我在读完周志明老师的
深入理解Java虚拟机
之后总结的一篇文章,请阅读此书获取更加详细的信息.在介绍Java内存之前,我们先考虑一下硬件上的结构.我们都知道,一台机器有几个必要的组件,CPU,内存
AlstonWilliams
·
2019-12-28 14:03
深入理解Java虚拟机
读书笔记
走进JavaJDKJDK(JavaDevelopmentKit)是用于支持Java程序开发的最小环境,包括Java程序设计语言、Java虚拟机、JavaAPI类库。JREJRE(JavaRuntimeEnviroment)是支持Java程序运行的标准环境,包括JavaSEAPI子集和Java虚拟机。Java内存区域划分程序计数器(ProgramCounterRegister)是一块较小的内存空间,
贾子昂
·
2019-12-28 13:12
Java内存模型与线程
深入理解Java虚拟机
总结
在许多情况下,让计算机同时去做几件事情,不仅是因为计算机的运算能力强大了,还有一个很重要的原因是计算机的运算速度与它的存储和通信子系统速度的差距太大,大量的时间都花费在磁盘I/O、网络通信或者数据库访问上。如果不希望处理器在大部分时间里都处于等待其他资源的状态,就必须使用一些手段去把处理器的运算能力”压榨”出来,否则就会造成很大的浪费,而计算机同时处理几项任务则是最容易想到、也被证明是非常有效的“
好好学习Sun
·
2019-12-28 10:50
深入理解java虚拟机
(十)-Java内存模型与线程
本文基于周志明的《
深入理解java虚拟机
JVM高级特性与最佳实践》所写。特此推荐。
阳光的技术小栈
·
2019-12-28 00:38
深入理解Java虚拟机
:JVM高级特性与最佳实践(第2版) (原创精品系列)
《
深入理解Java虚拟机
:JVM高级特性与最佳实践(第2版)》内容简介:第1版两年内印刷近10次,4家网上书店的评论近4?
菜鸟飞不动
·
2019-12-27 17:28
读书笔记:
深入理解java虚拟机
自动内存管理机制1.程序计数器由于java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个确定的时刻,一个处理器都只会执行一个线程中的指令。因此为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计算器,各条线程之间计算器互不影响,独立存储,我们称这类内存区域为“线程私有”的内存。当执行java方法时,计数器记录的是正在执行的虚拟机字节码指令的地址。当
xlesterx
·
2019-12-26 12:57
Java内存模型(JMM)那些事
本文是库存文章,去年年底学习了慕课网的并发编程课程,今年年初看完了《
深入理解Java虚拟机
》这本书,但是很多内容忘得差不多了,打算写写博客回忆一下那些忘在脑后的知识点。
超级小小黑
·
2019-12-26 10:00
深入理解JAVA虚拟机
学习笔记21——虚拟机的类加载机制概述
每天进步一点点!在前面的几篇中,我们已经详细学习了Class字节码文件的结构,包含哪些内容已经内容的含义,下面几篇我们将研习一下类的加载。虚拟机的类加载机制:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(
徐可心
·
2019-12-26 06:13
【学习笔记】
深入理解Java虚拟机
第一章~第二章
第一章走近JavaJava技术体系JDK(JavaDevelopmentKit):Java程序设计语言、Java虚拟机、JavaAPI类库。JRE(JavaRuntimeEnvironment):JavaAPI类库的JavaSEAPI子集和Java虚拟机。JDK是用于支持Java程序开发的最小环境。JRE是支持Java程序运行的标准环境。JavaME(MicroEdition):支持Java程序运
swineherd_MCQ
·
2019-12-25 19:00
虚拟机类加载总结--
深入理解java虚拟机
·读书笔记(二)
虚拟机类加载总结时间:20180223一、学习总结总结1知识储备什么是静态方法?什么是静态类?什么是常量池?什么是静态变量?二、类加载机制流程1.什么是类加载机制?JVM把class文件加载到内存里面,并对数据进行校验、准备、解析和初始化,最总形成可以被JVM直接使用的java类型的过程。2.类的加载流程图类加载流程图3.类加载的过程--加载”加载“是”类加载(ClassLoading)“过程的一
pianpianboy
·
2019-12-25 13:25
[JVM]OOM实例分析
深入理解Java虚拟机
[JVM]Java内存区域与垃圾收集-思维导图[JVM]类加载机制-思维导图[JVM]OOM实例分析[JVM]理解Class文件(1):手动解析常量池[JVM]理解GC日志[JVM
伤口不该结疤
·
2019-12-24 19:58
JVM | @所有人 内存分配 回收 类加载 初始化
JVM,Java程序员进阶必须越过的沟壑,内容抽象、涉及繁多、理解困难,在攻读《
深入理解Java虚拟机
》部分章节,结合网上其他博客的分享,原本计划自己亲自操刀来创作,最后还是默默放弃了。
采风JS
·
2019-12-24 03:40
《
深入理解Java虚拟机
》读书笔记(一)——Java内存区域
世界上并没有完美的程序,但我们并不因此而沮丧,因为写程序本来就是一个不断追求完美的过程。——书中引言I、Java技术体系Sun定义的Java技术体系包括:Java程序设计语言Java虚拟机Class文件格式JavaAPI类库第三方Java类库Java程序设计语言、Java虚拟机、JavaAPI类库统称为JDK(JavaDevelopmentKit),JDK是支持Java程序开发的最小环境。Java
如夜_YanBaoC
·
2019-12-24 00:14
String.intern()、String、StringBuilder和StringBuffer
1.String.intern()看《
深入理解Java虚拟机
》提到运行时常量池(RuntimeConstantPool),运行时常量池是方法区的一部分,是存储什么的呢?
求不惑
·
2019-12-23 20:07
深入理解Java虚拟机
之——内存管理与垃圾回收
声明:原创作品,转载请注明出处https://www.jianshu.com/p/feb01f5e94e5最近在看周志明的《
深入理解Java虚拟机
》,所以打算写几篇关于Java虚拟机的文章,内容包括Java
蛇发女妖
·
2019-12-22 23:16
JAVA并发(3)—线程运行时发生GC,会回收ThreadLocal弱引用的key吗?
在《
深入理解Java虚拟机
》中,是这样描述引用的:无论是通过引用计数算法判断对象的引用数量,还是通过可达性分析法判断对象的引用链是否可达,判断对象是否存活都与“引用”相关。
小胖学编程
·
2019-12-22 02:33
JVM 新生代内存结构形成的由来
以下要说的内容是从《
深入理解JAVA虚拟机
》书中总结出来的。新生代内存结构演进:1.单块内存如果jvm只分配单一块内存进行存储所有新创建的对象,那么JVM可以怎么样回收内存呢?
爱蛇
·
2019-12-21 02:30
深入理解Java虚拟机
读书笔记
1.运行时数据区域:程序计数器:当前线程所执行字节码的行号指示器。每个线程都有一个独立的程序计数器。Java虚拟机栈:描述java方法执行的内存模型。线程私有。本地方法栈:为虚拟机使用的native方法服务Java堆:存放对象实例。(各个线程共享)方法区:用于存储已被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据。2.对象内存:对象头,实例数据3.类的生命周期:加载,验证,准备,
AlberLiu
·
2019-12-21 01:08
深入理解Java虚拟机
(四)之JVM调优
深入理解Java虚拟机
系列文章
深入理解Java虚拟机
(一)之内存模型
深入理解Java虚拟机
(二)之四种引用
深入理解Java虚拟机
(三)之垃圾收集
深入理解Java虚拟机
(五)之类文件结构
深入理解Java虚拟机
xxq2dream
·
2019-12-20 15:49
深入理解Java虚拟机
之类运行时栈帧结构
栈帧(StackFrame)是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区中的虚拟机栈(VirtualMachineStack)的栈元素。栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址等信息。每一个方法从调用开始至执行完成的过程,都对应着一个栈帧在虚拟机栈里面从入栈到出栈的过程。每一个栈帧都包括了局部变量表、操作数栈、动态连接、方法返回地址和一些额外的附加信
Java架构_师
·
2019-12-20 15:48
《
深入理解java虚拟机
》之java内存模型与锁优化
第十二章Java内存模型与线程多任务和高并发是衡量一台计算机处理器的能力重要指标之一。一般衡量一个服务器性能的高低好坏,使用每秒事务处理数(TransactionsPerSecond,TPS)这个指标比较能说明问题,它代表着一秒内服务器平均能响应的请求数,而TPS值与程序的并发能力有着非常密切的关系。硬件的效率与一致性由于计算机的存储设备与处理器的运算能力之间有几个数量级的差距,所以现代计算机系统
铁甲依然在_978f
·
2019-12-20 11:29
JVM学习笔记(1)-内存管理机制
——《
深入理解Java虚拟机
:JVM高级特性与最佳实践》运行时数据区域Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途。
黄俊彬
·
2019-12-20 10:02
《
深入理解Java虚拟机
》读书笔记之——垃圾收集器
HotSpot虚拟机的垃圾收集器1.1Serial收集器(Client模式)Serial收集器是一种单线程垃圾收集器,但它的“单线程”的意义并不仅仅说明它只会使用一个CPU或一条收集线程去完成垃圾收集工作,更重要的是在它进行垃圾收集时,必须暂停其他所有的工作线程,直到它收集结束。也就是之前提到的”Stoptheworld“。这项工作实际上是由虚拟机在后台自动发起和自动完成的,在用户不可见的情况下把
湾湾_a434
·
2019-12-20 10:19
《
深入理解Java虚拟机
》笔记02:Java内存区域与内存溢出异常
1、运行时数据区域Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间:有的区域随着虚拟机进程的启动而存在有些区域则依赖用户线程的启动和结束而建立和销毁根据《Java虚拟机规范(JavaSE7版)》的规定,Java虚拟机所管理的内存将会包括以下几个运行时数据区域,如图所示。1.1程序计数器程序计数器(ProgramCou
taony
·
2019-12-20 08:18
Java学习推荐
1headfirstjavaTheJavaLanguageSpecificationJava编程思想进阶类effectivejavaJava并发编程实战算法(Java版)headfristdesignpatterns重构-改善既有代码质量原理类
深入理解
topwqp
·
2019-12-20 07:08
《
深入理解Java虚拟机
》之 JVM运行时数据区摘抄
Java虚拟机所管理的内存包括以下几个运行时数据区:图片来自网络.png程序计数器程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基本功能都需要依赖这个计数器来完成。由于Java虚拟机的多线程是通过线程轮流切换并分配处理器的执行时
瓜尔佳_半阙
·
2019-12-20 01:11
JVM 运行时数据区
引自《
深入理解Java虚拟机
》前言JVM运行时数据分为几大部分程序计数器Java虚拟机栈本地方法栈Java堆方法区(永久代)运行时常量池直接内存JVM内存区域Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域
莫那一鲁道
·
2019-12-19 08:32
深入理解JAVA虚拟机
学习笔记27——字节码执行引擎(方法调用)
每天进步一点点!这里说的方法调用阶段的任务并不是执行过程,而是确定方法运行时的入口地址。前面我们已经学习过,在Class文件的常量池中,类型为CONSTANT_Methodref_info的,存储的就是方法信息,并最终指向方法的符号引用。对于方法调用,首先要进行的就是解析,这个其实在前面我们已经有了一些涉及,虚拟机提供了五条字节码指令,用于方法调用,我们再来回顾一下。1.invokestatic:
徐可心
·
2019-12-19 03:45
上一页
37
38
39
40
41
42
43
44
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他