自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

笨鸟的专栏

转行了

  • 博客(12)
  • 资源 (7)
  • 问答 (1)
  • 收藏
  • 关注

原创 jvm学习笔记(二)垃圾收集器与内存分配策略

一、对象可回收状态判断 1、引用计数算法 原理:给对象添加一个引用计数器,每当有一个地方引用它时,计数器值加1;当引用失效时,计数器值减一。        计数器为0的对象,可以回收。 缺点:难以解决对象之间互相循环引用的问题;两个对象互相引用,但没有其他引用指向这两个对象,这两个对象 已经不可能再被访问,但是它们的引用计数都不为1,通过引用计数法无法通知GC收集器回收它们。 2、可达性...

2018-04-27 19:00:30 171

原创 JVM学习笔记(一)内存区域,对象创建,对象内存布局

前置1、符号引用:符号引用以一组符号来描述所引用的目标,符号可以是任何形式的字面量,只要使用时能够无歧义的定位到目标即可。 1)符号引用与虚拟机的内存布局无关,引用的目标并不一定加载到内存中。 2)在Java中,一个java类将会编译成一个class文件。在编译时,java类并不知道所引用的类的实际地址,因此只能使用符号引用来代替。2、直接引用:直接引用可以是 1)直接指向目标的指针(比如,指向"...

2018-04-25 20:51:30 194

原创 Okio源码阅读笔记(四)Buffer

Buffer里缓存了一个双向闭合Segment链表,head引用指向链表的头部,head.prev就是链表尾部链表的每个元素Segment内部都缓存有一个字节数组,segment的有效起点是pos,有效数据终点是limitBuffer中封装了对该缓存链表的读、写等操作的方法,其中把其他类型的数据转成字节写入缓存中的代码运用了大量的位运算,我表示看不怎么懂,暂时先不钻研了。也算是个笔记。public...

2018-04-23 20:36:49 903

原创 Okio源码阅读笔记(三)ByteString

其实ByteString没什么好看的。看之前以为有重要内容,看完后发现没有,不过既然已经看了,就记录下来吧。ByteString封装了以下几点1、就是把一些输入类型(字符串/字节数组/ByteBuffer/byte)转成字节数组,并封装成新的ByteString返回。比如ByteString.of(...)2、封装了对ByteString的比较、加密操作,方便使用比如ByteString.enco...

2018-04-23 16:37:30 9705

转载 Okio源码阅读笔记(二)复习下位运算

原作:Java位运算原理及使用讲解为了加深记忆,还是在上面博客基础上细节处加了点补充,方便时间久了回忆Okio高性能IO的关键在三点:1)的Segment对象池、Segment内部的压缩内容2)Buffer中缓存了一个Segment双向闭合链表,用空间换时间嘛。且有大量位运算,把写入的数据通过位运算转换成字节写入缓存,提高了性能。3)ByteString封装大量api,把各种输入(字符串/...)...

2018-04-21 12:28:35 187

原创 Okio源码阅读笔记(一)Segment与SegmentPool解析

1、 SegmentPool源码解析/** * 一个单例的线程安全的segment对象池,避免频繁创建和回收对象带来的性能消耗 */final class SegmentPool { //SegmentPool最大容量 64KB static final long MAX_SIZE = 64 * 1024; // 64 KiB. //由Segment组成的双向链表的第...

2018-04-19 22:02:27 845 1

原创 算法题库leetcode多加练习

多加练习:https://leetcode-cn.com/problemset/all/https://blog.csdn.net/notOnlyRush/article/details/79996933https://blog.csdn.net/jiangyanting2011/article/details/70325215https://blog.csdn.net/it_yangkun/ar...

2018-04-16 20:50:49 7095

原创 java Lock的实现AbstractQueuedSynchronizer源码阅读(一)ConditionObject解析

一、Condition接口public interface Condition { /** * 暂停此线程直至一下四种情况发生 * 1.此Condition被signal() * 2.此Condition被signalAll() * 3.Thread.interrupt() * 4.伪wakeup * 以上情况.在...

2018-04-14 20:05:47 725

原创 java锁的实现-AbstractQueuedSychronizer源码阅读(二)源码解析、深入理解排它锁(独占锁)的实现

AbstractQueuedSynchronizer设计者:Doug Lea一、简介1、本质上,AQS是基于Unsafe.CAS Unsafe.park Unsafe.unpark的原子操作来实现锁功能 Unsafe的操作粒度不是类,而是数据和地址。 1)先理解LockSupport.park,unpark(LockSupport.park内部是Unsafe.park,unpark也类似) 使用...

2018-04-13 15:18:15 818

原创 ThreadPoolExecutor源码笔记(三)线程池的实现

1、5种状态//线程池能够接受任务,并且可以运行队列中的任务private static final int RUNNING = -1 << COUNT_BITS;//不接受新的任务,但是之前队列里面的任务还是会被调用[shutDown()之后的状态]private static final int SHUTDOWN = 0 << COUNT_BITS;...

2018-04-10 17:17:07 634

原创 ThreadPoolExecutor源码阅读笔记(二)FutureTask

BlockingQueue: 队列他决定了任务的调度方式,我们主要关注BlockingQueue的offer, poll,take三个方法 offer往队列里面添加任务如果队列已经满了话返回false, poll在规定的时间内从队列里面取出任务如果队列是空的就返回null,  take也是从队列里面取出任务如果队列是空的则阻塞(保证线程池核心线程一直存在的时候有妙用)SynchronousQ...

2018-04-08 16:55:22 272

原创 从源码看Activity启动过程(二)从Activity到AMS

1、Activitypublic class Activity extends ContextThemeWrapper implements LayoutInflater.Factory2, Window.Callback, KeyEvent.Callback, OnCreateContextMenuListener, ComponentCallbacks2, Window.OnWindow...

2018-04-03 12:38:41 171

android哈希曼图片压缩支持armeabi-v7a

利用jepg库开启哈希曼压缩,去除alpha通道,压缩后图片不失真,支持armeabi、armeabi-v7a

2018-03-12

ECMAScript 6新特性

本人看过《深入浅出ES6》后把一百多页去除水分,总结成十来页的文档,方便快速入门。

2017-02-16

Android高级编程(第三版)中文版高清PDF文档

在网上找这本书的电子书,在CSDN看到有写着完整版的,实际上却是解压不了的,还有给个失效链接,骗积分的。挺坑的。 android本来就开源,学习资源当然也应该共享,尤其是这种并不算多么机密的资料。于是我决定自己传真正的电子书上去,省得大家找了。

2014-08-15

JNI的使用与理解

该文档由大牛编写,由浅入深讲解的JNI和NDK开发技术,仔细看懂该文档,基本就能掌握JNI开发技术了。

2014-07-11

android封装了常用功能的ioc框架

1自动注入框架(只需要继承框架内的application既可) 2图片加载框架(多重缓存,自动回收,最大限度保证内存的安全性) 3网络请求模块(继承了基本上现在所有的http请求) 4 eventbus(集成一个开源的框架) 5验证框架(集成开源框架) 6 json解析(支持解析成集合或者对象) 7 数据库(不知道是哪位写的 忘记了) 8 多线程断点下载(自动判断是否支持多线程,判断是否是重定向) 9 自动更新模块 上拉加载下拉刷新 10 一系列工具类

2014-04-06

chm文档生成器

输入目录选择包含所有总结文件的最大目录即可,内部会过滤 过滤规则 1.后缀为 .txt 2.文件名为 day[数字]+总结 3.文件内容长度大于 800 方便遇到某个不懂的知识点可以快速查找总结,或者定位到某天的内容,当然也方便回答老师的问题

2014-04-05

java反编译工具

可以通过该工具直接查看jar包里的所有.class文件,其实不用多说,你懂的。

2014-04-05

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

TA关注的人

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