博学之,审问之,慎思之,明辨之,笃行之!

导航

#

[置顶] INDEX

摘要: LiJie's Home Page 管理 | Github | Gitee | 我的随笔 《深入拆解 JVM 虚拟机》 《Go 语言设计与实现》 微服务 martinfowler java Doug Lea's Home Page | Java 全栈技术体系 | 老K的Java博客 | 高性能队列— 阅读全文

posted @ 2021-09-21 01:32 PP杰 阅读(48) 评论(0) 推荐(0) 编辑

2022年9月16日 #

cnblog-test

摘要: 标题一 标题二 标题三 标题四 段落中插入图片 这是一个段落 图片添加完成 阅读全文

posted @ 2022-09-16 18:44 PP杰 阅读(44) 评论(0) 推荐(0) 编辑

2022年1月11日 #

redis 数据结构详解系列

摘要: 如果你使用过 redis,一定对它的内部实现感到好奇。本系列文章着重讲解 redis 在内存中的数据结构的实现。redis 本质上是一个数据结构服务器(data structures server),以高效的方式实现了多种数据结构,研究它的的数据结构和算法,对于提升我们算法的编程水平有很重要的参考意 阅读全文

posted @ 2022-01-11 15:10 PP杰 阅读(110) 评论(0) 推荐(0) 编辑

2022年1月4日 #

git FAQ

摘要: 解决方法:https://blog.csdn.net/wq6ylg08/article/details/114106272 阅读全文

posted @ 2022-01-04 14:41 PP杰 阅读(35) 评论(0) 推荐(0) 编辑

2021年12月27日 #

JSON 之 Jackson

摘要: 本系列文章转载至 https://cloud.tencent.com/developer/user/6158873 1、初识Jackson 2、Jackson原来是这样写JSON的 3、懂了这些,方敢在简历上说会用Jackson写JSON 4、JSON字符串是如何被解析的?JsonParser了解一 阅读全文

posted @ 2021-12-27 11:48 PP杰 阅读(33) 评论(0) 推荐(0) 编辑

2021年9月30日 #

openjdk 8 的 hotspot 源码目录结构

摘要: openjdk 8 的 hostspot 源码目录结构大致如下。 参考 "R大[讨论]Hotspot的源码应该怎样阅读?" 阅读全文

posted @ 2021-09-30 12:09 PP杰 阅读(191) 评论(0) 推荐(0) 编辑

2021年9月29日 #

CentOS 7 编译 openjdk 8

摘要: 环境 平台:CentOS 7 内存:1G 磁盘:15G bootstrap jdk:openjdk 8 开始我的内存是 512M,编译的时候会发生 OOM(内存溢出),1G 内存可以通过。 依赖 以下依赖,都是在平台最小安装下需要安装的工具。 也可以使用 一步一步来安装自己平台缺失的依赖项。 mak 阅读全文

posted @ 2021-09-29 17:32 PP杰 阅读(158) 评论(0) 推荐(0) 编辑

2021年9月22日 #

23 - 逃逸分析

摘要: 我们知道,Java 中Iterable对象的 foreach 循环遍历是一个语法糖,Java 编译器会将该语法糖编译为调用Iterable对象的iterator方法,并用所返回的Iterator对象的hasNext以及next方法,来完成遍历。 public void forEach(ArrayLi 阅读全文

posted @ 2021-09-22 14:15 PP杰 阅读(82) 评论(0) 推荐(0) 编辑

22 - HotSpot虚拟机的intrinsic

摘要: 前不久,有同学问我,String.indexOf方法和自己实现的indexOf方法在字节码层面上差不多,为什么执行效率却有天壤之别呢?今天我们就来看一看。 为了解答这个问题,我们来读一下String.indexOf方法的源代码(上面的代码截取自 Java 10.0.2)。 在 Java 9 之前,字 阅读全文

posted @ 2021-09-22 14:14 PP杰 阅读(204) 评论(0) 推荐(1) 编辑

21 - 方法内联(下)

摘要: 在上一篇中,我举的例子都是静态方法调用,即时编译器可以轻易地确定唯一的目标方法。 然而,对于需要动态绑定的虚方法调用来说,即时编译器则需要先对虚方法调用进行去虚化(devirtualize),即转换为一个或多个直接调用,然后才能进行方法内联。 即时编译器的去虚化方式可分为完全去虚化以及条件去虚化(g 阅读全文

posted @ 2021-09-22 14:12 PP杰 阅读(89) 评论(0) 推荐(0) 编辑

20 - 方法内联(上)

摘要: 在前面的篇章中,我多次提到了方法内联这项技术。它指的是:在编译过程中遇到方法调用时,将目标方法的方法体纳入编译范围之中,并取代原方法调用的优化手段。 方法内联不仅可以消除调用本身带来的性能开销,还可以进一步触发更多的优化。因此,它可以算是编译优化里最为重要的一环。 以 getter/setter 为 阅读全文

posted @ 2021-09-22 14:11 PP杰 阅读(193) 评论(0) 推荐(0) 编辑