
Java
文章平均质量分 66
wflovejava
simple is not easy
展开
-
理解BIO和NIO
通过一个例子理解BIO服务端:public class Server { public static void main(String[] args) { byte[] buffer = new byte[1024]; try { ServerSocket serverSocket = new ServerSocket(8080...原创 2019-11-07 14:22:57 · 332 阅读 · 1 评论 -
Java并发编程- CAS原理
Java并发编程- CAS原理例子:/** * CAS原理 * @author wufei * @create 2019-07-23 19:03 **/public class CAS1 { private static volatile int m =0; //原子性的保证 private static AtomicInteger atomic...原创 2019-07-23 19:23:30 · 755 阅读 · 0 评论 -
Java并发编程- CountDownLatch用法
Java并发编程- CountDownLatch用法使用场景:需要在主线程等待其他子线执行完毕之后,然后再执行主线程的任务,这时需要使用CountDownLatch比较合适了。代码例子:public class TestCountDownLatch1 { final static CountDownLatch latch = new CountDownLatch(2); ...原创 2019-07-19 10:58:08 · 208 阅读 · 0 评论 -
Java并发编程- AQS原理
Java并发编程- AQS原理原创 2019-07-24 10:29:47 · 389 阅读 · 0 评论 -
Java并发编程- CyclicBarrier用法
Java并发编程- CyclicBarrier用法使用场景:用于多线程处理计算数据,最后合并计算结果的场景例子:public class CyclicBarrierTest { static CyclicBarrier cyclicBarrier = new CyclicBarrier(3); public static void main(String[] args) {...原创 2019-07-19 17:58:15 · 221 阅读 · 0 评论 -
Java并发编程-ReentrantLock原理
Java并发编程-ReentrantLock原理原创 2019-07-30 11:26:30 · 233 阅读 · 0 评论 -
Java并发编程-重入锁
Java并发编程-重入锁例子: public static void main(String[] args) { for (int i = 0; i < 5; i++) { new Thread(new Runnable() { public void run() { synchronized (this){ ...原创 2019-07-30 16:29:31 · 150 阅读 · 0 评论 -
Java并发编程-Semaphore使用
Java并发编程-Semaphore使用使用场景:Semaphore(信号量)同时运行多少个并发执行,比如我现在设置30个线程访问,可以通过Semaphore控制同时多个线程同时访问的,代码如下:public class SemaphoreTest { private static final int THREAD_COUNT = 30; private static fin...原创 2019-07-30 17:50:27 · 270 阅读 · 0 评论 -
Java并发编程- Synchronized原理
Java并发编程- Synchronized原理在jdk.1.6之前是重量级锁,jdk1.6之后对synchronzied的关键字的优化之后,引入了偏向锁,轻量级锁。1.先来看synchronzied使用的基础:static A a = new A();//普通同步方法public synchronized void test(){ System.out.printl...原创 2019-07-22 14:40:51 · 487 阅读 · 0 评论 -
Java并发编程-读写锁
Java并发编程-读写锁原创 2019-07-31 14:07:15 · 296 阅读 · 2 评论 -
手写JAVA动态代理
代码目录:具体类:public interface UserDao { public void query(String s);}public class UserDaoImpl implements UserDao{ private UserDao userDao; public UserDaoImpl(){ } publi...原创 2018-12-18 09:35:14 · 251 阅读 · 0 评论 -
手写HashMap
1.手写一个HashMap2.jdk1.8的HashMap原理3.HashMap扩容机制是怎么样的?4.JDK1.8为什么要使用红黑树5.为什么重写Equals方法时,要重写HashCode方法,根HashMap有关系吗?为什么6.HashMap是线程安全的吗?遇到过ConcurrentModificationException异常吗?为什么会出现?如何解决?7. 在使用H...原创 2018-12-18 09:37:46 · 368 阅读 · 1 评论 -
Java核心技术 第1讲 | Exception和Error有什么区别?
java核心技术原创 2019-02-20 08:58:47 · 295 阅读 · 0 评论 -
Java核心技术 第7讲 | int和Integer有什么区别?
Java核心技术 第7讲 | int和Integer有什么区别?原创 2019-02-20 09:11:58 · 198 阅读 · 0 评论