- 博客(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计步器
2020-11-01
Android约束布局ConstraintLayout使用完全解析
2017-11-21
Android中WebView与HTML+Javascript的交互
2017-10-18
《深入理解Java虚拟机:JVM高级特性与最佳实践 》第2版 PDF高清完整版
2017-09-06
基于Rxjava2的事件总线:Rxbus
2017-09-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人