自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

psq05071226csdn的博客

IT菜鸟,博客内容有问题欢迎各路大神交流~

  • 博客(11)
  • 收藏
  • 关注

原创 Android虚拟机参数

[dalvik.vm.heapgrowthlimit]: [128m] 每个应用程序最大内存可分配到128m,超过就会出现OOM崩溃。[dalvik.vm.heapsize]: [256m]单个虚拟机可分配的最大内存256m,影响到整个系统对RAM的使用程序和程序在运行一段时间后的反应速度。值越大,系统消耗RAM则越快,但是程序会运行的非常稳 定,尤其是游戏和视频程序的内容加载速度可以大幅度提升。值越小,系统的RAM剩余则越多,但是程序会很卡,尤其是游戏在切换场景Loading的时候会 花费很.

2021-07-31 13:49:37 788

原创 Android启动流程(一张图)

2021-07-31 12:13:48 306

原创 [LBS]LocationManagerService的启动

SystemServer的startOtherServices()启动LocationManagerService,具体流程如下:private void startOtherServices(@NonNull TimingsTraceAndSlog t) {....mSystemServiceManager.startService(LocationManagerService.Lifecycle.class);....}进入SystemServiceManager的startServi

2021-07-31 12:08:26 800

原创 KeyguardServiceWrapper

KeyguardService作为锁屏的服务供系统进程调用。KeyguardService在systemui进程,在system进程KeyguardServiceWrapper是其代理类。系统有相关Keyguard相关的事情要做,都是让KeyguardServiceWrapper去通知KeygaurdService做的。那么KeyguardServiceWrapper是做到代理KeyguardService呢?通过追踪代码发现在,当系统SystemServer 的 startOtherServices

2021-07-07 16:34:53 280

原创 java线程同步机制:关键字volatile

volatile是Java虚拟机提供的最轻量级的同步机制。当一个变量A被定义成volatile后,可以保证此变量对所有线程的可见性,这里的可见性是指,当一条线程修改了A的值,A的新值对于其他线程来说是可以“立即”得知的。如下代码创建的5个线程,每个线程根据shutdownRequested的状态来切换执行的流程。public class VolatileTest { private static final int THREADS_COUNT = 5; volatile static b

2021-07-02 11:20:02 145

原创 java 虚拟机的类加载机制

一、类的加载是指把描述类数据的class文件加载到内存,并进行数据校验、转换解析和初始化,形成可以被虚拟机直接使用的Java类型,成为虚拟机的类加载机制。java中类型的加载和连接都是在程序运行期间完成的。这样在加载时会增加一些性能开销,但是却为java程序提供了高度的灵活性。二、类的生命周期七个阶段加载(Loading)----验证(Verification)----准备(Preparation)----解析(Resolution)----初始化(Initialization)----使用(U

2021-07-01 14:44:06 97

原创 java 虚拟机性能监控与故障处理工具

一、命令工具1.jpsJVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程2.jstatJVM Statistics Monitoring Tool,用于收集HotSpot虚拟机各方面的运行数据3.jinfoConfiguration Info for Java,显示虚拟机配置信息4.jmapMemory Map for Java,生成虚拟机的内存转储快照(Heapdump文件)5.jhatJVM Heap Dump Browser,用于分析hea

2021-07-01 10:12:34 93

原创 Java 虚拟机垃圾搜集

serial搜集器parnew搜集器parallel Scavenge搜集器吞吐量优先的搜集器-XX:+UseAdaptiveSizePplicy 这个参数打开后,就不需要手工指定新生代的大小(-Xmn),Eden与Survivor区的比例、晋升老年代对象的年龄(-XX:PretenureSizeThreshold)等参数细节了,虚拟机会根据当前系统的运行情况搜集性能监控信息,动态调整这些参数来提供最合适的停顿时间或者最大吞吐量,这种调节方式成为GC自适应调节策略。如果对搜集器的工作原理不太了解

2021-06-29 17:11:28 53

原创 Java 虚拟机运行时的五大数据区域

Java虚拟机在执行java程序的过程中会它所管理的内存划分为若干个不同的数据区域。主要有程序计数器、java虚拟机栈、本地方法栈、java堆和方法区五个区域。1、程序计数器一块较小的内存空间,属于线程私有的内存,他的作用可以看作是当前线程作执行的字节码的行号指示器。字节码解释器工作时,就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。因为线程之间经常存在切换,所以每个线程都需要一个独立的程序计数器。如果正在执行一个java方法,它记录的是在正在执行的虚拟机字节码指令的地址;如果正在执

2021-06-23 16:14:37 316

原创 一个使用HttpURLConnection的demo

1、使用HttpURLConnection获取热门视频的工具类NetworkUtil private static final String HOT_VIDEO_URL = "http://XXX"; private static final String HOT_VIDEO_KEY = "XXXX"; private static final String HOT_VIDEO_TYPE = "XXXX"; public static String getHotVi...

2021-06-22 18:13:16 417

原创 java常见创建线程的三种方式

创建线程的方法主要有如下三种:方式1]继承Thread类创建线程 //使用方法1:继承Thread,重写其run()方法 new MyThread().start(); //使用方法2:创建匿名内部类Thread,重写其run()方法 new Thread() { @Override public void run() { System.out.println(...

2021-06-11 16:19:03 1573

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除