自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

每一个你不满意的现在,都有一个你没有努力的曾经。

  • 博客(8)
  • 资源 (19)
  • 收藏
  • 关注

原创 众里寻它千百度——ButterKnife源码完全解析

一、概述在很久很久之前,自从朋友推荐我用butterknife后, 从此的项目再也离不开butterknife了。问butterknife的原理,估计很多人都会回答注解加反射。我一开始也是以为是注解加反射,然而看了源码之后发现不是用的注解加反射。那么下面我们就来分析一下ButterKnife的实现原理吧。本文基于ButterKnife8.6.0.二、ButterKnife用法做andr

2017-09-08 21:42:36 3616 2

原创 深入理解Java虚拟机——JVM性能优化

一、性能监控当开发或运行一个Java应用的时候,对JVM的性能进行监控是很重要的。配置JVM不是一次配置就万事大吉的,特别是你要应对的是Java服务器应用的情况。你必须持续的检查堆内存和非堆内存的分配和使用情况,线程数的创建情况和内存中加载的类的数据情况等。这些都是核心参数。使用Anturis控制台,你可以为任何的硬件组件上运行的JVM配置监控(例如,在一台电脑上运行的一个Tomcat网页服务器)。

2017-09-07 16:16:02 5400 2

原创 深入理解Java虚拟机——JVM类加载机制(类加载过程和类加载器)

一、什么是类加载机制?虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。二、类加载的时机类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verification)、准(Preparation)、解析(Resolution)、初始化(Initial

2017-09-07 00:47:24 3806

原创 深入理解Java虚拟机——JVM、DVM(dalvik)和ART之间的区别

一、Dalvik介绍Dalvik VM是Android平台的核心组成部分之一,它的名字来源于冰岛一个名为Dalvik的小渔村。Dalvik VM并不是一个Java虚拟机,它没有遵循Java虚拟机规范,不能直接执行Java的Class文件,使用的是寄存器架构而不是JVM中常见的栈架构。但是它与Java又有着千丝万缕的联系,它执行的dex(Dalvik Executable)文件可以通过Class文件转

2017-09-06 23:56:22 10449 6

原创 深入理解Java虚拟机——JVM的内存结构和内存分配策略

一、JVM内存模型Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范(JavaSE 7版)》的规定,Java虚拟机所管理的内存将会包括以下几个运行时数据区域:1、程序计数器程序计数器(Program Counte

2017-09-06 23:30:56 1324

原创 深入理解Java虚拟机——JVM垃圾回收机制和垃圾收集器详解

一:概述说起垃圾回收(Garbage Collection,GC),很多人就会自然而然地把它和Java联系起来。在Java中,程序员不需要去关心内存动态分配和垃圾回收的问题,顾名思义,垃圾回收就是释放垃圾占用的空间,这一切都交给了JVM来处理。本文主要解答三个问题:1、哪些内存需要回收?(哪些对象可以被看做是”垃圾“) 2、如何回收?(常用的垃圾回收算法) 3、使用什么工具回收?(垃圾收集器)二

2017-09-06 17:50:32 3285 3

原创 浅谈Android开发中的MVVM模式及与MVP和MVC的区别

三种架构模式的演化:什么是MVVM?MVVM是Model-View-ViewModel的简写。微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTe

2017-09-05 11:36:58 1819

原创 RecyclerView实现顶部悬浮、字母排序、过滤搜索最优雅的方式

效果: 这篇文章算是之前一篇的升级版,在上一篇的基础上新增了顶部悬停功能、波浪侧边栏和关于多音字的一个处理。 上一篇链接 : 《Android 使用RecyclerView实现(仿微信)的联系人A-Z字母排序和过滤搜索功能》 http://blog.csdn.net/silenceoo/article/details/75661590主界面布局代码:<?xml version="1.0"

2017-09-04 17:24:19 13751 18

android自定义View仿QQ计步器

android自定义View仿QQ计步器 android自定义View仿QQ计步器 android自定义View仿QQ计步器 android自定义View仿QQ计步器

2020-11-01

最新的在原生Android应用中集成ReactNative

最新的在原生Android应用中集成ReactNative

2019-03-06

Android仿新浪微博首页加号弹出菜单效果

Android仿新浪微博首页加号弹出菜单效果 Android仿新浪微博首页加号弹出菜单效果

2018-01-06

Android中使用SVG实现炫酷动画效果

Android中使用SVG实现炫酷动画效果Android中使用SVG实现炫酷动画效果

2017-11-27

Android约束布局ConstraintLayout使用完全解析

Android约束布局ConstraintLayout使用完全解析 Android约束布局ConstraintLayout使用完全解析

2017-11-21

Android中WebView与HTML+Javascript的交互

Android中WebView与HTML+Javascript的交互 Android中WebView与HTML+Javascript的交互

2017-10-18

《深入理解Java虚拟机:JVM高级特性与最佳实践 》第2版 PDF高清完整版

《深入理解Java虚拟机:JVM高级特性与最佳实践 》第2版 PDF高清完整版 《深入理解Java虚拟机:JVM高级特性与最佳实践 》第2版 PDF高清完整版 《深入理解Java虚拟机:JVM高级特性与最佳实践 》第2版 PDF高清完整版

2017-09-06

基于Rxjava2的事件总线:Rxbus

基于Rxjava2的事件总线:Rxbus 基于Rxjava2的事件总线:Rxbus 基于Rxjava2的事件总线:Rxbus 基于Rxjava2的事件总线:Rxbus

2017-09-01

最简单易懂的RxJava2.0学习教程之RxJava2的线程调度(二)

最简单易懂的RxJava2.0学习教程之RxJava2的线程调度

2017-08-29

最简单易懂的RxJava2学习教程(一)

RxJava2学习demo

2017-08-29

android手动编写ButterKnife编译时注解框架

android手动编写ButterKnife编译时注解框架

2017-08-27

Android 一个TextView中设置文字不同字体大小和颜色的最完整方法

Android 一个TextView中设置文字不同字体大小和颜色的最完整方法

2017-08-15

Android 一个TextView中设置不同字体大小和颜色

Android 一个TextView中设置不同字体大小和颜色

2017-08-15

基于RxJava2的RxBus使用

基于RxJava2的RxBus使用

2017-07-27

Recyclerview由于ViewHolder的复用显示错乱问题解决

Recyclerview由于ViewHolder的复用显示错乱问题解决

2017-07-20

Android Studio中使用kotlin开发项目

安卓中使用kotlin开发项目

2017-07-14

ExpandableListView实现Android购物车

Android购物车

2017-07-05

择色-拾色器

择色器

2017-06-28

android自定义星星评分控件

android自定义星星评分控件

2017-06-28

空空如也

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

TA关注的人

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