自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 个人学习笔记:八种排序算法实现(java)

八种排序算法的java实现(冒泡、插入、选择、快速、归并、基数、希尔以及堆排序)

2019-08-22 09:44:17 187

原创 个人学习笔记:Comparable接口和Comparator接口的比较及应用

Comparable接口和Comparator接口的比较及应用

2019-08-21 11:48:09 265

原创 个人学习笔记:堆的实现(c++数组实现)

c++数组自定义实现的堆和c++ STL库中的堆

2019-08-20 22:50:52 306

原创 个人学习笔记:堆的实现(java数组实现)

小根堆和大根堆(java数组自定义实现的堆以及java的jdk中的堆)

2019-08-20 20:28:37 112

原创 个人学习笔记:java常用线程池及相关的接口

Executor、ExecutorService、FutureTask接口及常用线程池介绍

2019-08-19 22:35:27 248

原创 个人学习笔记: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

原创 个人学习笔记:java多线程部分容器的API简介

一些常用的java并发容器的常用方法介绍

2019-07-26 10:33:36 94

原创 个人学习笔记: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关注的人

提示
确定要删除当前文章?
取消 删除