• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






yang7678287

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

2020年3月10日

锁优化
摘要: 高效并发是jdk 5到jdk6的一个重要改进,实现了各种锁优化技术 1 自旋锁与自适应自旋:挂起线程和恢复线程的操作都需要转入内核状态中完成,这些操作给虚拟机并发的性能带来了很大的压力,在很多应用上,共享数据的锁定状态只会持续很短的一段时间,为了这段时间去挂起和恢复线程并不值得。为了让线程等待,只需 阅读全文
posted @ 2020-03-10 17:43 yang7678287 阅读(165) 评论(0) 推荐(0)
 
java的内存模型
摘要: java的内存模型有3个特征:原子性,可见性,有序性 1 原子性:由java内存模型来直接保证的原子性操作包括:read、load、assign、use、store、write,如果应用场景需要一个更大范围的原子性保证,可以通过lock、unlock来满足这个需求,实现这个是通过指令monitore 阅读全文
posted @ 2020-03-10 15:51 yang7678287 阅读(95) 评论(0) 推荐(0)
 
类的加载
摘要: 类加载的过程 1 加载:在加载过程,虚拟机需要完成三个过程 a 通过一个类的全限定名来获取定义此类的二进制字节流 b 将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构 c 在内存中生成一个代表这个类的java.lang.Object的对象,作为方法区这个类的各种数据的访问入口 其实,对应 阅读全文
posted @ 2020-03-10 14:52 yang7678287 阅读(115) 评论(0) 推荐(0)
 

2020年3月6日

虚拟机性能监控,故障处理工具
摘要: 1. jps:虚拟机进程状况工具,可以列出正在运行的虚拟机进程,显示虚拟机执行主类名称及这些进程的本地虚拟机唯一ID 命令格式:jps [options] [hostid] 2.jstat:虚拟机统计信息监视工具,用于监视虚拟机各种运行状态信息的命令行工具,它可以显示本地或远程虚拟机进程中的类加载器 阅读全文
posted @ 2020-03-06 18:00 yang7678287 阅读(279) 评论(0) 推荐(0)
 
对象的内存布局
摘要: 对象在对内存中的存储布局可以划分为三个部分:对象头,实例数据,对齐填充 1 对象头:对象头包含两个部分,第一类是用于存储对象自身的运行时数据,如哈希码,GC分代年龄,锁状态标志,线程持有的锁,偏向线程ID,偏向时间戳等这部分数据在32位和64位的虚拟机分别对应32bit集合64bit,官方称为Mar 阅读全文
posted @ 2020-03-06 17:21 yang7678287 阅读(229) 评论(0) 推荐(0)
 
对象的创建
摘要: 对象的创建通常通过new关键字(例外:反序列化,复制),其过程如下: 当遇到new指令时,首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并检查这个符号引用代表的类是否被加载,解析和初始化过,如果没有,必须先执行相应的类加载过程。 在类加载过程检查通过后,需要为新生对象分配内存,对象所 阅读全文
posted @ 2020-03-06 16:54 yang7678287 阅读(144) 评论(0) 推荐(0)
 
jdk1.8 常量池分析
摘要: java中的常量池分3种 1.class文件常量池(静态常量池) 2运行时常量池 3.字符串常量池 class文件常量池:存储区域是在堆中,编译时产生对应的class文件,主要包含字面量和符号引用 运行时常量池:存在与本地内存的元空间中,JVM运行时,在类加载完成后,将每个class常量池中的符号引 阅读全文
posted @ 2020-03-06 16:00 yang7678287 阅读(1196) 评论(0) 推荐(0)
 
虚拟机内存管理
摘要: Java虚拟机在运行Java程序时会把它管理的内存划分为多个区域,这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动一直存在,有些区域则是依赖用户线程的启动和结束而建立与销毁。 1.程序计数器:可以看作当前线程所执行的字节码的行号指示器,通过改变这个计数器的值来选取下一条需要执 阅读全文
posted @ 2020-03-06 15:44 yang7678287 阅读(185) 评论(0) 推荐(0)
 

2020年3月5日

垃圾回收器
摘要: 1 serial垃圾回收器是最早的,这个收集器是单线程的,所谓单线程,是指它在回收时,会暂停其他所有线程,直到它收集结束。由于单线程处理垃圾回收,没有线程切换的开销,所以效率很高,对应内存不大的比较合适,例如运行在客户端模式下的虚拟机来说是个很好的选择。 serial old收集器:它是serial 阅读全文
posted @ 2020-03-05 17:34 yang7678287 阅读(195) 评论(0) 推荐(0)
 
垃圾回收机制
摘要: 1.如何确认是垃圾: a 引用计数法 b 可达性分析法 2.可达性分析法哪些可以作为gc roots (全局引用:常量或静态变量/执行上下文:栈帧中的本地变量表) a 虚拟机栈中引用的对象(局部变量,临时变量,参数) b 方法区中静态属性引用的对象(静态变量) c 方法区中的常量引用的对象 d 本地 阅读全文
posted @ 2020-03-05 16:12 yang7678287 阅读(189) 评论(0) 推荐(0)