10 2020 档案
反射
摘要:1,反射机制: 在程序运行状态中,对于任意一个类,都能知道这个类的所有属性和方法,对于任意一个对象,都能调用它任意一个方法和属性, 这种动态调用对象的方法的功能称为Java语言的反射机制。 2,反射的优缺点: 优:运行期类型的判断,动态加载类,提高代码灵活度。 缺:①性能瓶颈,反射相当于一系列解释操 阅读全文
posted @ 2020-10-31 19:06 呵呵哒9876 阅读(114) 评论(0) 推荐(0)
虚拟机类加载机制
摘要:1,类文件结构 java中.java程序经过编译生成.class文件,.class文件由(不同平台windows,Linux,macOs)虚拟机加载, 生成机器指行的二进制机器码 1.1,Class类文件结构 Class文件是一组以8个字节为基础单位的二进制流,各个数据项严格的按照顺序紧凑的排列在文 阅读全文
posted @ 2020-10-30 16:56 呵呵哒9876 阅读(141) 评论(0) 推荐(0)
Java内存区域与垃圾回收
摘要:1,Java内存区域 1.1,运行时数据区域 java虚拟机在java的执行过程中将其管理的内存划分若干区域,有的随虚拟机进程的启动而一直存在,有的则依赖线程的启动和结束而建立和销毁。 1.1.1,程序计数器 线程私有 可以看作当前线程所执行的字节码的行号指示器 其工作:通过改变计数器的值来选取下一 阅读全文
posted @ 2020-10-29 21:26 呵呵哒9876 阅读(227) 评论(0) 推荐(0)
线程池
摘要:1,线程池优点: ①降低资源消耗,复用已创建的线程,减少线程的创建与销毁。 ②提高响应速度,当任务到达时,直接用已创建的线程。 ③提高线程的可管理性,控制并发量。 2,ThreadPoolExecutor类源码: 参数:5个必须参数: corePoolSize:核心线程池数量 maximumPool 阅读全文
posted @ 2020-10-12 21:23 呵呵哒9876 阅读(70) 评论(0) 推荐(0)
ThreadLocal
摘要:1,ThreadLocal是什么: ThreadLocal也是解决多线程访问共享变量问题的,不同于加锁,他会在每一个线程内部创建副本, 每个线程独立访问自己内部的副本,不会产生冲突。 2,用法: 示例: public class ThreadLocalTest { static ThreadLoca 阅读全文
posted @ 2020-10-12 18:49 呵呵哒9876 阅读(205) 评论(0) 推荐(0)
volatile
摘要:1,volatile用法:参考博客 上一篇主要介绍了基于AQS的独占锁和读写锁,其中state同步状态都是用volatile关键字修饰的。 作用:保持数据的可见性! 什么是不可见性的? ①了解java内存模型,JMM 线程通过将主存中共享变量副本保存在线程私有的本地内存,然后进行写操作。当一个线程修 阅读全文
posted @ 2020-10-12 11:39 呵呵哒9876 阅读(213) 评论(0) 推荐(0)
ReentrantLock AQS ReentrantReadWriteLock
摘要:0,Sychronized与ReentrantLock区别(两种都是常见可重入排他锁) ①ReentrantLock是JDK实现的,Sychronized是JVM实现,通过底层指令控制。 ②Reentrant支持非公平锁和公平锁,sychronized只支持非公平锁。 ③ReentrantLock可 阅读全文
posted @ 2020-10-12 01:16 呵呵哒9876 阅读(206) 评论(0) 推荐(0)
synchronized
摘要:synchronized直接看这篇 1,synchronized关键字用法 ①修饰代码块,指定加锁对象,表示进入当前代码块要获得指定对象的锁。 ②修饰实例方法:对当前对象加锁,进入同步方法要获得当前对象的锁。 ③修饰静态方法,给当前类加锁,作用于类的所有对象,访问静态方法要获得class锁。 2,介 阅读全文
posted @ 2020-10-09 14:16 呵呵哒9876 阅读(340) 评论(0) 推荐(0)
多线程基础
摘要:学习资料: 深入浅出多线程 JavaGuide 《并发编程的艺术》 百度233 1,进程与线程 1.1,进程:运行一个程序,就会创建进程。应用程序在内存中分配的空间。让操作系统实现并发。 线程:一个程序(进程)的子任务。实现进程内部的并发。轻量级线程。 1.2,关系: has a 进程可以包含多个线 阅读全文
posted @ 2020-10-08 20:35 呵呵哒9876 阅读(111) 评论(0) 推荐(0)
java-容器 集合
摘要:源码分析:田小波个人技术网站:集合框架 http://www.tianxiaobo.com/categories/foundation-of-java/collection/ 其他参考:https://github.com/Snailclimb/JavaGuide#%E5%AE%B9%E5%99%A 阅读全文
posted @ 2020-10-03 23:02 呵呵哒9876 阅读(161) 评论(0) 推荐(0)