
Java基础知识
凤鸣塔
stay hungry,stay foolish。
展开
-
BIO和NIO
BIO: 建立连接,一方不发送数据,另一方的read()就读不到,就会阻塞。 非阻塞IO,读不到也不阻塞,继续接受请求,会对CPU有影响 NIO:是新IO,采用多路复用IO模型 IO模型有5种:BIO,Non Blocking IO,多路复用IO,信号IO,AIO。 IO读取流程: 用户空间--------------内核空间-------------网卡 软件--------...原创 2020-04-12 22:17:42 · 94 阅读 · 0 评论 -
AQS
Lock接口,在java.util.concurrent的lock包下。 锁是用来控制多个线程访问共享资源的方式。 AQS(AbstractQueuedSynchronizer)简称同步器, 同步器是构建锁和其他同步组件的基础框架,主要依赖 一个atomic int 成员变量来表示同步状态,以及通过一个FIFO队列构成等待队列。 它的子类必须重写AQS的几个protected修饰的用来改...原创 2020-03-29 20:23:26 · 112 阅读 · 0 评论 -
Java学习(从权威文档开始)
请阅读官方指导文档: https://docs.oracle.com/javase/tutorial/index.html原创 2020-03-08 17:22:05 · 148 阅读 · 0 评论 -
线程
一.线程6状态 New Runnable Blocked Waiting Timed waiting ...原创 2020-03-07 17:55:05 · 112 阅读 · 0 评论 -
IO
一.区别 BIO: 阻塞IO NIO:新IO,非阻塞IO 阻塞和非阻塞是获取资源的方式; 同步和异步是程序如何处理资源的。 BIO,线程等待时间长,一个线程负责一个连接处理,线程多且利用率低; NIO,线程利用率高,一个线程可以处理多个连接事件,性能更强。 二.NIO编程 包含三大组件:Buffer、Channel、Selector。 Buffer:position、limit、...原创 2020-03-07 17:49:49 · 136 阅读 · 0 评论 -
Java对象的克隆
前言 在 Java 语言中,我们说两个对象是否相等通常有两层含义: 对象的内容是否相等,通常使用到对象的 equals(Object o) 函数; 引用的地址是否相同,使用运算符 == 比较即可。 当两个对象通过赋值符号 = 赋值时,表明这两个对象指向了内存中同一个地址,所以改变其中一个对象的内容,也就间接地改变了另一个对象的内容。有时候,我们需要从一个已经存在的对象重新拷转载 2016-05-14 11:47:02 · 409 阅读 · 0 评论 -
JAVA第三方库
几乎每个程序员都知道要“避免重复发明轮子”的道理——尽可能使用那些优秀的第三方框架或库,但当真正进入开发时,我却经常发现他们有时并不知道那些轮子在哪里。最近,我在业余时间带几个年轻的程序员一起做了一个很小的商业项目,而在一起开发的过程中,我几乎在所有需要判断字符串是否为空的地方,看到了下面的代码: if(inputString == null || inputString.length == 0转载 2016-05-13 20:26:33 · 669 阅读 · 0 评论 -
java异常
JAVA异常 异常指不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等。异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程。Java通 过API中Throwable类的众多子类描述各种不同的异常。因而,Java异常都是对象,是Throwable子类的实例,描述了出现在一段编码中的 错误条件。当条件生成时,错误将引发异常。 Java异常类层次结原创 2015-11-02 21:53:23 · 504 阅读 · 0 评论