自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

NULL的博客

我思故我在

原创 join()方法的使用

一、join()方法的使用 主线程创建并启动子线程,如果自线程中要进行大量的耗时运算,主线程往往将早于子线程结束之前结束。如果主线程想等待子线程执行完成之后再结束,比如子线程处理一个数据,主线程要取得这个数据中的值,就要用到 join() 方法 先来看一个不用 join() 方法的例子 publi...

2018-10-29 21:56:12

阅读数 1528

评论数 1

原创 wait()方法的注意点

一、问题是什么? 这个问题是我昨天测试wait()方法的时候偶然发现的,即: 一个线程在同步块或者同步方法中使用同步对象调用 wait() 方法的时候,会出现另一个线程在同步块或者同步方法中不使用 notify() 方法,被 wait() 的线程就能自动被唤醒的现象。当然这个需要分两种情况,这个下...

2018-10-29 21:41:22

阅读数 1806

评论数 0

原创 synchronized关键字(三)

一、三个结论 对于 synchronized(非 this 对象 x) 当多个线程同时执行 synchronized(x){} 同步代码块时呈现同步效果 当其他线程执行 x 对象中 synchronized 同步方法时呈同步效果 当其他线程执行 x 对象方法里面的 synchronized(th...

2018-10-24 22:49:19

阅读数 123

评论数 0

原创 关于HashMap的一些问题

1.为什么Entry数组大小必须为2的幂 // JDK 1.7 static int indexFor(int h, int length) { return h & (length-1); } 使用减法替代取模,提升计算效率; 为了使不同 hash 值发生碰撞...

2018-10-24 20:30:55

阅读数 43

评论数 0

原创 synchronized关键字(二)

一、synchronized同步代码块 使用关键字 synchronized 声明的方法在某些情况下是有弊端的,比如线程 A 调用同步方法执行一个长时间的任务,那么线程 B 必须等待线程 A 将这个同步方法全部执行完才可以调用该方法,但是很多时候我们不需要对整个方法进行同步,可能只需要对部分代码块...

2018-10-22 20:46:26

阅读数 65

评论数 0

原创 synchronized关键字(一)

一、线程安全和不安全 非线程安全:在多个线程对同一个对象的实例变量进行并发访问时会出现值被更改、值不同步的情况 线程安全:获得的实例变量的值是经过同步处理的,按照顺序执行,不会出现脏读情况 举个例子:5个销售员, 卖同一堆货物,每个销售员在卖出一个货品后,并不是立即知道当前货物剩余数量的,因为...

2018-10-21 23:04:46

阅读数 141

评论数 0

原创 线程的优先级

一、线程的优先级 在操作系统中,线程可以划分优先级,优先级较高的线程得到的 CPU 资源较多,即 CPU 优先执行优先级较高的线程对象的任务 在 Java 中使用 setPriority 方法来设置优先级,同时把优先级划分成 1~10 这10个等级,如果小于 1 或者大于 10,则 JDK 会抛出...

2018-10-21 22:57:43

阅读数 104

评论数 0

原创 Thread 中的方法

一、静态方法 1.1 currentThread() 方法 currentThread() 方法返回代码段正在被哪个线程调用的那个线程的信息 public class MyThread7 extends Thread{ static { System.out.printl...

2018-10-21 22:54:16

阅读数 139

评论数 3

原创 进程和线程

一、进程和线程 进程 如果打开一个任务管理器,那么里面所有的 exe 程序都可以理解成一个进程。Adobe 是一个进程,Chrome 也是一个进程 线程 线程可以理解成在进程中独立运行的子任务。比如,QQ.exe 运行时就有很多子任务在同时运行,比如,好友视频线程、下载文件线程、传输数据线程,这...

2018-10-21 22:49:16

阅读数 27

评论数 0

原创 索引优化

一、最佳左前缀法则 左前缀法则指的是:查询从索引的最左前列开始并且不跳过索引中的列 建立一个表,并且在三个字段建立索引 然后我们对索引进行查询 1. explain select * from staffs where name = 'aaa'; 可以看到使用到了索引 2. explain ...

2018-10-21 22:43:27

阅读数 48

评论数 0

原创 索引单表、双表、三表优化

一、索引单表优化 1.建表、插入、查询数据 先建立一张表 我们在里面插入数据 先不建立索引,当我们使用以下语句进行查询时,可以先分析一下性能 explain select id,author_id from article where category_id = 1 and comments ...

2018-10-11 21:42:51

阅读数 538

评论数 0

原创 MySQL | 七种JOIN

七种 join 准备两张表 1.内连接 select * from tbl_emp a inner join tbl_dept b on a.deptId = b.id; 2.左连接 select * from tbl_emp a left join tbl_dept b on a.d...

2018-10-08 00:38:38

阅读数 51

评论数 0

原创 Java泛型擦除和转换

一、泛型擦除 在编译期间,所有泛型信息都会被擦除掉,在生成的字节码中是不包括泛型中的类型信息的 直接举个例子 public class Main2<T> { public static void main(String[] args) { ...

2018-10-06 20:15:59

阅读数 1185

评论数 1

原创 Java 集合 | LinkedHashMap源码分析(JDK 1.7)

一、基本图示 二、基本介绍 public class LinkedHashMap<K,V> extends HashMap<K,V> implements Map<K,...

2018-10-04 14:27:15

阅读数 42

评论数 0

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