
Java
wangzhibo666
这个作者很懒,什么都没留下…
展开
-
在Android中你用过动态代理吗?Java动态代理原理解析(附github源码)
前言如果我们是做SDK开发,最常用的架构就是MVC。在MVC中,我们经常会提供给外部C,用于让外部调用我们SDK暴露的功能。如果我们的V,要添加一个按钮,或者V的视图滑动事件,要提供给C去暴露出去,V和C基本要同时写2个方法,比如addButton(Button btn)。这个时候我们发现问题了,每次我们要去提供V、M的功能暴露出去,就要同时去C里面实现一个方法。那有没有一个方法能够让V、...原创 2019-01-28 14:43:32 · 1096 阅读 · 0 评论 -
谈谈Java中的语法糖
语法糖(Syntactic Sugar),也称糖衣语法,指在计算机语言中添加的某种语法,这种语法对语言本身功能来说没有什么影响,只是为了方便程序员的开发,提高开发效率。说白了,语法糖就是对现有语法的一个封装。Java作为一种与平台无关的高级语言,当然也含有语法糖,这些语法糖并不被虚拟机所支持,在编译成字节码阶段就自动转换成简单常用语法。一般来说Java中的语法糖主要有以下几种:泛型与类型...转载 2019-03-04 23:37:25 · 159 阅读 · 0 评论 -
Java学习笔记(二)之对象创建、内存模型、访问
参考JVM:Java对象的创建、内存布局 & 访问定位 全过程解析原创 2019-02-26 15:34:03 · 302 阅读 · 0 评论 -
java 内部类和静态内部类的区别
占坑中。。参考:从一道面试题开始说起 枚举、动态代理的原理原创 2019-02-21 11:11:58 · 7811 阅读 · 0 评论 -
常用Java工具指令 JavaP
javap一个能够将class文件反汇编成人类可读的格式的工具。可以方便的查阅Java的字节码javap -p -v从一个基本的类的反编译说起让你读懂Java字节码文件...原创 2019-03-14 00:45:41 · 367 阅读 · 0 评论 -
Java ThreadPoolExecutor线程池学习笔记(使用、原理、常见问题总结)-这一篇就够了
简介线程池的由来:线程资源十分有限,开启线程需要系统开销,所以我们可以换成一定数量的线程,然后取管理和复用这些线程,统一分配和控制线程的最大并发数,提供拒绝机制。优点降低创建、销毁线程的开销(重用线程池的线程)有效控制线程池的最大并发数,避免大量的线程之间因互相抢占系统资源而导致阻塞现象;提高线程响应速度提高对线程的管理,提供定时/循环间隔执行等功能工作原理实际上通过 T...原创 2019-03-07 14:45:07 · 1331 阅读 · 0 评论 -
Java wait notify notifyAll-生产者消费者问题
参考如何在 Java 中正确使用 wait, notify 和 notifyAll – 以生产者消费者模型为例原创 2019-03-07 16:42:57 · 347 阅读 · 0 评论 -
Java学习笔记-transient关键字
简介java 的transient关键字为我们提供了便利,你只需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。使用流程工作与原理总结1)一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。2)transient关键字只能修饰变量,而不能修饰...原创 2019-03-08 11:44:58 · 153 阅读 · 0 评论 -
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 · 301 阅读 · 0 评论