自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 如何提高自己的编码水平

如何提高自己的编码水平好久没写文章了,因为一个特殊的原因,这次讲一些如何提高自己的编码水平,主要是适用于初中级的工程师进阶使用,大佬请绕路。。。。新手常见的困惑经常听到一些困惑,比如说 看不懂别人写的什么啊,自己写的话写的乱,有的不知道怎么写啊,或者是出了问题不知道怎么解决吧啦啦啦之类的不要怕...

2018-04-12 14:18:45

阅读数 2389

评论数 1

原创 关于volatile关键字的理解

这两天面试,问到了DCL的一些问题,就想起了一个平常写DCL中容易忽略的一个关键字volatile,我们知道volatile是个轻量级的synchronized,他主要在多线程开发中保证了共享变量的 “可见性(当一个线程修改一个共享变量时,另外一个线程能够读到这个修改的值;那么 他是怎么做到保证共...

2018-03-15 17:44:42

阅读数 111

评论数 0

原创 眨眼间的2017

2017年感觉那么瞬间就过去了,感觉像龙卷风一样就没了,请问哪里有充值余额的,,我要充值。。。回头这么一年,仔细一想,好像还是做了很多事情的,技术感觉是提升最快的一年,业务能力也是,为了详细点,一一分开总结的比较好技术方面java基础java基础这一年又着重复习了复习,毕竟当初自学的时候只是会用,...

2017-12-29 10:45:59

阅读数 181

评论数 1

原创 最短路径算法——Dijkstra(迪杰斯特拉)

最短路径算法——Dijkstra(迪杰斯特拉)恩 好久没有写博客了,虽然我知道这种算法的博客基本很少有人看,但是我还是决定把他写出来Dijkstra算法属于最短路径的算法,他的本质就是 一个按照路径长度递增的次序产生的最短路径算法,他的应用还是比较普遍的。我们这边那这个图来说假如说我们这里要寻找...

2017-08-25 16:05:47

阅读数 590

评论数 0

原创 Android进阶之OkHttp源码解析-专题视频课程

Android进阶之OkHttp源码解析—1644人已学习 课程介绍 深度解析OkHttp,把握OkHttp工作流程和设计思想,理解OkHttp的任务调度以及链接池的管理,理解OkHttp拦截器栈的功能,学会自定义拦截器,自定义Cookie处理方案,本课程还将带你深度解析 LruCahce算法以及...

2017-07-08 16:23:05

阅读数 76

评论数 0

原创 6.1 (番外)深入源码理解HashMap、LinkedHashMap,DiskLruCache

6.1 (番外)深入源码理解HashMap、LinkedHashMap,DiskLruCache我们看OkHttp的源码可以知道,他的缓存算法主要是用LruCache算法实现的,Lru的一个典型的实现就是LinedkHashMap,LinkedHashMap又是基于HashMap实现的,所以要探究...

2017-07-04 21:40:20

阅读数 462

评论数 0

原创 6.OkHttp的缓存管理

6.OkHttp的缓存管理番外篇有讲到, Http头里面有个Cache-Control 的字段,这个字段就是来处理缓存的,我们先来了解一下Cache-ControlCache-Control的运用 Cache-Control : cache-directive Cache-directi...

2017-07-03 13:05:02

阅读数 344

评论数 0

原创 5.OkHttp请求调度的分析

5.OkHttp请求调度的分析大工程搞完了,,咱们接着来抠细节,聊一聊OkHttp的连接池管理和任务队列管理连接池OkHttp的链接迟相关的类是 ConnectionPool StreamAllocation 如果这边眼生的朋友请看之前的文章; StreamAllocation里面有个Conne...

2017-06-29 12:22:17

阅读数 602

评论数 0

原创 4.OkHttp的请求拦截链

4.OkHttp的请求拦截链OkHttp请求的核心处理就是这一系列的拦截链“““java Response getResponseWithInterceptorChain() throws IOException { // Build a full stack of intercept...

2017-06-29 12:21:50

阅读数 782

评论数 1

原创 3.OkHttp请求流程分析

3.OkHttp请求流程分析Call和RealCall经过上面的初始化之后 okhttpClient 调用public Call newCall(Request request) 方法去构建一个Call,“““java @Override public Call newCall(Reques...

2017-06-29 12:21:21

阅读数 854

评论数 0

原创 2.OkHttp的初始化

2.OkHttp的初始化OkHttp的整个的初始化采用了一个Builder的形式来建造,对设计模式不太了解的同学可以去看https://github.com/mirsfang/ExamplesOfDesignPatterns接下来进入正题OkHttpClient的初始化OkHttpClient在代...

2017-06-29 12:20:50

阅读数 988

评论数 0

原创 1.OkHttp的简单使用

1.OkHttp的简单使用官网: http://square.github.io/okhttp/github地址:https://github.com/square/okhttp简介HTTP是现代应用网络的方式。这是我们如何交换数据和媒体。有效地进行HTTP使您的东西加载更快,并节省带宽。OkHt...

2017-06-29 12:19:06

阅读数 469

评论数 0

原创 0.(番外)Http请求原理

0.(番外)Http请求原理为了照顾到很多对Http比较陌生的同学,这里专门说明一下Http的请求原理,对看OkHttp源码,理解OkHttp网络请求会有很大的帮助,我们也会通过一个小例子,自己来实现一个Http请求HTTP 简介HTTP协议是Hyper Text Transfer Protoco...

2017-06-29 12:17:53

阅读数 500

评论数 2

原创 适配器模式

适配器模式故事的前因后果在一个阳光明媚的上午,你刚坐好,然后该死的产品那边又来需求了,“新增页面展示本APP的用户信息 ,要赶紧做好,明天就上线,怎么实现我不管”,真tm有句妈卖批必须要讲!,�� 但是做还是要做的 , 写个接口先public interface IUserInfo{ //...

2017-02-16 10:52:21

阅读数 205

评论数 0

原创 排序之 快排

排序之 快排序言快速排序是常用的排序算法之一,也是面试的时候经常会问到的,它是冒泡排序的改进,不稳定,时间复杂度 最理想 O(nlogn) 最差时间O(n^2),采用了 挖坑法+分治法基本思想它的基本思想是通过一趟扫描后,使得排序序列的长度能大幅度地减少。在冒泡排序中,一次扫描只能确保最大数值的数...

2016-10-31 12:25:48

阅读数 242

评论数 0

原创 Android的Sokcet编程

Android的Socket编程序言最近这两天面试因为之前项目的聊天是基于socket写的,所以面试的时候经常会被问到相关的问题,今天整理一下相关的知识。Socket简介(什么是Socket)定义:网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket本地的进程间...

2016-10-23 23:59:11

阅读数 430

评论数 0

原创 最近的状态

最近公司倒闭了,突然一下的就没工作了,一点准备也没有,所以最近一直在忙于找工作,写博客的事情就拉下了,之前写的三四篇关于底层源码分析的博客估计晚点才能上了。 不管我的博客有几个人在看,我都会一直写下去的,还有两三个月才到年底,正式尴尬的时候,加上市场上充斥着好多培训出来就写三四年经验的,真是快伤...

2016-10-18 15:04:48

阅读数 193

评论数 0

原创 图 最短路径算法--普里姆算法与克里斯卡尔算法

一个连通图的生成树是一个极小的连通子图,它含有图中全部的顶点,但只有足以构成一棵树的n-1条边。所谓的最小成本,就是n个顶点,用n-1条边把一个连通图连接起来,并且使得权值的和最小。综合以上两个概念,我们可以得出:构造连通网的最小代价生成树,即最小生成树(Minimum Cost Spanning...

2016-10-15 23:15:09

阅读数 1040

评论数 0

原创 数据结构之链表

数据结构之链表数据结构中,链表算是简单的一种。今天就来写一下链表的原理与实现 github传送门简介链表为啥叫链表。因为他就和一个链子一样。链表分为 单向链表 双向链表 循环链表 实现双向链表为什么只讲双向链表呢。我用一张图给大家诠释可以看出来 单向链表只是存有下个节点的引用,双向列表是存有他上...

2016-09-27 12:43:26

阅读数 321

评论数 0

原创 小技巧-如何快速让子view'拥有进出退出动画

只要在他的父view里面添加  android:animateLayoutChanges="true" 就OK了

2016-08-31 14:36:56

阅读数 264

评论数 0

原创 android源码阅读-----zygote进程

android源码阅读—–Zygote进程Zygote进程简介: zygote进程是安卓中非常重要的一个进程,与init进程 SystemServ进程共同支撑着Android环境。 Zygote进程与一般进程的区别是: 一般进程fork出子进程之后,会继续调用系统的exec,将一个...

2016-08-14 02:12:08

阅读数 591

评论数 0

原创 Android Studio - no debuggable applications 的解决办法

Tools 然后Android-->Enable ADB Integration active.然后就OK了 问题的地址:http://stackoverflow.com/questions/26593927/android-studio-no-debuggable-applicati...

2016-08-12 16:28:45

阅读数 302

评论数 0

原创 安卓系统启动流程解析

一直以来一直想有深入研究源码的想法,最近一段时间工作比较少,得以时间研究,有点心得就给大家分享,今天给大家带来的是安卓系统最开始的   话不多说  首先放图 下面来详解这张图   从系统的角度上来讲,Android系统的启动过程可以风味 bootloader 引导,装在和启动 ...

2016-08-10 13:29:59

阅读数 2761

评论数 2

原创 贪心算法的学习

什么是贪心算法  ,贪心算法就是贪心了  废话 - -      所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。      贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选...

2016-07-29 17:42:01

阅读数 412

评论数 0

原创 C++ 的枚举和宏

#define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学...

2016-07-29 17:24:39

阅读数 449

评论数 0

原创 Android 自动更新 教你如何写自己的更新

在这个极速开发,快速迭代的年代里,APP的更新自然也成为日常开发中不可或缺的一部分,,如何写出一个优雅的更新效果,让自己的APP增新不少呢?下面带大家来一起写一个APP更新的功能.   其实这个功能很简单,,,,就是一个文件上传下载的功能 文件的地址就是放在你们服务器上面的路径,你请求后台的版...

2016-07-29 15:53:43

阅读数 1000

评论数 0

原创 再MAC 下用IntelliJ 开发web项目遇到 Server is not connected. Deploy is not available. 1099的问题

详细描述一下我遇到的问题   最开始我是用的tomcat 9 然后一直报这个错,后来我换成tomca8 ,后来又说是权限问题, 修改权限之后在配置tomcat的地方有个 Deploymeny的tab  然后在那里面如果是maven项目的话点击下面的小加号选择Arftiact这个选项 把自己的项目...

2016-07-28 15:24:39

阅读数 6809

评论数 2

原创 企业移动应用开发管理之浅谈

为什么要写这篇博客呢,事情的原因是这样的。 大前天公司那边下来需求,要求移动端应用主要的详情页面加上图片的展示, 公司的后台和前台的业务比较复杂,改动的话涉及到三个端;代理商,商户,用户。 逻辑是这样的,商户创建,创建的时候添加图片,然后代理商审核,然后用户端展示,用户端展示又分两个接口。因为前期...

2016-05-29 01:21:18

阅读数 357

评论数 0

原创 Linux Eclipse C/C++ 报错 launch failed

解决方法如下: 第一种情况(我所遇到的)     新建项目后,点击run>>run configurations,双击左侧一列的c/c++ local applation,新建一个运行配置,在main中点击Browse选择你的项目,在common中勾选“debug”和“...

2016-05-17 23:23:11

阅读数 705

评论数 0

原创 新闻类list,支持两种不同的item

先上图 github地址

2016-05-16 15:27:50

阅读数 452

评论数 0

原创 Android滑动头部控件

一个滑动头部的空间,根据 https://github.com/ta893115871/StickyNavLayout 简化和修改得来,去除了tab的滑动,改为LinerLayout,增加了点击滑动到顶部,

2016-05-16 11:41:01

阅读数 963

评论数 0

原创 我的安卓职业路发展和展望

不知不觉工作已经有一段时间了,感觉自己的技术像是到了一个瓶颈,说上不上说下不下,市面上大部分APP自己都能做得来,但总感觉自己欠缺好多东西,对底层的知识掌握一塌糊涂,不知道一个APP是如何产生、安装、运行的;也不知道一个activity具体运行的细节,只是感觉会用而已,渣的要死,更别说更底层的一些...

2016-04-24 00:22:06

阅读数 456

评论数 0

原创 自定义RatingBar,能根据设置改变样式

项目在我的GITHUB上  https://github.com/mirsfang/RatingBarDemo2

2016-04-12 14:46:56

阅读数 1377

评论数 2

原创 Unable to get package info for [包路径]; is package not installed

这个问题引起原因是 简单的卸载app 没有卸载干净,然后再次运行,当dalvik重新安装。apk文件并试图重用以前的活动从同一个包

2016-04-10 15:46:48

阅读数 1851

评论数 2

原创 设计模式之---责任链模式

责任链模式,大家肯定都有听说过,web应用上的tomcat的filter可以理解为一个责任链模式,责任链模式就相当于一个处理链,一个对象从第一个处理对象开始,处理完之后传到第二个,直到最后一个,而且处理对象的顺序和数量可以任意改动。 责任链模式的定义:      使多个对象都有机会处理...

2016-04-08 17:18:45

阅读数 210

评论数 0

原创 设计模式之状态模式

状态模式,顾名思义,行为是由状态来决定的,不同的状态下有不同的行为,比如说电视机,当我们按开机键后,频道+,-,音量+、-都可以使用,而当我们按关机键之后除了开机键其他键都不可以使用。这就是一种状态      没图我说个JB...       角色介绍:        ...

2016-03-28 10:06:49

阅读数 219

评论数 0

原创 设计模式之策略模式

策略模式在我的理解里就是  提供解决一种问题的不同方法; 在平时我们解决问题的时候,通常把方法写在一个类里面或者是当前类里面,比如说排序,快排写个方法,基数排序写个方法,堆排序写个方法,在类里调用或者是某个业务逻辑复杂,每一个条件都需要一系列的if..else 或者是switch..case等...

2016-03-24 11:24:14

阅读数 206

评论数 0

原创 设计模式之抽象工厂模式感悟

工厂模式生产的是基于一种产品的抽象,抽象工厂模式是生产的多种具有共性的产品的抽象; 他的定义是: 为创建一组相关或者是相互依赖的对象提供一个接口,而不需要指定它们的具体类 AbstractFactory 抽象工厂角色 声明 一组  用于创建一种产品的方法,每一个方法对应一种产品 ConcreteF...

2016-03-22 19:02:30

阅读数 285

评论数 0

原创 创建安卓app的30个经验教训

这个世界上有两种人-从经验教训中学习的人以及听从别人建议的人。这里是我一路走来学到的一些东西,分享给大家: 在添加任何第三方party之前,请三思:这真的是一个成熟的项目吗? 如果一个东西用户看不到,就不要绘制它! 除非真的需要,否则别使用数据库; ...

2016-03-16 10:15:08

阅读数 394

评论数 0

原创 Android studio报错 \build-tools\23.0.2\aapt.exe'' finished with non-zero exit value 1

Error:Execution failed for task ':android-view:processReleaseResources'. > com.android.ide.common.process.ProcessException: org.gradle....

2016-03-14 22:36:38

阅读数 4216

评论数 1

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