
Java
文章平均质量分 79
拥小抱
我比较低调,所以暂无相关介绍。因为菜,所以低调~~~~~~~
展开
-
3.3.3 JMM Java内存模型
JMM java内存模型原创 2022-07-21 20:03:09 · 296 阅读 · 0 评论 -
3.2.1 Java多线程常见方法
让线程进入等待状态,直到被notify。线程释放锁。(只能在同步方法中调用)同上,导致线程进入等待状态直到它被通知或者经过指定的时间。随机选择一个在该对象上调用wait()方法的线程,解除其阻塞状态。(只能在同步方法中调用)解除所有那些在该对象上调用wait方法的线程的阻塞状态。(只能在同步方法中调用)FAQ:为什么要在synchronized方法或代码块中调用?这几个方法要求当前正在运行object.wait()方法的线程拥有object的对象锁。即使你确实知道当前上下文线程确实拥有了对象锁,也不能将o原创 2022-07-10 22:03:17 · 657 阅读 · 0 评论 -
3.1 Java集合类
Java集合 list map原创 2022-06-13 16:57:50 · 119 阅读 · 0 评论 -
3.5 Java相关
Java 内部类持有外部类引用,Java引用原创 2022-06-11 16:55:53 · 138 阅读 · 0 评论 -
3.2.2 Java同步关键字和类
查看字节码发现:MONITORENTER,MONITOREXIT; FLAG:ACC_SYNCHRONIZED。每个对象对应一个Monitor(监视器锁)对象。synchronized基于进出Monitor对象,实现代码块的同步。它的底层依赖操作系统的Mutex Lock(互斥锁)。他是重量级锁性能低。(Monitor(又称管程),在Java中是ObjectMonitor(JVM源码中C++实现)来实现管程。它是对互斥量和信号量的封装,依赖于底层操作系统的Mutex Lock实现,操作系统实现线程之间的切原创 2022-05-23 23:20:10 · 317 阅读 · 0 评论 -
【Java】の基础——线程池
一、重要的成员变量corePoolSize:核心线程池大小 maximumPoolSize:线程池最大线程数 keepAliveTime:表示线程没有任务执行时最多保持多久时间会终止 workQueue:一个阻塞队列,用来存储等待执行的任务 runState:表示线程池的当前状态继承关系二、线程池状态volatile int runState;static final int RUNNIN原创 2017-10-27 22:46:36 · 233 阅读 · 0 评论 -
【Java】の基础——IO
Java IOJava IO即Java 输入输出系统。流在Java IO中,流是一个核心的概念。流从概念上来说是一个连续的数据流。你既可以从流中读取数据,也可以往流中写数据。流与数据源或者数据流向的媒介相关联。 在Java IO中流既可以是字节流(以字节为单位进行读写),也可以是字符流(以字符为单位进行读写)。IO的类型从是读媒介还是写媒介的维度看,Java IO可以分为:输入流:InputStr原创 2017-10-21 19:48:40 · 225 阅读 · 0 评论 -
【Java】の基础——注解
Java注解注解的作用生成文档。这是最常见的,也是java 最早提供的注解。常用的有@see @param @return 等,这点都很熟悉,不就是生成自己的API嘛。跟踪代码依赖性,实现替代配置文件功能。比较常见的是spring2.5 开始的基于注解配置。作用就是减少配置。现在的框架基本都使用了这种配置来减少配置文件的数量。在编译时进行格式检查。如@Override 放在方法前,如果你这个方原创 2017-10-21 14:40:04 · 217 阅读 · 0 评论 -
【Java】の基础——几种线程同步方式
synchronized关键字特点ReentrantLock类特点waitnotifyAll 方式Semaphoresynchronized关键字可以修饰方法、对象、成员变量是可重入锁可以说是一个几种锁过程的封装:偏向锁、轻量锁、对象锁,自旋锁特点不可定时不可中断ReentrantLock类可重入锁。(对于同一个线程,可以继续调用加锁的方法,而不会被挂起)特点可以设置超时时间原创 2017-09-24 22:16:57 · 247 阅读 · 0 评论 -
【Java】の基础——Java语言FAQ
java八种数据类型逻辑型文本型整数型浮点型抽象类和接口重载和重写equals和Java四种权限修饰符Java版本新特性java八种数据类型逻辑型boolean文本型char:1字节;整数型byte:1字节;-128 ~ 127 short:2字节;-2^15 ~ 2^15-1 int:3字节;-2^31 ~ 2^31-1原创 2017-09-22 17:35:23 · 315 阅读 · 0 评论 -
【Java】の基础——JVM类加载
Java虚拟机的类加载机制类的生命周期加载验证准备解析初始化类加载器及双亲委派模型加载器的分类双亲委派模型Java虚拟机的类加载机制虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验】转换解析和初始化,最终形成可以被虚拟机直接使用的java类型——这就是虚拟机的类加载机制。 在Java语言里面,类的加载、连接和初始化过程都是在程序运行期...原创 2017-09-04 22:07:31 · 278 阅读 · 0 评论 -
【Java】の基础——JVM垃圾回收
Java虚拟机内存区域程序计数器Java虚拟机栈本地方法栈Java堆方法区对象创建过程类加载检验分配内存方法1指针碰撞方法2空闲列表在对象头中设置对象信息对象的内存布局对象头实例数据对齐填充对象的访问定位两者区别Java虚拟机内存区域Java虚拟机的运行时数据区划分为几个不同区域。 程序计数器程序计数器原创 2017-09-04 22:06:36 · 327 阅读 · 0 评论 -
【Java】の基础——JVM内存区域
Java虚拟机内存区域程序计数器Java虚拟机栈本地方法栈Java堆方法区对象创建过程类加载检验分配内存方法1指针碰撞方法2空闲列表在对象头中设置对象信息对象的内存布局对象头实例数据对齐填充对象的访问定位两者区别Java虚拟机内存区域Java虚拟机的运行时数据区划分为几个不同区域。 程序计数器程序计数器:原创 2017-09-04 22:05:54 · 278 阅读 · 0 评论 -
【Java】の基础——HashMap
哈希表HashMapMapHashMapHashTableTreeMapLinkedHashMap哈希表说道HashMap,不得不提起哈希表(即散列表)这个存储结构。 平时我们在线性表(数组)中存储数据,查找一个数据需要逐个比较。那么有没有什么办法能更快查找到数据呢? 举个例子:存储 22 41 53 46 29 14 01 这7个数存在下标0-10的数组中我们可以事先定义一个规则......原创 2017-04-03 19:54:23 · 1167 阅读 · 0 评论 -
【Java】の基础——LinkedList和ArrayList
Java集合主要可以划分为4个部分:List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)。CollectionCollection的爸爸Collection的宝宝ArrayListArrayList的Add扩容LinkedListLinkedList的Add扩容JDK18之前JDK18Collecti原创 2017-03-29 19:55:26 · 391 阅读 · 0 评论