首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
帅旋
掘友等级
公众号: Java架构杂谈
|
IT宅
🏆 掘金认证:架构师,Java架构杂谈作者,IT宅(itzhai.com)博主。
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
31
文章 28
沸点 3
赞
31
返回
|
搜索文章
最新
热门
一篇图文彻底弄懂类加载器与双亲委派机制
类加载器: 可以实现通过一个类的全限定名称来获取描述此类的二进制字节流。实现这个动作的代码模块成为”类加载器“。 通过自定义类加载器可以实现各种有趣而强大的功能更:OSGi,热部署,代码加密等。 如上图为类加载器的加载流程。 启动类加载器:系统启动的时候,首先会通过由C++实现…
一篇图文彻底弄懂Class文件是如何被加载进JVM的
其中,如果是动态绑定或者晚期绑定,解析阶段不会再准备阶段后立刻执行。接下来我们就来看看是如何按照这个流程加载一个Class文件的。 在内存中生成此类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口。 遇到new、getstatic、putstatic或…
Class文件十六进制背后的秘密
Java源代码被编译为Class文件之后,里面究竟保存了什么东西,有什么奥秘呢?本文将为你揭开Class文件神秘的面纱。Class文件结构是JVM加载Class,实例化对象,和进行方法调用的重要依据,了解了它,我们将能够更透彻的洞悉JVM执行字节码背后的机制: 如果想要探究Cl…
一文彻底弄懂Java垃圾回收机制
如上图,给对象一个引用计数器refCount。每有一个对象引用它,计数器加1,当refCount=0的时候,表示对象不再可用。 如上,即使 objA 和 objB 都不再被访问之后,他们依旧互相引用这,所以计数器不为0。 如上图,虚拟机栈帧中本地变量表引用的对象,本地方法栈中,…
10分钟教你如何hack掉Java编译器
如标题所述,我们如何才能hack掉java编译器,也就是javac呢?为了摸索到这个套路,我们需要从一般的编译流程,javac的编译流程,以及插入式注解处理器说起,最后通过一个例子演示如何在编译期间篡改代码,并且介绍业界常见的应用场景。读完该篇文章,你可以了解到: 而在执行过程…
Java对象历险记 [动图]
如果发现需要大量连续内存空间的Java对象,如很长的字符串或者数组,则直接把对象放入老年代。 可通过-XX:PretenureSizeThreshold参数设置大对象的最小大小,该参数只对Serial和ParNew两款收集器有效。 固定对象年龄判断:默认的,存活对象在Survi…
Java运行时数据区域及其工作原理,对象定位
存储:当前线程所执行的字节码的行号指示器。(执行native方法时为空) 这个区不会出现OOM异常。 存储:Java方法执行过程中的栈帧(每个方法创建一个栈帧),存储局部变量表,操作数栈,动态链接,方法出口等信息。 局部变量表存放了编译期可知的各种基本数据类型、对象引用和ret…
一个维护版本日志整洁的Git提交规范
良好的Commit Message有利于代码审查,能更快速查找变更记录,并且可以直接生成Change log。 其中 head((): )是必须的,body和footer是可选的。 命令提交。 跳出文本编辑器进行编写。 commit的简短描述,不超过50个字符。 跟subjec…
个人成就
文章被点赞
259
文章被阅读
51,827
掘力值
1,688
关注了
5
关注者
143
收藏集
6
关注标签
21
加入于
2018-11-23