菜鸟笔记
提升您的技术认知

JAVA 笔记 第9页

JVM: G1和CMS的区别

菜鸟阅读 : 1641赞(1)

CMS:以获取最短回收停顿时间为目标的收集器,基于并发“标记清理”实现 有人会好奇为什么标记清理算法会产生内存碎片!但是CMS仍采用这种算法呢? 答案是:因为CMS作为第一款实现用户线程和收集线程并发执行的收集器!当时的设计理念是减少停顿时...

JVM老年代和新生代的比例

菜鸟阅读 : 1258赞(0)

Java 中的堆是 jvm 所管理的最大的一块内存空间,主要用于存放各种类的实例对象。 在 Java 中,堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old )。新生代 ( Young ) 又被划分为三个区域...

JAVA垃圾回收-可达性分析算法

菜鸟阅读 : 948赞(0)

在java中是通过引用来和对象进行关联的,也就是说如果要操作对象,必须通过引用来进行。那么很显然一个简单的办法就是通过引用计数来判断一个对象是否可以被回收。不失一般性,如果一个对象没有任何引用与之关联,则说明该对象基本不太可能在其他地方被使...

java IO、NIO、AIO详解

菜鸟阅读 : 1747赞(0)

概述 IO流(同步、阻塞) NIO(同步、非阻塞) NIO2(异步、非阻塞) 在我们学习Java的IO流之前,我们都要了解几个关键词 同步与异步(synchronous/asynchronous):同步是一种可靠的有序运行机制,当我们进行同...

为什么越来越多的开发者选择使用Spring Boot?

菜鸟阅读 : 1611赞(0)

一、Web应用开发背景 使用Java做Web应用开发已经有近20年的历史了,从最初的Servlet1.0一步步演化到现在如此多的框架、库以及整个生态系统。经过这么长时间的发展,Java作为一个成熟的语言,也演化出了非常成熟的生态系统,这也是...

OIO与NIO区别

菜鸟阅读 : 2913赞(0)

1、OIO中,每个线程只能处理一个channel(同步的,该线程和该channel绑定)。 线程发起IO请求,不管内核是否准备好IO操作,从发起请求起,线程一直阻塞,直到操作完成,如图: NIO中,每个线程可以处理多个channel(异步)...

BIO、NIO和AIO的区别、三种IO的原理与用法

菜鸟阅读 : 1812赞(0)

IO 什么是IO? 它是指计算机与外部世界或者一个程序与计算机的其余部分的之间的接口。它对于任何计算机系统都非常关键,因而所有 I/O 的主体实际上是内置在操作系统中的。单独的程序一般是让系统为它们完成大部分的工作。 在 Java 编程中,...

java aio和nio的区别

菜鸟阅读 : 1806赞(1)

AIO 是彻底的异步通信。 NIO 是同步非阻塞通信。 有一个经典的举例。烧开水。 假设有这么一个场景,有一排水壶(客户)在烧水。 AIO的做法是,每个水壶上装一个开关,当水开了以后会提醒对应的线程去处理。 NIO的做法是,叫一个线程不停的...

Java NIO AIO 基本概念

菜鸟阅读 : 1005赞(1)

一、NIO 在介绍NIO编程之前,我们首先需要澄清一个概念:NIO到底是什么的简称?有人称之为New I/O,因为它相对于之前的I/O类库是新增的,所以被称为New I/O,这是它的官方叫法。但是,由于之前老的I/O类库是阻塞I/O,New...

枚举(enum)

菜鸟阅读 : 2067赞(1)

一.什么是枚举 我们学习过单例模式,即一个类只有一个实例。而枚举其实就是多例,一个类有多个实例,但实例的个数不是无穷的,是有限个数的。例如word文档的对齐方式有几种:左对齐、居中对齐、右对齐。开车的方向有几种:前、后、左、右!我们称呼枚举...