Java 后台开发
一些后台开发项目中实际应用的知识
BusyMonkey
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LockSupport
Thread.sleep()和LockSupport.park()的区别 从功能上来说,Thread.sleep()和LockSupport.park()方法类似,都是阻塞当前线程的执行,且都不会释放当前线程占有的锁资源; Thread.sleep()没法从外部唤醒,只能自己醒过来; LockSupport.park()方法可以被另一个线程调用LockSupport.unpark()方法唤醒...转载 2020-02-09 19:39:05 · 260 阅读 · 0 评论 -
AbstractQueuedSynchronizer总结
目录 1、简介 2、原理 2.1、数据结构 2.2、节点对象 3、使用 3.1、状态变迁 3.2、子类需实现的API 3.3、同步器中的模板方法 4、LockSupport 1、简介 AbstractQueuedSynchronizer (抽象队列同步器,以下简称 AQS)出现在 JDK 1.5 中,由大师 Doug Lea 所创作。AQS 是很多同步器的基础框架,比如 Re...原创 2020-02-09 19:11:23 · 348 阅读 · 0 评论 -
Synchronized底层原理
1、同步块 package com.paddx.test.concurrent; public class SynchronizedDemo { public void method() { synchronized (this) { System.out.println("Method 1 start"); } } }...转载 2020-01-18 14:20:24 · 390 阅读 · 0 评论 -
Java死锁
多线程抢占统一资源容易导致死锁 public class DeadLock { public DeadLock deadLock; public synchronized void lockMethod1(String in) { try { System.out.println("lockMethod1 "+in); ...原创 2020-01-09 14:47:32 · 341 阅读 · 0 评论 -
Java 线程
目录 1、线程状态 1.1、Blocked 1.2、Time_waited/Waiting 2、主线程和子线程 2.1、start和run 2.2、主线程结束,子线程继续 2.3、主线程等待子线程结束后结束 2.4、主线程结束,子线程结束 2.5、守护线程 3、sleep和wait 3.1、sleep 3.2、wait 4、线程相关方法 4.1、join 4.2、yi...原创 2019-12-17 13:59:09 · 805 阅读 · 0 评论 -
Java IO原理
目录 1、操作系统IO原理 2、缓冲区 3、Socket IO模型分类 4、模型演变 Reactor/Proactor 5、select/poll/epoll 6、mmap 7、IO控制方式 7.1、直接程序控制 7.2、中断驱动控制 7.3、直接存储器控制 7.4、通道控制 1、操作系统IO原理 用户程序进行IO的读写,基本上会用到read&write两大...原创 2019-12-03 09:14:07 · 958 阅读 · 0 评论 -
java Socket网络通信 BIO NIO AIO
目录 1、BIO 2、NIO 3、AIO 1、BIO 同步阻塞IO,一个线程处理一个连接,发起和处理IO请求都是同步的 package com.busy.server; import java.io.IOException; import java.io.InputStream; import java.net.ServerSocket; import java.net.So...原创 2018-03-30 16:50:58 · 391 阅读 · 0 评论 -
Java NIO Buffer
目录 1、继承关系 2、内存管理 3、MappedByteBuffer效率比较 4、性能分析 5、注意 1、继承关系 2、内存管理 MMC:CPU的内存管理单元。 物理内存:即内存条的内存空间。 虚拟内存:计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部...原创 2018-09-12 21:27:36 · 347 阅读 · 0 评论 -
JVM
目录 1、内存模型 1.1、程序计数器 1.2、VM Stack 1.3、本地方法栈 1.4、堆 1.5、方法区 1.6、对象内布局 2、垃圾回收 2.1、回收机制 2.2、GC Root 2.3、常见GC回收算法 2.4、垃圾回收器 2.5、JVM命令 2.6、元空间 2.7、垃圾回收器搭配 2.8、JVM参数 2.9、何时出发GC 1、内存模型 ...原创 2017-03-01 14:28:39 · 922 阅读 · 0 评论 -
Java 设计模式
目录 1、设计模式的分类: 2、设计模式的六大原则: 3、工厂模式: 3.1、简单工厂模式: 3.2、工厂模式: 3.3、抽象工厂模式: 3.3.1、在抽象工厂模式中增加一个工厂: 3.3.2、在抽象工厂模式中增加一个产品: 4、单例模式 4.1、懒加载: 4.2、预加载: 4.3、静态内部类: 4.4、枚举: 4.5、双重校验锁: 5、命令模式: 6、代理模式: ...原创 2017-03-01 13:27:24 · 1193 阅读 · 0 评论 -
Java 锁
目录 1、关于乐观锁和悲观锁: 2、关于锁的开销: 3、悲观锁的读写: 4、乐观锁的读写: 5、乐观锁的写修改: 6、不可重入锁: 7、可重入锁: 8、自旋锁: 9、排他锁(ReentrantLock) 9.1、普通ReentrantLock 9.2、带条件的ReenTrantLock 10、synchronized 10.1、同步方法 10.2、代码块对象同步 11...原创 2017-03-23 15:47:22 · 822 阅读 · 0 评论 -
Java 泛型类的继承
按照约定,类型参数名称命名为单个大写字母,以便可以在使用普通类或接口名称时能够容易地区分类型参数。以下是常用的类型参数名称列表 - E - 元素,主要由Java集合(Collections)框架使用。 K - 键,主要用于表示映射中的键的参数类型。 V - 值,主要用于表示映射中的值的参数类型。 N - 数字,主要用于表示数字。 T - 类型,主要用于表示第一类通用型参数。 S - 类型,主要用...原创 2018-06-15 13:39:00 · 1284 阅读 · 1 评论 -
java 多线程框架
目录 1、Thread和Runnable: 1.1、继承Thread: 1.2、实现Runnable接口: 1.3、Thread和Runnable闭包创建线程: 2、ExecutorService 线程池: 2.1、瞬时线程: 2.2、定时线程和周期线程: 2.3、线程池统一命名: 3、ThreadLocal 线程本地变量: 3.1、ThreadLocal为什么会内存泄漏...原创 2017-03-04 14:33:22 · 5142 阅读 · 0 评论