自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (8)
  • 收藏
  • 关注

原创 Java —— 多态与分派

多态分派静态分派重载静态分派 之 字面量动态分派重写单分派与多分派虚方法表总结多态 Java具备面向对象的3个基本特征 : 继承,封装(get / set)和多态。 多态 : 继承,重写(Override),向上转型(Human h=new Man())三大必要条件。方法重载 : 同一个方法名,参数或者类型不同。

2018-01-23 12:46:02 813

原创 Java —— 运行时栈帧结构

代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。概述栈帧(Stack Frame)是用于支持虚拟机进行方法调用和方法执行的数据结构。它是虚拟机运行时数据区中的虚拟机栈的栈元素。栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址等信息。

2018-01-21 16:06:06 25106 22

原创 Java —— 类加载器和双亲委派

类加载器双亲委派模型自定义类加载器类加载器上一篇文章介绍了Java 类加载机制,文中说过,类加载阶段中“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到Java虚拟机外部去实现。也就是说应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块称 : “类加载器” 。 jvm并没有指明需要从Class文件中获取,也可以通过ZIP包、网络、动态代理

2018-01-18 18:57:03 2061

原创 Java —— 类加载机制

概述类的生命周期加载验证准备解析初始化卸载概述 代码编译是将本地机器码变为字节码,这一过程是存储格式发展的一小步,却是编程语言发展的一大步。虚拟机加载完Class文件,最终形成可以被虚拟机直接使用的Java类型。这一个过程也就是类的加载机制。 Java编译器可以将Java代码(我们平时码的源代码)编译为存储字节码的Class文件(二进制字节

2018-01-16 22:43:41 1406

原创 Java垃圾回收(三)—— 图解内存分配策略

经过上两篇垃圾回收的文章我们可以了解到垃圾回收的运作原理。 Java垃圾回收机制 Java垃圾收集器Java技术体系中所提倡的自动内存管理最终可以归结为自动化地解决两个问题 : 给对象分配内存。回收分配给对象的内存。那么这篇文章就来了解以下内存分配策略。 对象的内存分配,可以说主要就是在堆上分配内存。 对象主要分配在新生代的Eden区上,如果启动了本地线

2018-01-14 21:56:50 1053

原创 Java垃圾回收(二)—— 垃圾收集器

概述Stop The World枚举GC Roots安全点安全区域垃圾收集器吞吐量GC的名词并行和并发Serial 收集器单线程垃圾收集新老ParNew 收集器Serial 升级版新Parallel 收集器吞吐量优先新老CMS 收集器停顿时间优先老G1收集器垃圾区域Region优先整个堆垃圾收集器组合概述在我们上一篇文章垃圾回收机制中讲述到了

2018-01-14 12:11:12 1293

原创 Java垃圾回收(一)—— 回收机制

垃圾回收哪些内存需要回收什么时候回收如何回收对象回收判定引用计数算法可达性分析算法GC Roots的对象对象之引用垃圾回收算法标记 - 清除算法复制算法标记 - 整理算法分代收集算法新生代老年代分代收集算法工作流程为什么不是一块Survivor空间而是两块为什么Eden空间这么大而Survivor空间要分的少一点 Java

2018-01-11 19:03:54 1509 2

原创 Java对象的内存布局、访问定位和创建

Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,外面的人想进去,墙里面的人却想出来。

2018-01-08 14:39:45 1228

原创 Java——常量池探索

什么是常量? 对于这个问题,可能很多人都可以脱口而出 : 用final修饰的变量是常量 ,或者是在编译时期定义好的字符串。(字符串常量)但是这种说法是不严谨的

2018-01-06 16:05:09 2138 2

原创 Java——String对象探索

String 对于日常代码来说是一个使用频率很高的对象,因为它的一些使用数据和基本数据类型有些相似,所以很容易把String 混淆为基本数据类型。

2018-01-03 22:17:00 1975 3

原创 Java内存区域——堆,栈,方法区等

运行时数据区域程序计数器Java虚拟机栈栈帧本地方法栈堆方法区运行时常量池拓展运行时数据区域jdk1.7中, Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。 程序计数器1. 程序计数器(Program Counter Register)是一块较小的内存空间,它可以看做是当前线程所执行的字节码

2018-01-02 16:15:48 10782 6

AIDLDemo项目,包含客户端和服务端

本Demo意在快速实现AIDL项目 在服务端创建AIDL文件,用来声明java Bean以及传输调用的接口。【声明文件】 在服务端创建Service并且实现上面的接口。【创建服务】 客户端绑定Service。【绑定服务】 客户端调用服务端接口。【跨进程调用】

2017-09-24

AIDL进程间通讯demo

AIDL进程间通讯demo,A [android] I [Interface] D [Definition] L [Language],Android接口定义语言。 作用:方便系统为我们生成代码从而实现跨进程通讯,仅此而已。(玉刚老师如是说也),也就是说这个AIDL就只是一个快速跨进程通讯的工具。

2017-09-23

超酷炫的ViewPager切换效果和贝塞尔指示器

超酷炫的ViewPager切换效果和贝塞尔指示器

2017-04-06

Android BezierViewPager

Android BezierViewPager

2017-04-05

BezierRound

BezierRound

2017-04-05

安卓Shader实战

Android Shader 实战

2017-03-19

RadarView.rar

RadarView,自定义雷达

2017-03-11

RoundMenuView

RoundMenuView

2017-03-06

空空如也

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

TA关注的人

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