夏敏的博客

一名Android程序员的技术博客

JVM学习之GC那点事儿[转]

来自腾讯QQ空间终端研发团队的GC总结

啰嗦几句 Kotlin出来了,谷歌大力推, 但是,一切没变的还是JVM, Kotlin是在JVM跑的,当然,Kotlin-native正在开发中, 不过暂时还没有什么成果, JVM大法值得好好...

Klog-利用Kotlin的类扩展带来新式log输出

本着踩坑Kotlin的态度, 写了一个Kotlin的log库.使用起来很方便. 大家学习Kotlin的可以看一下. Github: https://github.com/Jerey-Jobs/K...

旧世界的崩塌,未来世界幸存者

技术会让生活更美好?会让人们更幸福么?

来自阮老师的未来世界幸存者一书,外加之前看了未来简史一书,实在是想安利大家一波,这两本书阵的赞!!!! 阮一峰老师的未来世界幸存者很多部分也是看了未来简史有感而发的. 人类社会正发生前所未有的...

逆向思考,优化/重构你的代码逻辑

阅读陈皓博客代码优化, 写了此篇文章,多层if else值得深思,至少现在我已经在优化多层if情况了. 函数中多层if else情况 if else是几乎所有语言都有的一个语法, 也是我们最...

Android状态模式的几种应用场景

前言 在平时开发中,我们的某个对象可能有很多种状态,若不用状态模式,我们平时的”杀手锏”是if判断, 大量的if判断, 是什么情况干什么事情. 在这种情况下,每多一种状态,将会使得代码要做各...

Android一个应用多个图标的几种实现方式

引言 新需求我的应用将有多个ICON入口..最终选择了 activity-alias , 其实实现多图标有好几种方式 1. 多Activity + intent...

代码优化之使用SparseArray系列代替HashMap

使用HashMap时,若K为整数类型, 是时候考虑提升性能,减少hashCode时间消耗了

引言 HashMap是一种很重要的数据存储结构。很多人在Android开发中多数都会用HashMap来存储这种映射形式的数据。然而当我们的键为int型时,若不通过Has...

打造Android揭面水波动画库-AnimationHelper

AnimationHelper 这是一个动画帮助工具库, 提供简单的帮助实现以下效果的工具类.我将其上传了Jcenter, 大家可以引用 工程见: https://github.com/Jer...

操作系统零散记录

用来记录平时看到的操作系统知识,以及一些知道但是却不能明确说清的知识点

产生死锁的四个必要条件? (1)互斥条件:进程对所分配到的资源不允许其他进程进行访问,若其他进程访问该资源,只能等待,直至占有该资源的进程使用完成后释放该资源 (2)...

从www.baidu.com看Http请求

查看请求 在Chrome输入www.baidu.com, F12进入控制台再点击NETWORK, 我们便可以看到该页面的所有请求, 点开第一个就可以看到如图的结构了. 我...

KeepGank.IO - 一款开源Gank.IO客户端. 欢迎star

缘由 本着学习MD军火库的目的, 外加练习一下使用第三方框架, 毕竟在公司很少使用第三方的框架. 于是写了个Gank.io客户端. 本打算写一个笑话大全类的客户端, 想着代码家大神比那些第三方...

认识Concurrent包中的 CAS

CAS (Compare And Swap) CAS 指的是现代 CPU 广泛支持的一种对内存中的共享数据进行操作的一种特殊指令。这个指令会对内存中的共享数据做原子的读写操作。 简单介绍一下这...

EnhancedImageView-自己实现一个带有放大缩小效果的图片预览效果的自定义View

由来 我的KeepGank里, 用到了图片浏览, 大图浏览时, 大多都采用第三方的方案, 但是作为一个开发者,我们也需要知道人家到底是怎么做的. 目前大家普遍用的是Github上 PinchI...

认识happens-before规则与指令的重排序

从happen—before分析DCL的volatile

为什么要有happens-before规则 最简单的,我们写了一个程序循环打印1000w次i的值,而i没有其他地方改变这个值,那么我们的程序会去读取1000w次i的值么。若你没有指定volati...

手写一个贝塞尔曲线效果的Loading View

一直对贝塞尔曲线的效果感兴趣, 然后前一阵子看到同事写的一个贝塞尔曲线做的动画loading, 我也学着写了一下. 先看一下效果图. 编写过程 首先我们提供三个可配置选项,分别是颜色...