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技术体系及JVM内存结构
前言作为一个爱好Java的程序猿,自然少不了对JVM的学习和研究,《
深入理解Java虚拟机
》一书,大概从头到尾完整地看了四五遍,有些地方感觉讲的粒度比较粗,但只是少数,总体而言,这本书讲解的非常棒,不少东西都是看了第二次
字雨木霖
·
2023-09-21 07:11
《
深入理解Java虚拟机
》笔记--栈帧
栈帧是一种数据结构,用于支持方法调用和方法执行。存储了方法的局部变量表、操作数栈、动态链接、方法返回信息每一个方法从调用开始至执行完成的过程,都对应着一个栈帧在虚拟机栈里面从入栈道出栈的过程一个栈帧需要分配多少内存,不会受道程序运行期变量数据的影响,而仅仅取决于具体的虚拟机实现在活动线程中,只有位于栈顶的栈帧才是有效的,成为当前栈帧,与这个栈帧相关联的方法称为当前方法。执行引擎运行的所有字节码指令
Android_17
·
2023-09-20 05:33
深入理解JAVA虚拟机
大全
开篇Hotspot核心图镇楼JAVA执行流程Java源码(xxx.java)->Java编译器->(第一次编译生成)字节码(xxx.class)->Java虚拟机(类加载器->字节码校验器->翻译字节码,执行引擎部分(解释器,JIT编译器和gc)(第二次编译生成机器指令)(JIT编译还会缓存到方法区中))->操作系统JVM架构模型寄存器架构--如x86下安卓虚拟机性能更好花费更少指令依赖硬件,可移
我爱肉肉
·
2023-09-19 11:32
JavaWeb进阶原理篇
jvm
三色标记(可达性分析算法)及一些思考
三色标记算法及一些思考三色标记算法并发下导致的问题解决方式最近,在阅读《
深入理解Java虚拟机
》一书关于可达性分析内容的描述后,有些感悟,故写下此文章。
legendaryhaha
·
2023-09-19 00:46
JVM深入学习
可达性分析
三色标记
Java对象存活判断
关于JVM的垃圾收集(1)
前言在java中,存在大量的设计概念,在概念中衍生出了很多理论基础,这类的学习对其他语言的深入理解有很大的帮助,因为本身java就是一个很大的知识库,于是,在飞机上,抽空下载了《
深入理解JAVA虚拟机
》
李天火
·
2023-09-16 11:22
深入理解Java虚拟机
-- Java运行时数据区域
文章目录1.运行时数据区域1.1程序计数器1.2Java虚拟机栈1.3本地方法栈1.4Java堆1.5方法区1.6运行时常量池2.直接内存本文参考于《
深入理解Java虚拟机
》1.运行时数据区域Java虚拟机在执行
崇尚学技术的科班人
·
2023-09-16 07:38
java
开发语言
后端
JVM的垃圾收集器策略
说明:本篇属于读书笔记,大量参考《
深入理解Java虚拟机
》判断对象不可用的几种方式引用计数量法通过计算对象被引用的次数来判断该对象是否还有被引用,这种方式的判断效率较高,因为判断逻辑比较简单嘛,但是无法解决对象之间的循环引用问题
大大大大大先生
·
2023-09-15 10:31
Java内存区域
最近在阅读《
深入理解java虚拟机
:jvm高级特性与最佳实践》,担心有些地方自己记不住,所以做一些读书笔记以供自己日后查阅。
泠云12
·
2023-09-15 00:33
深入理解Java虚拟机
--垃圾收集器(二)
GenerationalCollection)算法垃圾收集器Serial收集器ParNew收集器ParallelScavenge收集器SerialOld收集器ParallelOld收集器CMS收集器G1收集器垃圾收集相关的常用参数参考书籍:《
深入理解
pengjunlee
·
2023-09-14 16:28
深入理解Java虚拟机
虚拟机
java
jvm
算法
垃圾收集器
深入理解Java虚拟机
|JVM07-虚拟机类加载机制
深入理解Java虚拟机
第7章虚拟机类加载机制7.1概述7.2类加载的时机7.3类加载的过程7.3.1.加载7.3.2.验证:7.3.3.准备:7.3.4.解析:7.3.5.初始化7.4类加载器7.4.1
yanghaoplus
·
2023-09-14 03:45
jvm
java
jvm
《
深入理解Java虚拟机
》第七章–虚拟机类加载机制-总结
文章目录一、前言(概述)二、类加载的时机2.1类加载的过程概述(总体流程)2.2加载与初始化的时机(什么时候开始加载和初始化?)三、类加载过程3.1加载(Loading)3.2验证3.2.1文件格式验证3.2.2元数据验证3.2.3字节码验证3.2.4符号引用验证3.3准备3.4解析3.5初始化四、类加载器4.1类与类加载器4.2双亲委派机制4.2.1三种类加载器4.2.2类加载器双亲委派模型4.
悬浮海
·
2023-09-14 03:45
JVM
类加载过程
《深入理解Java虚拟机》
深入理解Java虚拟pdf_
深入理解Java虚拟机
JVM高级特性与最佳实践 PDF 下
相关截图:资料简介:作为一位Java程序员,你是否也曾经想
深入理解Java虚拟机
,但是却被它的复杂和深奥拒之门外?没关系,本书极尽化繁为简之妙,能带领你在轻松中领略Java虚拟机的奥秘。
像素鱼
·
2023-09-14 03:45
深入理解Java虚拟pdf
深入理解java虚拟机
:类加载及执行子系统的案例
文章目录1.概述2.Tomcat:正统的类加载器结构3.OSGi:灵活的类加载器架构4.字节码生成技术与动态代理的实现5.Retrotranslator:跨越JDK版本1.概述在Class文件格式与执行引擎这部分里,用户的程序能直接影响的内容并不太多,Class文件以何种格式存储,类型何时加载、如何连接,以及虚拟机如何执行字节码指令等都是由虚拟机直接控制的行为,用户程序无法对其进行改变。能通过程序
qq_37776700
·
2023-09-14 03:13
Android
面试
Android进阶
java
jvm
开发语言
JVM | 第2部分:虚拟机执行子系统《深入理解 Java 虚拟机》
6.1必须要对类进行初始化的五种时机(对类的主动引用)6.2类加载过程(生命周期)6.3类加载器6.3双亲委派模式6.4破坏双亲委派模式7.虚拟机字节码执行引擎7.1确定被调用的方法最后前言参考资料:《
深入理解
多氯环己烷
·
2023-09-14 03:12
学习笔记
#
JVM
学习笔记
jvm
虚拟机
java
class
类加载机制
java 内存分配 方法区_【Java杂货铺】JVM#Java高墙之GC与内存分配策略
——《
深入理解Java虚拟机
》前言上一章看了高墙的一半,接下来看另一半——GC。为什么需要GC和内存分配策略?
weixin_39942492
·
2023-09-13 19:25
java
内存分配
方法区
JVM垃圾收集器与内存分配策略
以下内容为《
深入理解Java虚拟机
》的阅读笔记。在内存区域中,程序计数器、虚拟机栈与本地方法栈是跟随线程的生命周期的,所以内存的分配与回收是确定的。
Zhaenpg
·
2023-09-12 02:09
java学习方向
2018-01-1722:47:39tags:[tips]categories:[other]设计模式《大话设计模式》代码编写优化《重构改善既有代码的设计》《effectivejava》Java深入虚拟机《
深入理解
一路摇到顶
·
2023-09-12 00:55
2022-12-26
按照《
深入理解Java虚拟机
》中的流程进行,有少许区别,记录如下配置:MacOS10.15.7、XCode12.0.1、jdk12、IDEA下载代码从https://hg.openjdk.java.net
forios
·
2023-09-10 21:39
《
深入理解Java虚拟机
》笔记--线程安全与锁优化
1.线程安全如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象是线程安全的。(要求代码本身封装好了保障手段,令调用者无需关心多线程的问题,更无需自己采取任何措施保障线程安全)1.1Java语言中的线程安全按照线程的“安全程序”由强至弱划分,可以分为5类不可变如果一个不可变的对象创建了(例
Android_17
·
2023-09-09 16:21
从JVM角度看继承
从JVM角度看继承最近重读了周志明老师的《
深入理解JAVA虚拟机
》一书,看完大有收获,但仍对继承情况下对象内存布局有所疑惑,所以查阅资料,结合本书进行分析参考文档:【深入理解JVM】:Java类继承关系中的初始化顺序从
TheFeasterfromAfar
·
2023-09-08 21:01
JVM
jvm
《
深入理解Java虚拟机
》(四)--线程安全与锁优化(1)
线程安全BrianGoetz在《JavaConcurrencyInPractice》中提出线程安全的定义:当多个线程访问一个对象的时候,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进额外的同步,或者在调用方法进行任何其他的协调操作,调用这个对象的行为都可以获得正确结果,那么这个对象就是线程安全的。1/1Java语言中的线程安全我们可以将Java语言中各种操作共享的数据分为以下5类:
蓝色_fea0
·
2023-09-08 15:36
《
深入理解Java虚拟机
》——Java内存区域与内存溢出异常
Java内存区域与内存溢出异常运行时数据区域程序计数器Java虚拟机栈本地方法栈Java堆方法区运行时常量池直接内存实例堆溢出栈溢出运行时数据区域根据《Java虚拟机规范的规定》,Java虚拟机所管理的内存将会包含已下架几个运行时数据区域。程序计数器在Java虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,它是程序控制流的指示器,分支、循环、跳转、
zhixuChen200
·
2023-09-08 15:15
#
JVM
java
jvm
开发语言
为什么计算机经典大头书老是看不进去?
当时看《EffectiveJava》、《
深入理解java虚拟机
》全都一脸
yes的练级攻略
·
2023-09-08 09:22
听说你还不知道Java代码是怎么运行的?
最近复习了
深入理解Java虚拟机
这本书,做了一下笔记,希望对大家有帮助,如果有不正确的地方,欢迎提出,感激不尽。
骨灰设计师小X
·
2023-09-06 22:16
JVM详细教程
JVM前言还在完善中先发布JVM虚拟机厂家多钟多样,具体实现细节可能不一样,这里主要讲的是虚拟机的规范,以下内容融合了各个平台发布的内容和周志明老师的《
深入理解java虚拟机
》JVM概述如何理解jvm跨平台
Alex_yuan666
·
2023-09-06 20:56
Java企业开发实战
jvm
Golang协程和Java线程
前言最近刚读完Java并发编程实战、
深入理解Java虚拟机
。打算写一篇总结性文章,思来想去文章的内容,最后决定还是不要限定于Java这门语言,应该从提升性能的整体出发,所以就有了这篇文章。
kevinyangyyz
·
2023-09-06 10:09
1024程序员节
并发编程
ubuntu20下编译openjdk12及碰上的问题
在看周志明的《
深入理解java虚拟机
》,跟着教程编译openjdk12,其中碰上点问题,所以记录下来。
bin_x
·
2023-09-06 03:45
面试官:Tomcat 为什么要破坏 Java 双亲委派机制?被问傻眼了。。。
楼主翻开了神书《
深入理解Java虚拟机
》第二版,p227,关于类加载器的部分。请看:1.什么是类加载机制?代码编译的结果从本地机器码转变成字节码,是存储格式的一小步,却是编程语言发展的一大步。
·
2023-09-05 10:25
java
深入理解java虚拟机
(全章节完整)
文章目录走近JavaJDK、JRE与JVM之间的关系:内存溢出的问题及解决jvm可视化监控工具Java的发展java技术体系Java虚拟机SunClassicVMExactVMHotSpotVMKVMJRockitJ9DavikMicrosoftJVMAzulVMLiquidVMTaobaoVMJava虚拟机的内存管理程序计数器虚拟机栈本地方法栈Java堆方法区运行时常量池对象的创建如何在堆中给对
Apple_Web
·
2023-09-04 07:50
JVM
读书笔记
jvm的存结构与内存模型
JVM内存结构《
深入理解Java虚拟机
(第2版)》中的描述是下面这个样子的:JVM的内存结构大概分为:堆(Heap):线程共享。所有的对象实例以及数组都要在堆上分配。回收器主要管理的对象。
xmh-sxh-1314
·
2023-09-03 05:32
java
JVM内存结构和Java内存模型
JVM内存结构《
深入理解Java虚拟机
(第2版)》中的描述是下面这个样子的:JVM的内存结构大概分为:堆(Heap):线程共享。所有的对象实例以及数组都要在堆上分配。回收器主要管理的对象。
JAVA终结者
·
2023-09-03 05:01
JVM
java
开发语言
后端
深入理解 JVM 之——Java 内存区域与溢出异常
更好的阅读体验\huge{\color{red}{更好的阅读体验}}更好的阅读体验本篇为
深入理解Java虚拟机
第二章内容,推荐在学习前先掌握基础的Linux操作、编译原理、计算机组成原理等计算机基础以及扎实的
浪漫主义狗
·
2023-09-02 21:44
jvm
java
开发语言
JVM学习 之 垃圾收集器
本篇是JVM的第一篇学习笔记,主要学习书籍是《
深入理解Java虚拟机
之JVM高级特性与最佳实践》,总结归纳自己的学习心得。
jwfy
·
2023-08-31 08:16
深入理解Java虚拟机
jvm-垃圾收集器日志参数
垃圾收集器日志参数查看GC基本信息查看GC详细信息查看GC前后的堆、方法区可用容量变化查看GC过程中用户线程并发时间以及停顿的时间查看收集器Ergonomics机制(自动设置堆空间各分代区域大小、收集目标等内容,从Parallel收集器开始支持)自动调节的相关信息查看熬过收集后剩余对象的年龄分布信息查看GC基本信息在JDK9之前使用-XX:+PrintGC,JDK9后使用-Xlog:gc查看GC详
小蜗牛的路
·
2023-08-30 18:53
java
jvm
开发语言
深入理解Java虚拟机
jvm-对象如何进入老年代
HotSpot虚拟机中多数收集器都采用了分代收集来管理堆内存,那内存回收时就必须能决策哪些存活对象应当放在新生代,哪些存活对象放在老年代中。为做到这点,虚拟机给每个对象定义了一个对象年龄(Age)计数器,存储在对象头中。对象通常在Eden区里诞生,如果经过第一次MinorGC后仍然存活,并且能被Survivor容纳的话,该对象会被移动到Survivor空间中,并且将其对象年龄设为1岁。对象在Sur
小蜗牛的路
·
2023-08-30 18:23
jvm
java
开发语言
深入理解JVM之 04——Linux下自己动手编译OpenJDK
前言学习《
深入理解JAVA虚拟机
—JVM高级特性与最佳实践》(周志明,第二版),作者在开篇第一章作了一些介绍后就提出:想要一探JDK内部的实现机制,最便捷的路径之一就是自己编译一套JDK,通过阅读和跟踪调试
wenyixicodedog
·
2023-08-30 11:52
深入理解JVM
手动编译
openJDK
Linux
深入理解 JVM 之——动手编译 JDK
更好的阅读体验\huge{\color{red}{更好的阅读体验}}更好的阅读体验本篇为
深入理解Java虚拟机
第一章的实战内容,推荐在学习前先掌握基础的Linux操作、编译原理基础以及扎实的C/C++功底
浪漫主义狗
·
2023-08-30 11:12
java
jvm
java object转string_Java | 深入理解方法调用的本质(含重载与重写区别)
在这篇文章里,我将更有深度地理解重载&重写的原理,应
深入理解Java虚拟机
执行引擎是如何进行方法调用的。请点赞,你的点赞和关注真的对我
weixin_39564510
·
2023-08-29 16:54
java
object转string
java
动态调用方法
java
反射调用方法
java
异步调用方法
java方法重载
java调用其他方法中的变量
java 动态调用方法_Java | 深入理解方法调用的本质(含重载与重写区别)
在这篇文章里,我将更有深度地理解重载&重写的原理,应
深入理解Java虚拟机
执行引擎是如何进行方法调用的。请点赞,你的点赞和关注真的对我
weixin_39594457
·
2023-08-29 16:54
java
动态调用方法
java
反射调用方法
java
异步调用方法
java方法重载
java调用其他方法中的变量
java调用方法
子类到底能不能继承父类私有字段?
前段时间在看《
深入理解Java虚拟机
》,有教我查看class文件,当时我就想通过这个方法看看能不能在子类的字段集合表中
菜菜的后端私房菜
·
2023-08-29 02:48
Java基础
java
继承
Android复习路径以及复习资料整理
具体的学习资料和基础的知识点如下:1、JVM《
深入理解Java虚拟机
》深入拆解Java虚拟机基础知识:GCRoot类型垃圾回收
tinyvampirepudge
·
2023-08-28 19:00
Android
Tomcat 为什么要破坏 Java 双亲委派机制?
楼主翻开了神书《
深入理解Java虚拟机
》第二版,p227,关于类加载器的部分。请看:1.什么是类加载机制?代码编译的结
手把手教你学AI
·
2023-08-28 17:05
java
springboot
人工智能
java-ee
java
安全架构
spring
深入理解Java虚拟机
读书笔记(五)
一、Java内存模型与线程Java内存模型Java内存模型的主要目标是定义程序中各个变量(不包括局部变量和方法参数,因为它们是线程私有的,不会被共享,不存在竞争问题)的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。Java内存模型规定了所有的变量都存储在主内存中,每个线程还有自己的工作内存,工作内存保存了该线程使用到的变量的主内存副本,线程对变量的所有操作都必须在工作内存
wxz1997
·
2023-08-28 06:14
Java 虚拟机垃圾收集机制简介
以下内容总结来自于《
深入理解Java虚拟机
:JVM高级特性与最佳实践(第二版)》垃圾收集机制垃圾收集需要考虑三件事:哪些内存需要回收?什么时候回收?如何回收?
0萌萌哒0
·
2023-08-27 14:37
java
java
java虚拟机
垃圾收集
深入理解Java虚拟机
之垃圾收集器和内存分配与回收策略
垃圾收集器主要包括:Serial收集器,ParNew收集器,ParallelScavenge收集器,CMS收集器和G1收集器等。如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。虽然我们对各个收集器进行比较,但并非要挑选出一个最好的收集器。因为直到现在为止还没有最好的垃圾收集器出现,更加没有万能的垃圾收集器,我们能做的就是根据具体应用场景选择适合自己的垃圾收集器。JVM的se
striveb
·
2023-08-27 14:07
jvm
JVM
垃圾收集器
《
深入理解JAVA虚拟机
》周志明 第三版 - 第三章 垃圾收集器与内存分配策略
一、概述Lisp是第一门开始使用内存动态分配和垃圾收集技术的语言,在胚胎时期时,其作者JohnMcCarthy就思考过垃圾收集需要完成的三件事情:哪些内存需要回收?什么时候回收?如何回收?在java中,Java堆和方法区这两个区域则有着很显著的不确定性:一个接口的多个实现类需要的内存可能会不一样,一个方法所执行的不同条件分支所需要的内存也可能不一样,只有处于运行期间,才能知道程序究竟会创建哪些对象
平芜尽处是春山-
·
2023-08-27 14:07
#
《Java虚拟机学习》
java
开发语言
深入理解java虚拟机
之垃圾收集器
相关系列博客:
深入理解java虚拟机
之java内存区域
深入理解java虚拟机
之对象真的死了吗Java垃圾收集
anwen3267
·
2023-08-27 14:07
java
运维
深入理解Java虚拟机
七
1.Java虚拟机监控诊断工具eclipseMAT可用于分析由jmap命令导出的Java堆快照。它包括两个相对比较重要的视图,分别为直方图和支配树。直方图展示了各个类的实例数目以及这些实例的Shallowheap或Retainedheap的总和。支配树则展示了快照中每个对象所直接支配的对象。JavaMissionControl是Java虚拟机平台上的性能监控工具。JavaFlightRecorde
欧阳誉晨曦
·
2023-08-27 09:30
深入理解JVM——字节码执行引擎之方法调用(6)
本文主要参考:《
深入理解Java虚拟机
》—周志明方法调用并不等同于方法执行,方法调用阶段唯一的任务就是确定被调用方法的版本(即调用哪一个方法),暂时还不涉及方法内部的具体运行过程。
24只羊羊羊
·
2023-08-27 05:37
JVM
《
深入理解Java虚拟机
》读书笔记: 类加载器
类加载器 虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块称为“类加载器”。类加载器可以说是Java语言的一项创新,也是Java语言流行的重要原因之一,它最初是为了满足JavaApplet的需求而开发出来的。虽然目前JavaA
知北游z
·
2023-08-26 16:42
java
开发语言
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他