自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 关于TCP/IP,OSI协议模型及层结构关系

概述最近复习了一下关于网络协议方面的知识,一些东西已经遗忘,有必要记录一下。 OSI将网络分为 7层 ,TCP/IP 模型将网络分为 5层或者 4层, 维基百科是这么说的: OSI模型, TCP/IP协议族其中七层、五层与四层之间的关系,参考如下图: 图片来源:OSI七层模型及TCP/IP...

2017-09-25 08:58:44 1981 0

原创 计算机时间:1970年1月1日

问题:计算机时间和众多的编程语言的时间都要从1970年1月1日开始算起呢相关讨论: java为什么计算时间从1970年1月1日开始为什么计算机时间要从1970年1月1日开始算起?答案: 很多编程语言起源于UNIX系统,而UNIX系统认为1970年1月1日0点是时间纪元 最初计算机操作系统是32位,...

2017-08-22 07:21:10 1153 0

原创 算法分析之桶排序

概述桶排序示意图(当然这里只是简单的示例,真正的桶排序比这个复杂):维基百科介绍: 桶排序实现思路:1. 设置固定空桶数 2. 将数据放到对应的空桶中 3. 将每个不为空的桶进行排序 4. 拼接不为空的桶中的数据,得到结果 简单示例:BucketSort算法分析:时间复杂度: 1. 将数据装...

2017-07-30 19:56:32 730 2

原创 HenCoder Android开发进阶系列学习笔记

概述HenCoder是Android大神扔物线精心为我们准备的 给高级 Android 工程师的进阶手册, 这里主要记录通过学习 消化之后,所剩下的东西,谢谢大神给我们带来这么好的东西。路线首先,跟随者大神的脚步,一篇篇的将文章看完,并做好练习,就能基本掌握相关知识的用法。其次,做笔记,将相关知识...

2017-07-30 06:03:57 1857 0

转载 android 控件各种颜色的半透明效果配置

格式: Android:background=”#XXxxxxxx”(颜色可以写在color中) 说明:半透明颜色值不同于平时使用的颜色,半透明颜色值共8位,前2位是透明度,后6位是颜色。 也就是说透明度和颜色结合就可以写出各种颜色的透明度。下面是透明度说明表,供大家参考。 透明度 ...

2017-07-25 17:24:09 434 0

原创 Android性能优化学习计划

Android性能优化典范 - 第1季Android性能优化典范 - 第2季Android性能优化典范 - 第3季Android性能优化典范 - 第4季Android性能优化典范 - 第5季

2017-05-16 07:46:17 447 0

原创 Android 多媒体之MediaStore

概述MediaStore是android系统提供的一个多媒体数据库,专门用于存放多媒体信息的,通过ContentResolver即可对数据库进行操作。如下是其结构:结构图解:MediaStore.Files: 共享的文件,包括多媒体和非多媒体信息 MediaStore.Audio: 存放音频信息 ...

2017-04-23 20:30:24 4205 0

原创 Android仿微博@好友,#话题#及links处理方案

概述TextView 的 ClickableSpan 有两个坑:一、默认情况下,点击 ClickableSpan 的文本时会同时触发绑定在 TextView 的监听事件; 二、默认情况下,点击 ClickableSpan 的文本之外的文本时,TextView 会消费该事件,而不会传递给父 Vie...

2017-03-27 00:47:37 4662 6

原创 Java基础之I/O框架体系

概述Java中的I/O包主要分布在 java.io 和java.nio两个包中,从传统发展来看,由浅入深即是: BIO -> NIO -> AIO 这三个概念分别表示: 阻塞 I/O, 多路非阻塞 I/O,异步非阻塞 I/O。 io包下是传统的字节流和字符流,nio是jdk1.4...

2017-03-01 22:48:23 955 0

原创 Java基础之集合框架

概述Java集合工具包包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合工具包位置是java.util.*;其总体框架图如下所示:List一个有序且有索引的容器,允许重复值的出现。Set一个无序的唯一对象的容器,不允许重复值出现。Map一个基于键值对以及哈希的数据结构,不允许相...

2017-02-28 07:28:49 527 0

原创 Java 并发工具箱之concurrent包

概述java.util.concurrent 包是专为 Java并发编程而设计的包。包下的所有类可以分为如下几大类: locks部分:显式锁(互斥锁和速写锁)相关; atomic部分:原子变量类相关,是构建非阻塞算法的基础; executor部分:线程池相关; collections部分:并发容...

2017-02-27 07:26:29 18052 2

原创 Android中的ART和Dalvik对比

概述之前也一直零零散散的看过Android运行时与Dalvik,但是都没有没有总结成文字,这里总结一下几篇相关博客中的介绍。维基百科:Dalvik虚拟机 维基百科:Android Runtime Dalvik 是一个执行dex文件的Java虚拟机 而ART指提供一套完全与Java虚拟机...

2017-02-19 14:16:54 4699 0

原创 Java基础之volatile关键字

## 内存模型的相关概念 ### 执行指令 > 主存(物理内存)、高速缓存(CPU),程序运行时需要将数据从`主存`复制一份到`高速缓存`当中. ### 缓存的不一致问题 > 如果一个变量在多个CPU中都存在缓存(一般在多线程编程时才会出现),那么就可能存在缓存不一致的问题. ...

2017-02-18 10:50:47 444 0

原创 Android 序列化之Serializable和Parcelable

## Serializable作用 > 只要一个类实现了`java.io.Serializable`接口,那么它就可以被序列化. ## 序列化 ID > ID 相同,两个类就可以相互序列化和反序列化。建议用默认的 1L ## 静态变量序列化 > 静态变量不参与序列化(...

2017-02-15 22:52:49 402 0

原创 WebView 细节,onShowCustomView与JS注入来实现视频全屏播放

概述WebView是开发中经常使用的组件,在使用中我们需要考虑 文件下载,自定义scheme,重定向,硬件加速,Cookie,HTTPS/HTTP混合等多种问题。关于 WebView 之前的总结 Android WebView使用,Http/Https,硬件加速等相关细节详解 Android ...

2017-01-21 11:50:32 6710 0

原创 Android Studio File/Code/Live Templates 及效率插件

文件/代码模板File and Code Templates自定义文件/代码模板’ Tutorial How To Create Custom Android Code Templates Custom Android Code Templates Slides developer.android...

2017-01-19 16:57:04 1701 0

原创 图解HTTP:确保WEB安全的HTTPS连接

HTTP 的缺点明文(不加密),内容易被窃听 不验证通信方身份,有可能遭遇伪装 无法证明报文的完整性,可能遭遇中途篡改 这些问题不仅出现在 HTTP 上,在其他未加密的协议上也存在这类问题 针对明文的情况通信加密 通过 SSL 和TLS 使用SSL建立安全通信线路之后,就可以在...

2017-01-13 11:16:37 897 0

原创 图解HTTP:与HTTP协作的WEB服务器与HTTP首部

虚拟主机 一台 Web服务器可以搭建多个独立域名的Web网站,也可以作为通信路径上的中转服务器 (利用虚拟主机,也成虚拟服务器). 在相同的IP下,要想知道访问的是哪个Web网站,必须在Host首部内完整指定主机名或域名的URI 代理,网关,隧道 代理: 服务器和客户端中间人 代理不改变...

2017-01-12 23:41:13 497 0

原创 图解HTTP:返回结果的HTTP状态码

状态码2xx 成功 表明请求被正常处理了200(OK) : 正常处理,GET返回实体,HEAD只返回首部 204(No Content): 没有资源可返回,浏览器显示的页面不再更新. 一般用在只需要从客户端往服务器发送消息,而对客户端不需要发送新消息内容的情况下. 206(Partia...

2017-01-12 23:33:56 471 0

原创 图解HTTP:简单的HTTP协议和报文信息

请求报文是由请求方法、请求 URI、协议版本、可选的请求首部字段和内容实体构成的 响应报文由协议版本、状态码、用以解释状态码的原因短语、可选的响应首部字段以及实体主体构成 HTTP 是一种无状态协议,引入了Cookie实现状态管理. HTTP方法 GET: 获取资源,请求访问已被UR...

2017-01-12 23:29:49 1120 0

原创 图解HTTP: 了解Web及网络基础

在地址栏输入 url 后,信息会被送往某处.然后从某处得到回复,内容就会显示在 web 页面上. 名词解释:HTML(超文本标记语言)HTTP(传输协议)URL(统一资源定位符)TCP/IPHTTP属于TCP/IP协议簇内部的一个子集.计算机与网络设备要相互通信,就必须基于相同的方法.就是协议(...

2017-01-12 23:27:30 645 0

原创 Effective Java : 序列化

74.谨慎的实现Serializable接口简介 一个类只要声明实现Serializable接口,即可被序列化.虽然一个类实现序列化的直接开销不高,但是长远影响却值得考虑 长期开销: 一旦一个类被发布,就大大降低了”改变这个类的实现“的灵活性 增加了出现Bug和安全漏洞的可能性,因为它和构造器...

2017-01-07 12:35:57 389 0

原创 Effective Java: 并发

66.同步访问共享的可变数据简介 关键字 synchronized可以保证在同一时刻,只有一个线程可以执行某一个方法.或者某一代码块 Java 语言规范保证读或者写一个变量是原子性的,除非这个变量的类型是long或者double 为了在线程之间进行可靠的通信,也为了互斥访问,同步是必须的. vol...

2017-01-07 12:30:37 467 0

原创 Effective Java: 异常

57.只针对异常的情况才使用异常简介 错误示例: try{ int i = 0; while(true){ rang[i++].climb(); } }catch(ArrayIndexOutOfBoundsException e){} 异常机制的设计初衷...

2017-01-07 11:36:15 264 0

原创 Effective Java : 通用程序设计

45.将局部变量的作用域最小化简介 和 13 条,使类和成员的可访问性最小化,是一个道理,可以采取如下几种办法:在第一次使用它的地方声明. 几乎每个局部变量的声明都应该包含一个初始化的表达式,否则(没有足够的信息来对一个变量进行有意义的初始化),就应该延迟这个声明. for循环优于while循...

2017-01-07 11:09:08 314 0

原创 Effective Java : 方法

38.检查参数的有效性不检查 如果不对参数进行检查,可能会出现如下错误:处理过程中发生失败,产生令人费解的异常 正常返回,但是会计算出错误的结果 能正常返回,但是破坏了某个状态,在不确定的将来某个节点上引发错误(相当不好定位) 正确的做法 早 javadoc 的 @throws 标签文档中进行...

2017-01-07 10:45:41 218 0

原创 Effective Java : 枚举和注解

30.使用enum代替int常量以前的方案在枚举出现前,都是 使用常量的方式,如public static final int APPLE_FUJI = 0; public static final int ORANGE_NAVEL = 0;这种方称为枚举常量,其弊端有: 如果与枚举常量关联的...

2017-01-07 10:27:49 849 0

原创 Effective Java : 泛型

23.不要在新代码中使用原生态类型简介 Java泛型从1.5引入,为了保持兼容性,实现的是伪泛型,类型参数信息在编译完成之后都会被擦除,其在运行时的类型都是raw type,类型参数保存的都是Object类型,List<E>的raw type就是List 编译器在编译期通过类型参数,为...

2017-01-07 10:16:02 364 0

原创 Effective Java: 类和接口

13.使类和成员的可访问性最小化 尽可能的使每个类或者成员不被外界访问 对于顶层类,接口,只有两种访问级别: 包级私有(package-private)和公有(public) 对于成员,有四种访问级别(private,package-private,protect,public) 如果一个类只对一...

2017-01-06 23:53:58 260 0

原创 Effective Java:对于所有对象都通用的方法

8.覆盖equals通用约定概述 Object的设计是为了扩展,其所有的非final方法都有明确的通用约定,复写时需要遵循通用约定,以保证和其他类能协调使用. 不复写 equals(即直接用Object#equals) 类的每个实例本质上都是唯一的(针对代表活动实体而不是值的类) 不关心是否提...

2017-01-06 22:58:42 420 0

原创 Effective Java:创建和销毁对象

1. 静态工厂方法代替构造器简介 获取类的实例,除了提供公有的构造器外,还可以使用静态工厂方法 静态工厂方法 提供实例,不同于设计模式中的 工厂方法模式,简单示例: public static Boolean valueOf(boolean b) { return b ?...

2017-01-06 22:43:56 311 0

原创 Effective Java概览

Effective Java_xmind

2017-01-06 22:39:04 494 0

原创 开发艺术探索 -- Android中的消息机制

消息机制概述 消息机制分析 主线程的消息循环 消息机制概述 Android消息机制的上层接口就是Handler. Handler需要MessageQueue,Looper做支撑. Handler创建的时候会采用当前线程的Looper,涉及到ThreadLocal Handler的作用是...

2016-12-24 23:53:16 366 0

原创 开发艺术探索 -- 四大组件的工作过程

四大组件的运行状态 Activity的工作过程 Service的工作过程 BroadCastReceiver工作过程 ContentProvider工作过程Activity除了BroadCastReceiver外,都必须在Manifest中注册.BroadCastRecei...

2016-12-24 23:52:30 400 0

原创 开发艺术探索-- Window及WindowManager

第八章,理解Window及WindowManager Window及WindowManager Window内部机制 Window创建过程Window是一个抽象类,实现类是PhoneWindow, 创建Window只需要通过WindowManager Window的具体实现在Win...

2016-12-24 23:50:59 349 0

原创 开发艺术探索 -- 动画深入分析

第7章. 动画深入分析 View动画 View动画的特殊使用场景 属性动画 注意事项Android动画可以分为3种,View动画,帧动画和属性动画.帧动画也属于View动画的一种,(只是表现形式上略有不同) View动画是一种渐进式动画,支持自定义,帧动画图片过多过大易导致o...

2016-12-24 23:49:43 325 0

原创 开发艺术探索-- Drawable

<<艺术探索读书笔记>>第六章,Android的Drawable 层次关系 分类 自定义Drawable Drawable: 一种可以在Canvas上绘制的抽象概念.种类很多(颜色和图片都是一个Drawable).简介 Drawable常用于View的背景,...

2016-12-24 23:46:09 255 0

原创 开发艺术探索--理解RemoteViews

<<艺术探索读书笔记>>第五章,理解RemoteViews RemoteViews的应用 RemoteViews的内部机制 RemoteViews的意义 应用RemoteViews字面意思是一个远程View,可以在其他进程中显示.使用场景是 通知栏和桌面小部...

2016-12-24 23:44:05 433 0

原创 开发艺术探索--View的工作原理

第四章,View的工作原理本章主要介绍两方面的内容 1. View的工作原理 2. 自定义View的实现方式需要掌握:View的三大流程;View的常见回调方法;View滑动(上一章中的滑动冲突处理)大纲 ViewRoot 和 DecorView MeasureSpec Vie...

2016-12-24 23:42:23 356 0

原创 Android MVVM 之DataBinding,BindingAdapter及component

简介DataBinding是MVVM在Android上的一种实现,支持双向绑定,自动刷新。是ButterKnife等APT框架的有效替代方案。基本用法DataBindingUtil生成实例,会有一定的规则,layout通过文件名生成,View通过id生成,不需要 findViewById。自定义类...

2016-12-14 14:14:16 5140 0

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