Java面试二(设计模式)

基础二设计模式概要创建型模式1. 单例模式一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。2. 工厂模式定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 比如你和老板去饭店吃鲍鱼,直接和酒店说要鲍鱼就可以了;酒店负责采购,做鲍鱼;这样我们就不用自己做鲍鱼了,也就实现了把客户和服务分开。3. 抽... …… 阅读全文

位运算

序位运算在程序设计中非常重要,特别是有复杂运算的时候,位计算的高效率优势发挥地淋漓尽致。BigDecimal底层加减乘除运算都是运用了位运算,如果在大学区间有学到位运算符,应该重视起来,不要像作者君这样,现在要去捡起来。以下内容都是假定各位都知道位运算的情况下。加法先看一道题 给出两个整数 aa 和 bb , 求他们的和, 但不能使用 ++ 等数学运算符。 说明 ... …… 阅读全文

Java线程的6种状态及切换(透彻讲解)

Java中的线程的状态分为6种。初始(NEW):新创建了一个线程对象,但还没有调用start()方法。运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的成为“运行”。 线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu 的使用权,此时处于就绪状态(r... …… 阅读全文

Java Thread

Java多线程Java多线程只有一种构造方式,即创建Thread对象。 实现线程的执行方法有两种方式: 1. 继承Thread,重写Thread的run()方法。 2. 实现Runnable 接口的run()方法。线程命名默认命名Java源码public Thread(Runnable target) { init(null, target, "Thr... …… 阅读全文

Java Thread synchronized

synchronized关键字提供了一种锁机制,能确保共享变量的互斥访问,防止数据不一致的问题出现。 synchronized其实是获取synchronized修饰的monitor锁。monitor锁包括monitor enter和monitor exit两个JVM指令。将java编译成汇编的时候就会显示地出现这个锁。使用synchronized可以修饰方法和代码块。 但是有一些注意点... …… 阅读全文

Java Thread 通信

单线程通信wait & notify wait()和notify()都是Object的方法。wait方法会使当前线程进入阻塞,知道有其它线程调用了notify()或notifyAll(),或者阻塞时间到了。 wait(),notify必须拥有该对象的monitor(This monitor),也就是wait方法只能在同步方法中使用,并且wait和notify的对象一致。否则会抛出... …… 阅读全文

JavaThreadGroup

所有的Thread都有ThreadGoup,同线程存在父子关系,ThreadGroup也存在父子关系。如图: 林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka 摘要:线程组ThreadGroup表示一组线程的集合,一旦一个线程归属到一个线程组之中后,就不能再更换其所在的线程组。那么为什么要使用线程组呢?个人认为有以下的好处:方便... …… 阅读全文

PreventDuplicated

package com.tal.multithread;import javafx.geometry.Pos;import java.io.File;import java.io.IOException;import java.nio.file.Files;import java.nio.file.Path;import java.nio.file.Paths;import ja... …… 阅读全文