java
W_G_L
这个作者很懒,什么都没留下…
展开
-
设计模式的六大原则
设计模式的六大原则1、开闭原则(Open Close Principle)开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。2、里氏代换原则(Liskov Substitution转载 2017-10-10 10:13:32 · 155 阅读 · 0 评论 -
Android 四种线程池
1、FixedThreadPool,数量固定的线程池,且任务队列也没有大小限制; 只有核心线程,且这里的核心线程也没有超时限制,因为它不会被回收,所以它能更快的响应2、CachedThreadPool 线程数量不固定的线程池;可以进行自动线程回收,只有非核心线程,且最大线程数为Integer.MAX_VALUE 适合做大量的耗时较少的任务3、SingleThr...原创 2019-02-22 16:01:40 · 665 阅读 · 0 评论 -
HashMap和TreeMap的区别
hashmap 是线程不安全的 ,什么是线程安全呢,也就是线程异步,多个thread对同一个java实例的访问,会造成值不统一,可以用synchronized锁住线程,锁住之后就会等待上一个put完毕后,put第二个。实现了map接口,而Map中不允许重复的键,能支持null值,hashmap是用键来计算出hash值Hashtable 这玩意支持线程同步,那么就会导致速度比较慢,实原创 2018-01-18 18:15:35 · 1992 阅读 · 0 评论 -
Android app 混淆
app混淆原创 2018-01-08 15:45:56 · 351 阅读 · 0 评论 -
Error:(4, 0) Your project path contains non-ASCII characters. This will most likely cause the build
Error:(4, 0) Your project path contains non-ASCII characters. This will most likely cause the build to fail on Windows. Please move your project to a different directory. See http://b.android.com/9574原创 2018-01-03 16:05:44 · 188 阅读 · 0 评论 -
代理设计模式
大家都会收黑钱,贪污领导不能出面贪污,于是就让助理帮忙把钱收回来送钱的时候呢,看似表面送给了助理,但其实是领导收了钱在调用方法的时候,看似表面调用的是 A.a()但实际a()里面调用的是B.b();原创 2017-12-19 10:25:08 · 119 阅读 · 0 评论 -
策略设计模式
以下纯是自己个人的理解,有指正的地方请指出策略设计模式策略设计模式,也就是挖坑模式有个猎人,猎人打猎有的用枪,有的用网,还有一种捕猎方式是挖陷阱,也就是挖坑坑要足够大,能容的下各种动物,有鼻子有眼的东西,都叫动物,所以代码里每个独立的类要实现动物的属性,所以就有了鼻子和眼睛猎人挖个坑,动物跳到里面,猎人只需要每次针对一个坑,而不是针对每个动物。对于猎人而言,原创 2017-12-19 09:25:37 · 143 阅读 · 0 评论 -
单例设计模式
单例很简单:错误写法 ,大家一直痴迷的一种写法,如果有两个线程A,B,a线程访问到 if(errorTest == null),而B线程此时更改了errorTest 的值,就造成了a线程走的if,而b线程 走的是else。如果有类似于校验的逻辑,就会造成校验失败。正确写法原创 2017-12-20 14:30:14 · 137 阅读 · 0 评论 -
不使用V4 包FragmentManager
把V4包 换成V13包13包中也有一个FragmentPagerAdapter 类。搞定 记录下,可tm恶心死我了原创 2017-12-19 18:32:23 · 613 阅读 · 0 评论 -
线程几种状态的说明
Thread.java中定义的状态 Thread.cpp中定义的状态 说明 TERMINATED ZOMBIE 线程死亡,终止运行 RUNNABLE RUNNING/RUNNABLE 线程可运行或正在运行 ...转载 2018-02-28 13:18:32 · 2216 阅读 · 2 评论