在周末的专栏

28 篇文章
15 人订阅

全部文章

在周末

《Java性能权威指南》笔记----Java性能调优工具

运行队列(r):所有正在运行和就绪状态(一旦有可用cpu就可以运行)的线程数。该数据最好小于或等于CPU个数,否则性能就可能会下降。如果长时间运队列过长,则可能...

7320
在周末

《Java性能权威指南》笔记----JIT编译器

编译型语言(C++,Fortran等):运行程序前,需要用编译器将代码静态编译成CPU可执行的汇编码。汇编码针对特定的CPU。

10310
在周末

Java数据结构-------List

    ArrayList和Vector通过数组实现,几乎使用了相同的算法;区别是ArrayList不是线程安全的,Vector绝大多数方法做了线程同步。

7820
在周末

Java数据结构-------Map

    1)无序; 2)访问速度快; 3)key不允许重复(只允许存在一个null Key);

15020
在周末

Java数据结构-------Set

    HashSet对应 HashMap、LInkedHashSet对应LinkedHashMap、TreeSet对应TreeMap

8430
在周末

Java语法糖(一)

  语法糖(Syntactic Sugar):主要作用是提高编码效率,减少编码出错的机会。

7630
在周末

Java语法糖(二)

  内部类:顾名思义,在类的内部在定义一个类。内部类仅仅是编译时的概念,编译成字节码后,内部类会生成单独的Class文件。

7630
在周末

synchronized的实现原理

    1)普通同步方法,锁是当前实例;     2)静态同步方法,锁是当前类的Class实例,Class数据存在永久代中,是该类的一个全局锁;   ...

8530
在周末

Java并发容器--ConcurrentHashMap

  1、不安全:大家都知道HashMap不是线程安全的,在多线程环境下,对HashMap进行put操作会导致死循环。是因为多线程会导致Entry链表形成环形数据...

7720
在周末

Java并发容器--ConcurrentLinkedQueue

  ConcurrentLinkedQueue是一种基于链表实现的无界非阻塞线程安全队列,遵循先入先出规则。

6230
在周末

Java内存模型

  重排序是指编译器或处理器为了提高程序性能而对指令序列进行重新排序的一种手段。重排序可以导致操作延时或程序看似乱序执行,给程序运行的结果带来一定的不确定性。

8330
在周末

Java并发编程--AQS

  抽象队列同步器(AbstractQueuedSynchronizer,简称AQS)是用来构建锁或者其他同步组件的基础框架,它使用一个整型的volatile变...

7210
在周末

Java并发编程--Lock

  Lock 实现提供了比使用 synchronized 方法和语句可获得的更广泛的锁定操作。synchronized方法或代码块的使用提供了对与每个对象相关的...

4920
在周末

Java并发编程--ReentrantReadWriteLock

  ReentrantReadWriteLock是Lock的另一种实现方式,我们已经知道了ReentrantLock是一个排他锁,同一时间只允许一个线程访问,而...

11130
在周末

Java并发编程--BlockingQueue

  BlockingQueue支持两个附加操作的Queue:1)当Queue为空时,获取元素线程被阻塞直到Queue变为非空;2)当Queue满时,添加元素线程...

7430
在周末

Java并发编程--CountDownLatch

  CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。

9510
在周末

Java并发编程--CyclicBarrier

  CyclicBarrier是一个同步工具类,它允许一组线程互相等待,直到到达某个公共屏障点。与CountDownLatch不同的是该barrier在释放等待...

6510
在周末

Java并发编程--Semaphore

  信号量(Semaphore)控制同时访问资源的线程数量,支持公平和非公平两种方式获取许可。

4310
在周末

RPC-Thrift(一)

  注意点:1)Thrift客户端和服务端使用的I/O模型必须一致,上例中都是使用阻塞式同步I/O模型。

10110
在周末

Java并发编程--Exchanger

  用于线程间数据的交换。它提供一个同步点,在这个同步点,两个线程可以交换彼此的数据。这两个线程通过exchange方法交换数据,如果第一个线程先执行excha...

8240

扫码关注云+社区

领取腾讯云代金券