会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
flydean程序那些事
最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧等你来发现! www.flydean.com
首页
新随笔
管理
上一页
1
···
28
29
30
31
32
33
34
35
36
···
52
下一页
2020年8月4日
JVM系列之:JIT中的Virtual Call接口
摘要: 简介 上一篇文章我们讲解了Virtual Call的定义并举例分析了Virtual Call在父类和子类中的优化。 JIT对类可以进行优化,那么对于interface可不可以做同样的优化么? 一起来看看吧。 最常用的接口List List应该是大家最最常用的接口了,我想这个大家应该不会反驳。 pub
阅读全文
posted @ 2020-08-04 09:07 flydean
阅读(420)
评论(1)
推荐(1)
2020年8月3日
JVM系列之:JIT中的Virtual Call
摘要: 简介 什么是Virtual Call?Virtual Call在java中的实现是怎么样的?Virtual Call在JIT中有没有优化? 所有的答案看完这篇文章就明白了。 Virtual Call和它的本质 有用过PrintAssembly的朋友,可能会在反编译的汇编代码中发现有些方法调用的说明是
阅读全文
posted @ 2020-08-03 10:35 flydean
阅读(744)
评论(0)
推荐(0)
2020年8月1日
JVM详解之:类的加载链接和初始化
摘要: 简介 有了java class文件之后,为了让class文件转换成为JVM可以真正运行的结构,需要经历加载,链接和初始化的过程。 这三个过程是怎么工作的呢?在本文中你将会找到答案。 加载 JVM可以分为三大部分,五大空间和三大引擎,要讲起来也不是特别复杂,先看下面的总体的JVM架构图。 从上面的图中
阅读全文
posted @ 2020-08-01 17:55 flydean
阅读(1067)
评论(1)
推荐(0)
2020年7月30日
JVM详解之:HotSpot VM中的Intrinsic methods
摘要: 简介 内置方法是什么呢?它和inline method有什么关系呢?内置方法是怎么实现的呢?所有的问题都可以在本文找到答案。 什么是Intrinsic Methods 什么是内置方法呢? 维基百科给出的定义是这样的: 在计算机软件中,按照编译器理论,固有方法(或内置方法)是可在给定编程语言中使用的方
阅读全文
posted @ 2020-07-30 08:16 flydean
阅读(2288)
评论(1)
推荐(0)
2020年7月29日
JVM详解之:汇编角度理解本地变量的生命周期
摘要: 简介 java方法中定义的变量,它的生命周期是什么样的呢?是不是一定要等到方法结束,这个创建的对象才会被回收呢? 带着这个问题我们来看一下今天的这篇文章。 本地变量的生命周期 在类中,变量类型有类变量,成员变量和本地变量。 本地变量指的是定义在方法中的变量,如果我们在方法中定义了一个变量,那么这个变
阅读全文
posted @ 2020-07-29 09:11 flydean
阅读(442)
评论(1)
推荐(0)
2020年7月28日
JVM系列之:String.intern的性能
摘要: 简介 String对象有个特殊的StringTable字符串常量池,为了减少Heap中生成的字符串的数量,推荐尽量直接使用String Table中的字符串常量池中的元素。 那么String.intern的性能怎么样呢?我们一起来看一下。 String.intern和G1字符串去重的区别 之前我们提
阅读全文
posted @ 2020-07-28 08:41 flydean
阅读(885)
评论(1)
推荐(1)
2020年7月27日
5万字长文:Stream和Lambda表达式最佳实践-附PDF下载
摘要: 5万字长文详解介绍Stream和Lambda表达式最佳实践,干货实在太多,最后附上PDF下载,方便大家查阅!
阅读全文
posted @ 2020-07-27 07:35 flydean
阅读(4635)
评论(3)
推荐(2)
2020年7月26日
JVM系列之:String.intern和stringTable
摘要: 简介 StringTable是什么?它和String.intern有什么关系呢?在字符串对象的创建过程中,StringTable有起到了什么作用呢? 一切的答案都在本文中,快来看看吧。 intern简介 intern是String类中的一个native方法,所以它底层是用c++来实现的。感兴趣的同学
阅读全文
posted @ 2020-07-26 11:25 flydean
阅读(775)
评论(1)
推荐(0)
2020年7月25日
一文了解JDK12 13 14 GC调优秘籍-附PDF下载
摘要: 简介 想了解JDK12,13,14中的GC调优秘籍吗?想知道这三个版本中JVM有什么新的变化吗? 一起来看看这期的GC调优秘籍,因为JDK12,13,14中的GC变化不太大,所以这里一起做个总结,文末附有相应的PDF下载,希望大家能够喜欢。 那些好用的VM参数 我们再讲几个之前的版本中没有讲过的比较
阅读全文
posted @ 2020-07-25 12:10 flydean
阅读(972)
评论(2)
推荐(0)
2020年7月24日
JVM系列之:对象的锁状态和同步
摘要: 简介 锁和同步是java多线程编程中非常常见的使用场景。为了锁定多线程共享的对象,Java需要提供一定的机制来实现共享对象的锁定,从而保证一次只有一个线程能够作用于共享对象。当第二个线程进入同一个区域的时候,必须等待第一个线程解锁该对象。 JVM是怎么做到的呢?为了实现这个功能,java对象又需要具
阅读全文
posted @ 2020-07-24 09:17 flydean
阅读(1481)
评论(1)
推荐(0)
2020年7月23日
JVM系列之:Contend注解和false-sharing
摘要: 简介 现代CPU为了提升性能都会有自己的缓存结构,而多核CPU为了同时正常工作,引入了MESI,作为CPU缓存之间同步的协议。MESI虽然很好,但是不当的时候用也可能导致性能的退化。 到底怎么回事呢?一起来看看吧。 false-sharing的由来 为了提升处理速度,CPU引入了缓存的概念,我们先看
阅读全文
posted @ 2020-07-23 09:14 flydean
阅读(2049)
评论(1)
推荐(0)
2020年7月22日
一张PDF了解JDK11 GC调优秘籍-附PDF下载
摘要: 简介 JDK11相比JDK10,添加了一个新的Source-File Mode,可以直接通过java来运行单个java源文件,而不需要进行编译。同时还提供了新的HTTP API,支持响应性stream。 当然上面的都不是重点,重点的是JDK11是一个LTS版本,是继JDK8之后的又一个LTS版本,也
阅读全文
posted @ 2020-07-22 09:24 flydean
阅读(866)
评论(1)
推荐(0)
2020年7月21日
JVM系列之:String,数组和集合类的内存占用大小
摘要: 简介 之前的文章中,我们使用JOL工具简单的分析过String,数组和集合类的内存占用情况,这里再做一次更详细的分析和介绍,希望大家后面再遇到OOM问题的时候不再抱头痛哭,而是可以有章可循,开始吧。 数组 先看下JOL的代码和输出: //byte array log.info("{}",ClassL
阅读全文
posted @ 2020-07-21 09:27 flydean
阅读(3131)
评论(1)
推荐(2)
2020年7月20日
JVM系列之:详解java object对象在heap中的结构
摘要: 简介 在之前的文章中,我们介绍了使用JOL这一神器来解析java类或者java实例在内存中占用的空间地址。 今天,我们会更进一步,剖析一下在之前文章中没有讲解到的更深层次的细节。一起来看看吧。 对象和其隐藏的秘密 java.lang.Object大家应该都很熟悉了,Object是java中一切对象的
阅读全文
posted @ 2020-07-20 07:51 flydean
阅读(1245)
评论(1)
推荐(0)
2020年7月19日
看动画学算法之:排序-归并排序
摘要: 简介 归并排序简称Merge sort是一种递归思想的排序算法。这个算法的思路就是将要排序的数组分成很多小的部分,直到这些小的部分都是已排序的数组为止(只有一个元素的数组)。 然后将这些排序过的数组两两合并起来,组成一个更大一点的数组。接着将这些大一点的合并过的数组再继续合并,直到排序完整个数组为止
阅读全文
posted @ 2020-07-19 10:25 flydean
阅读(707)
评论(1)
推荐(0)
上一页
1
···
28
29
30
31
32
33
34
35
36
···
52
下一页
公告