自定义博客皮肤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 5797

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

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

2019-08-22 09:44:17 210

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

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

2019-08-21 11:48:09 287

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

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

2019-08-20 22:50:52 336

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

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

2019-08-20 20:28:37 132

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

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

2019-08-19 22:35:27 277

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

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

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

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

2019-07-26 10:33:36 116

原创 个人学习笔记:ThreadLocal类的使用说明

1、ThreadLocal类简介:ThreadLocal被称为线程局部变量。也是实现共享变量数据一致性的一种方式,与Synchronized相比较,使用ThreadLocal是以空间换时间。当使用ThreadLocal维护变量时,访问其中的每个线程(通过其 get或set方法)具有其自己的,独立初始化的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。实现副本的...

2019-07-25 15:57:14 197

原创 个人学习笔记:java多线程生产者消费者问题两种不同简单实现

使用wait和notifyAll方法或Lock和Condition分别实现生产者消费者问题。强烈建议,wait与await方法都应与while语句联合使用而不是if,唤醒等待的线程使用notifyAll方法而不是notify方法。

2019-07-25 11:09:10 139

原创 个人学习笔记:CountDownLatch类和CyclicBarrier 类和Semaphore类的简单使用介绍

1、CountDownLatch的简单介绍:   CountDownLatch是一种通用的同步工具,用给定的计数初始化。CountDownLatch是一次性现象 - 计数无法重置。由于await方法的调用,方法阻塞直到当前计数达到零,每次调用countDown(),都会让计数值减一,之后释放所有等待的线程并await立即返回任何后续的调用 。示例代码:import java.util.con...

2019-07-24 21:21:13 167

原创 个人学习笔记:Synchronized与ReentrantLock的比较

1、相同点:加锁方式同步,而且都是阻塞式的同步,两者都是可重入锁。2、区别:(1)产生异常时:使用Synchronized锁定如果遇到异常,JVM会自动释放锁,所以使用Synchronized关键字时需要非常小心的处理异常,避免发生不一致的情况。而使用ReentrantLock中的lock方法锁定必须必须必须要手动释放(重要的事说三遍),所以通常在finally代码块中调用Reentrant...

2019-07-24 10:41:00 163

原创 个人学习笔记:java不加锁的线程安全的懒加载的单例模式(内部类实现)及对volatile关键字的理解

1、单例模式代码实现:(思路源于马士兵老师java多线程视频教程)public class Singleton { //实现单例模式必须编写一个私有构造函数,阻止使用new关键字创建对象 private Singleton() { System.out.println("single"); } //用来创建单例的私有静态内部类 private sta...

2019-07-23 11:44:00 290

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

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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