JAVA之旅(十四)--静态同步函数的锁是class对象,多线程的单例设计模式,死锁,线程中的通讯以及通讯所带来的安全隐患,等待唤醒机制 JAVA之旅,一路有你,加油! 一.静态同步函数的锁是class对象 我们在上节验证了同步函数的锁是this,但是对于静态同步函数,你又知道多少呢? 我们做一个这样的小实验,我们给show方法加上static关键字去修饰 private static synchronized void show() { if (tick > 0) { try { Thread…
一.环境准备 创建一个Web的Maven项目 参考Java开发学习(二十三)----SpringMVC入门案例.工作流程解析及设置bean加载控制中环境准备 pom.xml添加Spring依赖 <?xml version="1.0" encoding="UTF-8"?> ​ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.…
一.Collections简介 在集合的应用开发中,集合的若干接口和若干个子类是最最常使用的,但是在JDK中提供了一种集合操作的工具类 —— Collections,可以直接通过此类方便的操作集合 二.Collections类的常用方法及常量 No. 方法 类型 描述 1 public static final List EMPTY_LIST 常量 返回一个空的List集合 2 public static final Set EMPTY_SET 常量 返回空的Set集合 3 public sta…
Java中的Object类 一:什么是Object类: Object类是所有类的父类,相当于所有类的老祖宗,如果一个类没有使用extends关键字明确标识继承另外一个类,那么这个类默认继承Object类. Object类中的方法,适合所有子类. 二:toString()方法: 在OBject类里面定义toString()方法的时候返回的对象的哈希code码(对象地址字符串). 如果我们在代码里直接输出一个对象,你会发现它输出的这个对象在内存中的地址,我们把它称为哈希码,它是通过哈希算法生成的一个…
1.概述 对于Java程序员来说,到目前为止出现次数最多的应该是NullpointException,它是导致Java应用程序失败的最常见原因.之前处理空指针我们必须先通过条件先去判断,然后再确认是否有null值.但是在Java8中,我们可以使用Optional类来解决null值判断问题,其借鉴Google Guava项目的Optional类而引入的一个同名Optional类,Guava通过使用检查空值的方式来防止代码污染,它鼓励程序员写更干净的代码.使用Optional类可以避免显式的null…
在Java API中,可以从其中读入一个字节序列的对象称作输入流,而可以向其中写入一个字节序列的对象称为输出流. 输入流的指向称为源,程序从指向源的输入流中读取数据. 输出流的指向是字节要去的目的地,程序通过向输出流中写入数据把信息传递到目的地. 输入输出流一般分为字节输入流.字节输出流.字符输入流和字符输出流. 这些字节序列的来源地和目的地可以是文件.网络连接甚至是内存块. 抽象类InputStream和OutputStream构成了输入/输出类层次结构的基础. 1.字节输入流InputStr…
interface:接口1.使用说明: 1.接口使用interface来定义 * 2.Java中,接口和类是并列的两个结构 * 3.如何定义接口:定义接口中的成员 * * 3.1 JDK7及以前:只能定义全局常量和抽象方法 * >全局常量:public static final的.但是书写时,可以省略不写 * >抽象方法:public abstract的 * * 3.2 JDK8:除了定义全局常量和抽象方法之外,还可以定义静态方法.默认方法(略 * * 4. 接口中不能定义构造器的!意味着接口…
转载请注明源出处:http://www.cnblogs.com/lighten/p/7517454.html 1.前言 本章介绍并发队列ConcurrentLinkedDeque,这是一个非阻塞,无锁,无界 ,线程安全双端操作的队列.简单说就是ConcurrentLinkedQueue的升级版,在JDK7之后才提供.该队列也不允许空元素,而且size方法并不是常量时间,其需要遍历链表,此时并发修改链表会造成统计size不正确.同样,bulk操作和equal以及toArray方法不保证原子性. 2…
虽然可以手动进行文件系统的挂载,但是每次都手动挂载就会很麻烦,开机挂载的目的就是实现文件系统的自动挂载. 一.开机挂载:/etc/fstab及/etc/mtab 主要是通过修改/etc/fstab文件的配置来实现. fstab是开机时的设置,实际文件系统的挂载是记录到/etc/mtab和/proc/mounts这两个文件中. 1.系统挂载的限制: A.根目录/必须挂载,而且一定是最先挂载的,要先于其他mount point. B.其他挂载点必须为已新建的目录,可以任意指定. C.所有挂载点在同一…
JAVA之旅(二十四)--I/O流,字符流,FileWriter,IOException,文件续写,FileReader,小练习 JAVA之旅林林总总也是写了二十多篇了,我们今天终于是接触到了I/O了.如果你初学,不懂IO流,你可以从前往后慢慢看,但是你工作了一段时间你会发现,流的使用场景以及技术点是非常的强硬的,我们势必要掌握这个知识点,如果你觉得翻阅API比较鼓噪,看视频得不到精髓,看书看不到要点,你就跟随我的JAVA之旅,一起去探索吧! 一.I/O概述 I/O全名:Input Output…