JVM源码分析之Object.wait/notify(All)完全解读 (club.perfma.com)

【简介】

本文有些东西是我自己的理解,比如为什么JDK一开始要这么设计,初衷是什么,没怎么去找相关资料,所以只能谈谈自己的理解,所以大家看到文章之后可以谈谈自己的看法,对于实现部分我倒觉得说清楚问题不大,code is here,看明白了就知道怎么回事了。

点击查看全文 >>

@PerfMa社区 2020-03-17 10:12分享 / 0个评论
赞过的人: IT技术博客大学习 PerfMa社区
要不要再学学下面的文章?
让源码告诉你:Android 不要滥用 SharedPreferences(上) (mp.weixin.qq.com)
本文不是与大家一起探讨关于 SharedPreferences 的基本使用,而是结合源码的角度分析对 SharedPreferences 使用不当可能引发的“严重后果”以及该如何正确的使用 SharedPreferences。
by @SELECT-FROMALL 2020-03-25 10:23 分享 查看详情
硬核科普:携号转网的技术原理分析 (www.huxiu.com)
一个数据冗余,难倒英雄汉。

我们的手机号,实际上有两个,分别是IMSI和MDN。

IMSI的全名是International Mobile Subscriber Identity,国际移动用户识别码。它是一种“永久用户标识”,每一个手机SIM卡,对应一个IMSI号码。

IMSI号码由三部分组成,分别是:
1、MCC (Mobile Country Code) 移动国家码;
2、MNC (Mobile Network Code) 移动网络码;
3、MSIN (Mobile Subscriber Identity) 移动用户识别码;

MCC是3位数字(中国是460),MNC是2-3位数字,MSIN是10-11位数字。加起来的IMSI,一般不超过15位,通常就是15位(例如我们国家)。
by @shengting 2020-03-24 11:28 分享 查看详情
JVM源码分析之javaagent原理完全解读 (club.perfma.com)
本文重点讲述javaagent的具体实现,因为它面向的是我们java程序员,而且agent都是用java编写的,不需要太多的c/c++编程基础,不过这篇文章里也会讲到JVMTIAgent(c实现的),因为javaagent的运行还是依赖于一个特殊的JVMTIAgent。
by @PerfMa社区 2020-03-24 10:25 分享 查看详情
JVM源码分析之堆外内存完全解读 (club.perfma.com)
说到堆外内存,那大家肯定想到堆内内存,这也是我们大家接触最多的,我们在jvm参数里通常设置-Xmx来指定我们的堆的最大值,不过这还不是我们理解的Java堆
by @PerfMa社区 2020-03-19 11:02 分享 查看详情
JVM 源码分析之一个 Java 进程究竟能创建多少线程 (club.perfma.com)
虽然这篇文章的标题打着JVM源码分析的旗号,不过本文不仅仅从 JVM 源码角度来分析,更多的来自于 Linux Kernel 的源码分析,今天要说的是 JVM 里比较常见的一个问题。
by @PerfMa社区 2020-03-12 09:51 分享 查看详情
JVM源码分析之jstat工具原理完全解读 (club.perfma.com)
jstat是hotspot自带的工具,和java一样也位于JAVA_HOME/bin下面,我们通过该工具可以实时了解当前进程的gc,compiler,class,memory等相关的情况。
by @PerfMa社区 2020-03-10 10:24 分享 查看详情
JVM源码分析之不可控的堆外内存 (club.perfma.com)
碰到一个比较奇怪的问题,在设置了-XX:MaxDirectMemorySize=1G的前提下,然后统计所有DirectByteBuffer对象后面占用的内存达到了7G,远远超出阈值,这个问题很诡异,于是好好查了下原因,虽然最终发现是我们统计的问题,但是期间发现的其他一些问题还是值得分享一下的。
by @PerfMa社区 2020-03-06 10:19 分享 查看详情
JVM源码分析之不保证顺序的Class.getMethods (club.perfma.com)
本文要说的内容是今天公司有个线上系统踩了一个坑,并且貌似还造成了一定的影响,后来系统相关的人定位到了是java.lang.Class.getMethods返回的顺序可能不同机器不一样,有问题的机器和没问题的机器这个返回的方法列表是不一样的,后面他们就来找到我求证是否jdk里有这潜规则。
by @PerfMa社区 2020-03-03 12:53 分享 查看详情
Apache Flink 1.10.0 重磅发布,新特性解读 (www.54tianzhisheng.cn)
Apache Flink 社区迎来了激动人心的两位数位版本号,Flink 1.10.0 正式宣告发布!
by @zhisheng_blog 2020-02-23 09:03 分享 查看详情
Android 系统开发源码环境搭建 (androidperformance.com)
不管是 Android App 开发工程师还是 Android 系统开发工程师,对 Android 系统有一定的了解是很有必要的,正好我这几天在家里搭建了个开发环境,把过程分享出来,有需要的人可以看一下。

大概的步骤包含下面几个:

1、安装 Ubuntu 系统;
2、配置 Ubuntu 系统;
3、安装必备的软件;
4、配置 VPN (可选);
5、下载 AOSP 代码;
6、配置编译环境并编译 Pixel 的代码;
7、刷机;
8、修改和编译 Framework 、Service、Res;

建议准备下面的硬件,当然没有也没关系,有了更好:

1、PC 或者笔记本;
2、512GB 的 SSD;
3、Pixel 手机一台;
by @技术头条 2020-02-11 10:28 分享 查看详情