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对象Personperson=newPerson("小明");虚拟机检查Person类是否已经被加载、解析和初始化过。如果没有,那必须先执行类加载过程。类加载检查通过后,接下来虚拟机为新生对象分配内存虚拟机将分配到的内存空间(但不包括对象头)都初始化为零值,如果使用了TLAB(本地线程分配缓冲ThreadLocalAllocationBuffer),这一项工作也可以
sSor
·
2020-07-14 20:31
java
还搞不懂类文件结构?跟我一起撸一遍class就都明白了
二刷《
深入理解Java虚拟机
》的时候,发现看类文件结构这章依旧云里雾里。因为类文件中的结构实在太多了,尤其在涉及表的时候,经常会出现表中嵌套表的情况。
insaneXs
·
2020-07-14 19:00
Java学习笔记2019.8.14(JavaWeb、牛客学长的书单、刷大量面经)
对于没看完数据结构的我,难度适中;学习牛客上的9.9客场,中山计算机硕士的经验(后台开发),书本如下:(1)java核心技术、设计模式、java编程思想=EffecticeJava、Java并发编程=
深入理解
汤圆006
·
2020-07-14 17:46
《
深入理解java虚拟机
》之通过Jconsole检测线程死锁
XMLCode*写一个死锁示例*线程死锁是由于线程之间相互等待彼此释放自己锁需要的锁*然后相互等待导致程序僵死*例如A线程需要获取o1,o2两个锁,线程B需要o2,o1两个锁*当线程A拥有o1的锁,则它要执行完就需要获取o2锁,此时o2锁的拥有者是B*线程A等待线程B释放o2锁,同时线程B也在等待线程A释放o1锁,所以两个线程相互等待对方释放自己需要的锁*就这样他们天长地久的等待着彼此packag
lyzx_in_csdn
·
2020-07-14 14:12
JVM
关于破坏双亲委派机制
说明:最近在重读《
深入理解Java虚拟机
》,看到破坏双亲委派这一块内容时,通过对JDBC驱动加载过程源码debug,突然茅塞顿开,收获不少,以前仅仅只是知道概念,特此记录一下也看了一些其他博主的文章,虽然最后还是搞明白了
haokinglong_java
·
2020-07-14 11:56
后端
深入理解Java虚拟机
学习笔记-2.JVM垃圾回收
JVM垃圾回收1.简介jvm要进行垃圾回收粗略分为两个步骤:找出需要清理的内存(无效的内存区域),清理无效的内存区域程序计数器、虚拟机栈、本地方法栈三个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的(尽管在运行期会由JIT编译器进行一些优化,但在本章基于概念模型的讨论中,大体上可以认为是编译期可
吾已六
·
2020-07-14 09:11
jvm
JVM结构总揽
虽然做的java开发,但是一直以来就对jvm没什么概念,了解和认识也不多,最近遇到了一个GC的问题,然后把《
深入理解java虚拟机
》这本书吃了,并查了一些资料,做如下记载,整体详见:JVM系列从JVM结构讲起
程序员的散漫生活
·
2020-07-14 04:24
深入理解JAVA虚拟机
三 -垃圾收集器与内存分配策略
3.2对象已死?(P68)3.2.1引用计数算法在对象中天街一个引用计数器,每当有一个地方引用它时,计数器值+1,当引用失效时,计数器值-1,为0的对象就是不可能再被使用的3.2.2可达性分析算法通过一系列称为"GCROOT"的根对象作为起始节点集,从这些节点开始,根据引用关系向下搜索,走过的路径叫做"引用链(ReferenceChain)",如果某个对象到GCRoots间没有任何引用链相连,(不
BNMZY
·
2020-07-14 03:51
JVM系列
虚拟机字节码执行引擎
深入理解Java虚拟机
总结
执行引擎是Java虚拟机最核心的组成部分之一。“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、硬件、指令集和操作系统层面上的,而虚拟机的执行引擎则是由自己实现的,因此可以自行制定指令集与执行引擎的结构体系,并且能够执行哪些不被硬件直接支持的指令集格式。在Java虚拟机规范中制定了虚拟机字节码执行引擎的概念模型,这个概念模型称为各种虚拟
好好学习Sun
·
2020-07-13 22:24
锁的优化(自旋锁、自适应自旋锁、锁消除、偏向锁、轻量级锁)
注:此篇博文大部分内容出自《
深入理解Java虚拟机
》,一部分是本人在看个篇博文的个人理解。关于不知道如何获取电子版的朋友,微信读书上有完整版本,希望能帮到在学习这方
Maycope
·
2020-07-13 20:28
锁的优化
Java OOM(2-3)
摘录自《
深入理解Java虚拟机
》第二版周志明以下内容都是我对书籍内容的个人理解,可能存在错误,若要深入学习,建议翻看原书籍除了程序计数器,其他区域都规定了OutOfMemoryError,现在逐个去尝试使其出错
kingdon.wang
·
2020-07-13 20:42
JVM
《
深入理解Java虚拟机
》(第三版)读书笔记(十):第十三章 线程安全与锁优化
《
深入理解Java虚拟机
》(第三版)读书笔记(十):第十三章线程安全与锁优化文章目录《
深入理解Java虚拟机
》(第三版)读书笔记(十):第十三章线程安全与锁优化线程安全Java语言中的线程安全线程安全的实现方法锁优化自旋锁与自适应自旋锁消除锁粗化轻量级锁偏向锁线程安全
NayelyAA
·
2020-07-13 19:42
JVM运行时数据区域
文章目录JVM运行时数据区域是我们java程序员必须要掌握的一块内容,下面是我阅读《
深入理解java虚拟机
》周志明著后整理的一些笔记先来看一下JVM的整体结构MethodArea(方法区)同堆内存一样,
wandoubi
·
2020-07-13 16:22
JVM虚拟机
《
深入理解java虚拟机
》String.intern()探究
一、背景《
深入理解java虚拟机
》第二版57页对String.intern()返回引用的测试代码如下:/**String的intern例子*Createdby明明如月on2017-05-24.
明明如月学长
·
2020-07-13 16:06
Java基础
java堆的大小包括加上方法区(持久代)的大小吗
《
深入理解Java虚拟机
第二版周志明著》第41页提及到:“方法区与Java堆一样,是各个线程共享的内存区域。它用于存储已被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据。
mzh0817
·
2020-07-13 14:52
JVM
几张图轻松理解String.intern()
在翻《
深入理解Java虚拟机
》的书时,又看到了2-7的String.intern()返回引用的测试。
唐大麦
·
2020-07-13 13:18
-------【Java基础】
Java内存溢出的典型场景测试
引言:本文是阅读经典的《
深入理解Java虚拟机
》后,对第二章的内存溢出异常情况进行总结,通过实际代码实现来验证知识点的正确性。
竹天九日
·
2020-07-13 13:25
BugKill
并发编程知识落地
Java特性的日常get
并发编程-锁的那些事儿【一:并发的本质-Java内存模型】
前言时隔几周,今天我们正式进入并发编程的艺术之中,在此我分享下指引我学习方向的书籍:《
深入理解Java虚拟机
》,《Java并发编程的艺术》,《Java并发编程实战》按照上述顺序依次阅读;真正开始接入并发这门艺术时
盘码客、汤勺
·
2020-07-13 13:07
并发编程
并发编程
JUC
Java锁
Java内存模型总结
参考资料:Java并发编程艺术,
深入理解Java虚拟机
参考博客:http://blog.csdn.net/vking_wang/article/details/8574376概述并发编程模型中需要解决两个问题
查洛巴
·
2020-07-13 04:58
java多线程
读书笔记(一)——JVM内存模型分析
初读《
深入理解Java虚拟机
》一书,顺带写下读书笔记,方便后面回顾!
Yk.FrankBian
·
2020-07-13 01:05
工作之前的随笔
锁优化(自旋锁,锁消除,锁粗化,轻量级锁,偏向锁)(
深入理解JAVA虚拟机
-学习记录)
高效并发是从JDK1.5到JDK1.6的一个重要改进,HotSpot虚拟机开发团队在这个版本上花费了大量的精力去实现各种锁优化技术,如适应性自旋(AdaptiveSpinning)、锁消除(LockElimination)、锁粗化(LockCoarsening)、轻量级锁(LightweightLocking)和偏向锁(BiasedLocking)等,这些技术都是为了在线程之间更高效地共享数据,以
AllineedisU
·
2020-07-12 23:10
JVM
几张图轻松理解String.intern()
https://blog.csdn.net/soonfly/article/details/70147205在翻《
深入理解Java虚拟机
》的书时,又看到了2-7的String.intern()返回引用的测试
tyyking
·
2020-07-12 22:26
linux编译openjdk8
最近在看《
深入理解java虚拟机
》,第一章主要讲java历史,有点意思的是编译openjdk,想自己试着搞搞,但是书上编译的是7,而且要配置一堆的配置文件,就上网查查,openjdk8貌似不用配置这么多
Michael曾
·
2020-07-12 21:25
java
linux
《
深入理解Java虚拟机
-JVM高级特性与最佳实践》学习总结(第八章)
第八章虚拟机字节码执行引擎虚拟机字节码执行引擎8.1运行时栈帧结构1.什么是栈帧?栈帧(StackFrame)是用于支持虚拟机进行方法调用和执行的数据结构,它是虚拟机运行时数据区中的虚拟机栈(VirtualMachineStack)。2.栈帧的结构?栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址等信息。在编译程序代码的时候,栈帧中需要多大的局部变量表、多深的操作数栈都已经完全确定了,
雅俗共赏M
·
2020-07-12 20:53
Mac编译OpenJDK12
最近在阅读《
深入理解Java虚拟机
:JVM高级特性与最佳实践(第3版)》参照图书,在自己的Mac上进行OpenJDK12的编译.环境准备MAC参数xcode记得安装CommandLineToolsxcode-select
流里个浪
·
2020-07-12 20:23
深入理解Java虚拟机
读书笔记之:第3章 安全(3)
策略Java安全体系结构的真正好处在于,它可以对代码授予不同层次的信任度来部分地访问系统。Microsoft提供了ActiveX控件认证技术,它和Java的认证技术相类似,但是ActiveX控件并不在沙箱中运行。这样,使用了ActiveX,一系列移动代码要么是被完全信任的,要么是完全不被信任的。版本1.2的安全体系结构的主要目标之一就是使建立(以签名代码为基础的)细粒度的访问控制策略的过程更为简单
javaeeceo
·
2020-07-12 19:06
Java虚拟机(JVM)
读书笔记
《
深入理解Java虚拟机
》学习之openjdk12环境搭建
最近准备把年前买的《
深入理解Java虚拟机
》第三版看完,趁着有时间,深入底层去看看,努力成为一个优秀的人吧。
Tom-Zheng
·
2020-07-12 19:09
jvm
虚拟机字节码执行引擎——
深入理解Java虚拟机
虚拟机字节码执行引擎作用:输入字节码文件,解析字节码,并且输出结果。一、运行时栈帧结构栈帧(StackFrame)是用于支持虚拟机进行方法调用和方法执行的数据结构,是虚拟机运行时数据区中的虚拟机栈(VirtualMachineStack)的栈元素。栈帧中存储了方法的局部变量表、操作数栈、动态链接和方法返回地址等信息。每一个方法从调用到执行完成的过程,都对应一个栈帧在虚拟机栈中从入栈和出栈的过程。在
xuranzyy
·
2020-07-12 17:38
JVM虚拟机
Java底层学习
最近在看几本Java的书,也做了很多笔记,主要是关于Java虚拟机、JavaGC、Java并发编程等方面,参考的主要几本书籍有:《
深入理解Java虚拟机
》——周志明《
深入理解Java虚拟机
第二版》——美
爆米花9958
·
2020-07-12 17:32
Java相关
Java
深入理解
深入理解JAVA虚拟机
学习笔记11——JDK可视化工具-VisualVM以及案例分析
VisualVM:多合一故障处理工具,功能比较全面的一个工具,与其它的检测工具相比,对实际性能影响很小,并且还具备安装插件功能。这个工具和前面介绍的JConsole工具有很多类似的功能,但是比JConsole功能更全面,朋友们可以自己到JDK的bin目录下找到jvisualvm.exe进行测试。这里简单介绍两个比较有用的插件。一个是VisualGC,可以堆内存的使用有一个更全面的监控,包括类的编译
云水禅音
·
2020-07-12 16:41
JAVA虚拟机
深入理解JAVA虚拟机
学习笔记13——字节码指令4(其他指令)
指令这块的相关信息我们在前几篇的文章中已经有了基本了解,这一篇不过多解释了,将剩下的指令列出来,作为记录(节选自《
深入理解JAVA虚拟机
》)。
云水禅音
·
2020-07-12 16:41
JAVA虚拟机
分布式架构路线(一)
一、性能调优1.1.java类文件java类文件结构Java类文件概述【JAVA】类文件结构1.2.java虚拟机类加载机制
深入理解Java虚拟机
——JVM类加载机制(类加载过程和类加载器)Java虚拟机类加载机制
NorthrendSnow
·
2020-07-12 15:04
分布式
java
java
分布式
nginx
redis
tomcat
《
深入理解Java虚拟机
》-内存区域、回收策略
Java虚拟机为每个进程提供了独立的虚拟地址空间,这个地址空间按照用途不同被分成了不同区域。每个区域有不同的回收策略。很多问题比如多线程只要画出内存区域就很好理解了。想要更好的理解内存区域可以参考我的文章程序的机器级表示和虚拟存储器内存区域粗略划分内存区域.png栈栈是线程私有的,每个方法对应一个栈帧,进入一个方法创建一个栈帧,从一个方法返回退出当前栈帧。参数,局部变量都是分配在栈上。堆Java将
gatsby_dhn
·
2020-07-12 12:21
在jdk1.8的环境下模拟永久代内存溢出
2019独角兽企业重金招聘Python工程师标准>>>相信不少小伙伴在看
深入理解Java虚拟机
的时候,作者给我们举例一个demo来发生PermGenspace1、通过List不断添加String.intern
weixin_33800593
·
2020-07-12 07:54
JDK中的命令行工具
JavaJDK中的命令行工具本文内容主要学习自《
深入理解Java虚拟机
》,超赞的一本书强烈推荐!
我要天天向上
·
2020-07-12 03:15
Java
JVM
Linux下编译openJDK源码
学习《
深入理解java虚拟机
》,开篇先编译一个openJDK来了解JDK的源码。
阿卧
·
2020-07-12 02:57
深入理解JVM
JVM系列(一):自己编译jdk遇到的一些坑
两个月前开始学习jvm,买了本书《
深入理解Java虚拟机
-JVM高级特性与最佳实践——周志明著》,卡在第一章自己编译JDK,一直报错,然后便停顿了两个月,前几天再一次拾起,终于搞定。
青鱼入云
·
2020-07-12 02:33
java
jvm
jvm
2017年计划
学习的习惯和生活的习惯还是不怎么好,所以,在2017年新的一年中,重点在学习和生活好习惯的养成.主要将计划分为六个部分:一.需要看的书从前往后一共需要看四本书:《Java编程思想》《数据库系统概念》《重构改善现有代码设计》《
深入理解
中中哥
·
2020-07-12 01:49
life杂记
计划
JVM内存优化——小试牛刀
最近在拜读周志明的《
深入理解Java虚拟机
》,看了Java的内存管理机制以及Jvm优化相关内容。于是,下载了sun提供的Jvm检测工具VisualVm。
微寒Super
·
2020-07-12 00:18
Java
在Mac上编译OpenJDK10源码
p.s我肯定不会告诉你这书博主看了3遍:D
深入理解Java虚拟机
国内周某人写的,鉴于博主对于国人写的书向来不怎么感兴趣还是不提了。Ho
sjtumachao
·
2020-07-11 23:44
深入理解Java虚拟机
(一)知识储备
深入理解Java虚拟机
(一)知识储备JVM内存划分:①方法区(线程共享)常量静态变量JIT(即时编译器)编译后代码也在方法区存放②堆内存(线程共享)垃圾回收的主要场地③程序计数器当前线程执行的字节码的位置指示器
shang_xs
·
2020-07-11 22:58
java虚拟机
深入理解Java虚拟机
三
一、Java反射的实现原理1.反射调用的实现反射是Java语言中一个相当重要的特性,它允许正在运行的Java程序观测,甚至是修改程序的动态行为。反射在Java中的应用十分广泛,Java集成开发环境(IDE)的智能提示、Spring框架的依赖反转(IoC)、动态代理、远程RMI接口调用等。如下所示反射示例代码:publicfinalclassMethodextendsExecutable{...pu
欧阳誉晨曦
·
2020-07-11 22:54
Java语法糖的味道:泛型与类型擦除
[b]原创文章,转载请注明以下信息:[/b]作者:
[email protected]
来源:[url="http://icyfenix.iteye.com/blog/975047"]《
深入理解Java虚拟机
seicefire
·
2020-07-11 22:00
深入理解Java虚拟机
--字节码指令表
《
深入理解Java虚拟机
JVM高级特性与最佳实践》附录B虚拟机字节码指令表字节码助记符指令含义0x00nop什么都不做0x01aconst_null将null推送至栈顶0x02iconst_m1将int
pengjunlee
·
2020-07-11 14:31
深入理解Java虚拟机
Java堆溢出OutOfMemoryError之代码实例和原因分析
”java.lang.OutOfMemoryError:Javaheapspace”异常,分析GC日志得出OOM的原因,同时对堆转储文件进行分析,以查看把Heap塞满的罪魁祸首;实例代码这段代码来自《
深入理解
蚂蚁学Python
·
2020-07-11 14:57
深入理解java虚拟机
-内存快照分析
-、情景复现这里举一个栗子,最简单的java.lang.OutOfMemoryError:Javaheapspace错误的分析思路。简单代码:publicstaticvoidmain(String[]args){Listlist=newArrayList();while(true){list.add(newString());System.out.println(1);}}抛出异常:Excepti
麦子小小跑
·
2020-07-11 14:31
JVM
深入理解Java虚拟机
——虚拟机字节码执行引擎
深入理解Java虚拟机
——虚拟机字节码执行引擎概述解释执行:通过解释器实时将字节码解释执行。编译执行:通过JIT即时编译器产生本地代码执行。
mingC0758
·
2020-07-11 13:00
Java
《
深入理解JAVA虚拟机
● 第三版》MacOS编译OpenJDK12
MacOS编译OpenJDK12编译环境编译准备OpenJDK12源码下载安装JDK11安装Xcode安装commandlinetools安装Homebrew安装依赖库编译JDK编译参数执行编译查看JDK信息编译失败问题编译环境MacOSCatalina10.15.4Xcode11.5commandlinetoolsHomebrew2.2.5编译准备OpenJDK12源码下载浏览器打开地址:htt
Lucky Dad Cong
·
2020-07-11 12:54
JAVA
Java虚拟机学习笔记(一)macOS 10.12 编译JDK9
参考书为《
深入理解Java虚拟机
(第2版)》(以下简称为《深入》)零、为什么是JDK9?
七弦生
·
2020-07-11 10:18
学习笔记
深入理解java虚拟机
之内存篇读后感
java应用程序有两种类加载器:bootstrap类装载器和用户自定义的类装载器。java安全模型组成(沙箱)1、类加载器结构作用:采用双亲委托机制,在同一个命名空间中,不能存在两个签名相同的类。2、class文件校验器作用:保证每一个方法在被调用时,方法传入参数正确,变量在使用前赋值,变量类型正确以及一个类的构成是正确无误等。在解析变量引用的时候,当涉及到了其他的类,则会去加载这些类,这也是使用
甜的柠檬酸
·
2020-07-11 08:42
java
上一页
23
24
25
26
27
28
29
30
下一页
按字母分类:
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
其他