都知道避免ANR,但该如何分析,定位,解决? (mp.weixin.qq.com)

【简介】

application not responding 程序无响应。程序在规定的时间内没有响应。
超时时间的计数一般是从按键分发给app开始。超时的原因一般有两种:

1.当前的事件没有机会得到处理(即UI线程正在处理前一个事件,没有及时的完成或者looper被某种原因阻塞住了);
2.当前的事件正在处理,但没有及时完成。

点击查看全文 >>

@DataFunBoy 2020-04-28 08:55分享 / 0个评论
赞过的人: IT技术博客大学习 DataFunBoy
要不要再学学下面的文章?
JVM源码分析之Attach机制实现完全解读 (club.perfma.com)
在讲这个之前,我们先来点大家都知道的东西,当我们感觉线程一直卡在某个地方,想知道卡在哪里,首先想到的是进行线程dump,而常用的命令是jstack ,我们就可以看到如下线程栈了
by @PerfMa社区 2020-05-26 11:00 分享 查看详情
进程物理内存远大于Xmx的问题分析 (club.perfma.com)
最近经常被问到一个问题,”为什么我们系统进程占用的物理内存(Res/Rss)会远远大于设置的Xmx值”,比如Xmx设置1.7G,但是top看到的Res的值却达到了3.0G,随着进程的运行,Res的值还在递增,直到达到某个值,被OS当做bad process直接被kill掉了。
by @PerfMa社区 2020-05-12 14:47 分享 查看详情
JVM源码分析之JDK8下的僵尸(无法回收)类加载器 (club.perfma.com)
现象是有一些类加载器是作为key放到WeakHashMap里的,但是经历过多次full gc之后,依然坚挺地存在内存里,但是从代码上来说这些类加载器是应该被回收的,因为没有任何强引用可以到达这些类加载器了
by @PerfMa社区 2020-04-21 16:25 分享 查看详情
JVM源码分析之System.currentTimeMillis及nanoTime原理详解 (club.perfma.com)
有同事问了我一个现象很诡异的问题,说JDK7和JDK8下的System.nanoTime()输出完全不一样,而且差距还非常大,是不是两个版本里的实现不一样,之前我也没注意过这个细节,觉得非常奇怪,于是自己也在本地mac机器上马上测试了一下
by @PerfMa社区 2020-04-14 11:35 分享 查看详情
硬核科普:携号转网的技术原理分析 (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 分享 查看详情
Android 锁屏无法继续定位问题 (mp.weixin.qq.com)
产生问题的原因:
手机锁屏后,Android系统为了省电以及减少CPU消耗,在一段时间后会将手机进入休眠状态。此时的服务以及线程等都会停止。
by @code小生 2020-03-23 22:02 分享 查看详情
JVM源码分析之堆外内存完全解读 (club.perfma.com)
说到堆外内存,那大家肯定想到堆内内存,这也是我们大家接触最多的,我们在jvm参数里通常设置-Xmx来指定我们的堆的最大值,不过这还不是我们理解的Java堆
by @PerfMa社区 2020-03-19 11:02 分享 查看详情
JVM源码分析之Object.wait/notify(All)完全解读 (club.perfma.com)
本文有些东西是我自己的理解,比如为什么JDK一开始要这么设计,初衷是什么,没怎么去找相关资料,所以只能谈谈自己的理解,所以大家看到文章之后可以谈谈自己的看法,对于实现部分我倒觉得说清楚问题不大,code is here,看明白了就知道怎么回事了。
by @PerfMa社区 2020-03-17 10:12 分享 查看详情
JVM 源码分析之一个 Java 进程究竟能创建多少线程 (club.perfma.com)
虽然这篇文章的标题打着JVM源码分析的旗号,不过本文不仅仅从 JVM 源码角度来分析,更多的来自于 Linux Kernel 的源码分析,今天要说的是 JVM 里比较常见的一个问题。
by @PerfMa社区 2020-03-12 09:51 分享 查看详情