![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
小伙子。
这个作者很懒,什么都没留下…
展开
-
详解:与运算(&)、或运算(|)、异或运算(^)
一:与运算符(&)运算规则:0&0=0 0&1=0 1&0=0 1&1=1即:两个同时为1,结果为1,否则为0例如:2&3 = 2数字2转化为二进制为: 0 0 0 1 0 数字3转化为二进制为: 0 0 0 1 1 &的结果 0 0...原创 2020-04-09 17:11:02 · 19174 阅读 · 0 评论 -
fastjson:string转json对象或json数组以及它们的取值方法
引入MAVEN依赖<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fast...原创 2020-03-23 17:36:24 · 2040 阅读 · 0 评论 -
java多线程:详解StampedLock的特性,悲观读和乐观读,排他写
1.JDK1.8以前有那么多锁了,为什么还要StampedLock 一般应用,都是读多写少,ReentrantReadWriteLock 因读写互斥,故读时阻塞写,因而性能上上不去。可能会使写线程饥饿,StampedLock营运而生。 2.StampedLock的特点 所有获取锁的方法,都返回一个邮戳(Stamp),Stamp为0表示获取失败,其余都表示成功;所有释放锁的...原创 2019-12-06 16:56:08 · 882 阅读 · 1 评论 -
java多线程:详解使用ReentrantReadWriteLock读写锁,以及锁降级
1.ReentrantReadWriteLock的特性说明1.1获取锁顺序非公平模式(默认):当以非公平初始化时,读锁和写锁的获取的顺序是不确定的。非公平锁主张竞争获取,可能会延缓一个或多个读或写线程,但是会比公平锁有更高的吞吐量。 公平模式:当以公平模式初始化时,线程将会以队列的顺序获取锁。当当前线程释放锁后,等待时间最长的写锁线程就会被分配写锁;或者有一组读线程组等待时间比写线...原创 2019-12-06 14:02:09 · 384 阅读 · 0 评论 -
java调试:IDEA调试java多线程
话不多说,图文教程最后:骚操作是不是很简单 ,点个赞吧!原创 2019-12-05 15:28:16 · 913 阅读 · 0 评论 -
java多线程:使用Lock接口实现自定义锁,互斥锁与重入锁
1.Lock接口的三个实现类ReentrantLock(可重入锁) ReadLock(读锁) WriteLock(写锁)2.自定义互斥锁实现通过实现Lock接口的lock()方法和unlock()方法来完成自定义实现 ps:主要思想就是设置一个状态量,根据状态量来判断是否锁被占用,如果被占用就wait(),如果没被占用就使用。自定义互斥锁实现public ...原创 2019-12-05 11:46:30 · 500 阅读 · 0 评论 -
java多线程:ReentrantLock的使用,实现共享变量线程安全
1.ReentrantLock的介绍ReentrantLock是独占锁且是可重入的 ReentrantLock可以实现公平锁 ReentrantLock可中断响应 ReentrantLock可获取锁时限时等待2.使用ReentrantLock的lock方法获取锁,unlock方法释放锁,模拟多线程实例如下:public class LockDemo { pr...原创 2019-11-29 14:29:20 · 849 阅读 · 0 评论 -
java设计模式:详解单例模式之饿汉式,懒汉式,登记式
1.什么是单例模式所谓的单例模式,就是设计一个类,它在整个程序中只能有一个该类的实例存在,这就是单例模式。2.单例模式的三种实现模式饿汉模式:在类产生的时候就创建好实例,不管需不要需要都去创建实例。这是一种空间换时间的做法。 懒汉模式:不需要创建实例的时候,程序就不再去创建实例;需要用到的时候再去创建。这是一种时间换空间的做法。 登记模式:在需要的时候通过静态内部类去创建实例...原创 2019-11-29 11:44:24 · 311 阅读 · 0 评论 -
java基础:详解synchronized可重入锁以及死锁的发生
1.什么是可重入锁?简单的来讲,可重入就是说某个线程已经获得某个锁,可以再次获取锁而不会出现死锁 可重入,就是可以重复获取相同的锁2.synchronized演示可重入锁代码示例如下public class lock { public void test() { new Thread (() -> { synchro...原创 2019-11-18 15:12:02 · 1141 阅读 · 0 评论 -
java基础:详解break和continue的使用及在循环内switch中使用
一篇好的文章希望能帮到你!!!!1.break表示跳出循环体2.continue表示结束本次循环(ps:本文重点分析在循环内switch中使用特性)3.break示例,当满足条件,触发break,跳出循环体,for循环结束!public static void main(String[] args) { String[] arr = {"a", "b", "c",...原创 2019-10-29 10:27:11 · 3808 阅读 · 0 评论 -
java基础:synchronized的实战使用方式
1.synchronized的概述关键字synchronized可以保证在同一时刻,只有一个线程可以执行某个方法或某个代码块 synchronized可以保证方法或者代码块在运行时,同一时刻只有一个方法可以进入到临界区,同时它还可以保证共享变量的 内存可见性2.synchronized实现的三种方式Java中每一个对象都可以作为锁,这是synchronized实现同步的基...原创 2019-10-29 18:05:22 · 445 阅读 · 0 评论 -
java多线程:详解线程唤醒和阻塞的五种常用方法,sleep,suspend和 resume,wait和 notify,yield,join
1. sleep()方法:sleep(毫秒),指定以毫秒为单位的时间,使线程在该时间内进入线程阻塞状态,期间得不到cpu的时间片,等到时间过去了,线程重新进入可执行状态。(暂停线程,不会释放锁,睡眠结束,线程继续执行,线程自动释放锁)public class ThreadTest { public static void test() { new Th...原创 2019-11-02 15:58:23 · 1963 阅读 · 0 评论