自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

翻译 Java 8新特性-终极版(翻译Java 8 Features Tutorial – The ULTIMATE Guide)

1. 简介毫无疑问,Java 8的发布是Java 自2004年发布Java 5以来最大的事件。它带来了很多的新特性,包括语言特性、编译器、库、工具以及JVM。下面我们将一一探索这些新特性并且看如何在实际中运用。2. Java语言的新特性Java 8是一个意义重大的版本。有些人说它花了N久的时间来实现了每一个Java开发者都向往的特性。2.1 lambda表达式lambda表达式是Java 8中最大和

2017-07-10 12:27:16 601

原创 从setContentView说起

从我们学习Android开发的第一天开始,我们就知道在Activity#onCreate里调用setContentView,Activity就会根据XML布局文件来显示。那么setContentView这个方法里究竟做了什么事情,隐藏了什么秘密,这篇文章带你一探究竟。 public void setContentView(@LayoutRes int layoutResID) {

2017-06-18 19:56:17 398

原创 SparseArray源码分析

在上一篇博客中,我们分析了Java中一种很常见的散列数据结构HashMap的原理(地址 http://blog.csdn.net/batmanbrucewayne/article/details/49638437)。但熟悉Android的朋友应该知道,当我们要使用Integer类型作为Map里的key时,在Android SDK中,提供了一种叫做SparseArray的数据结构来代替。原话是:Us

2017-04-12 13:36:59 441

原创 关于Activity被染色的原因以及解决方案

在公司的Android项目中遇到过一些非常匪夷所思的bug,有一些bug就算找到了解决方案但是根本的原因也不太清楚。其中有一个Activity被染色的bug,具体体现是打开一个新的Activity的时候,新Activity的背景色是在xml里头通过background属性设置的,但这个新Activity的背景色显示的居然不是xml里头设置的,而是上一个Activity的背景色,看起来就像这个新的Ac

2016-02-20 23:17:35 720

原创 Android ImageView.ScaleType总结

最近工作中的项目涉及到的新东西比较少,都是一些界面的实现,虽然不是太难的东西,但是也遇到了一些小坑,就此记录下来,防止以后再遇上,或者再遇上的时候可以迅速找到答案。   今天要记录的是Android ImageView的ScaleType的问题,ScaleType属性用于可以让ImageView按一定规则缩放,以达到产品需求。ScaleType可以通过代码ImageView.setScaleTy

2016-01-20 15:27:59 915

原创 客户端认证自签名HTTPS证书

在最近的项目中,与某服务器连接的请求采用的是https协议,但是该服务器的证书又不是经过权威机构认证的证书,因此采用普通的方式直接连接是不行。本文给出解决方案。   HTTPS是HTTP之下、TCP之上的安全密码层,可以使用SSL或TSL,本文用SSL来描述SSL或TSL。大部分困难的编码和解码工作都在SSL中完成了,客户端和服务器端在使用HTTPS进行通信的时候不需要实现复杂加解密算法之类的。

2015-12-15 16:16:30 4090

原创 《Android群英传》学习笔记

最近仍在通过看一些书来查缺补漏,全面从入门进阶中级工程师。这篇博客是《Android群英传》的学习笔记,只记录了一些对于我而言有帮助的知识点,如果读者想全面学习的话仍需要自己购买书籍来全面学习。   1.Android控件架构   Android控件大致可分为两类,即ViewGroup与View控件。ViewGroup控件作为父控件可以包含多个View控件,并管理其包含的View控件,通过Vie

2015-12-09 13:01:13 644

原创 《疯狂Android讲义》学习笔记二

这篇是《疯狂Android讲义》第二篇学习笔记,有很多东西实在是不方便记录到博客中,或者是有一些知识点我已经掌握了,就未记录。如果有同学想入门Android,那么还是需要找一本书来仔细看看,并且敲一敲代码。附上《疯狂Android讲义》代码demo:https://github.com/weimuhua/TestLibProject。  1.StateListDrawable资源   StateL

2015-12-03 12:36:06 1667

原创 《疯狂Android讲义》学习笔记一

接触Android一年了,自学了不久就到公司里实习了,在公司的项目毕竟还是模块级的,很多Android基础知识平常接触不到。最近想想通过读一些书,如《疯狂Android讲义》、《Android群英传》、《Android开发艺术探索》才全面了解并掌握一些基础知识,查缺补漏,全面进阶。   1.View的回调事件   onFinishInflate():当应用从XML布局文件加载到该组件并利用它来构

2015-11-25 13:13:56 2627

原创 HashMap源码分析

在上一篇博客中,大致介绍了散列以及Java Map的结构,这一篇主要分析HashMap的源代码,主要理解HashMap是如何保存数据、取数据、如何扩容、遍历的效率的对比。分析的源码版本为:java version “1.7.0_71”。   (1)构造函数   我个人最常用的构造函数是参数为空的,这个构造函数会调用另外一个带参数的构造函数, 并传入默认容量16和默认的loadFactor 0.7

2015-11-04 15:16:46 423

原创 散列与Java Map结构分析

散列是一种常见的数据机构,也就是我们常说的Map,通过key来映射一个value,最终达到保存数据的目的。每个key被映射到0到散列表长度 - 1这个范围中的某个数,并且将key和value放到适当的单元中,这个映射就叫做散列函数(hash function)。理想情况下它应该运算简单并且应该保证任何两个不同的关键字映射到不同的单元,不过这是不可能的。当两个key散列到同一个值的时候(成为冲突),需

2015-11-03 23:03:46 1396

原创 HTTP权威指南学习笔记

好久没写博客了,当初说好的要坚持写博客呢!都怪最近实在太忙了。。。 最近的工作中,需要根据实际场景处理HTTP请求,项目虽然已经有了现成的HTTP库,但是不能满足我们的需求,趁此机会正好好好学习一下HTTP。此文是HTTP权威指南的学习笔记,后续会写一系列的volley库、OKHTTP库的使用以及简单地源码分析,以及如何支持使用自签名证书的Https连接。下面就先记录一下HTTP权威指南这本书的学

2015-10-22 22:17:12 710

原创 线程池与ThreadPoolExecutor学习笔记

学习和使用Java的时间也不算短了,一直想找个机会好好学习线程池相关的技术细节,最近正好比较闲,因此抽空来把JDK 1.7线程池的实现给研究了一下。线程池技术,不管是对于服务器端开发还是客户端开发都很重要。线程池最大的好处在于减少对象的创建和销毁带来的资源消耗。在面向对象程序编程中,创建和销毁对象是很消耗资源的。对于Java来说,更是如此,Java虚拟机会跟踪每一个对象,以便在对象被销毁后进行

2015-07-17 14:26:39 656

原创 编译Android源码遇到的一个问题

这是我在CSDN上写的第一个博客,虽然是一个简单的内容,但是希望这是一个良好的开端。本人接触Android开发也已经有一年时间了,仍处于入门阶段,希望能通过写博客的方式来督促自己不断进步。接触Android开发接近一年,还从未下载编译过源码。恰逢最近公司新发了台式机,我又动了下载、编译源码的念头。编译源码的教程在网站http://source.android.com/source/downlo

2015-07-10 10:42:54 787

空空如也

空空如也

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

TA关注的人

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