会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Mars.wang
博客园
首页
新随笔
管理
上一页
1
···
17
18
19
20
21
22
23
24
25
···
81
下一页
2022年4月15日
java编译器源码解析-语义分析-填充符号表
摘要: 一、生成符号表 填充符号表的核心逻辑在com.sun.tools.javac.comp.Enter类。 在讨论填充符号表的逻辑之前,首先要明确一下,什么是符号? 我们在java代码中,可能会声明一个类,类中有属性和方法,这些对于计算机而言,都是一种符号。 在java编译器的实现中,定义了专门的符号类
阅读全文
posted @ 2022-04-15 11:02 Mars.wang
阅读(920)
评论(0)
推荐(0)
2022年4月14日
java编译器源码解析-语法分析(1)
摘要: java语法解析器的核心类是com.sun.tools.javac.parser.JavacParser,令人惊讶的是java并没有使用antlr这样现成的的工具,而是选择手写。推测可能是为了性能的考虑吧。 接下来,让我们膜拜下大师的代码。 JavacParser.parseCompilationU
阅读全文
posted @ 2022-04-14 16:44 Mars.wang
阅读(1169)
评论(0)
推荐(0)
java编译器源码解析-词法分析
摘要: java前端编译器的入口在com.sun.tools.javac.Main,然而跟着main方法走下去,你会发现真正的实现内容在com.sun.tools.javac.main.JavaCompiler类的compile()方法中。 借用《深入理解java虚拟机》中的一张图片,实际的解析分为多个步骤
阅读全文
posted @ 2022-04-14 16:15 Mars.wang
阅读(416)
评论(0)
推荐(0)
java编译器源码下载
摘要: 有很多同学想研究java编译器的源码,看反编译的class文件觉得不方便。 其实可以去管网直接下载源码,地址如下: http://hg.openjdk.java.net/jdk8u/jdk8u/langtools/ 点击左侧边栏的zip,下载完成后解压,将com.sun.*下面的代码放在IDE的源码
阅读全文
posted @ 2022-04-14 13:47 Mars.wang
阅读(351)
评论(0)
推荐(0)
2022年4月13日
图数据库neo4j部署-linux
摘要: 参考文档: https://blog.csdn.net/weixin_42584156/article/details/122786519 https://zhuanlan.zhihu.com/p/334634161 一、linux环境neo4j部署 默认账号密码:neo4j/neo4j #解压缩
阅读全文
posted @ 2022-04-13 09:40 Mars.wang
阅读(286)
评论(0)
推荐(0)
2022年4月11日
plantUML使用(转载)
摘要: 转自:https://zhuanlan.zhihu.com/p/427358291 PlantUML官网:https://plantuml.com/ 中文官网:https://plantuml.com/zh/ 在平时的工作中,经常会遇到绘制时序图、流程图的需求。在要求不高的时候,我们可以选择Proc
阅读全文
posted @ 2022-04-11 10:20 Mars.wang
阅读(6973)
评论(0)
推荐(0)
2022年3月23日
深入理解java虚拟机笔记-后端编译与优化
摘要: 一、优化技术概览 OpenJDK的官方Wiki上, HotSpot虚拟机设计团队列出了一个相对比较全面的、 即时编译器中采用的优化技术列表, 如表11-1所示, 其中有不少经典编译器的优化手段, 也有许多针对Java语言, 或者说针对运行在Java虚拟机上的所有语言进行的优化。 本节先对这些技术进行
阅读全文
posted @ 2022-03-23 16:04 Mars.wang
阅读(81)
评论(0)
推荐(0)
深入理解java虚拟机笔记-前端编译与优化
摘要: 一、概述 在Java技术下谈“编译期”而没有具体上下文语境的话,因为它可能是指一个前端编译器把.java文件转变成.class文件的过程; 也可能是指Java虚拟机的即时编译器运行期把字节码转变成本地机器码的过程; 还可能是指使用静态的提前编译器(常称AOT编译器, Ahead Of Time Co
阅读全文
posted @ 2022-03-23 09:56 Mars.wang
阅读(79)
评论(0)
推荐(0)
2022年3月22日
深入理解java虚拟机笔记-线程安全与锁优化3
摘要: 线程安全与锁优化 三、锁优化 高效并发是从JDK 5升级到JDK 6后一项重要的改进项, HotSpot虚拟机开发团队在这个版本上花费了大量的资源去实现各种锁优化技术, 如适应性自旋(Adaptive Spinning) 、 锁消除(LockElimination) 、 锁膨胀(Lock Coars
阅读全文
posted @ 2022-03-22 16:53 Mars.wang
阅读(60)
评论(0)
推荐(0)
深入理解java虚拟机笔记-线程安全与锁优化2
摘要: 二、线程安全的实现方法 了解过什么是线程安全之后, 紧接着的一个问题就是我们应该如何实现线程安全。 这听起来似乎是一件由代码如何编写来决定的事情, 不应该出现在讲解Java虚拟机的书里。 确实, 如何实现线程安全与代码编写有很大的关系, 但虚拟机提供的同步和锁机制也起到了至关重要的作用。 在本节中,
阅读全文
posted @ 2022-03-22 16:07 Mars.wang
阅读(66)
评论(0)
推荐(0)
上一页
1
···
17
18
19
20
21
22
23
24
25
···
81
下一页