自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

WeiJiFeng_的博客

记录渣渣技术的泪水

  • 博客(8)
  • 收藏
  • 关注

原创 Java堆——Tlab分析,介绍

首先谈java对象的创建我们在语言层面上,创建一个对象仅仅是一个new关键字可以解决的。但是在JVM层面上是怎么创建一个对象的呢??当 jvm 遇到 new 指令 1,检查指令的参数能否在常量池中定位到一个类的符号引用。并检查这个符号引用所代表的类是否已经被加载,解析,初始化过。 2,没有,就进行相应的类加载。 3,类加载完成后就知道对象所需内存大小,为对象进行内存空间分配,在将...

2018-08-25 19:03:43 1516

原创 通过Condition实现wait与指定线程notify

  Object 的 wait / notify / notifyAll 几个方法可以实现对线程的挂起和唤醒。ReentrantLock 也可以,不过要借助我们的 Condition 条件监视器,而且 Object 唤醒部分县城是随机唤醒,Condition 使得线程唤醒是可控的,可以指定唤醒部分线程。 首先我们用 ReentrantLock 和 Condition 实现 Object 中对应的...

2018-08-15 19:41:32 1391

原创 通过demo对比了解Volatile的实现

Volatile的定义  volatile可以保证线程可见性且提供了一定的有序性,但是无法保证原子性。在JVM底层volatile是采用“内存屏障”来实现的。  上面的定义有两层含义:   1,保证共享变量的可见性,但无法保证原子性   2,防止指令重排Volatile的可见性  一个变量如果用volatile修饰了,则Java可以确保所有线...

2018-08-15 14:32:28 1067

原创 调用wait,notify,sleep方法对锁资源的处理

  我们知道wait和sleep方法可以将一个线程阻塞的目的。wait是将线程从Running变为waiting,直到被notify或者notifyAll,才会将线程从waiting状态变成Runnable状态。sleep是在一段时间内将线程从Running变为waiting,时间过去之后,线程进入Runnable状态。     在状态转换的时候,锁资源发生什么变化呢?首先我们用一个dem...

2018-08-14 19:22:43 697

原创 ReentrantReadWriteLock源码分析,java8

一,关系简介二, 实现  2.1 Sync的成员变量   2.2 构造器   2.3 lock()   2.4 ReadLock.lock()流程图关系简介  在这个关系很乱的UML图中,我们可以发现ReentrantReadWriteLock实现了ReadWriteLock接口,内部类有Sync(锁的实现),NonfairSync,FairSync公平锁与非公平锁,Wr...

2018-08-14 14:54:28 413

原创 创建一个自己的数据库连接池

思路1,我的思想是,用一个链表对JDBC连接线程进行保存。这个链表中保存在执行的连接,当一个连接调用close方法的时候,也就证明此连接线程的生命正在走向终结,就将这个连接通过反射代理回收。在添加新的连接线程。 2,我们往线程池中获取连接的时候,getConnection就OK了。话不多说,直接上代码,对于反射和代理有过了解的,一看代码就明白,写的一个很简陋的连接池。 配置信息...

2018-08-10 21:44:35 1318 1

原创 聚簇索引和非聚簇索引的区别

引言  聚簇索引并不是一种索引类型,只是一种存储方式。当表有了聚簇索引的时候,表的数据行都存放在索引树的叶子页中。无法把数据行放到两个不同的地方,所以一张表只允许有一个聚簇索引。   索引使得大多数时候我们避免全表扫描,使数据的性能有一定的提高。而聚簇索引的影响力也是很大的。我们熟悉的Myisam和innodb两大引擎,innodb的默认数据结构是聚簇索引,而Myisam是非聚簇索引。  ...

2018-08-09 17:50:29 3916

原创 解读可重入锁——ReentrantLock&AQS,java8

1 , ReentrantLock简介  首先我们可以查看ReentrantLock类,实现了Lock接口,其内部类都直接或者间接的继承了AQS类,则AQS肯定与ReentrantLock关系密切 我们来个demo,让大家更直接的了解重入锁: 2, 构造器MyReentrantLock是为了写自己理解的注释,改了一下类名 /** * Reen...

2018-08-03 21:31:07 954

空空如也

空空如也

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

TA关注的人

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