自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 fuse-j 在fuse3.1.1版本编译

最近在忙毕业设计,毕业设计中有用到fuse设计自己的文件系统,听上去很高大上有没有!其实如果你看两天fuse的使用后,开发用户空间的文件系统就简单的一批。感兴趣的朋友可以看使用fuse开发自己的文件系统。       fuse支持多种语言绑定,例如python,java等,因为我的毕业设计与java语言关系比较密切,所以,这里我选择用fuse-j做文件系统的开发。       fuse-j

2017-11-15 16:33:02 835

原创 1.7 HashMap源码分析

最近准备面试,整理一下知识点,虽然hashmap的源码在网上都已经快翻烂了,但是自己再写一遍也会加深一下记忆,再走一遍源码,就感觉hashmap是自己写的对不对!          之后我也会分析一下1.8的hashmap的源码!好了 屁话不多说,开始我们源码分析!        1.基本属性       static final int DEFAULT_INITIAL_CAP

2017-07-27 22:39:57 436

原创 Activity工作过程源码分析

Activity是Android四大组件之一,它作为一个展示型的组件,在Android世界里起到了重要作用。它可以与用户交互,将用户信息反馈给后台,可以说,用户每天面对的app界面都是由activity制作的。作为一个不想当咸鱼的程序员,只了解activity的生命周期,启动模式是不够的,还需要更加深入的了解,那么问题来了,作为Android四大组件之一,它是如何启动的呢? 那么这篇文章,我将从源码

2017-07-25 09:50:13 426

翻译 kotlin官方文档中文翻译(三) 类和对象

1.类和继承2.属性字段3.接口4.可见性描述符5.扩展6.数据类

2017-07-23 18:35:54 362

翻译 kotlin官方文档中文翻译(二) 基础内容

基础内容:1.基本类型2.包3.控制流4.返回和跳转

2017-07-23 15:52:05 534

翻译 kotlin官方文档中文翻译(一)基础语法,习惯用法,编码习惯

基础语法,习惯用法,与编码习惯

2017-07-23 14:38:55 686

转载 Okhttp源码分析(五)连接池

转载自 https://yq.aliyun.com/articles/78101?spm=5176.100239.blogcont78102.16.AczhnP1. 背景1.1 keep-alive机制在HTTP1.0中HTTP的请求流程如下:这种方法的好处是简单,各个请求互不干扰。但在复杂的网络请求场景下这种方式几乎不可用。例如:浏览器加载一个HTML网页

2017-07-22 21:13:35 533

原创 OkHttp源码分析(四)DiskLruCache

前一章讲到OKHTTP使用的缓存是DiskLruCache,DispLruCache是以LinkedHashMap为底层实现的磁盘缓存,但是具体是如何缓存的我还是不是很理解,作为程序员,不理解和咸鱼有什么分别。为了不做咸鱼,我们还是看一下源码吧!public final class DiskLruCache implements Closeable, Flushable { final FileS

2017-07-22 19:35:51 397

原创 OKHttp源码分析(三)缓存

OKhttp的缓存实现在CacheInterceptor中,okhttp进行请求时,会调用构建拦截器链,并执行每个拦截器的intercept方法

2017-07-22 18:55:58 203

原创 剑指offer 字符串的排列

题目:输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。代码:import java.util.*; public class Solution {

2017-07-22 14:35:43 151

原创 剑指offer 二叉搜索树以及双向链表

题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。解答:public class Solution { public TreeNode Convert(TreeNode pRootOfTree) { if(pRootOfTree==null)return null; if(pRootO

2017-07-22 12:21:36 173

原创 剑指offer 复杂链表的复制

题目:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)实现:/*public class RandomListNode { int label; RandomListNode next = null;

2017-07-21 19:15:59 143

原创 剑指offer 二叉树中和为某一值的路径 java实现

题目:输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。实现:public class Solution {    private ArrayList> listAll = new ArrayList>();    private ArrayList list = new ArrayList();

2017-07-21 16:12:06 152

原创 OKHTTP源码分析(二)同步方法以及拦截器链

前一章我们分析了OKHTTP处理异步方法,这一章我们来分析一下OKHttp处理同步方法。         同步方法调用的是Realcall的execute方法@Override public Response execute() throws IOException { synchronized (this) { if (executed) throw new Ille

2017-07-21 13:08:45 214

原创 OKHTTP源码分析(一)异步方法

项目中使用到了okhttp,但只是简单的会用,没有看过源码,作为程序员,没看过源码和咸鱼有什么区别。于是乎,土贼我打开Source Insight,看一看 okhttp是如何工作的。OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("http://192

2017-07-21 10:51:16 289

转载 Android主要热修复原理分析

转自 http://www.jianshu.com/p/d10aa991ca76目前较为成熟的热修复框架主要有AndFix、Nuwa以及微信的热更新思想。现在将其主要思想总结如下:AndFixAndFix是支付宝开源的一套热修复框架,使用简单,成功率高,基本满足大多数的bug修复场景。引入到项目中非常方便,主要分两步:代码整合build.grad

2017-07-20 17:01:25 161

转载 Hybrid App混合开发的一些经验和总结

转载自  http://www.cnblogs.com/kingplus/p/5588339.html写在前面:由于业务需要,接触到一个Hybrid APP混合开发的项目。当时是第一次接触混合开发,有一些经验和总结,欢迎各位一起交流学习~1、混合开发概述Hybrid App主要以JS+Native两者相互调用为主,从开发层面实现“一次开发,多处运行”的机

2017-07-20 08:10:00 1016

原创 android消息机制之理解Looper

Looper对象是线程的消息循环处理器,每个线程只能有一个Looper对象。Looper内部有一个消息队列MessageQueue,所有线程的消息都存放在这个队列中。新创建一个线程时,系统并不会马上为这个线程创建一个Looper对象,需要程序自己创建。Android在启动时,为主线程创建一个Looper对象。Looper类的主要成员变量和方法:public final class Loop

2017-05-20 23:58:22 307

原创 Binder驱动

Binder驱动Binder驱动中主要的数据结构binder_proc :每个使用open打开Binder设备文件的进程都会在驱动中创建一个binder_proc的结构,用来记录该进程的各种信息和状态。binder_thread:每个Binder线程在Binder驱动中都有一个对应的binder_thread结构。记录了线程相关的信息,例如需要完成的任务等。binder_node:

2017-05-18 00:41:32 281

原创 Binder的实现原理

Binder的实现原理Binder实现的远程调用是一种面向对象的远程调用。相比于面向过程的远程调用,面向对象的远程调用功能更加强大,它可以创建多个Binder实体对象服务多个客户,每个对象之间数据封闭,互不影响,安全性更加可靠,而这些面向过程的远程调用是无法实现的。但是越强大的功能实现起来就会越复杂,需要解决的问题也会越多。首先需要解决的问题就是如果跨进程管理对象的生命周期。服务端的Binde

2017-05-13 15:51:52 468

原创 Binder的应用层的核心类

Binder应用层的核心类C++层1.libbinder库中的IInterface类,BpInterface类,BnInterface类,BBinder类,BpBinder类和IBinder类共同构成了Binder应用层的核心类。(1)IInterface类 :主要的功能是用“纯虚函数“定义服务的接口函数内部有一个比较陌生的宏 DECLARE_META_INTERFACE”使用这个

2017-05-06 22:10:08 344

原创 Binder-Binder简介

Binder的简介Binder是android特有的进程间通信方式,它融合了面相对象的RPC,它就像一张网,将整个系统的组件,跨越进程和线程,组织在了一起,是整个系统运行的枢纽。Binder对象的定义1)Binder实体对象(BBinder) : Binder服务的提供者2)Binder引用对象:(BpBinder)Binder实体对象在客户进程的代表3)Binder代理对象:

2017-05-04 20:05:20 269

原创 hihocode_1082 沼跃鱼

fjxmlhx每天都在被沼跃鱼刷屏,因此他急切的找到了你希望你写一个程序屏蔽所有句子中的沼跃鱼(“marshtomp”,不区分大小写)。为了使句子不缺少成分,统一换成 “fjxmlhx” 。输入输入包括多行。每行是一个字符串,长度不超过200。一行的末尾与下一行的开头没有关系。输出输出包含多行,为输入按照描述中变换的结果。注意 替换字符串时长度会改变,可

2017-04-27 15:37:07 235

原创 hihocode _1051 补提交卡

描述小Ho给自己定了一个宏伟的目标:连续100天每天坚持在hihoCoder上提交一个程序。100天过去了,小Ho查看自己的提交记录发现有N天因为贪玩忘记提交了。于是小Ho软磨硬泡、强忍着小Hi鄙视的眼神从小Hi那里要来M张"补提交卡"。每张"补提交卡"都可以补回一天的提交,将原本没有提交程序的一天变成有提交程序的一天。小Ho想知道通过利用这M张补提交卡,可以使自己的"最长连续提交天数"最多变

2017-04-27 14:45:10 344

空空如也

空空如也

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

TA关注的人

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