关闭

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

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

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

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

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

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

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

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

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

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

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

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

5个技巧帮你适配Android N多窗口特性

英文原文:5 tips for preparing for Multi-Window in Android N 作者:Ian Lake, Google Android framework开发工程师如果你曾经发掘到 What’s New in Android N 这个视频,你可能会偶然发现多窗口支持。当使用多画面多窗口,并排的看到并使用两个应用程序,我很兴奋地马上查阅整个文档,寻找新的api,想知道...
阅读(119) 评论(0)

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

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

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

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

Android各种学习资料(Rxjava、动画、UI效果、开源库、算法、面试)资源链接

Android开源项目配套资料视频:https://github.com/open-android/Android20多个可以提高你安卓开发技能的开源app :http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2017/0214/7114.html 开源项目分析:http://www.codekk.com/open-source-proj...
阅读(192) 评论(0)
40条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:12585次
    • 积分:868
    • 等级:
    • 排名:千里之外
    • 原创:39篇
    • 转载:0篇
    • 译文:1篇
    • 评论:17条
    博客专栏