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虚拟机
--class 文件的正确打开方式。
首先,我们简单的写个类packagecom.dongdao;publicclassPromjectStart{privateintm;publicintinitm(){returnm+1;}}执行javacPromjectStart.java,生成class文件。用WinHex打开该class文件,得到如下。我们需要用到的对照表。表1,常量池类型表2常量结构3,执行javap-verbosePro
张航_8ee7
·
2020-08-21 07:09
书单
,作者:AliceWallaceEdwinCatmull《创意工厂:贝尔实验室和美国创新的伟大时代》,作者JonGertner《Spring揭秘》《ThinkinginJava》《
深入理解Java虚拟机
weixin_33946020
·
2020-08-21 06:54
java后台开发推荐书籍
一、《
深入理解Java虚拟机
:JVM高级特性与最佳实践》如果你不满足于做一个只会写if…else…的Java程序员,而是希望更进一步,我随便举几个例子吧:1、了解Java代码的底层运行机制2、定位性能问题
weixin_33887443
·
2020-08-21 06:49
《
深入理解Java虚拟机
》HotSpot 的算法实现
前面的blog在理论上介绍了对象存活判定算法和垃圾收集算法,然而在HotSpot虚拟机上实现这些算法时必须对算法的执行效率有足够严格的考量,才能保证虚拟机高效运行。1.可达性分析算法中的枚举根节点在对象存活算法的可达性分析算法中从GCRoots节点找引用链这个操作为例。其中可达性分析对执行时间的敏感点的一个体现就是GC停顿上面,因为这项分析工作必须在一个能确保一致性的快照中进行–这里的一致性是指在
惜暮
·
2020-08-21 05:30
Java虚拟机
java的Native方法
今天看《
深入理解JAVA虚拟机
》感觉自己好像跳过了什么重要的知识==好多东西只能看懂大概不能完全理解。。可能还是写的demo程序太小了。。涉及不到复杂的底层操作。
silence---
·
2020-08-21 05:04
深入理解Java虚拟机
_JVM高级特性与最佳实践 第2版
深入理解Java虚拟机
_JVM高级特性与最佳实践第2版下载地址:https://pan.baidu.com/s/15_ADwgj7VPdMJhcMVUxYlQ扫码下面二维码关注公众号回复100013获取分享码本书目录结构如下
余松
·
2020-08-21 04:20
jvm
java
个人所看书籍清单
个人书库本书库用于显示个人已经看过的书籍Android相关Android编程权威指南第一行代码AndroidAndroid疯狂讲义java相关java核心技术卷Ijava核心技术卷IIjava编程思想java多线程核心编程技术
深入理解
jimmysenior
·
2020-08-21 02:47
读书清单
《
深入理解Java虚拟机
》第 3 版里面到底多了哪些知识点?竟然得到了本书作者的认可!
这是why的第47篇原创文章荒腔走板大家好,我是why。老规矩,先是简短的荒腔走板聊聊生活。上面的图是前几天拍的,那天晚上下班后,刚刚走进小区就看到了这一轮弯月和旁边那一颗特别特别亮的星星。不知道为什么,一瞬间,我感觉一下回到了小时候的夏天。脑海里浮现出了一些画面:一个大铁勺子舀一勺透心凉的井水、经过水缸冰镇的西瓜、树荫下卖樱桃的老爷爷、小河边嬉笑着抓螃蟹的同伴、提着一杯凉白开走在上学路上的自己,
why技术
·
2020-08-21 02:02
java
虚拟机
jvm
《
深入理解Java虚拟机
》第 3 版里面到底多了哪些知识点?竟然得到了本书作者的认可!
这是why的第47篇原创文章荒腔走板大家好,我是why。老规矩,先是简短的荒腔走板聊聊生活。上面的图是前几天拍的,那天晚上下班后,刚刚走进小区就看到了这一轮弯月和旁边那一颗特别特别亮的星星。不知道为什么,一瞬间,我感觉一下回到了小时候的夏天。脑海里浮现出了一些画面:一个大铁勺子舀一勺透心凉的井水、经过水缸冰镇的西瓜、树荫下卖樱桃的老爷爷、小河边嬉笑着抓螃蟹的同伴、提着一杯凉白开走在上学路上的自己,
why技术
·
2020-08-21 02:51
java
虚拟机
jvm
深入理解Java虚拟机
#01# 自己编译JDK
x首先用书上的脚本尝试,失败。之后根据源文件的README编译,抛出:root@linux:/opt/openjdk#sh./get_source.shERROR:Needinitialrepositorytousethisscript采用下面的方案解决:你jdk8版本太老了,但是你系统又比较新(很多工具,例如make也是最新的),导致很多不匹配。解决办法换成最新版本的jdk8吧。具体方法:hgc
bangtuo9862
·
2020-08-20 15:25
深入理解Java虚拟机
-内存模型及多线程
系列阅读1.
深入理解Java虚拟机
-GC&运行时数据区2.
深入理解Java虚拟机
-类文件结构及加载3.
深入理解Java虚拟机
-内存模型及多线程1.Java内存模型主内存(MainMemory)是各个线程共享的内存区域
liaowenhao
·
2020-08-20 15:58
JVM内存管理机制
——《
深入理解Java虚拟机
:JVM高级特性与最佳实践》Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途。以及创建和销毁的时间。
Java猫
·
2020-08-20 14:07
线程的上下文切换
参考http://www.cnblogs.com/dolphin0520/p/3920357.html,《
深入理解java虚拟机
》对于单核CPU来说(对于多核CPU,此处就理解为一个核),CPU在一个时刻只能运行一个线程
weixin_30642267
·
2020-08-20 12:13
[java] 一个java程序从写出来到执行
概述在阅读
深入理解java虚拟机
这本书时,觉得作者写得很好,看了有很多收获,同时也发现了一个问题,就是作者并没有完整的按照一个java程序从java文件到最后运行结束做出一个整体的分析。
topEngineerray
·
2020-08-20 11:38
《
深入理解java虚拟机
》读书笔记之类加载案例实战
前言最近在读《
深入理解java虚拟机
》,第三部分-虚拟及执行子系统。
Happy琼鬼
·
2020-08-20 11:34
深入理解JAVA虚拟机
学习笔记16——Javac编译器
由于笔者最近几天小病了一场,几天没有更新了,对朋友们说一声抱歉,同时也提醒亲爱的朋友们,身体是革命的本钱,一点也不假啊!不过笔者现在好了,还能大跳了!还是那句话,每天天进步一点点!在上一篇中,我们讨论编译执行和解释执行中,我们已经分析过了,Java的编译过程划分是没有那么明确的,可能会经过三类编译器的加工。1.前端编译器:负责把Java文件编译成Class文件,如Sun的Javac;2.后端运行期
云水禅音
·
2020-08-20 09:47
JAVA虚拟机
深入理解JAVA虚拟机
学习笔记15——字节码执行引擎(动态类型语言与lambda表达式)
每天进步一点点!在我们刚接触Java时候,我们就被告知,Java是一门静态类型语言。随着开发技术的发展,出现了更多的动态语言,比如我们耳熟能详的Groovy,List,Python,Ruby,JavaScript等。这也就迫使Java需要做出改变,从jdk7开始,Java提供了对动态类型语言的支持,引入了invokedymanic指令提供对动态类型语言的支持。随之在jdk8开始,推出了lambda
云水禅音
·
2020-08-20 09:46
JAVA虚拟机
深入理解JAVA虚拟机
学习笔记15——字节码执行引擎(栈帧)
每天进步一点点!今天主要了解一下栈帧中的内容,大部分为内容都比较容易理解,且做以下记录。首先介绍以下栈帧的概念:栈帧(StackFrame)是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区的虚拟机栈(VirtualMachineStack)的栈元素。栈帧中主要存储了5方面的内容:方法的局部变量表,操作数栈,动态连接,方法返回地址和一些额外的附加信息。在编译代码的时候,栈帧中
云水禅音
·
2020-08-20 09:46
JAVA虚拟机
深入理解JAVA虚拟机
学习笔记15——字节码执行引擎(方法调用)
每天进步一点点!这里说的方法调用阶段的任务并不是执行过程,而是确定方法运行时的入口地址。前面我们已经学习过,在Class文件的常量池中,类型为CONSTANT_Methodref_info的,存储的就是方法信息,并最终指向方法的符号引用。对于方法调用,首先要进行的就是解析,这个其实在前面我们已经有了一些涉及,虚拟机提供了五条字节码指令,用于方法调用,我们再来回顾一下。1.invokestatic:
云水禅音
·
2020-08-20 09:46
JAVA虚拟机
java
虚拟机
jvm
字节码执行引擎(
方法调用
深入理解java虚拟机
-第三章:JDK可视化工具
一、JConsole:Java监视与管理控制台1.启动在jdk所在目录bin目录下,双击“jconsole”,即可打开。启动jconsole之后,将自动搜索出本机所有虚拟机进程;双击其中一个即可监控。选择一条,进入2.内存监控用于监视收集器管理的虚拟机内存(Java堆和永久代)的变化趋势。staticclassoom{publicbyte[]placeholder=newbyte[64*1024]
麦子小小跑
·
2020-08-20 07:47
JVM
从synchronized中看锁的优化
本文是学习《
深入理解JAVA虚拟机
》的第6篇笔记乐观锁、悲观锁做技术基本都听过。
every__day
·
2020-08-20 06:05
JAVA虚拟机
深入理解JAVA虚拟机
学习笔记10——JDK可视化工具JConsole
JConsole:Java监视与管理控制台,基于JMX的可视化监视,管理工具。在jdk的bin目录下(如D:\Java\jdk1.8.0_131\bin),就可以找到jconsole.exe。在运行之前,我们先写用debug执行一段程序,创建一个线程,sleep30分钟。然后,再双击启动jconsole.exe。在如下界面中选择本地进程,笔者使用的是IDEA,这里选择第二个。打开之后,我们可以看到
云水禅音
·
2020-08-20 05:31
JAVA虚拟机
从一道面试题来认识java类加载时机与过程
2019独角兽企业重金招聘Python工程师标准>>>说明:本文的内容是看了《
深入理解Java虚拟机
:JVM高级特性与最佳实践》后为加印象和理解,便记录了重要的内容。
weixin_34210740
·
2020-08-19 21:43
10本Java书籍推荐
《
深入理解Java虚拟机
》是近年来国内出版的唯一一本与Java虚拟机相关的专著,也是唯一一本同时从核心理论和实际运用这两个角度去探讨Java虚拟机的著作,不仅理论分析得透彻,而且书中包含的典型案例和最佳实践也极具现实指导意义
weixin_34088583
·
2020-08-19 21:58
深入理解Java虚拟机
:(一)Java代码是如何运行的?
一、前言我刚接触Java的时候,我和我同学就Java的运行环境要下载JRE还是JDK争议了好久,我认为JRE是JavaRuntimeEnvironment,翻译过来就是Java运行环境,所以我当时认为Java代码要运行当然要安装JRE。而我同学强硬说要安装JDK,至于原因他也说不上来,反正写代码就要先下载个JDK,最后的聊天以他对我说的一句话结束,我到现在还清晰的记得:不要以为你英语好就觉得你说的
riemann_
·
2020-08-19 19:44
JVM
深入理解Java虚拟机
_1(Java内存区域与内存溢出异常)
Ceratedbywestfallonon8/19运行时数据区域程序技术器程序计数器(ProgramCounterRegister)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成为了线程切换后能恢复到正确的
westfallon
·
2020-08-19 17:15
Effective Java读书笔记(1-2章-创建和销毁对象)
Java经典的书籍有几本,都是很多有经验的开发人员推荐的,包括Java编程思想,
深入理解Java虚拟机
,Java核心技术和EffectiveJava。
小鱼的博客
·
2020-08-19 15:15
Effective
Java读书笔记
【专题】Java技术体系
这是《
深入理解Java虚拟机
》的读书笔记。
都有米
·
2020-08-19 10:58
深入理解Java虚拟机
到底是什么
什么是Java虚拟机作为一个Java程序员,我们每天都在写Java代码,我们写的代码都是在一个叫做Java虚拟机的东西上执行的。但是如果要问什么是虚拟机,恐怕很多人就会模棱两可了。在本文中,我会写下我对虚拟机的理解。因为能力所限,可能有些地方描述的不够欠当。如果你有不同的理解,欢迎交流。我们都知道java程序必须在虚拟机上运行。那么虚拟机到底是什么呢?先看网上搜索到的比较靠谱的解释:虚拟机是一种抽
美的让人心动
·
2020-08-19 10:27
备战BAT面试:查漏补缺——JVM内存模型
区域介绍方法区注:在最新的《
深入理解Java虚拟机
》一书中,已经取消了方法区“永久代”的称呼。方法区是用来存储已被JVM加载的类信息、常量、静态变量、即时编译器编译后的代码等数据这个
猎猎风中
·
2020-08-19 08:13
备战BAT面试
Java 与 C/C++ 的编译器对比
前言这两天重温了周志明的《
深入理解Java虚拟机
》第2版,发现第11章第4节关于Java编译器的内容写得太棒了~本文完全摘自《
深入理解Java虚拟机
》第2版0_oJava与C/C++编译器大多数程序员都认为
被称为L的男人
·
2020-08-19 06:21
[
深入理解Java虚拟机
]第六章 Class类文件的结构
在本章关于Class文件结构的讲解中,我们将以《Java虚拟机规范(第2版)》(1999年发布,对应于JDK1.4时代的Java虚拟机)中的定义为主线,这部分内容虽然古老,但它所包含的指令、属性是Class文件中最重要和最基础的。同时,我们也会以后续JDK1.5〜JDK1.7中添加的内容为支线进行较为简略的、介绍性的讲解,如果读者对这部分内容特别感兴趣,建议参考笔者所翻译的《Java虚拟机规范(J
Coding-lover
·
2020-08-19 02:05
jvm
Android面试总结
1.相关书籍:java核心技术java并发编程java并发编程艺术
深入理解java虚拟机
设计模式之禅Android开发艺术探索2.View绘制相关Animation原理https://www.jianshu.com
runninghui
·
2020-08-18 13:41
android
《
深入理解Java虚拟机
:JVM高级特性与最佳实践(最新第二版)》第二章(一:虚拟机内存分布简介)
《
深入理解Java虚拟机
:JVM高级特性与最佳实践(最新第二版)》第二章(一:虚拟机内存分布简介)文章目录《
深入理解Java虚拟机
:JVM高级特性与最佳实践(最新第二版)》第二章(一:虚拟机内存分布简介
葵花下的獾
·
2020-08-18 11:20
java
jvm
深入理解java虚拟机
-笔记
java内存区域与内存溢出异常java虚拟机自动内存管理机制,不用像C/C++为每一个new操作去写配对delete/free代码java虚拟机在执行java程序的过程中会把内存划分为若干个不同的数据区域程序计数器:执行字节码指令分支循环跳转。java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的java虚拟机栈线程私有,存储局部变量本地方法栈为native方法服务java堆j
黑洲非人lyf
·
2020-08-17 23:45
JAVA
【算法】最大子数组 分治法
前言去年看的书比较多:java编程思想,
深入理解Java虚拟机
——JVM高级特性与最佳实践,jvm7的官方说明书,java并发编程实践。
chouzhanying1799
·
2020-08-17 21:09
深入理解Java虚拟机
系列(三):JVM角度看并发与线程
目录一、Java内存模型1.JMM相关2.内存操作3.原子性、可见性、有序性二、线程安全与锁优化1.线程基础2.线程安全1)Java语言中的线程安全2)线程安全的实现方式3.锁三、参考文章一、Java内存模型1.JMM相关Java内存模型(JavaMemoryModel,JMM)作用:用来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。Java内
执2017
·
2020-08-17 07:39
Java编程
深入理解Java虚拟机
系列(二):虚拟机执行子系统
目录一、类文件结构1.无关性2.Class文件结构二、虚拟机类加载机制1.类加载时机主动引用1)new、静态字段、静态方法2)反射3)子类初始化先进行父类初始化4)main函数所在的类5)MethodHander的方法句柄所对应的类被动引用2.类加载过程1)加载2)验证3)准备4)解析5)初始化3.类加载器1)加载器介绍2)双亲委派模型3)三次破坏双亲委派模型三、虚拟机字节码执行引擎1.运行时栈帧
执2017
·
2020-08-17 07:39
Java编程
深入理解Java虚拟机
系列(一):自动内存管理机制
目录一、Java内存区域与内存溢出1.内存分区1)程序计数器2)Java虚拟机栈3)本地方法栈4)堆区5)方法区6)常量池7)直接内存2.对象创建1)对象在内存上的分布2)对象的访问定位方式3)对象创建3.内存溢出1)堆内存溢出和内存泄露2)虚拟机栈及本地方法栈溢出3)方法区和运行时常量池溢出4)直接内存溢出二、垃圾收集器与内存分配策略1.对象是否存活1)引用计数法2)可达性算法3)引用2.垃圾回
执2017
·
2020-08-17 07:08
Java编程
深入理解Java虚拟机
----(九)程序编译和代码优化
早期优化javac把.java文件编译为class文件的这个编译过程,几乎没做什么优化,几乎将优化都放到了后端的即时编译器中,这样是为了其他非javac编译的程序也能享受到优化的待遇。但javac给我们提供了很多便于编程的语法糖,大大的方便了我们。可以说后端优化提高了运行效率,前端优化对于编码更加密切。javac编译过程可大致分3步:解析与填充符号表插入式注解处理器的注解处理分析与字节码生成:语义
end
·
2020-08-17 07:47
JVM
深入理解Java虚拟机
面试刷题10-3
感觉在Java方面如果把《
深入理解Java虚拟机
》、《
wwxy261
·
2020-08-16 22:13
算法
Java虚拟机必知必会---运行时数据区(3)--- 堆
参考:《
深入理解Java虚拟机
》《宋红康JVM教程》一、概述在介绍堆之前,简单的回顾一下运行时数据区的各个部分组成:堆是Java虚拟机所管理的最大的内存区域,由上图也可见,堆是线程共享的一个区域,在虚拟机启动时创建
四五又十
·
2020-08-16 22:26
JVM
Java虚拟机必知必会--运行时数据区(1)--- PC寄存器(程序计数器)
参考:《
深入理解Java虚拟机
第三版》《宋红康JVM教程》一、概述上两篇介绍了类加载的过程中,Java虚拟机应该要做什么工作,当类加载进Java虚拟机的内存中的时候,Java虚拟机将这些内存空间划分了几个不同的区域
四五又十
·
2020-08-16 22:26
JVM
Java虚拟机必知必会---类加载机制---双亲委派机制
参考:《
深入理解Java虚拟机
第三版》《宋红康JVM教程》前言:本文将介绍类加载器的分类,什么是双亲委派机制,这种机制有什么好处?在明白双亲委派机制的前提是要了解类加载器。
四五又十
·
2020-08-16 22:26
JVM
Java虚拟机必知必会---类加载机制--类的加载子系统
参考:《
深入理解Java虚拟机
第三版》《宋红康JVM教程》前言:JVM虚拟机运行的是字节码文件,一个.java文件通过编译变成一个.class字节码文件,.class字节码文件才是JVM虚拟机需要的文件
四五又十
·
2020-08-16 22:55
JVM
[
深入理解Java虚拟机
]第八章 字节码执行引擎-运行时栈帧结构
概述执行引擎是Java虚拟机最核心的组成部分之一。“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、硬件、指令集和操作系统层面上的,而虚拟机的执行引擎则是由自己实现的,因此可以自行制定指令集与执行引擎的结构体系,并且能够执行那些不被硬件直接支持的指令集格式。在Java虚拟机规范中制定了虚拟机字节码执行引擎的概念模型,这个概念模型成为各种
Coding-lover
·
2020-08-16 20:40
jvm
虚拟机
栈帧结构
执行引擎
2019秋招:460道Java后端面试高频题答案版【模块四:Java虚拟机】
下面介绍下我是如何学习Java虚拟机的:1、强推:周志明的《
深入理解Java虚拟机
》,这本书可以说基本上涵盖了面试的常问考点。
程序员乔戈里
·
2020-08-16 18:28
《
深入理解Java虚拟机
》学习笔记之类加载及类加载器
类加载机制:Java虚拟机将描述类的数据从Class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。类加载的时机加载阶段合适开始,《Java虚拟机规范》并没有强制约束,交由虚拟机自己实现。而初始化阶段,严格规定有且只有以下六种情况,如果类型没有进行过初始化,必须对类进行初始化:遇到以下字节码指令:new:实例化对象的时候getstatic和putst
天乔巴夏丶
·
2020-08-16 18:12
JVM
《
深入理解Java虚拟机
》学习笔记
JDK:用于支持Java程序开发的最小环境,包括Java程序设计语言、Java虚拟机、JavaAPI三部分。JRE:支持Java程序运行的标准环境,包括JavaSEAPI子集和Java虚拟机。第一章Java虚拟机发展史1.SunClassic/ExactVMClassicVM:只能使用纯解释器方式来执行Java代码,如果要使用JIT编译器,必须进行外挂,而解释器与编译器不能配合工作。ExactVM
夏目川城
·
2020-08-16 09:08
Java8内存溢出异常
多的不说最近看了周老师的
深入理解Java虚拟机
了解一点内存溢出异常知识。
蜗牛乌龟一起走
·
2020-08-16 07:17
java虚拟机
上一页
15
16
17
18
19
20
21
22
下一页
按字母分类:
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
其他