
javaSE
文章平均质量分 92
坚持就好96
坚持博客,坚持己心,小女子无才,只希望能够让需要的人刚好看到
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
juc-java.util.concurrent.locks包+AQS
AQS(AbstractQueuedSynchronizer)队列同步容器tryAcquire()尝试是否获得许可如下图,它维护了一个volatile int state(代表共享资源)和一个FIFO线程等待队列(多线程争用资源被阻塞时会进入此队列)。state的访问方式有三种:getState()setState()compareAndSetState()AQS定义两种资源共享...原创 2020-02-26 17:13:15 · 271 阅读 · 0 评论 -
synchronized使用和实现原理
一 synchronized 使用1. 对象锁: a. 同步代码块synchronized(this),synchronized(类实例对象),锁是小括号中的实例对象 b. 同步非静态方法synchronized method,锁是当前对象的实例对象2. 类锁: a. 同步代码块Synchronized(类.class),锁是小括号中类的对象 b. 同步静态方法Synchronized...原创 2020-02-26 15:10:34 · 329 阅读 · 0 评论 -
JUC-java.util.concurrent.atomic包
一 AtomicIntegerpublic class AtomicIntegerExample{ // 请求总数 public static int clientTotal = 5000; // 同时并发执行的线程数 public static int threadTotal = 200; public static AtomicInteger c...原创 2020-02-26 14:39:55 · 183 阅读 · 0 评论 -
Java并发编程和高并发基础三
七 多线程高级类java.util.concurrent包下的类,callable也是在这个包下的。解决原理中出现的问题:可见性 原子性 有序性7.1 synchronized,ReentrantLock7.1.1 synchronizedjvm级别,不会出现死锁是一种同步锁,它修饰的对象有以下几种:1、修饰代码块,被修饰的代码块称为同步语句块。其作用的范围时大括号{}括起来的代码,...原创 2020-02-25 20:54:42 · 153 阅读 · 0 评论 -
String和JavaObject转换
一 String->JavaObject NewCarOrderDTO newCarOrderDTOList = JSON.parseObjce(str, NewCarOrderDTO.class);二String->Array[JavaObject]List<NewCarOrderDTO> newCarOrderDTOList = JSON.parseArray...原创 2020-01-11 17:18:06 · 617 阅读 · 0 评论 -
java并发编程和高并发基础二
三 多线程基础类共享数据:如果每个线程执行的代码相同,可以使用同一个Runnable对象,这个Runnable对象中有那个共享数据(共享一个继承了Runnable接口的对象)如果每个线程执行的代码不同,这时候需要用不同的Runnable对象,实现一个Runnable接口匿名内部类来新建线程来操作同一个对象实例。,InputStream getResourceAsStream()注意:maven会有特定的目录结构具体方法1 本类比如:a.java在包test,有个a.xml文件URL url = this.class.getResource(“a.xml”);//类的包加获取资源URL url = this.cl...原创 2019-06-10 13:50:31 · 1486 阅读 · 0 评论 -
java并发编程和高并发基础一
一 基本概念1 并发多线程处理,要保证线程的安全执行。2 高并发同时处理多个请求,可以通过这种手段优化3 线程安全性当多个线程访问同一个类时,不管运行时环境采用何种调度方式或者这些进程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的。原子性 有序性 可见性二 一些需要知道的原理1 JMM是一种规范,规范了jvm...原创 2019-02-14 11:20:41 · 428 阅读 · 0 评论 -
java反射和注解
一 反射存在的意义框架设计的灵魂A a = new A();jvm启动,将java代码编译成.class文件,然后类加载器加载进jvm内存中,类加载到方法区中,创建对象到堆中。jvm创建对象前,会先检查类是否加载;若加载好,则为对象分配内存,初始化也就是new A();反射是当程序运行时,需要动态的加载一些类这些类可能之前用不到所以不用加载jvm,而是运行时根据需要才加载。比如项目有时...原创 2019-01-21 10:20:31 · 201 阅读 · 0 评论 -
java基础之枚举,日期,泛型,UUID,异常
一、枚举1 定义在某些情况下,原创 2019-01-06 21:28:23 · 278 阅读 · 0 评论 -
IO流的总结
简介字节输入流的抽象基类是InputStream,常用子类是FileInputStream和BufferedInputStream。字符输入流抽象基类是Reader,常用的子类是BufferReader,InputStreamReader,FileReader。二 普通输入流和带缓存的字节输入流区别字节流1.FileInputStream一切文件在系统中都是以字节形式保存的,需要用...原创 2018-12-23 17:20:07 · 201 阅读 · 0 评论 -
java this 和 super 关键字
this和super由于最近看源码的时候发现this关键字的出现频率颇高,可能是自己没有注意到的一个知识点,现在来补充记录一下。this和super一般是放在一起学习。thisthis是用于访问本类中的成员变量,成员方法,和构造方法。表示当前对象。supersuper用于访问父类中的成员变量,成员方法,和构造方法。this和super的区别this如果没有在本类中寻找到需要...原创 2018-11-13 17:10:05 · 175 阅读 · 0 评论