自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sdaujsj1的博客

君子性非异也 善假于物也

  • 博客(11)
  • 收藏
  • 关注

原创 jvm之虚拟机字节码执行引擎(六)
原力计划

虚拟机字节码执行引擎运行时栈帧结构• 局部变量表• 操作数栈• 动态链接• 方法返回地址• 附加信息局部变量表• slot 32 64• 数据类型:byte boolean short char int float double long reference(ccs) returnAddress• slot 复用:当一个变量的pc寄存器的值大于Slot的作用域的时候,Slot可以复用/** * 局部变量表 复用slot * -verbose:gc */public cla

2020-06-26 18:40:41 151

原创 jvm之类加载机制(五)
原力计划

类加载机制虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、解析、和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制懒加载类加载生命周期:加载加载源:• 文件 class 文件 Jar文件• 网络• 计算生成二进制流• 数据库• 其他文件生成 jsp验证验证是连接阶段的第一步,这一阶段的目的是确保Class文件的字节流中包含的信息符合《Java虚拟机规范》的全部约束要求,保证这些信息被当作代码运行后不会危害虚拟机自身的安全。准备准备阶

2020-06-26 18:38:19 102

原创 jvm之类文件详解(四)
原力计划

第三节 类文件详解类文件介绍Class 文件是一组以 8 位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在 Class 文件之中,中间没有添加任何分隔符,这使得整个 Class 文件中存储的内容几乎全部是程序运行的必要数据,没有空隙存在。当遇到需要占用 8 位字节以上空间的数据项时,则会按照高位在前(Big-Endian)的方式分割成若干个 8 位字节进行存储。Class 文件只有两种数据类型:无符号数和表链接:https://docs.oracle.com/javase/spe

2020-06-26 18:34:06 110

原创 jvm之虚拟机工具篇(三)

虚拟机工具jps(java process status) 虚拟机进程状况工具jps -l 主类全名jps -m 运行传入主类的参数jps -v 虚拟机参数jstat(JVM Statistics Monitoring Tool) 虚拟机统计信息监视工具类加载,内存,垃圾收集,jit编译信息、https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstat.htmlE 代表eden区 o代表old区 m代

2020-06-26 00:33:13 54

原创 jvm之垃圾回收篇(二)
原力计划

垃圾回收如何判断对象为垃圾对象引用计数法在对象中添加一个引用计数 器,当有地方引用这个对象的时候,计数器+1,当失效的时候,计数器-1引用计数法无法解决循环引用问题证明没有用引用计数法:/** * 循环引用 */public class RefCountGC { public Object instance = null; private byte[] bigSize = new byte[2*1024*1024]; public static void

2020-06-25 02:15:46 105

原创 jvm之虚拟机内存的各个区域(一)
原力计划

全局图jvm介绍jvm位置:jvm体系结构:类加载器类加载器负责加载class文件,class文件在文件开头有特定的文件标示,并且ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定 Execution Engine执行引擎负责解释命令,提交操作系统执行虚拟机自带的加载器:• 启动类加载器(Bootstrap)C++• 扩展类加载器(Extension)Java• 应用程序类加载器(AppClassLoader)java 也

2020-06-21 21:18:18 99

原创 程序员用到的网站

emoji:http://cn.piliapp.com/emoji/cheat-sheet/

2020-06-18 19:22:40 76

转载 pageHelper分页失效

原因是 PageHelper 方法使用了静态的 ThreadLocal 参数,分页参数和线程是绑定的。只要你可以保证在 PageHelper 方法调用后紧跟 MyBatis 查询方法,这就是安全的。因为 PageHelper 在 finally 代码段中自动清除了 ThreadLocal 存储的对象。原文:https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/en/HowToUse.mdhttps://segment

2020-06-17 17:40:35 80

转载 layui laydate样式

https://www.layui.com/doc/modules/laydate.html

2020-06-15 20:00:57 405

原创 并发编程
原力计划

多线程线程的应用实现callable接口继承Thread类Request请求类:public class Request { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public Str

2020-06-07 22:47:16 57

原创 使用zookeeper原生api实现分布式锁

使用zookeeper原生api实现分布式锁zookeeper实现分布式锁一种是所有节点都监听最小节点 当最小节点删除后 其他节点创建临时节点 谁创建成功 就意味获取到锁 如果客户端太多 服务端删除一个节点 服务端短时间向其他所有客户端发送大量通知 这就是羊群效应另一种思路就是创建临时有序节点 当前节点监听比他小的节点中的最大节点当 这个节点删除后触发监控事件 当前节点就是最小节点了 即获取到了锁 避免了羊群效应DistributeLock类package lock;import org.

2020-06-03 00:22:57 95

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除