
java进阶
一枚猿类---------万万
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
NIO、BIO、AIO的区别
1.BIO (同步阻塞I/O模式) 数据的读取写入必须阻塞在一个线程内等待其完成。 这里使用那个经典的烧开水例子,这里假设一个烧开水的场景,有一排水壶在烧开水,BIO的工作模式就是, 叫一个线程停留在一个水壶那,直到这个水壶烧开,才去处理下一个水壶。但是实际上线程在等待水壶烧开的时间段什么都没有做。 2.NIO(同步非阻塞模式) 同时支持阻塞与非阻塞模式,但这里我们以其同步非阻塞I/O模式...原创 2019-04-28 16:19:27 · 145 阅读 · 0 评论 -
GC垃圾回收机制
常见的垃圾收集器有3类: 新生代的收集器包括: Serial PraNew Parallel Scavenge 老年代的收集器包括: Serial Old Parallel Old CMS 回收整个Java堆(新生代和老年代) G1收集器 1.Serial串行收集器-复制算法 Serial收集器是新生代单线程收集器,优点是简单高效,算是最基本、发展历史最悠久的收...原创 2019-04-28 16:19:11 · 150 阅读 · 0 评论 -
java六大设计原则
1、单一职责原则(SingleResponsibilityPrinciple) 高内聚,低耦合 2、依赖倒转原则(DependenceInversionPrinciple) 高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。即针对接口编程,不要针对实现编程 3、里氏代换原则(LiskovSubstitutionPrinciple) 定义1...原创 2019-04-28 16:18:53 · 389 阅读 · 0 评论 -
获取请求IP地址
public static String getIpAddress(HttpServletRequest request) { String ipAddress = request.getHeader("x-forwarded-for"); if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnore...原创 2019-04-28 16:13:26 · 1330 阅读 · 0 评论 -
线程锁+线程池+线程同步等
1、并发编程三要素? 1)原子性:原子性指的是一个或者多个操作,要么全部执行并且在执行的过程中不被其他操作打断,要么就全部都不执行。 2)可见性:可见性指多个线程操作一个共享变量时,其中一个线程对变量进行修改后,其他线程可以立即看到修改的结果。 实现可见性的方法: synchronized或者Lock:保证同一个时刻只有一个线程获取锁执行代码,锁释放之前把最新的值刷新到主内存,实现可见性。...转载 2019-04-28 16:20:39 · 7106 阅读 · 0 评论