深入理解jvm(深入理解Java虚拟机:JVM高级特性与最佳实践的介绍)

2024-07-09 15:25:15 33

深入理解jvm(深入理解Java虚拟机:JVM高级特性与最佳实践的介绍)

本文目录

深入理解Java虚拟机:JVM高级特性与最佳实践的介绍

《深入理解Java虚拟机JVM高级特性与最佳实践》是2011年机械工业出版社出版的图书,作者是周志明。

什么是HotSpot VM amp;深入理解Java虚拟机 JVM

HotSpot VM既继承了Sun之前两款商用虚拟机的优点(如前面提到的准确式内存管理),也有许多自己新的技术优势,如它名称中的HotSpot指的就是它的热点代码探测技术(其实两个VM基本上是同时期的独立产品,HotSpot还稍早一些,HotSpot一开始就是准确式GC,而Exact VM之中也有与HotSpot几乎一样的热点探测。

学习java有必要看 深入jvm 吗

有必要。刚好之前面试被问到类似的问题,所以简单的说一下(有空的话详细补充一下)。首先我们广泛使用的JVM一般是HotSpot虚拟机,HotSpot有两个JVM的实现。一个是`Java HotSpot Cilent VM`,另一个是`Java HotSpot Server VM`。前者致力于在客户端环境中减少启动时间而优化,后者在服务器环境中最大化程序执行速度而设计。学习JVM主要是,理解编译过程,理解内存分配与垃圾回收,以及线程资源分配等问题。可以从下面几方面入手:编译过程(Compile)内存分配(Memory)执行时间(Runtime)垃圾回收(Garbage Collection)线程资源方面(Thread)与虚拟机相关的异常处理(Exception)根据业务特点调整JVM:修改JVM参数,修改堆的初始大小和最大堆大小,修改年轻带与持久代的大小,修改每个线程的堆栈大小等等。当然,在处理网站性能问题上,很多人在业务层上想办法,有人坚持做出了更好的JVM,例如这个Zing当然,你说不在乎这些东西,了解这些东西浪费时间。那帮老板画画界面,用个开源库写写业务逻辑,改改bug,帮老板赚钱,也是极好的。

深入理解jvm原理之逃逸分析

最近一直在学习Java虚拟机原理,觉得有意思的地方就写个文章记录下来。优胜劣汰是自然界的发展,适用到Java虚拟机也不为过,jvm过了生存下去,一直在自我进化,Java虚拟机也在不停的进化和优化,有的是基于执行代码的优化,例如指令重排序等等;有的是基于分析技术,例如关系分析或者逃逸分析等等,今天就重点介绍一下jvm中的分析技术优化---逃逸分析;内容大部分源自于《深入理解Java虚拟机》; 逃逸分析一般分为两种:一种基本行为就是分析对象的动态作用域,当一个对象在方法中定义后,它可能被外部的方法所引用,例如作为调用参数传入了其他对象中,称为方法逃逸;甚至被外部线程所引用,例如赋值给变量或可以在其他线程中访问的变量,这种优化行为称为线程逃逸; 概念归概念,最终效果怎么样,肯定还需要是骡子是马拉出来遛遛,总牛的理论需要落地检验,说程序员的话,也就是一个对象不会逃逸到方法或者线程之外后,这个变量会进行一些高效的优化;实现方式一般有下面几种; 栈上分配:无论是C#还是Java的程序员,大家都知道,对象会创建在Java堆上,而Java堆中的对象对线程(Java线程)是共享和可见的,而虚拟机的垃圾回收就是回收对象不再适用的对象,无论哪种垃圾回收器,都需要需要筛选和整理可回收的对象,回收和整理要耗费很长时间,如果确定一个方法不会逃逸出方法之外,那就让这个对象直接分配在栈上,而对象所占用的空间也会随着帧栈的出栈而销毁,垃圾回收系统的压力会就变的小了; 消除同步:线程同步本身就是一个相对耗时的过程(至于为什么耗时,可以查询用户线程和内核线程相关知识),如果确认一个对象不会被其他线程访问;那么变量的读写就不会和其他线程竞争,对于这种变量实施的同步可以消除; 标量替换:标量又称scalar是指一个数据已经无法再分解成更小的数据来表示了,Java虚拟机中的原始数据例如int,long,等值类型以及reference类型,都不能再进一步分解,他们就可以称为标量,相对的,它们如果可以继续分解,那就是称为聚合量又称Aggregate,Java对象就是典型的聚合量,如果把一个对象拆散,根据程序访问情况,将其使用到的成员变量类型变成基本类型代替,如果jvm逃逸分析中发现这个对象不会外部对象使用,那程序执行的就不会创建该对象,为改为创建它的若干个被这个方法使用的成员变量来代替(栈上创建的数据,又很大的概率会被jvm分配至物理机的高速寄存器中存储),这个也为后续进一步的优化创造了条件; 逃逸分析很多优势还在陆陆续续发现,Java8已经默认开启了逃逸分析, -XX:+DoEscapeAnalysis 开启或者关闭这个选项;都是干活,后续上带么和截图来验证一下;

深入理解jvm(深入理解Java虚拟机:JVM高级特性与最佳实践的介绍)

本文编辑:admin

更多文章:


province翻译(省份英语怎么说)

province翻译(省份英语怎么说)

本文目录省份英语怎么说State/province怎么翻译中文重庆市用英语怎么说省的英文是什么江苏省 英文 怎么说省份英语怎么说省份 辽宁是中国的一个省份。Liaoning is one of China’s provinces.Stat

2024年5月2日 01:46

web项目有哪些(JavaWeb项目,其中,哪些技术是最基础、最重要的)

web项目有哪些(JavaWeb项目,其中,哪些技术是最基础、最重要的)

本文目录JavaWeb项目,其中,哪些技术是最基础、最重要的20个真实的web开发项目集合,一起来看看!(五)有哪些web项目管理系统20个真实的web开发项目集合,一起来看看!(二)JavaWeb项目,其中,哪些技术是最基础、最重要的最基

2024年7月19日 15:34

AE素材解释是什么意思?怎么把AE素材变成黑白的

AE素材解释是什么意思?怎么把AE素材变成黑白的

本文目录AE素材解释是什么意思怎么把AE素材变成黑白的AE模板怎么替换素材AE如何重新加载素材AE中如何删除,项目中未使用到的素材AE素材解释是什么意思AE素材解释就是对一段素材的属性进行解释。这个在导入序列帧的时候比较常用。 AE解释素

2024年7月3日 12:14

python是什么软件1717(python是什么意思)

python是什么软件1717(python是什么意思)

本文目录python是什么意思Python是什么软件python是什么python属于应用软件吗python是什么样的编程语言python什么软件python 是什么类型的语言python是软件吗 为什么我在桌面上没有找到它 那我要运行它应

2024年7月7日 08:49

js获取textarea的内容(js如何获取textarea中的选中的文字)

js获取textarea的内容(js如何获取textarea中的选中的文字)

本文目录js如何获取textarea中的选中的文字如何使用js获取文本框中的某个值用js怎么来获取‘文本域’的值怎要用JS获取textarea的长度和值JS截取textarea里的内容js如何获取textarea中的选中的文字获取当前选中的

2024年7月19日 09:16

distribution的动词形式(【列举出】英文中“去尾字母+ion动词变名词”的单词!!(关于高考考前英语单词词性应用复习))

distribution的动词形式(【列举出】英文中“去尾字母+ion动词变名词”的单词!!(关于高考考前英语单词词性应用复习))

本文目录【列举出】英文中“去尾字母+ion动词变名词”的单词!!(关于高考考前英语单词词性应用复习)daming的英语是什么意思distribution的固定搭配英语单词变换词性的怎么换 (比如 名词变动词)【列举出】英文中“去尾字母+io

2024年7月2日 20:14

c语言解压软件(如何用c语言压缩解压文件夹)

c语言解压软件(如何用c语言压缩解压文件夹)

本文目录如何用c语言压缩解压文件夹如何用C语言编写暴力破解压缩文件解压密码360压缩怎样压缩C语言程序利用C++行程编码编写一款压缩软件,思路:读取,编码,解码c语言高手进 压缩与解压程序用C语言如何对文件进行压缩怎么用c语言将.zip文件

2023年5月11日 04:20

linear algebra done right(linear algebra~~~线性代数】关于对角化矩阵【diagonal matrix】の等价性问题!THANK U!!!!)

linear algebra done right(linear algebra~~~线性代数】关于对角化矩阵【diagonal matrix】の等价性问题!THANK U!!!!)

大家好,关于linear algebra done right很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于linear algebra~~~线性代数】关于对角化矩阵【diagonal matrix】の等价性问题!THAN

2024年7月17日 09:49

vbse实训报告总结心得行政经理(vbse的实训目的)

vbse实训报告总结心得行政经理(vbse的实训目的)

本文目录vbse的实训目的学生在vbse实训中存在的问题vbse虚拟实训仓储部经理的工作日志新道vbse实训中,没有填完单据就点了完成怎么办vbse实训内容是什么VBSE财务综合论文车间管理员的vbse实训总结生产计划部经理职责是什么,vb

2024年7月5日 16:40

3d走势图带连线专业版(19点单选有多少)

3d走势图带连线专业版(19点单选有多少)

“3d走势图带连线专业版”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看3d走势图带连线专业版(19点单选有多少)!本文目录19点单选有多少3d走势图带连线(专业版)丰田威驰换什么牌子的机油19点单选有多少福彩3D和值19有

2024年8月11日 21:01

为什么说指针是C语言的精髓?都说C语言的指针很难,用不好很容易出错,那为何还要用指针呢你能举例说说吗

为什么说指针是C语言的精髓?都说C语言的指针很难,用不好很容易出错,那为何还要用指针呢你能举例说说吗

本文目录为什么说指针是C语言的精髓都说C语言的指针很难,用不好很容易出错,那为何还要用指针呢你能举例说说吗学习c语言的时候指针应该怎么理解C语言中的指针该怎么理解书上太难懂了,你能画图举例说下基本的指针操作吗为什么别的语言中没有像C语言一样

2023年8月26日 10:40

el表达式是什么意思(el表达式中,获取应用初始化参数的关键字是什么)

el表达式是什么意思(el表达式中,获取应用初始化参数的关键字是什么)

大家好,今天小编来为大家解答以下的问题,关于el表达式是什么意思,el表达式中,获取应用初始化参数的关键字是什么这个很多人还不知道,现在让我们一起来看看吧!本文目录el表达式中,获取应用初始化参数的关键字是什么jsp页面EL表达式“${ct

2024年8月16日 19:25

微信怎么开发自己的公众号(如何建立自己个人的微信公众号)

微信怎么开发自己的公众号(如何建立自己个人的微信公众号)

本文目录如何建立自己个人的微信公众号微信怎么建自己的公众号我想做一个自己的微信公众号,应该怎么做微信公众号应该怎么建立如何建立自己个人的微信公众号分析如下:1、打开浏览器输入微信公众号,就会看到微信公众平台官网。2、从官网进入便可以看到【立

2024年7月5日 11:43

it售前工程师是干嘛的(售前工程师是干嘛的)

it售前工程师是干嘛的(售前工程师是干嘛的)

本文目录售前工程师是干嘛的售前技术工程师主要是干什么的它的就业前景如何售前工程师和售前技术支持到底是做什么(网络方面)需要什么条件IT售前技术支持工程师的主要职责以及工作流程售前工程师主要是做什么的啊什么是售前工程师售前技术工程师的主要工作

2024年7月13日 10:21

在excel里用vba获取整个表的数据(如何使用VBA代码提取excel工作表数据)

在excel里用vba获取整个表的数据(如何使用VBA代码提取excel工作表数据)

本文目录如何使用VBA代码提取excel工作表数据EXCEL中怎么用VBA抽取整行数据如何用VBA 读取excel所有数据用VBA实现Excel中数据的提取并且汇总怎么用vba抓取excel表格中的数据在excel中的VBA里如何使用批量读

2024年7月22日 06:13

当绝缘材料发生击穿放电(非标自动化电气装置绝缘失效的原因有哪些)

当绝缘材料发生击穿放电(非标自动化电气装置绝缘失效的原因有哪些)

本文目录非标自动化电气装置绝缘失效的原因有哪些电火花产生的原理是什么电火花产生原理当固体材料被电击穿后还具有绝缘效应吗绝缘材料在冲击电压下是电击穿儿不是热击穿,在高频电压下是热击穿而不是电击穿低压电器试验的绝缘电阻和耐压试验加速橡胶静电泄漏

2024年6月20日 22:28

abtest(abtest需要保存用户信息吗)

abtest(abtest需要保存用户信息吗)

本文目录abtest需要保存用户信息吗ABtest原理及用法总结abtest需要保存用户信息吗abtest需要保存用户信息。test.是存放在Windows系统文件夹中的重要文件,通常情况下是在安装操作系统过程中自动创建的,对于系统正常运行

2024年7月23日 10:31

帝国cms标签伪静态(帝国CMS7.0伪静态后百度抓取诊断出现错误代码500,请问是怎么回事)

帝国cms标签伪静态(帝国CMS7.0伪静态后百度抓取诊断出现错误代码500,请问是怎么回事)

本文目录帝国CMS7.0伪静态后百度抓取诊断出现错误代码500,请问是怎么回事帝国CMS关于tag这种效果怎么实现的 怎么在tag文件夹创建的静态页 完全搞不懂 后台的tag跟tags什么关系啊如何伪静态TAG 帝国cms帝国CMS7.0伪

2024年3月23日 05:00

schematics(英语create charts and graphs怎么翻译)

schematics(英语create charts and graphs怎么翻译)

大家好,如果您还对schematics不太了解,没有关系,今天就由本站为大家分享schematics的知识,包括英语create charts and graphs怎么翻译的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本

2024年9月3日 15:20

diversity statement 教职(美国留学 美国的基础教育从幼儿园(Kindergarten)到12年级)

diversity statement 教职(美国留学 美国的基础教育从幼儿园(Kindergarten)到12年级)

本文目录美国留学 美国的基础教育从幼儿园(Kindergarten)到12年级英语教师英文简历范文3篇Diversity statementThe importance of teacher and teaching 写一篇议论文美国留学

2024年7月23日 03:27

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2334
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1730
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1155
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1152
标签列表

热门搜索