自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android性能分析和优化之Trace View、Dump View Hierarchy

trance view。 a、打开 androd stuido -> tools -> android device Monitor (DDMS)。 b、在 DDMS中 选择进程启动 start method profiling(trace view) 见下图: c、启动停止之后,则如下图所示: 如上图所示,在 trance view 中根据 以下3部分来定位...

2018-03-28 17:45:20 1885

原创 JAVA多线程并行计算乐观锁之Atomic系列详解

从多线程并行计算乐观锁 和 悲观锁 来讲,JAVA中的 lock、synchronized 属于悲观锁,即是在操作某数据的时候总是会认为多线程之间会相互干扰,属于阻塞式的加锁;Atomic系列则属于乐观锁系列,即当操作某一段数据的时候,线程之间是不会相互影响,采用非阻塞的模式,直到更新数据的时候才会进行版本的判断是否值已经进行了修改。Atomic在JAVA中的家族如下: a、基本类:Atom...

2018-03-27 14:43:22 1306

原创 JAVA虚拟机JVM详解

JVM的特点:JAVA是跨平台的,原因就是JAVA代码经过编译器编译成.CLASS文件,也就是字节码,字节码经过JVM的JIT编译成机器码,机器码不分平台,可以跑在不同平台上,因此JAVA实现了跨平台。JVM的物理结构如下: 通过以上图可以知道JVM的物理结构分为 类记载器、方法区、JAVA堆、JAVA栈、本地方法栈及其程序计数器。类加载器即是CLASSLOADER加载过程如下图...

2018-03-26 16:39:24 397

原创 JAVA中的乐观锁和悲观锁

乐观锁:当处理数据的时候,乐观的认为处理数据过程不会发送多线程冲突,代表AtomicInteger 的CAS(Compare And Swape) ,就是处理数据的时候不会对本段处理过程进行加锁,当更新数据的时候再进行判定数据是否已经发送了冲突或许修改,如果已经冲突则返回失败信息交给用户处理。悲观锁:当处理数据的时候,会认为任何时候本处理都会受到多线程冲突影响,因此会加锁进行阻塞处理,例如JA...

2018-03-23 15:58:34 345

转载 App保活详解之进程重启

链接:https://segmentfault.com/a/1190000006251859

2018-03-20 01:16:31 346

转载 JAVA的GC详解

转接地址:http://blog.csdn.net/d6619309/article/details/53358250

2018-03-18 01:38:56 176

原创 volatile、atomic、reentrantLock、synchronized区别详解

JAVA的内存模块,JAVA的内存模块特点,原子性、可见性、有序性。例如:int i = 0,是原子性操作,i++非原子性操作;有序性是指同一个线程中,程序的前面代码必须执行完毕之后才会执行后面代码;可见性是指,CPU拥有缓存,一般都是从内存中读取数据到CPU缓存,然后经过多次计算和处理的中间结果放在CPU缓存中,最后把结果写回内存,可见性就是为了放弃CPU缓存,所有结果都在内存,对所有线程都可...

2018-03-17 01:04:35 1405

原创 JVM、Dalvik、ART 3中虚拟机的区别

JVM是JAVA的虚拟机,基于栈的, JVM将JAVA代码编码成.class类型文件。Dalvik是android的虚拟机,Dalvik是基于寄存器的,速度回更快,并且Dalvik把代码编译成.dex文件,本类型文件更适合与于手机。Dalvik是JIT(即时编译),因此每次启动运行程序,Dalvik才会把字节码转换成机器码。因此因为存在这种转换,相对于ART,会更慢、消耗内存、消耗电池。A...

2018-03-16 23:51:33 175

原创 android核心组件之BroadReceiver(广播)

BroadReceiver 为系统级的(重量级)的跨进程通讯机制;例如:广播短信,收到本广播的可以进行处理。BroadReceiver 分为静态广播 和动态广播。 a、动态广播的优点,其一,动态广播的生命周期是和其宿主的生命周期是一致的,例如Acitivity创建的时候注册,destroy的时候注销,节省内存资源。而静态广播当应用程序启动之后就注册了,注册之后和APP的进程是否存活无关,例...

2018-03-16 23:17:50 951

原创 APP的启动过程简介

点击APP图标的时候,会通知AMS(ActivityManagerService)启动本APP的默认Activity,默认的Activity即是Androidmanifes.xml中定义的Action为Lancher的Activity。AMS发现应用程序未启动时会创建一个dalvik进程,在本虚拟机进程中会创建主线程ActivityThread。ActivityThread中调用了main函数...

2018-03-16 17:05:44 165

原创 HashMap 和 LinkedHashMap的原理详解之LinkedHashMap

LinkedHashMap 继承于 HashMap,拥有父类HashMap的所有功能。LinkedHashMap 在父类HashMap基础上,增加了顺序访问功能。LinkedHashMap 增加的2个顺序访问功能分别为 插入顺序 和 访问顺序。插入顺序,为默认顺序,和列表的插入顺序完全一致,即是依次往后插入。访问顺序,访问顺序分为2部分。第一,插入数据的话依然是和列表插入完全一致,即依...

2018-03-15 17:14:56 211

原创 HashMap 和 LinkedHashMap的原理详解之HashMap

首先讲解HashMap的几个要点:HashMap是非线程安全的(效率最高);HashTable是线程安全的效率最低;CurrentHashMap是线程安全的,CurrentHashMap 把内部分成若干个segment,每个segment内部是线程安全的(相当于HashTable),各个segment可以并行操作,因此它的性能优于HashTable 但是 弱于 HashMap。影响Hash...

2018-03-14 16:38:38 215

原创 JAVA多线程系列之生产者消费者

要实现多线程中的生产者和消费者,有以下2中方式。 1、通过wait、notify或notifyAll来实现。 2、通过Blockingqueue来实现。

2018-03-14 10:01:36 160

原创 Android内核剖析之Window内部机制

windowManager其实指示一个接口,其具体实现是在WindowManagerImpl,而WindowManagerImpl其实什么都没做,指示调用WindowManagerGlobal中的方法来实现的,WindowManagerGlobal是个单例模式,通过Win。WindowManagerGlobal.getInstance()来获取实例。WindowManager 通过三个方法来操...

2018-03-14 10:01:10 232

原创 SpareArray 原理 及其 和HashMap的性能比较

SpareseArray 也是通过键值对存储数据,只是key为整形int , 类似于key = Interger 的HashMap,但是SpareseArray 的key 为 int 非 Interger ,更省空间。SpareArray 意为稀松数组,其结构类似于数组结构,依次排开;HashMap是散列列表,根据hash值来存储;因此SpareArray 会比 HashMap节省很多空间。...

2018-03-13 14:31:58 2487

原创 JAVA单例模式

public class SingeInstance{ private volatile static SingeInstance instance;private SingeInstance() {}public static SingeInstance getInstance() { if (instance == null) { synchron...

2018-03-02 14:25:27 203

原创 android性能优化简谈

1、SparseArray VS HashMap。 SparseArray(稀疏数组).他是Android内部特有的api,标准的jdk是没有这个类的.在Android内部用来替代HashMap

2018-03-02 14:21:29 119

js跨浏览器是正对目前各浏览器标准不同

很好的对JS跨浏览器的总结!很好的对JS跨浏览器的总结!很好的对JS跨浏览器的总结!

2010-09-15

空空如也

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

TA关注的人

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