![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaSE
_吃Tom的Jerry
这个作者很懒,什么都没留下…
展开
-
一文掌握AQS底层原理
本文来源公众号:石杉的架构笔记 如有侵权请通知作者下架前言如果你想深入研究Java并发的话,那么AQS一定是绕不开的一块知识点,Java并发包很多的同步工具类底层都是基于AQS来实现的,比如我们工作中经常用的Lock工具ReentrantLock、栅栏CountDownLatch、信号量Semaphore等,而且关于AQS的知识点也是面试中经常考察的内容,所以,无论是为了更好的使用还是为了应付面试,深入学习AQS都很有必要。CAS学习AQS之前,我们有必要了解一个知识点,就是AQS底层中大量转载 2020-11-26 15:17:35 · 1127 阅读 · 0 评论 -
一文搞定java的四种内部类
一:成员内部类 1.成员变量 与成员内部类成员变量:在类中定义的,没有staitc修饰符的变量称为成员变量,也称为实例变量 成员变量的特点: 1.每个实例都有这样的变量 2.要在main方法中调用成员变量(实例变量),必须先要创建对象,然后才能调用实例变量 在类中定义的没有static修...原创 2020-05-19 11:42:53 · 249 阅读 · 0 评论 -
ReentrantLock代码逻辑
Lock方法执行调用直接获取锁(非公平锁没有该步骤),获取不到执行sync.lock();由于公平参数决定创建的是FailLock是NonFailSync.这个时候就会调用具体实现的lock(Sync中是抽象)方法. 调用acquire(1)方法(Sync中抽象方法) 该方法中调用AQS中的tryAcquire方法(抽象方法),最终调用实现类的tryAcquire方法.锁获取逻辑:1.判读是否...原创 2020-03-06 18:47:46 · 145 阅读 · 2 评论 -
Java并发之AQS详解
原文链接:http://www.cnblogs.com/waterystone/p/4920797.html 一、概述 谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)! 类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实...转载 2018-08-15 12:56:30 · 89 阅读 · 0 评论 -
java集合知识,你需要知道的都在这了
1)集合中要注意的知识点: 集合中只能存储引用数据类型,无法存储基本数据类型。比如在集合中int类型的值被包装成Integer类型放入集合。 混淆的知识点: 对与Object中定义的hashCode()其功能是不同的对象返回不同的hashCode值。注意:这只是Object中该方法的作用,其他类重写其hashCode()后并不一定满足。 比如,S...原创 2018-09-10 11:20:44 · 309 阅读 · 0 评论 -
Bean拷贝工具类性能比较
Bean拷贝工具类性能比较引言几年前做过一个项目,接入新的api接口。为了和api实现解耦,决定将api返回的实体类在本地也建一个。这样做有两个好处可以在api变更字段的时候保持应用稳定性可以对返回的实体的属性做处理,以提高可读性。例如接口返回long类型的时间戳,则将该字段在本地实体类中对应字段设置为date类型方便使用。大致是这样的一个应用场景。当时刚毕业,充斥的都是A.setN...转载 2018-11-25 13:36:13 · 536 阅读 · 0 评论 -
服务化基石之远程通信系列三:I/O模型
远程通信系列  I/O模型I/O即输入/输出(Input/Output)。每个应用系统间都无法完全避免相互的依赖调用,称之为远程通信;每个应用系统自身也将或多或少的产生数据,称之为本地读写。I/O则是远程通信和本地读写的核心。虽然地位重要,但I/O的性能发展是明显落后于 CPU 的。对于高性能、高并发的应用系统来说,如何回避I/O瓶颈从而提升性能是至关重要的。阻塞与非阻塞一般来说,...转载 2018-12-19 11:50:23 · 116 阅读 · 0 评论 -
String类常用方法和高级知识点
一:常用的方法 char charAt(int index) 返回指定索引处的 char 值 int codePointAt(int index) 返回指定索引处的字符的Unicode编码 int compareTo(String anotherString) this与anotherString比较,返回正,负,0 String concat(St...原创 2018-05-08 18:23:08 · 705 阅读 · 0 评论 -
一篇了解Java中方法的覆盖(重写)不用在百度了
关于封装、继承和多态的概念这里就不再赘述,本文只描述方法覆盖(重写)的条件及限制。一:关于方法的覆盖 1.什么时候方法要进行重写? 如果父类中的方法已经无法满足当前子类的业务需求,需要将父类中的方法进行重新写一遍。 2.子类如果重写父类中的方法之后,子类对象一定调用的是重写之后的方法。 3.发生方法覆盖的条件:发生在具有继承关系的两个类之间必须具有相同的方法名,相...原创 2018-05-08 17:35:59 · 225 阅读 · 0 评论 -
File类中的常用方法
前言:主要介绍IO包下的File类中的常用方法。实例一:/* java.io.File; 1.File类和流无关,不能通过该类完成文件的读和写. 2.File是文件和目录路径名的抽象表示形式 File代表的是硬盘上的Directory和file*/import java.io.*;public class Test01{ publi...原创 2018-05-08 11:44:13 · 391 阅读 · 0 评论 -
接口与抽象类概念
接口是一个特殊的抽象类(仅限于JDK 1.8以下 1.8以上并不完全正确,后续更新)一: 接口和抽象类相同点:1.接口和抽象类都是一种类型2.接口个抽象类都是不能实例化的.但是都可以用来声明引用,指向实现类或具体子类的对象(特别注意:****只要是接口实现类的泛化关系类 型的引用指向该实现类的对象,满足父类型的引用指向子类型对象,那么该引用就可以被强制类型转原创 2020-05-15 14:50:24 · 1496 阅读 · 0 评论 -
java基础概念--接口与抽象类(初级java必备)
接口是一个特殊的抽象类(仅限于JDK 1.8以下 1.8以上并不完全正确,后续更新)一: 接口和抽象类相同点:1.接口和抽象类都是一种类型2.接口个抽象类都是不能实例化的.但是都可以用来声明引用,指向实现类或具体子类的对象(特别注意:****只要是接口实现类的泛化关系类 型的引用指向该实现类的对象,满足父类型的引用指向子类型对象,那么该引用就可以被强制类型转换为此接口类型****)3.一个...原创 2018-05-08 11:51:09 · 133 阅读 · 0 评论 -
java基础IO流介绍及相关Api(初级java必备)
1)流的写入读取机制及流的特点 1.低级流是指直接访问源文件的流,高级流是指对已经存在的低级流进行包装,使其在读或写的时候拥有低级流的读写特点,又能拥有高级流读写的便利,比如BufferedReader已经可以一读读一行了(readLine方法)BufferedWriter开始有newLine(); Writer中继承的可以直接写字符串等等2)InputStream与OutputStrea...原创 2018-05-08 11:55:32 · 150 阅读 · 0 评论 -
详细介绍java中四种内部类的作用
一:成员内部类 1.成员变量 与成员内部类成员变量:在类中定义的,没有staitc修饰符的变量称为成员变量,也称为实例变量 成员变量的特点: 1.每个实例都有这样的变量 2.要在main方法中调用成员变量(实例变量),必须先要创建对象,然后才能调用实例变量 在类中定义的没有static修...原创 2018-05-08 12:06:38 · 238 阅读 · 0 评论 -
java中this、super、this()、super()的用法和区别
this关键字:一.this是什么? this是一个引用类型, 在堆中的每一个java对象上都有this,this保存内存地址指向自身。二.this及this()能用在哪些地方?this可以用在成员方法中.this()可以用在构造方法中.语法: this(实参);通过一个构造方法去调用另一个构造方法。目的:代码重用。 this(实参);必须出现在构造方法的第一行。 应用实例:public ...原创 2018-05-08 12:26:42 · 7075 阅读 · 0 评论 -
一文看懂java 反射机制及常用api
概述:1.反射机制的本质反射机制就是对I/O流的封装版,读取硬盘上的class文件,同时也是SUN公司对客户做出让步的选择。反射机制通过将硬盘上的class文件加载到内存,让开发人员了解当前的【陌生对象】 2.class文件有什么作用: class文件是【解释文件】。JVM可以通过【解释文件】了解当前【实例对象】的特征和行为3.class文件在硬盘上的位置: 1.java p...原创 2018-05-08 13:44:56 · 339 阅读 · 1 评论 -
一文理解Java的异常机制是干啥的,怎么用(初级java必备)
一: try{}catch{}语句块1try{}catch{} 这种形式一般来说前者和后者不是因果关系2.可以一个try跟几个catch 在try中的异常一般是有因果关系的(类似于事务不可再分,要么全部成功要么全部失败,部分成功或失败是逻辑不通的),这种情况不能使用第一种方式。3.其后跟finally(前两种情况)也可以try{}finally{}(用在不想处理代...原创 2018-05-08 14:40:48 · 230 阅读 · 0 评论 -
Java多线程那点事(一)
一:相关概念:1.并行与并发:并行:多个cpu实例或者多台机器同时执行一段处理逻辑,是真正的同时。并发:通过cpu调度算法,让用户看上去同时执行,实际上从cpu操作层面不是真正的同时。并发往往在场景中有公用的资源,那么针对这个公用的资源往往产生瓶颈,我们会用TPS或者QPS来反应这个系统的处理能力。 2.进程与线程进程就是程序的一次执行过程(进程是一个动态过程 包括:为...原创 2018-03-28 10:55:10 · 258 阅读 · 0 评论