自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王智博

think and code

  • 博客(14)
  • 收藏
  • 关注

原创 Java ThreadPoolExecutor线程池学习笔记(使用、原理、常见问题总结)-这一篇就够了

简介线程池的由来:线程资源十分有限,开启线程需要系统开销,所以我们可以换成一定数量的线程,然后取管理和复用这些线程,统一分配和控制线程的最大并发数,提供拒绝机制。优点降低创建、销毁线程的开销(重用线程池的线程)有效控制线程池的最大并发数,避免大量的线程之间因互相抢占系统资源而导致阻塞现象;提高线程响应速度提高对线程的管理,提供定时/循环间隔执行等功能工作原理实际上通过 T...

2019-03-07 14:45:07 1236

原创 我的草稿书

1.注解首先注解我们使用的时候是这样声明的,java中常见的注解有@Override、@Deprecated,@Retention 修饰运行时机 编译 运行时@Target 修饰类型 比如方法 类 成员变量@interface Path{ String value() defalut "&

2019-03-22 03:22:14 783

原创 markdown如何实现锚点功能

前言前言之前看了很多文章,一直都没有发现怎么在 markdown 里面去设置锚点,所以写一篇博客来记录下方法。

2019-03-22 03:17:37 32887 2

原创 Scroller startScroll() fling() 参数详解

fling()/** * Start scrolling based on a fling gesture. The distance travelled will * depend on the initial velocity of the fling. * * @param startX Starting point of the scroll (...

2019-03-20 15:46:48 1259

原创 常用工具解释

Node.jsNode.js平台是在后端运行JavaScript代码npmnpm其实是Node.js的包管理工具(package manager安装Node.js和npm

2019-03-15 12:32:41 211

原创 Java中锁学习笔记(Synchronized、ReentrantLock、Lock)

前言学习锁之前我们肯定要学习下线程,线程是CPU调度的最小单元。public class ThreadTest { public static int num = 0; public static void main(String[] args) { //1.开启10个线程去修改num的值 可以看到每次执行的结果不同 for (int i=0; ...

2019-03-14 01:10:32 223

原创 常用Java工具指令 JavaP

javap一个能够将class文件反汇编成人类可读的格式的工具。可以方便的查阅Java的字节码javap -p -v从一个基本的类的反编译说起让你读懂Java字节码文件...

2019-03-14 00:45:41 315

原创 Glide源码阅读随笔md

图片加载最重要的是几点,1.图片的缓存 2.网络请求模型和生命周期的联动Glide如何实现Activity和Application生命周期的联动的?参考:Glide官方文档Android图片加载框架最全解析(二),从源码的角度理解Glide的执行流程...

2019-03-13 11:53:17 120

原创 JVM、Dalvik以及ART的区别

简介JVMjava虚拟机,解析并运行字节码。DalvikAndroid平台的虚拟机,支持运行dex文件。.dex格式是专为Dalvik应用设计的一种压缩格式,适合内存和处理器速度有限的系统ARTART代表AndroidRuntime,在应用安装的时候就预编译字节码到机器语言,这一机制叫Ahead-Of-Time(AOT)预编译。在移除解释代码这一过程后,应用程序执行将更有效率,启...

2019-03-10 14:59:33 397

原创 Java学习笔记-transient关键字

简介java 的transient关键字为我们提供了便利,你只需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。使用流程工作与原理总结1)一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。2)transient关键字只能修饰变量,而不能修饰...

2019-03-08 11:44:58 124

原创 Java wait notify notifyAll-生产者消费者问题

参考如何在 Java 中正确使用 wait, notify 和 notifyAll – 以生产者消费者模型为例

2019-03-07 16:42:57 308

转载 谈谈Java中的语法糖

语法糖(Syntactic Sugar),也称糖衣语法,指在计算机语言中添加的某种语法,这种语法对语言本身功能来说没有什么影响,只是为了方便程序员的开发,提高开发效率。说白了,语法糖就是对现有语法的一个封装。Java作为一种与平台无关的高级语言,当然也含有语法糖,这些语法糖并不被虚拟机所支持,在编译成字节码阶段就自动转换成简单常用语法。一般来说Java中的语法糖主要有以下几种:泛型与类型...

2019-03-04 23:37:25 132

原创 Kotlin学习笔记、思维导图

2019-03-01 17:53:26 593

原创 Android MVP架构理解与主流框架

前言引用sanji2020的话读了很多MVC MVP MVVP的文章,觉得最好的一篇还是这一篇,读完之后理解的很透彻,后有根据Github上GeekNew项目。Material Design + MVP + RxJava2 + Retrofit + Dagger2 + Realm + Glide 基本涵盖了当前Android端开发最常用的主流框架,之后根据自己的思路整理了一份思维导图(仅限参...

2019-03-01 17:33:03 239

空空如也

空空如也

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

TA关注的人

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