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
java8 虚拟机(运行时数据区域,垃圾回收)
参考以下文章Java虚拟机Java虚拟机是什么
深入理解java
虚拟机JVM内存模型总结Java内存区域(运行时数据区域)和内存模型(JMM)1虚拟机是一个普通进程。2类加载器加载class文件。
fengqingyuebai19
·
2020-07-09 16:28
java
JVM学习笔记(九):基于栈的解释器执行过程
本文根据《
深入理解java
虚拟机》第8章部分内容整理根据一个代码实例来介绍虚拟机中解释器的执行过程,代码如下所示:publicintcalculate(){inta=100;intb=200;intc=
青葱岁月
·
2020-07-09 14:59
Java
JVM
java技术书籍
《疯狂java讲义》
深入理解Java
虚拟机:JVM高级特性与最佳实践Java7入门经典JavaEE类1.《javaWeb整合开发王者归来》2.《spring入门到精通》3.《J
chenxiong2200
·
2020-07-09 14:54
通过反编译
深入理解Java
String及intern
一、字符串问题字符串在我们平时的编码工作中其实用的非常多,并且用起来也比较简单,所以很少有人对其做特别深入的研究。倒是面试或者笔试的时候,往往会涉及比较深入和难度大一点的问题。我在招聘的时候也偶尔会问应聘者相关的问题,倒不是说一定要回答的特别正确和深入,通常问这些问题的目的有两个,第一是考察对JAVA基础知识的了解程度,第二是考察应聘者对技术的态度。我们看看以下程序会输出什么结果?如果你能正确的回
ankuiba5737
·
2020-07-09 13:02
深入理解Java
虚拟机——JVM性能优化
一、性能监控当开发或运行一个Java应用的时候,对JVM的性能进行监控是很重要的。配置JVM不是一次配置就万事大吉的,特别是你要应对的是Java服务器应用的情况。你必须持续的检查堆内存和非堆内存的分配和使用情况,线程数的创建情况和内存中加载的类的数据情况等。这些都是核心参数。使用Anturis控制台,你可以为任何的硬件组件上运行的JVM配置监控(例如,在一台电脑上运行的一个Tomcat网页服务器)
Poke-MMo
·
2020-07-09 12:29
Java
深入理解java虚拟机
jvm性能优化
jvm
《
深入理解Java
虚拟机》第三版读书笔记(四)
深入理解Java
虚拟机(4)走进Java文章目录
深入理解Java
虚拟机(4)走进Java1.4Java虚拟机家族1.4.1虚拟机始祖:SunClasstic/ExactVM1.4.1还未上任就被辞退:ExactVM1.4.2
NewReErWen
·
2020-07-09 11:40
java核心功能实现原理
JVM 运行时数据区,新生代、老年代、持久代,GC日志
blog.csdn.net/iechenyb/article/details/79424974https://www.cnblogs.com/ygj0930/p/6522828.html【内容对应于书籍《
深入理解
NRlovestudy
·
2020-07-09 11:34
JAVA
跳槽季的查漏补缺,谈谈对Java程序员学习当中各个阶段的建议(第四阶段)
这个阶段,有一本书是你必须看的,它叫做《
深入理解Java
虚拟机》。这本书绝对是Java开发者最重要的书,没有之一。在LZ眼里,这本书的重要性还要高于《Java编程思想》。
Javajiagou
·
2020-07-09 11:33
java资讯分享
深入理解JVM之前端编译器(一)
前两天在leetcode做了算法题,惊讶的发现用java实现的时间复杂度,竟然跻身于C/C++同列,甚至偶尔会超过后两者,虽然知道JVM功不可没,但还是很好奇在VM编译过程中到底发生了什么,翻出《
深入理解
GarfieldEr007
·
2020-07-09 10:02
JVM
深入理解Java
的接口和抽象类
转自https://www.cnblogs.com/dolphin0520/p/3811437.html对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲:一.抽象
CottonDuke
·
2020-07-09 10:59
java
JVM 类文件结构分析
本文为《
深入理解Java
虚拟机JVM高级特效与最佳实践(第三版)》一书的摘要总结概念介绍Class文件格式采用一种类似于C语言结构体的伪结构来存储数据,这种伪结构中只有两种数据类型:“无符号数”和“表”
风萧水丶寒
·
2020-07-09 10:54
JVM
JVM类加载机制简单介绍
本文为《
深入理解Java
虚拟机JVM高级特效与最佳实践(第三版)》一书的摘要总结类加载时机Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的
风萧水丶寒
·
2020-07-09 10:54
JVM
JVM经典垃圾收集器的简单介绍
本文为《
深入理解Java
虚拟机JVM高级特效与最佳实践(第三版)》一书的摘要总结HotSpot虚拟机的垃圾收集器:从JDK9开始,Serial+CMS与ParNew+CMS的组合就不再被支持Serial
风萧水丶寒
·
2020-07-09 10:54
JVM
JVM内存管理、JVM垃圾回收机制、新生代、老年代以及永久代
如果大家想深入的了解JVM,可以读读周志明《
深入理解Java
虚拟机:JVM高级特性与最佳实践》需要掌握的东西,包括以下内容、判断对象存活还是死亡的算法(引用计数算法、可达性分析算法)、常见的垃圾收集算法
zhb123GGGGGG
·
2020-07-09 10:12
JVM
彻夜研究了2天,终于知道 JDK8 默认的是哪款GC 收集器了
《
深入理解Java
虚拟机》第三版第128页中提到JDK9之前,Server默认使用ParallelScavenge+SerialOld(PSMarkSweep),那么真的是这样的吗?
Java技术剑
·
2020-07-09 09:40
Java
程序员
程序人生
Java虚拟机JVM的内存分布、垃圾回收(GC)机制、新生代、老年代、永久代
如果大家想深入的了解JVM,可以读读周志明《
深入理解Java
虚拟机:JVM高级特性与最佳实践》需要掌握的东西,包括以下内容、判断对象存活还是死亡的算法(引用计数算法、可达性分析算法)、常见的垃圾收集算法
waS_TransvolnoS
·
2020-07-09 09:30
Java
Java自动化测试说明书
jvm垃圾回收机制-笔记
参考:视频书籍:《
深入理解Java
虚拟机-第3章垃圾收集器与内存分配策略》1.运行时数据区1.1程序计数器线程在执行Java方法:虚拟机字节码指令的地址线程在执行Native方法:Undifined唯一一个没有
三岁与十八
·
2020-07-09 08:16
Java基础
JVM内存回收机制简述
JVM内存回收机制涉及的知识点太多了,了解越多越迷糊,汗一个,这里仅简单做个笔记,主要参考《
深入理解Java
虚拟机:JVM高级特性与最佳实践(第二版)》目前java的jdk默认虚拟机为HotSpot,因此本文涉及虚拟机相关内容都指
weixin_33985507
·
2020-07-09 07:26
轻量级锁、偏向锁、重量级锁详情
这篇文章提出了对于一书“
深入理解Java
虚拟机”中的一张图的深入是否使用偏向锁,解读,
正在飞翔的猫
·
2020-07-09 06:23
Java
深入理解java
虚拟机(一)虚拟机内存划分
Java虚拟机在执行Java程序时,会把它管理的内存划分为若干个不同的数据区。这些区域有不同的特性,起不同的作用。它们有各自的创建时间,销毁时间。有的区域随着进程的启动而创建,随着进程结束而销毁,有的则始终贯穿虚拟机整个生命周期。Java虚拟机运行时内存区域主要分为七部分,分别是:程序计数器,Java虚拟机栈,本地方法栈,方法区,Java堆,运行时常量池,直接内存。如上图所示(图片来源于网络):蓝
张小琦
·
2020-07-09 06:23
Java
虚拟机
深入理解Java虚拟机
Java内存模型
本文是对
深入理解Java
虚拟机第12章的归纳总结,加深记忆同时锻炼下自己的表达能力,如果有人阅读深感荣幸。
QQ而已
·
2020-07-09 06:51
JVM内存管理、JVM垃圾回收机制、新生代、老年代以及永久代
如果大家想深入的了解JVM,可以读读周志明《
深入理解Java
虚拟机:JVM高级特性与最佳实践》需要掌握的东西,包括以下内容、判断对象存活还是死亡的算法(引用计数算法、可达性分析算法)、常见的垃圾收集算法
zp522123428
·
2020-07-09 06:44
java
js实现java字符串的hashCode方法
更
深入理解java
字符串的hashCode方法理解数值计算的溢出处理连接js和java字符串处理java字符串
the-13th-floor
·
2020-07-09 05:48
java
数据结构和算法
javascript
Java Class文件中的常量池
学习JAVA虚拟机一般都看过《
深入理解JAVA
虚拟机》这本书,这本书的价值这里不做赘述,本文中许多东西也是参考这本书而来。
HahaDeveloper
·
2020-07-09 05:26
《
深入理解java
虚拟机》----读书笔记1
java虚拟机运行时数据区程序计数器:每个线程私有的,独立存储,互不影响。当前线程所执行字节码的行号指示器,字节码解释器工作时就是通过改变这个计数器的值,来选取下一条需要执行的字节码指令。java虚拟机栈:也是线程私有的,生命周期与线程相同。它描述的是java方法执行的内存模型:每个方法被执行的时候同时会创建一个“栈帧”用于存储局部变量表、操作栈、动态连接、程序出口等信息,每个方法被调用直到完成的
zcorange1
·
2020-07-09 04:59
windows8 手动编译Hsdis
在《
深入理解java
虚拟机》一书中,了解到hsdis这个工具,但是由于网上提供的支持windows的,要么是手动编译,要么要分。恰好分不够了,另外也想亲自手动编译下。
ylb1213
·
2020-07-09 03:57
深入理解java
script原型和闭包(15)——闭包
转载自:http://www.cnblogs.com/wangfupeng1988/p/3994065.html前面提到的上下文环境和作用域的知识,除了了解这些知识之外,还是理解闭包的基础。至于“闭包”这个词的概念的文字描述,确实不好解释,我看过很多遍,但是现在还是记不住。但是你只需要知道应用的两种情况即可——函数作为返回值,函数作为参数传递。第一,函数作为返回值如上代码,bar函数作为返回值,赋
插秧歌
·
2020-07-09 03:31
JavaScript
闭包
原型
深入理解java
script原型和闭包(13)-【作用域】和【上下文环境】
转载自:http://www.cnblogs.com/wangfupeng1988/p/3991995.html上文简单介绍了作用域,本文把作用域和上下文环境结合起来说一下,会理解的更深一些。如上图,我们在上文中已经介绍了,除了全局作用域之外,每个函数都会创建自己的作用域,作用域在函数定义时就已经确定了。而不是在函数调用时确定。下面我们将按照程序执行的顺序,一步一步把各个上下文环境加上。第一步,在
插秧歌
·
2020-07-09 03:31
JavaScript
作用域
上下文环境
闭包
原型
深入理解java
script原型和闭包(14)——从【自由变量】到【作用域链】
转载自:http://www.cnblogs.com/wangfupeng1988/p/3992795.html先解释一下什么是“自由变量”。在A作用域中使用的变量x,却没有在A作用域中声明(即在其他作用域中声明的),对于A作用域来说,x就是一个自由变量。如下图如上程序中,在调用fn()函数时,函数体中第6行。取b的值就直接可以在fn作用域中取,因为b就是在这里定义的。而取x的值时,就需要到另一个
插秧歌
·
2020-07-09 03:31
深入理解Java
虚拟机读书笔记--第二章 Java 内存区域与内存溢出异常
第二章Java内存区域与内存溢出异常Java虚拟机运行时数据区域1.程序计数器当前线程所执行的字节码的行号指示器,线程私有在虚拟机的概念模型中,字节码解释器就是通过改变这个计数器的值来选择下一条需要执行的字节码指令,分支,循环,调转,异常处理,线程恢复等基础功能都需要依赖这个计数器完成2.Java虚拟机栈线程私有描述Java方法执行的内存模型:每个方法执行时创建一个栈帧用于存储局部变量表,操作数栈
南friend
·
2020-07-09 01:37
java
《
深入理解Java
虚拟机》读书笔记1
一、Java技术体系Sun官方定义的Java技术体系包括以下几个组成部分:*Java程序设计语言*各种硬件平台上的Java虚拟机*Class文件格式*JavaAPI类库*来自商业机构和开源社区的第三方Java类库注:Java程序设计语言、Java虚拟机、JavaAPI类库统称为JDK(JavaDevelopmentKit),JDK是用于支持Java程序开发的最小环境。JavaAPI类库中的Java
demystify
·
2020-07-09 01:31
Java
深入理解Java
虚拟机 - 读书笔记
第1章走近Java第2章Java内存区域与内存溢出异常第3章垃圾回收器与内存分配策略第4章虚拟机性能监控与故障处理工具第1章走近JavaJava程序设计语言、Java虚拟机、JavaAPI类库统称为JDK。Java技术体系分为4个平台:JavaCard:Applets运行于小内存设备上的平台,如智能卡JavaME:移动终端,对API有所精简JavaSE:面向桌面级应用,有完整核心JavaAPIJa
xiaolongtuan
·
2020-07-09 01:53
java
面试题总结——包装类的自动拆装箱以及"缓存值"问题(常量池)
面试题总结——包装类的自动拆装箱以及"缓存值"问题(常量池) Java包装类的自动拆装箱可参考:
深入理解Java
中的包装类与自动拆装箱。
Ambition小啊潇
·
2020-07-08 21:27
面试题总结
类加载
《
深入理解Java
虚拟机》给出的答案是:遇到new、getstatic、putstatic等指令时。对类进行反射调用的时候。初始化某个类的子类的时候。虚拟机启动时会先加载设置的程序主类。
李大白脸
·
2020-07-08 20:09
深入理解Java
虚拟机2:垃圾收集算法
所谓垃圾收集,就是清理已经不再使用的内存空间,提高内存的利用率。由于程序计数器、虚拟机栈、本地方法栈都随线程而生而灭,栈中的内存空间也都基本在编译期间就可以确定,所以不需要进行垃圾收集;而方法区和Java堆则不一样,它们具有不确定性,只有在程序运行期间才能确定会创建哪些对象,这部分内存的回收和分配都是动态的,本篇文章后续讲述的“垃圾收集”就是针对这部分内存。谈到垃圾收集,就需要问三个问题:What
tommy990607
·
2020-07-08 20:23
字符串常量池深入解析
的实现原理(JDK1.8)三、JDK1.7的Intern的执行四:几种特殊的情况的代码参考的部分文章概述在分析字符串常量池之前,先来分析一下java的内存区域,然后再各种的情况分析一下各种情况下的情况;在《
深入理解
不断前行的菜鸟_
·
2020-07-08 19:57
java
Java虚拟机详解02----JVM内存结构
二、JVM基本结构:JVM基本结构图:《
深入理解Java
虚拟机(第二版)》中的描述是下面这个样子的:Java中的内存分配:Java程序在运行时,需要在内存中的分配空间。
weixin_34303897
·
2020-07-08 17:38
深入理解Java
中的自动拆装箱
为什么80%的码农都做不了架构师?>>>本文主要介绍Java中的自动拆箱与自动装箱的有关知识。基本数据类型基本类型,或者叫做内置类型,是Java中不同于类(Class)的特殊类型。它们是我们编程中使用最频繁的类型。Java是一种强类型语言,第一次申明变量必须说明数据类型,第一次变量赋值称为变量的初始化。Java基本类型共有八种,基本类型可以分为三类:字符类型char布尔类型boolean数值类型b
weixin_34095889
·
2020-07-08 16:05
深入理解Java
虚拟机(字节码执行引擎)
本文首发于微信公众号:BaronTalk执行引擎是Java虚拟机最核心的组成部分之一。「虚拟机」是相对于「物理机」的概念,这两种机器都有代码执行的能力,区别是物理机的执行引擎是直接建立在处理器、硬件、指令集和操作系统层面上的,而虚拟机执行引擎是由自己实现的,因此可以自行制定指令集与执行引擎的结构体系,并且能够执行那些不被硬件直接支持的指令集格式。在Java虚拟机规范中制定了虚拟机字节码执行引擎的概
weixin_33933118
·
2020-07-08 16:45
深入理解java
虚拟机(十三) Java 即时编译器JIT机制以及编译优化
在部分的商用虚拟机中,Java程序最初是通过解释器(Interpreter)进行解释执行的,当虚拟机发现某个方法或代码块的运行特别频繁的时候,就会把这些代码认定为“热点代码”。为了提高热点代码的执行效率,在运行时,即时编译器(JustInTimeCompiler)会把这些代码编译成与本地平台相关的机器码,并进行各种层次的优化。1、HotSpot内的即时编译器解释器和编译器各有各的优点:解释器优点:
weixin_30871905
·
2020-07-08 14:13
深入理解Java
虚拟机 精华总结(面试)
一.运行时数据区域Java虚拟机管理的内存包括几个运行时数据内存:方法区、虚拟机栈、堆、本地方法栈、程序计数器,其中方法区和堆是由线程共享的数据区,其他几个是线程隔离的数据区。1.1程序计数器程序计数器是一块较小的内存,他可以看做是当前线程所执行的行号指示器。字节码解释器工作的时候就是通过改变这个计数器的值来选取下一条需要执行的字节码的指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖
weixin_30686845
·
2020-07-08 14:08
'
深入理解Java
虚拟机'2018-04-18
Java代码编译时期是将Java文件编译为Class文件。Java代码执行时期:装载JVM通过类的全限定名获取描述此类的.class文件,通过该文件将类的信息加载到JVM方法区,然后在堆中实例化一个java.lang.Class对象,作为方法区中这个类的入口。连接验证,确认类型符合Java语言的语义,并且不会危及JVM的完整性准备,为类变量(Static变量)分配内存,设置初值(通过内存清零实现,
lichao666
·
2020-07-08 14:16
《
深入理解Java
虚拟机-JVM高级特性与最佳实践》学习总结(第九章)
第九章类加载以及执行子系统的案例与实战第九章**第九章的重点在于后边的那个实战小例子,故这次仅仅总结一下Tomcat类加载机制、OSGi、动态反射**9.1Tomcat类加载架构9.1.1Tomcat四组目录可以把Java类库放置在这些目录中/common/*:类库可被Tomcat和所有的Web应用程序共同使用/server/*:类库可被Tomcat使用,对所有的Web应用程序都不可见。/shar
雅俗共赏M
·
2020-07-08 13:45
深入理解java
虚拟机读书笔记--java内存区域和管理
第二章:Java内存区域和内存溢出异常2.2运行时数据区域运行时数据区分为方法区,堆,虚拟机栈,本地方法栈,程序计数器方法区和堆是线程共享的区域虚拟机栈,本地方法栈,程序计数器是数据隔离的数据区2.2.,程序计数器,即PC,本质是一块较小的内存区域.可以看做当前线程所执行的字节码的行号指令器有了它可以实现字节码指令,分支,循环.跳转.异常处理,线程恢复每个线程有一个单独的PC,各个线程之间不互相影
weixin_30306905
·
2020-07-08 13:05
深入理解Java
多线程与并发编程
线程三大特性多线程有三大特性,原子性、可见性、有序性2.1什么是原子性即一个操作或者多个操作要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。一个很经典的例子就是银行账户转账问题:比如从账户A向账户B转1000元,那么必然包括2个操作:从账户A减去1000元,往账户B加上1000元。这2个操作必须要具备原子性才能保证不出现一些意外的问题。我们操作数据也是如此,比如i=i+1;其中就包括
zzq-u014071328
·
2020-07-08 11:49
多线程
《
深入理解java
虚拟机》读书笔记
1.运行时数据区域1.1程序计数器a、线程私有的内存区域b、可以看作是当前线程所执行的字节码的行号指示器,通过它来取下一条需要执行的指令c、Java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个确定的时刻,一个处理器(对于多核处理器来说是一个内核)都只会执行一条线程中的指令。因此,为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各条线程之
半缘码君
·
2020-07-08 10:35
读书笔记
深入理解java
反射机制
一,java的核心机制java有两种核心机制:java虚拟机(JavaVirtualMachine)与垃圾收集机制(Garbagecollection):Java虚拟机:是运行所有Java程序的抽象计算机,是Java语言的运行环境,在其上面运行Java代码编译后的字节码程序,java虚拟机实现了平台无关性。Java垃圾回收(GarbageCollection):自动释放不用对象内存空间,在java
Iaouei
·
2020-07-08 10:15
Java
知识
《
深入理解java
虚拟机》学习笔记之编译优化技术
郑重声明:本片博客是学习一书所记录的笔记,内容基本为书中知识.Java程序员有一个共识,以编译方式执行本地代码比解释方式更快,之所以有这样的共识,除去虚拟机解释执行字节码时额外消耗时间的原因外,还有一个很重要的原因就是虚拟机设计团队几乎把对代码的所有优化措施都集中在了即时编译器之中(在JDK1.3之后,Javac就去除了-O选项,不会生成任何字节码级别的优化代码了),因此一般来说,即时编译器产生的
伯努力不努力
·
2020-07-08 09:40
java
如何优雅的编译OpenJDK(Mac 版)
前言最近拜读《
深入理解Java
虚拟机》一书。书中第一章要求,自己编译Java虚拟机。我尝试的编译了一下,发现随着Mac和Code版本的不断更新,要做到编译书中提及的OpenJDK1.7已经非常的困难。
在风中的意志
·
2020-07-08 08:08
5.
Java
-------5.10.
JVM
深入理解Java
中的final关键字
本文由ImportNew-唐小娟翻译自Javarevisited。如需转载本文,请先参见文章末尾处的转载要求。Java中的final关键字非常重要,它可以应用于类、方法以及变量。这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使用final关键字的实例。final经常和static一起使用来声明常量,你也会看到fin
suhenhappy
·
2020-07-08 06:20
java
上一页
43
44
45
46
47
48
49
50
下一页
按字母分类:
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
其他