Java基础知识点总结

Java基础知识点总结

总结了一些Java基础知识点,主要包括Container、Concurrent、IO、JVM等方面,通过思维导图的方式展现,随着我进一步的学习,也会不断更新下面的知识点,具体请看下图:

Java中Memory Mapped File原理分析

在传统的文件读写方式中,会有两次数据拷贝,一次是从硬盘拷贝到操作系统内核,另一次是从操作系统内核拷贝到用户态的应用程序。而在内存映射文件中,一般情况下,只有一次拷贝,且内存分配在操作系统内核,应用程序访问的就是操作系统的内核内存空间,这显然要比普通的读写效率更高。

内存映射文件的另一个重要特点是,它可以被多个不同的应用程序共享,多个程序可以映射同一个文件,映射到同一块内存区域,一个程序对内存的修改,可以让其他程序也看到,这使得它特别适合用于不同应用程序之间的通信。比普通的基于loopback接口的Socket要快10倍。那么在Java语言中是如何实现Memory Mapped File的呢?

Java中Copy-On-Write容器

Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayListCopyOnWriteArraySet。CopyOnWrite容器非常有用,可以在非常多的并发场景中使用到。

队列同步器(AbstractQueuedSynchronizer)源码分析

AbstractQueuedSynchronizer(队列同步器)在Java并发工具中经常被用到,比如说我们常用的CountDownLatchReentrantLockReentrantReadWriteLockSemaphore等等并发工具类底层都是基于队列同步器的,只有掌握了队列同步器底层的工作原理才能更好的理解其他的并发工具的工作机制,这篇文章将会从源码的角度分析队列同步器的工作原理。

Guide to the Java Phaser

Java 7中新增了一个灵活的线程同步栅栏—Phaser,如果你需要在执行某些任务之前等待其他任务执行到某个状态,那么Phaser是一个很好的选择,这篇文章将介绍java.util.concurrent.Phaser,它和CountDownLatch具有相似的功能,但是Phaser更灵活。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×