![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 91
往事随风_h
感谢互联网,让我在知识的海洋遨游了一年又一年,为了感谢广大网友,我也把所学知识分享,咱们一起进步!
展开
-
Java并发 - 工具篇
文章目录简介正文1. 什么是并发工具2 . 倒计数器 CountDownLatch3. 倒计数器升级版 CyclicBarrier【循环栅栏】4. 信号量 Semaphore5.区别总结后记简介前面我们介绍了 JUC 中的并发容器,它相当于一个同步容器的升级版,很大程度上提高了并发的性能今天我们来介绍 JUC 中的并发工具,它主要是通过改变自身的状态来控制线程的执行流程;常见的有如下几种:CountDownLatch:倒计时器(属于闭锁的一种实现),用来阻塞线程CyclicBarrier:循原创 2021-06-18 10:59:23 · 4385 阅读 · 3 评论 -
Java并发 - 同步容器篇
文章目录简介目录正文1 . 什么是同步容器2. 为什么要有同步容器3. 同步容器的优缺点4. 同步容器的使用场景总结简介同步容器主要分两类,一种是Vector这样的普通类,一种是通过Collections的工厂方法创建的内部类虽然很多人都对同步容器的性能低有偏见,但它也不是一无是处,在这里我们插播一条阿里巴巴的开发手册规范:高并发时,同步调用应该去考量锁的性能损耗。能用无锁数据结构,就不要用锁;能锁区块,就不要锁整个方法体;能用对象锁,就不要用类锁。可以看到,只有在高并发才会考虑到锁的性能问原创 2021-05-30 14:16:10 · 4299 阅读 · 0 评论 -
线程的安全性 - 并发基础篇
简介当多个线程访问某个类时,这个类始终都能表现出正确的行为,那么就说这个类是线程安全的。目录这次分三步走:关于相关知识点,放在文末的脑图里了,大家想看结论的,可直接下拉观看哦。1.创建一个线程安全的类2.创建一个线程不安全的类:有一个状态变量3.创建一个线程不安全的类:有多个状态变量正文线程的安全性主要是针对对象的状态(实例属性或静态属性)而言的,如果在多线程中,访问到的对象状态不一致(比如常见的自增属性),那么就是线程不安全的下面我们一步步来先来个无状态类第一步:无状态类这里我们写原创 2021-05-26 01:39:22 · 3364 阅读 · 1 评论 -
Java中的IO流 - 入门篇
简介文件IO流,主要有两种方式字节流:基于各种文件,包括普通文本txt,音频文件mp3,视频文件mp4等字符流:基于普通的文本字符串,比如普通文本txt等本例中用到的相关类如下:所有的读写操作都是针对内存而言的,因为程序就是运行在内存中读操作就是从磁盘文件或网络流读到内存,对于内存而言就是Input写操作就是从内存写到磁盘文件或网络流,对于内存而言就是Output下面分别介绍这两种方式字节流本例子,字节流中主要讲的是ObjectInputStream和ObjectOut原创 2021-05-12 15:15:45 · 4528 阅读 · 4 评论 -
进程与线程 - 入门篇
文章目录简介1. 进程和线程的关系是怎么样的呢?2.既然有了进程,为啥还要有线程呢?3. 多线程都有哪些好处呢?4. 多线程要怎么确保数据安全呢?5. 线程的生命周期都有哪些呢?6. 这些状态之间的关系是咋样的呢?7. 那么线程的创建 New 有几种方式呢?8. BLOCKED 状态一般什么情况下会出现呢?9. WAITING 和 TIMED_WAITING有啥区别,不都是等待状态吗?总结简介首先用术语来讲一下,进程是系统进行资源调度和分配的基本单元,线程是进程的最小执行单元;比如Windows中原创 2021-05-12 14:54:16 · 2719 阅读 · 5 评论 -
非常全面的 JavaSE 知识点总结
文章目录1.你使用过的JDK版本有哪些?2.面试题或者考试题:JAVA_HOME,Path和ClassPath的区别?3.java数据类型分为几类几种4.&&和&的区别?||与|的区别?5.前++和后++的区别?前--和后--的区别?6.质数【编程题】7.while与do-while的区别?8.break,continue,return三者的区别?9.switch支持的数据类型有哪些?10.数组的定义方式有哪些?11.冒泡排序【编程题】12.面向对象三大特征13.static关键字1原创 2021-04-16 11:34:11 · 7412 阅读 · 5 评论 -
关于导入外来项目the selection cannot be run on any server错误的问题
最近在导入外来项目时,遇到了一个难题,就是出现了图中的错误。the selection cannot be run on any server(无法在任何服务器上运行所选内容)这个错误的原因在于Dynamic Web Module 的版本与server不匹配。Dynamic Web Module的版本可以通过右键项目名->properties->Project Facets可以看到版本号为4.0时,版本号和服务器不匹配,右侧的服务器都是不可选的。如何修改版本号呢?在eclipse的w原创 2020-08-05 09:00:31 · 5654 阅读 · 0 评论