摘要: 线程是CPU调度执行的基本单位,多个线程共享系统为进程分配的资源,又可以被系统独立调度执行。 多线程模型 实现多线程主要有3种模型:内核线程模型、用户线程模型、混合线程模型 内核线程模型 内核线程模型即完全依赖操作系统内核提供的内核线程( Kernel Level Thread ,KLT )来实现多 阅读全文
posted @ 2018-08-26 19:19 jqc 阅读(2265) 评论(0) 推荐(0) 编辑
摘要: Java语法糖 语法糖即为了方便开发人员进行代码开发而在语言层面添加了一些语法支持,这些语法对程序性能并不会有什么提升,仅仅用于提升开发效率。 Java语法糖需要Java编译器提供支持,在将源代码编译成字节码的过程中,编译器会进行解语法糖操作,将语法糖还原成更普通的Java语法。 常见的Java语法 阅读全文
posted @ 2018-03-18 01:30 jqc 阅读(248) 评论(0) 推荐(0) 编辑
摘要: Java编译期的概念 编译期即将源代码转变成本地代码的过程,对于Java来说,这个过程会更加的多样。 Java编译期因为采用的编译器类型不同而导致概念也不同,Java编译器可以分为以下三种类型: 前端编译器 前端编译器将java源代码转变成字节码,常见的前端编译器包括Javac编译器、ECJ编译器( 阅读全文
posted @ 2018-03-10 18:01 jqc 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 栈帧 栈帧( Stack Frame )是虚拟机中用于实现方法调用和方法执行的数据结构,是虚拟机栈中的基本数据元素。 一个栈帧中主要包含以下内容: 局部变量表 局部变量表用于存储方法的形参以及方法内部定义的局部变量,在Class文件中每个方法的Code属性中已经定义了局部变量表的最大容量。 局部变量 阅读全文
posted @ 2017-11-27 00:48 jqc 阅读(440) 评论(0) 推荐(0) 编辑
摘要: Java 类加载器 类加载器 类加载器用于加载Java类到虚拟机中,加载一个Class首先需要获取该Class的二进制字节流,这个过程可以通过自定义类加载器(覆盖findClass方法)来实现,从而可以通过多种灵活的途径获取Class的二进制字节流。 每个类加载器都拥有一个独立的类名称空间,一个Cl 阅读全文
posted @ 2017-11-19 18:00 jqc 阅读(213) 评论(0) 推荐(0) 编辑
摘要: Java 类加载过程 Class的生命周期 一个Class在虚拟机中的完整生命周期如下图所示: 需要说明的是,上述的流程只是描述了逻辑上各个阶段的开始顺序,实际过程中,各个阶段可能是交错进行,并不是一个阶段等到另一个阶段完全完成才开始执行。 加载 加载一个Class需要完成以下3件事: 通过Clas 阅读全文
posted @ 2017-11-13 00:22 jqc 阅读(5083) 评论(0) 推荐(2) 编辑
摘要: Java class文件的结构 class 文件是Java源代码编译之后产生的二进制文件,代码中的各个项目严格按照Java的规范组织。 class文件以一张表的形式组织代码中的各个部分: | 名称 | 释义 | 大小 | | : :|: :|: :| | magic | 魔数 | 4 Byte | 阅读全文
posted @ 2017-11-12 00:00 jqc 阅读(523) 评论(0) 推荐(0) 编辑
摘要: Android Service Service 是一种运行在后台没有界面的组件,可以执行一些需要长期运行的过程。 需要注意的是,service组件本身并不会新建一个进程或者线程来执行任务,service组件运行在它所属App的主线程中。因此,通常需要在service组件中新建一个线程来执行耗时的任务 阅读全文
posted @ 2016-06-17 19:09 jqc 阅读(168) 评论(0) 推荐(0) 编辑
摘要: Fragment与Activity的通信 Fragment通常作为Activity的子组件,可以自由地从Activity添加和删除,可以被多个Activity共享。 首先来看Activity如何管理Fragment组件: 添加Fragment 添加Fragment有两种方式: (1) 在layout 阅读全文
posted @ 2016-05-04 15:23 jqc 阅读(199) 评论(0) 推荐(0) 编辑
摘要: Fragment的生命周期 Fragment主要用于将Activity的UI界面划分成多个可复用的部分,这样可以使App的UI界面更容易适应多种不同屏幕分辨率的设备。 Fragment作为可复用的组件,有独立的生命周期,但同时作为Activity的一部分,其生命周期也会受其所属Activity的生命 阅读全文
posted @ 2016-05-04 15:23 jqc 阅读(148) 评论(0) 推荐(0) 编辑