- 博客(17)
- 收藏
- 关注
原创 ThreadLocal、ThreadLocalMap、Thread关系详细解析
ThreadLocal、ThreadLocalMap、Thread详细解析
2017-11-25 22:42:41 4876
原创 Android 源码解析Handler消息传递机制
一直想写一篇关于Android中很重要的Handler消息传递机制的讲解,无奈老哥拖延症的问题一直拖到现在才着手开始ㄟ(▔,▔)ㄏ,Handler机制大家肯定都使用过,也很简单,但一提起Handler机制的源码,对于初学者来说可能还会有些头疼(每个Android开发者都经历过的阶段),其实Handler机制的源码也很容易理解,那么本文就将在源码的角度分享一下我对Handler机制的理解。...
2017-05-18 22:45:22 802
原创 Java虚拟机(JVM)运行时内存区域划分详解
Java虚拟机(JVM)内存区域划分详解最近一直没有怎么更新自己的博客,主要是由于老哥公司最近的一个招标项目忙得焦头烂额,心力憔悴(ಥ_ಥ),趁着项目的空档期来重构一下以前的一篇关于jvm内存区域划分的博客,仔细阅读了一下之前的博客,大量的文字叙述可能对于读者来说,看到的第一眼就不想读下去了,吸收各方面的意见,为了让初学者更好的理解,趁着这段时间还比较自由,就来重构一下这篇博客。一、j...
2017-04-14 11:13:49 8754 1
原创 Java类加载的过程
一、类加载过程:1.加载:将class文件导入内存加载时类加载过程的第一个阶段,在加载阶段,虚拟机需要完成以下三件事情:1、通过一个类的全限定名来获取其定义的二进制字节流。2、将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。3、在内存生成一个代表这个类的java.lang.Class对象(hotspot虚拟机Class对象存储在方法区),作为对方法区中这些数据的访问入口。加载阶段完成后,虚拟机外部的 二进制字节流就按照虚拟机所需的格式存储在方法区之中,而且在Java堆中也创建一.
2020-11-05 00:56:20 1784
原创 JVM是如何判断对象可回收?常见的GC算法有哪些?
一、在java中如何判断对象是否死亡?死亡意味着可以被回收1、引用计数法算法:给每一个对象添加一个引用计数器,当一个引用指向对象,计数器值加一,当一个引用失效,计数器减一,判断计数器是否为0,确定对象是否可用。问题:很难解决对象间的互相引用。2、引用不可达算法:通过可达性分析判断对象是否存活。通过 GC Roots对象作为起始点,开始向下搜索,当一个对象到GC Roots没有任何引用链相连时,则证明此对象时不可用。java语言在可作为GC Roots的对象包括以下几种:为什么?1、虚拟机栈
2020-11-05 00:23:29 1073
转载 Java字节码文件指令操作码助记符含义
Java二进制指令代码解析 小注:去年在看《深入解析JVM》书的时候做的一些记录,同时参考了《Java虚拟机规范》。只是对指令的一些列举,加入了一些自己的理解。可以用来查询。 Java二进制指令代码解析 Java源码在运行之前都要编译成为字节码格式(如.class文件),然后由ClassLoader将字节码载入运行。在字节码文件中,指令代码只是其中的一部
2018-01-08 17:17:31 2418
原创 常用设计模式(一)Builder(构建者)模式
Builder(构建者)模式 给大家介绍一个我们开发中经常遇到的设计模式——Builder(构建者)模式。
2017-10-22 17:39:20 672
原创 面向对象六大设计原则(二)开闭原则
开闭原则 开闭原则(OCP)是面向对象设计中“可复用设计”的基石,是面向对象设计中最重要的原则之一。它是由勃兰特·梅耶(Bertrand Meyer)提出了的,它的原文是这样:“Software entities should be open for extension,but closed for modification”。翻译过来就是:“软件实体应当对扩展开放,对修改关闭”。
2017-10-12 22:04:53 1762
原创 面向对象六大设计原则(一)单一职责原则
单一职责原则单一职责原则(SRP:Single responsibility principle)又称单一功能原则,面向对象设计六大原则之一。它规定一个类应该只有一个发生变化的原因。该原则由罗伯特·C·马丁(Robert C. Martin)提出的。
2017-10-11 22:25:24 803
原创 面向对象六大设计原则(三)里式替换原则
面向对象六大设计原则之(三)里式替换原则 里式替换原则最早是在1988年,由麻省理工学院一位姓里的女士(Liskov)提出来的。Liskov女士的简介里式替换原则 基于这样的一个事实,那就是客户程序在调用某一个类时,实际上是对该类的整个继承体系设定了一个契约,继承体系中的所有类必须遵循这一契约,即前置条件和 后置条件必须保持一致 。
2017-10-11 00:49:59 1464
原创 版本控制软件SVN的基本使用
SVN是Subversion的简称,是版本控制系统的一个免费开源客户端。使用svn开发方便于团队的协助开发和代码的集中管理。 下面我们就简单介绍一下svn的基本用法和一些常见问题。
2017-09-25 22:48:21 1090
原创 Android app 内存分配
在Android app的开发过程中,我们经常会遇到内存泄漏的异常,那么搞清楚每个应用程序在Android系统中最多可分配多少内存空间是十分重要的。
2017-04-11 11:54:43 2473
原创 Android 查看进程ID(PID)比较进程优先级
1.DOS下面cmd,然后打开adb shell,直接ps命令,显示当前手机所有进程,2.利用(ps|grep 条目名称)命令,过滤自己需要的进程各列参数意义:USER 进程当前用户;PID Process ID,进程ID;PPID Process Parent ID,进程的父进程ID;VSIZE Virtual Size,进程的虚拟内存大小;RSS Resident
2017-04-11 10:55:29 10195
原创 Java中String.format格式化字符串用法
java中String类中有两个常用的格式化字符串方法:static Stringformat(Locale l,String format,Object... args) 使用指定的语言环境、格式字符串和参数返回一个格式化字符串。static Stringformat(String format,Object... a
2017-03-06 15:18:48 9175
原创 Android 关于Unable to resolve host "...": No address associated服务器返回错误
关于Android 访问服务器接口的失败,Unable to resolve host "...": No address associated服务器返回错误
2017-02-28 13:20:26 44953
原创 Android EditText inputType常用属性值含义
最常用的三个属性 android:inputType="textPassword"//密码 android:inputType="number"//数字键盘 android:inputType="phone //拨号键盘其他属性 android:inputType="none"//普通字符 android:inputType="te
2017-02-21 14:51:48 1164
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人