- 博客(5)
- 收藏
- 关注

原创 Java对象创建过程
Java是一门面向对象的编程语言,在Java程序运行过程中无时无刻都有对象被创建出来。在语言层面上,创建对象(例如克隆,反序列化)通常仅仅是一个new关键字而已,而在虚拟机中,对象(限于普通Java对象,不包括数组和Class对象等)的创建是怎样的?今天就让我们一起来探究一下: 1. 虚拟机遇到一个new指令时,首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表
2016-10-16 21:37:08
441

原创 Android 6.0上的权限申请解析
前言Google在2015年发布的Android6.0,即‘marshmallow’,其中很大的一个改变时权限的申请。在6.0之前,Android系统默认是使用权限而不用用户授予,只需在AndroidManifest文件中申请;在6.0后,google公司或许认为之前的默认授权可能会对用户造成不好的体验,所以在6.0之后的申请权限就需要询问用户是否授予。权限分类当然并不是所有的权限都需要用户授
2016-10-02 09:50:14
385

原创 JVM内存区域探究
JVM内存区域探究Java和c++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。 ——引用自《深入理解Java虚拟机》JVM运行时数据区程序计数器程序计数器是一块较小的内存空间,他可以看作是当前线程所执行的字节码的行号指示器 。我们都知道在处理器中,程序会编译成相应的字节码文件然后通过改变计数器的值来选取下一条需要执行的字节码指令;Java虚拟机的
2016-09-24 00:18:11
347

原创 AsyncLoader - Android中的异步加载器
Loader设计用于从数据源加载某类数据(如对象)。数据源可以是磁盘、数据库、ContentProvider、网络或者另一进程。loader可在不阻塞主线程的情况下获取并发送结果数据给接受者。为什么使用loader而不直接使用AsyncTask呢?一个最有说服力的理由是:因设备旋转等原因发生配置改变时,loaderManager可保证组件的loader及其数据不会丢失。如果使用AsyncTask
2016-09-15 00:18:48
962

原创 Fragment生命周期详解
Fragment生命周期详解Fragment生命周期详解活动Activity碎片fragment代码结果演示开启activityHome键返回桌面再次进入应用返回键退出Activity活动Activity:复写activity的声明周期方法,在 onCreate() 方法里添加fragmentpublic class MainActivity extends FragmentActivi
2016-05-18 11:32:00
603
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人