Java虚拟机
Java虚拟机实践
优惠券已抵扣
余额抵扣
还需支付
¥39.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
纯洁的明依
我们的服务是:编程资料大全-原创深度技术文章。免费技术资讯 公众号:纯洁的明依
展开
-
Java虚拟机内存分区域与内存溢出异常
java虚拟机所管理的内存分为以下几个运行时数据区域。Ⅰ程序计数器:当前线程所执行的字节码的行号指示器。典型例子就是Java虚拟机的多线程通过线程轮流切换并分配处理器执行的时间的方式来实现的。在任何一个确定的时刻,一个处理器都只会执行一条线程的指令。在线程切换时什么能保证线程恢复到正确的位置,这个就是程序计数器的作用。这类伴随线程存储的内存区域,称为线程私有的内存。ⅡJavax虚拟机栈:很原创 2017-07-22 23:33:41 · 316 阅读 · 2 评论 -
jdk源码系列:String为啥是不能有子类?以及内内部实现
public final class String implements java.io.Serializable,Comparaable<String>,CharSequence{ private final char value[]; private int hash; private static final long serialVersionUID=-68...原创 2019-04-16 16:35:07 · 1453 阅读 · 0 评论 -
jdk源码系列:String判断两个字符串是否相等以及忽略大小写相等的实现
源码如下:核心思路:取到每一个字符,比较如果全部相等则返回truepublic boolean equals(Object anObject){ if(this==anObject){ return true; } if(anObject instanceof String){ String anotherString=(String)anObject; ...原创 2019-04-16 16:30:59 · 1167 阅读 · 0 评论 -
linux 下如何设置JVM 常用参数?
待完善。原创 2019-08-18 10:11:28 · 19461 阅读 · 4 评论 -
Java中如何实现原子操作?
在Java中,J实现原子操作 可以通过锁和循环CAS的方式来实现原子操作。 1 使用循环CAS操作原子操作 package com.yy;import java.util.ArrayList; import java.util.List; import java.util.concurrent.atomic.AtomicInteger;/** * Created by wo o原创 2018-02-06 15:39:07 · 794 阅读 · 0 评论 -
Java并发机制(-synchronized的实现原理与应用)
1 synchronized的实现原理与应用 1.1 偏向锁和轻量级锁以及锁的存储结构和升级过程 1.1.1 实现同步的基础,Java中每一个对象都可以作为锁 a:对于普通同步方法,锁是当前实例对象。 b:对于静态同步 方法,锁是当前类的Class对象。 c:对于同步方法块,锁是synhronized 括号里配置的对象。 1..2 Java对象头:原创 2018-02-06 13:47:19 · 224 阅读 · 0 评论 -
Java 内存模型(三)-从源代码到指令序列的重排序
在执行程序时。为了提高性能,编译器和处理器常常会对指令做重排序。重排序分为3中类型: 1 编译器优化的重排序。编译器在不改变单线程程序语义的前提下,可以重新安排语句的执行顺序。 2 指令级并行的重排序。现代处理器采用了指令集并行技术(ILP) ,来讲多条指令重叠执行。如果不存在数据依赖性,处理器可以改变语句对机器指令的执行顺序。 3 内存系统的重排序。由于处理器使用缓存和读/写缓冲区。这便得...原创 2018-02-09 16:40:45 · 511 阅读 · 0 评论 -
jstack:java 堆栈工具
生成线程快照的主要目的就是定位线程出现长时间停顿的原因,如线程死锁,死循环请求外部资源导致的长时间等待等都是导致线程长时间停顿的常见原因。线程出现停顿的时候通过jstack来查看各个线程的调用堆栈,就可以知道没有响应的线程到底在后台做些什么事情,或者等待着什么资源。jstack 命令格式jstack [option] vmid以下是jstack 工具的主要选项-F原创 2018-01-20 22:54:14 · 331 阅读 · 0 评论 -
虚拟机性能监控与故障处理工具初步认识
给一个系统定位的时候,知识 经验是关键基础,数据是依据,工具是运用知识处理数据的手段,这里说的数据包括:运行日志,异常堆栈,GC日志,线程快照等。经常使用适当的虚拟机监控和分析的工具可以加快我们分析数据 ,定位解决问题的速度。原创 2018-01-14 15:43:59 · 194 阅读 · 0 评论 -
java 对象的访问定位
建立对象就是为了使用对象,我们的Java程序需要通过栈上的reference 数据来操作堆上的具体对象。由于reference类型在Java虚拟机中只规定了一个指向对象的引用,并没有定义整个引用应该如何去定位,访问堆中的对象的具体位置。所以对象访问方式取决于虚拟机实现而定的。目前主流的访问方式有使用句柄和直接指针两种。一:句柄:是间接访问对象实例数据的一种方式:采用句柄池的方式。存放的是:原创 2017-09-01 12:31:12 · 285 阅读 · 0 评论 -
垃圾收集器-GC以及判断对象存活的算法以及引用类型
1 为什么了解垃圾收集器? 当垃圾收集称为系统达到更高并发量的瓶颈时,我们需要对其进行的必要的监控和调节。2 内存分配与回收重点研究的内存区域为:Java堆-只有在程序运行期间才能知道会创建那些对象。这部分内存的分配和回收都是动态的3 判断对象是否存活的算法分析: 3.1 引用计数器 :给对象中添加一个计数器,每当一个地方引用他时,计数器值就加1,当引用失效时就减1 .Java虚原创 2017-07-26 23:45:29 · 299 阅读 · 0 评论 -
Java虚拟机内存溢出原因分析以及解决方案
在Java虚拟机规范的描述之中,除了程序计数器外,虚拟机内存的其他几个运行时区域都有可能发生内存溢出OutOfMemoryError(OOM)异常的可能。最常见的内存溢出情况就是Java堆的内存溢出。明显异常提示信息为:Java heap Space.为了方便事后分析内存溢出的原因进而找出好的解决方案,可以通过参数 -XX:+HeapDumpOnOutOfMemoryError 可以让虚拟机在原创 2017-07-23 21:57:00 · 3538 阅读 · 2 评论 -
深入理解Java虚拟机:JVM高级特性与最佳实践(最新第二版)
JVM高级特性与最佳实践(最新第二版)pdf 免费下载pdf下载公号:纯洁的明依:回复 Java虚拟机。原创 2019-08-21 10:56:49 · 234 阅读 · 0 评论