- 博客(15)
- 收藏
- 关注
原创 IntelliJ IDEA 2019.2.3安装主题插件及卸载
1、打开idea,点击File->Setting->Plugins: 2、输入theme,搜索主题样式,点击install安装主题,等待下载完成后会出现Restart IDE,点击重启IDEA。 3、重启后,可在File->Setting->Appearance&Behavior->Appearance中找到Theme,可进行切换。 ...
2019-10-23 20:39:45 5667
原创 个人学习笔记:c++实现的简单模板链表
温馨提示: 若把类的声明放在.h文件中,将具体的方法实现放在.cpp文件中时,在使用的类中需要将.h 和.cpp都同时导入,不然无法正常运行。 // // Created by 微光 on 2019/5/16. // #ifndef LINKLIST_LINKLIST_H #define LINKLIST_LINKLIST_H #include <iostream> //#inc...
2019-08-14 21:49:52 193
原创 个人学习笔记:c++数组实现的模板队列和栈
1、队列 #include<iostream> using namespace std; template<class T> class ArrayQueue { public: ArrayQueue();//构造函数 bool empty(){return listSize==0;};//判断队列是否为空,如果为空返回true,否则返回false in...
2019-08-14 21:29:48 221
原创 个人学习笔记:ThreadLocal类的使用说明
1、ThreadLocal类简介: ThreadLocal被称为线程局部变量。也是实现共享变量数据一致性的一种方式,与Synchronized相比较,使用ThreadLocal是以空间换时间。当使用ThreadLocal维护变量时,访问其中的每个线程(通过其 get或set方法)具有其自己的,独立初始化的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。实现副本的...
2019-07-25 15:57:14 178
原创 个人学习笔记:java多线程生产者消费者问题两种不同简单实现
使用wait和notifyAll方法或Lock和Condition分别实现生产者消费者问题。强烈建议,wait与await方法都应与while语句联合使用而不是if,唤醒等待的线程使用notifyAll方法而不是notify方法。
2019-07-25 11:09:10 118
原创 个人学习笔记:CountDownLatch类和CyclicBarrier 类和Semaphore类的简单使用介绍
1、CountDownLatch的简单介绍: CountDownLatch是一种通用的同步工具,用给定的计数初始化。CountDownLatch是一次性现象 - 计数无法重置。由于await方法的调用,方法阻塞直到当前计数达到零,每次调用countDown(),都会让计数值减一,之后释放所有等待的线程并await立即返回任何后续的调用 。 示例代码: import java.util.con...
2019-07-24 21:21:13 126
原创 个人学习笔记:Synchronized与ReentrantLock的比较
1、相同点: 加锁方式同步,而且都是阻塞式的同步,两者都是可重入锁。 2、区别: (1)产生异常时:使用Synchronized锁定如果遇到异常,JVM会自动释放锁,所以使用Synchronized关键字时需要非常小心的处理异常,避免发生不一致的情况。而使用ReentrantLock中的lock方法锁定必须必须必须要手动释放(重要的事说三遍),所以通常在finally代码块中调用Reentrant...
2019-07-24 10:41:00 136
原创 个人学习笔记:java不加锁的线程安全的懒加载的单例模式(内部类实现)及对volatile关键字的理解
1、单例模式 代码实现:(思路源于马士兵老师java多线程视频教程) public class Singleton { //实现单例模式必须编写一个私有构造函数,阻止使用new关键字创建对象 private Singleton() { System.out.println("single"); } //用来创建单例的私有静态内部类 private sta...
2019-07-23 11:44:00 261
原创 个人学习笔记:java线程面试中synchronized关键字的常见问题
1、synchronized关键字是对某个对象加锁,而非代码块。 private int count = 10; //加锁的方式1与方式2是等价的 //加锁方式1,在方法上加锁 public synchronized void method1() { //等同于在方法的代码执行时要synchronized(this) count--; System.out.println(Thread...
2019-07-22 21:10:44 154
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人