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架构师“修仙”之路:推荐几本适用于所有Java程序员阅读书籍,希望你有一天成为架构狮
《
深入理解Java虚拟机
:JVM高级特性与最佳实践》本书适合所有Java程序员、系统调优师和系统架构师阅读。
alan-bk
·
2019-10-05 09:00
【Java杂货铺】JVM#虚拟机加载机制
代码编译的结果从本地机器码变为字节码,是储存格式发展的一小步,却是编程语言发展的一大步——《
深入理解Java虚拟机
》虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转化解析和初始化,最终形成了可以被虚拟机直接使用的
啤酒就辣条
·
2019-10-01 18:47
jvm
【Java杂货铺】JVM#Java高墙之内存模型
——《
深入理解Java虚拟机
》前言《
深入理解Java虚拟机
》,学习JVM的经典著作,几乎学习JAVA的小伙伴人手一本。当初买了,翻看了一部分,到了字节码那边彻底读不下去了,遂弃之。
啤酒就辣条
·
2019-10-01 18:46
jvm
【Java杂货铺】JVM#Java高墙之GC与内存分配策略
——《
深入理解Java虚拟机
》前言上一章看了高墙的一半,接下来看另一半——GC。为什么需要GC和内存分配策略?
啤酒就辣条
·
2019-10-01 18:46
jvm
【Java杂货铺】JVM#Class类结构
——《
深入理解Java虚拟机
》计算机只认识0和1.所以我们写的编程语言只有转义成二进制本地机器码才能让机器认识。
啤酒就辣条
·
2019-10-01 18:46
jvm
JVM初识(二)—类加载机制
本文参考《
深入理解Java虚拟机
》,并通过几个实例,整理JVM的类加载机制相关内容。涉及类加载的过程、类加载的时机和类加载器。
Sirm23333
·
2019-09-26 10:31
JVM
书单
JavaJava基础—《CoreJavaⅠ、Ⅱ》Java虚拟机—《
深入理解Java虚拟机
》多线程—《Java多线程编程实战指南(核心篇)》《Java并发编程实战》多线程相关源码集合相关源码Web&框架&
魔力彩虹泡泡糖
·
2019-09-25 09:05
面试
深入理解java虚拟机
的故障处理工具
前言本文主要给大家介绍的是java虚拟机的故障处理工具,文中提到这些工具包括:名称主要作用jpsJVMprocessStatusTool,显示指定系统内所有的HotSpot虚拟机进程。通常是本地主机jstatJVMStatisticsMonitoringTool,用于收集HotSpot虚拟机各方面的运行数据jinfoConfigurationInfoforjava,显示虚拟机配置信息jmapMem
·
2019-09-25 07:45
深入理解java虚拟机
-2内存对象
GC性能很高,本地方法调用降低调用开销。---------------------------------------------------------------21-----------------------------------------------------------------------虚拟机的面试题汇总:https://www.zybuluo.com/Yano/note/
菜鸟级别选手
·
2019-09-23 22:20
jvm
Thread线程的基础知识及常见疑惑点总结
正文1、Thread线程的状态根据《
深入理解Java虚拟机
》一书的讲述,Java语言定义了五种线程状态,分别为:创建(n
·
2019-09-23 08:56
深入理解Java虚拟机
_动力节点Java学院整理
什么是Java虚拟机Java程序必须在虚拟机上运行。那么虚拟机到底是什么呢?先看网上搜索到的比较靠谱的解释:虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上
·
2019-09-22 22:21
深入了解java内存分配和回收策略
通俗的讲,对象的内存分配就是在堆上的分配,对象主要分配在新生代的Eden上(关于对象在内存上的分代在垃圾回收中会补上,想了解的也可以参考《
深入理解java虚拟机
》),如果启动了本地线程分配缓冲,讲按线程优先在
·
2019-09-22 22:38
JVM系列-类加载机制
之前在看《
深入理解Java虚拟机
》这本书的时候,感觉看过之后就忘,而且看完整本书之后,总是感觉没有融会贯通,单独聊一个知识点还行,如果想站在一个全局的角度就说这些内容,就说不出来了。
chayangdz
·
2019-09-21 14:12
Java虚拟机
JVM
类加载
【学习笔记】—JVM(一)Java内存区域的划分和相应作用及对象在其中的分布
参考:《
深入理解Java虚拟机
》周志明著一、JVM数据区1.程序计数器: 当前线程所执行的字节码的信号指示器。
咕噜橙
·
2019-09-20 11:42
学习笔记
深入理解Java虚拟机
(Java高阶读书笔记)
深入理解Java虚拟机
-JVM高级特性与最佳实践(周志明)第2版只要看:第2章、第3章、第4章、第5章简单看一看、第六章看6.1和6.2、第7章以及第12和13章。12和13属于并发里面的补充。
GatesMa
·
2019-09-15 13:32
学习
编程知识
JAVA
深入理解Java虚拟机
Java:volatile变量,synchronized和AtomicInteger的性能比较
对于Java中volatle型变量的介绍,《
深入理解Java虚拟机
-JVM高级特性与最佳实践(周志明著)》介绍的比较全面和易懂,当一个变量定义为volatile之后,将具备一种特性是保证此变量对所有线程的可见性
diangangqin
·
2019-09-12 19:11
Java基础
深入理解Java虚拟机
(一)
一、走进JavaJava虚拟机发展史Sun公司的Classic/ExactVM1996年,sun公司发布JDK1.0时,所使用的虚拟机就是ClassicVM。这款虚拟机只能使用纯解释器方式来执行Java代码,如果要使用JIT编译器,就必须进行外挂。但如果外挂,JIT编译器就完全接管了虚拟机的执行系统,解释器就不再工作了。由于解释器和编译器不能配合工作,如果要使用编译器执行,编译器就不得不对每一个方
我花名都想好了
·
2019-09-10 17:44
读书
视频笔记
JVM学习总结
文章目录1JVM架构图2相关知识点3参考数据4参考链接1JVM架构图2相关知识点3参考数据《
深入理解Java虚拟机
_JVM高级特性与最佳实践第2版》4参考链接《一图读懂JVM架构解析》:http://www.sohu.com
CleverCode
·
2019-09-09 17:41
性能优化
【三】
深入理解Java虚拟机
の高效并发
目录12.java内存模型与线程12.1Java内存模型JMM主内存与工作内存volatile原子性可见性(Visibility):有序性(Ordering):先行发生原则12.2java与线程Java线程调度13.线程安全与锁优化13.1线程安全1.不可变2.互斥同步(悲观锁)——加锁3.非阻塞同步(乐观锁)——CAS4.无同步方案——天生线程安全的代码13.2锁优化自旋锁锁消除锁粗化轻量级锁偏
温一杯酒
·
2019-09-09 15:29
JVM
深入理解java虚拟机
学习笔记 - java 虚拟机判断一个对象是否存活
java虚拟机判断一个对象是否存活判断一个对象是否存活依赖就是该对象是否被引用,下面主要介绍两种方法。引用计数算法给对象添加一个引用计数器,当对象被引用的时候计数器加1,当引用失效的时候计数器减1,当计数器为0的时候说明该对象没有被引用。优点实现起来比较简单缺点无法解决循环依赖的问题,Aa=b;Bb=a;可达性分析算法为了解决上述的遗留问题,即解决循环依赖的问题,提出了可达性分析算法,即Rcroo
小鱼儿-karl
·
2019-09-04 16:20
java虚拟机
finalize()方法什么时候被调用?析构函数(finalization)的目的是什么?
pos=28&mutiTagIds=570&orderByHotValue=0&done=0来源:牛客网参考:《
深入理解Java虚拟机
》对于Java而言:调用时机:当垃圾回收器要宣告一个对象死亡时,至少要经过两次标记过程
割肉机
·
2019-09-04 16:00
JVM类加载机制——类的生命周期
——《
深入理解java虚拟机
》类的生命周期从类被加载进内存开始直到卸载出内存为止,类的生命周期包括装载、验证、准备、解析、初始化、使用和卸载7个过程,其中验证、准备、解析三个过程
Android架构师丨小熊
·
2019-09-03 16:20
移动互联网
Android学习
Android
Android
Java虚拟机内存模型-运行时数据区域划分
-《
深入理解java虚拟机
》对于java虚拟机内存模型的划分,如果依据线程是否可以共享,基本可以分为两大类:其一、线程共享区域,其二、线程非共享区域。
King哥2
·
2019-09-01 22:00
java
收藏
id=5c62699d4db431b25d73ff05bf500fbf文档:
深入理解Java虚拟机
链接:
牛牛_735d
·
2019-08-27 23:37
《
深入理解Java虚拟机
:JVM高级特性与最佳实践(最新第二版)》第三章(一:对象判断是否可以被回收)
《
深入理解Java虚拟机
:JVM高级特性与最佳实践(最新第二版)》第三章(一:对象判断是否可以被回收)文章目录《
深入理解Java虚拟机
:JVM高级特性与最佳实践(最新第二版)》第三章(一:对象判断是否可以被回收
葵花下的獾
·
2019-08-27 13:51
java
jvm
《
深入理解Java虚拟机
:JVM高级特性与最佳实践(第2版)》PDF 下载
1.简介全书共分为五大部分,围绕内存管理、执行子系统、程序编译与优化、高效并发等核心主题对JVM进行了全面而深入的分析,深刻揭示了JVM的工作原理。*部分从宏观的角度介绍了整个Java技术体系、Java和JVM的发展历程、模块化,以及JDK的编译,这对理解本书后面内容有重要帮助。第二部分讲解了JVM的自动内存管理,包括虚拟机内存区域的划分原理以及各种内存溢出异常产生的原因;常见的垃圾收集算法以及垃
梅子的进阶
·
2019-08-26 17:56
书籍分享
深入理解Java虚拟机
栈的栈帧
本节将会介绍一下Java虚拟机栈中的栈帧,会对栈帧的组成部分(局部变量表、操作数栈、动态链接、方法出口)分别进行介绍,最后还会通过javap命令反解析编译后的.class文件,进行分析方法执行时的局部变量表、操作数栈等。目录Java虚拟机栈概述局部变量表操作数栈动态连接方法的返回地址结合javap命令理解栈帧Java虚拟机栈概述Java虚拟机栈(JavaVirtualMachineStacks)是
没头脑遇到不高兴
·
2019-08-25 00:48
JVM
深入理解Java虚拟机栈的栈帧
局部变量表
操作数栈
动态链接
方法出口
《深入理解 Java 虚拟机》学习笔记 -- 内存区域
《
深入理解Java虚拟机
》学习笔记--内存区域运行时数据区域主要分为6部分:程序计数器虚拟机栈本地方法栈Java堆方法区如图所示:1.程序计数器(线程私有)程序计数器是当前线程所执行字节码的行号指示器字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令为了线程切换后能恢复到正确的执行位置
希希里之海
·
2019-08-23 11:59
java虚拟机||虚拟机类加载机制
马上准备找工作了,抱起《
深入理解java虚拟机
》赶紧复习复习1、什么是虚拟机的类加载机制?
_SpringBoot_
·
2019-08-16 17:43
java虚拟机
系列 |
深入理解Java虚拟机
六(高效并发)
首发于微信公众号:BaronTalk,欢迎关注!高效并发是JVM系列的最后一篇,本篇主要介绍虚拟机如何实现多线程、多线程间如何共享和竞争数据以及共享和竞争数据带来的问题及解决方案。一、Java内存模型与线程让计算机同时执行多个任务,不只是因为处理器的性能更加强大了,更重要是因为计算机的运算速度和它的存储以及通信子系统速度差距太大,大量的时间都花费在磁盘I/O、网络通信和数据库访问上。为了不让处理器
张磊BARON
·
2019-08-16 12:46
JVM
系列 |
深入理解Java虚拟机
五(程序编译与代码优化)
首发于微信公众号:BaronTalk,欢迎关注!对于性能和效率的追求一直是程序开发中永恒不变的宗旨,除了我们自己在编码过程中要充分考虑代码的性能和效率,虚拟机在编译阶段也会对代码进行优化。本文就从虚拟机层面来看看虚拟机对我们所编写的代码采用了哪些优化手段。一.早期优化(编译期优化)Java语言的「编译期」其实是一段「不确定」的操作过程。因为它可能是一个前端编译器(如Javac)把*.java文件编
张磊BARON
·
2019-08-16 12:50
JVM
系列 |
深入理解Java虚拟机
四(字节码执行引擎)
首发于微信公众号:BaronTalk,欢迎关注!执行引擎是Java虚拟机最核心的组成部分之一。「虚拟机」是相对于「物理机」的概念,这两种机器都有代码执行的能力,区别是物理机的执行引擎是直接建立在处理器、硬件、指令集和操作系统层面上的,而虚拟机执行引擎是由自己实现的,因此可以自行制定指令集与执行引擎的结构体系,并且能够执行那些不被硬件直接支持的指令集格式。在Java虚拟机规范中制定了虚拟机字节码执行
张磊BARON
·
2019-08-16 12:05
JVM
深入理解Java虚拟机
——JVM、DVM(dalvik)和ART之间的区别
原文链接:https://blog.csdn.net/SilenceOO/article/details/77875732一、Dalvik介绍DalvikVM是Android平台的核心组成部分之一,它的名字来源于冰岛一个名为Dalvik的小渔村。DalvikVM并不是一个Java虚拟机,它没有遵循Java虚拟机规范,不能直接执行Java的Class文件,使用的是寄存器架构而不是JVM中常见的栈架构
暗影岛-寒冰射手
·
2019-08-15 16:56
安卓精选
Tomcat源码分析 (五)----- Tomcat 类加载器
楼主翻开了神书《
深入理解Java虚拟机
》第二版,p227,关于类加载器的部分。请看:什么是类加载机制?
chen_hao
·
2019-08-15 14:00
阿里毕玄:推荐给Java程序员的7本好书
《
深入理解Java虚拟机
(第2版)》这本书我自己没看过,但听很
阿里云云栖社区
·
2019-08-14 00:00
图书
程序员
编程
java
JVM---内存分析工具---idea插件JProfiler
目录背景在idea中安装插件下载客户端和idea绑定背景《
深入理解java虚拟机
》中提到了在Eclipse中可以使用EclipseMemoryAnalyzer来进行内存分析,那么idea中一定有相应的工具
杨光彩-sunny
·
2019-08-10 19:31
------【JVM】
JVM学习笔记(三) GC机制、内存分配与回收策略
结合oracle关于GC系列官方文档(HotSpotVirtualMachineGarbageCollectionTuningGuide,Java12)以及周志明老师的《
深入理解Java虚拟机
》(通过这本书收益挺大的
.破晓.
·
2019-08-10 12:48
GC
JVM
JVM
对象的栈上分配和TLAB
在《
深入理解Java虚拟机
》书中,有这么一句话:“对于大多数应用来说,Java堆是java虚拟机所管理的内存中最大的一块。Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。
嗑嗑磕嗑瓜子的猫
·
2019-08-09 19:51
Java开发总结
JVM中的Xms和Xmx
JVM内存参数-Xms和-Xmx参考资料:(1)JVM常用内存参数配置(2)
深入理解Java虚拟机
-Xms和-Xmx(1)这两个参数老是搞混,特地记一下。
legendaryhaha
·
2019-08-08 11:39
JVM中的Xms和Xmx
深入理解Java虚拟机
--Java内存区域与内存溢出异常
1、运行时数据区域Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范(JavaSE7版)》的规定,Java虚拟机所管理的内存将会包括以下几个运行时数据区域,如下图所示:1.1、程序计数器程序计数器是一块较小的内
chicheese
·
2019-08-06 11:59
多线程
Java虚拟机
深入理解Java虚拟机
- 自动内存管理机制
该文章为《
深入理解Java虚拟机
》的阅读笔记Java内存区域与内存溢出异常内存区域MethodArea(方法区):各个线程共享的内存区域,用于存储已被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据
黄国渝
·
2019-08-05 15:39
JAVA
关于Jvm类加载机制,这一篇就够了
所以忍不住分享一下给大家1/0前言jvm作为每个java程序猿必须了解的知识,博主推荐一本书《
深入理解Java虚拟机
》,以前博主在图书馆的时候看过几遍,每一次看都有新的理解。
汪强胜
·
2019-08-05 10:00
深入理解java虚拟机
-生存或者死亡
即使在可达性分析算法中不可达的对象,也并非是“非死不可”的,这时候它们暂时处于“缓刑”阶段,要真正宣告一个对象死亡,至少要经历两次标记过程:如果对象在进行可达性分析后发现没有与GCRoots相连接的引用链,那它将会被第一次标记并且进行一次筛选,筛选的条件是此对象是否有必要执行finalize()方法。当对象没有覆盖finalize()方法,或者finalize()方法已经被虚拟机调用过,虚拟机将这
王古
·
2019-08-03 17:34
【Java】
深入理解Java虚拟机
6——类的加载器及双亲委派
其他文章【Java】
深入理解Java虚拟机
1——内存区域以及OOM类型:https://www.jianshu.com/p/65c91ba4006e【Java】
深入理解Java虚拟机
2——判断对象是否存活和引用
renkuo
·
2019-08-02 15:28
【Java】
深入理解Java虚拟机
5——类的加载过程
其他文章【Java】
深入理解Java虚拟机
1——内存区域以及OOM类型:https://www.jianshu.com/p/65c91ba4006e【Java】
深入理解Java虚拟机
2——判断对象是否存活和引用
renkuo
·
2019-08-01 19:11
深入理解Java虚拟机
第二章虚拟机组成虚拟机由五大部分组成程序计数器线程私有本地方法栈线程私有虚拟机栈线程私有方法区线程共享堆线程共享程序计数器可以看作为字节码指示器指示运行流程本地方法栈和虚拟机栈功能差不多但是它为Native方法(非java方法)提供支持,在有些jvm虚拟机中把本地方法栈和虚拟机栈合为一个虚拟机栈也就是常说的栈,但是又不等同,在里面一个方法对应一个栈桢,里面存放已知的类型int、float等,同时还
ingxx
·
2019-07-31 11:00
【Java】
深入理解Java虚拟机
3——垃圾收集算法
其他文章【Java】
深入理解Java虚拟机
1——内存区域以及OOM类型:https://www.jianshu.com/p/65c91ba4006e【Java】
深入理解Java虚拟机
2——判断对象是否存活和引用
renkuo
·
2019-07-30 12:08
深入理解JAVA虚拟机
(一)——自动内存管理机制
第一章:自动内存管理机制1.1运行时数据区域1.2程序计数器可以看作当前线程执行指令的行号指示器,线程私有的,如果线程执行的是一个java方法,那么这个计数器记录的是正在执行的虚拟机字节码指令的地址,如果执行的是Native方法,这个计数器值则为空。此内存区域是在虚拟机规范中唯一一个没有规定任何OutOfMemoryError情况的区域。1.3java虚拟机栈线程私有的,虚拟机栈描述的是Java方
葛旭朋
·
2019-07-29 14:05
JAVA
深入理解Java虚拟机
——第七章——虚拟机类加载机制
概述虚拟机类加载机制:把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。类型的加载、连接和初始化过程都是在程序运行期间完成的。类加载的时机类从被加载到虚拟机内存中开始到卸载出虚拟机内存为止,生命周期包括:加载、验证、准备、解析、初始化、使用、卸载。其中验证、准备、解析3个部分统称连接。加载、验证、准备、初始化、卸载这5个阶段的
weixin_30580341
·
2019-07-26 13:00
【Java】
深入理解Java虚拟机
2——判断对象是否存活和引用
其他文章【Java】
深入理解Java虚拟机
1——内存区域以及OOM类型:https://www.jianshu.com/p/65c91ba4006e【Java】
深入理解Java虚拟机
2——判断对象是否存活和引用
renkuo
·
2019-07-25 17:35
上一页
40
41
42
43
44
45
46
47
下一页
按字母分类:
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
其他