![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
_Rick_q
这个作者很懒,什么都没留下…
展开
-
BIO与NIO、AIO的区别
IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。一、BIO在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服务端是否有线程相应,如果没有则会一直等待或者遭到拒绝请求,如果有的话,客户端会线程会等待请求结束后才继续执行。二、NIONIO本身是基于事件驱动思想来完成的,其主要想解决的是转载 2020-08-12 19:12:46 · 108 阅读 · 0 评论 -
彻底讲明白浅拷贝与深拷贝
一、数据类型数据分为基本数据类型(String, Number, Boolean, Null, Undefined,Symbol)和对象数据类型。1、基本数据类型的特点:直接存储在栈(stack)中的数据2、引用数据类型的特点:存储的是该对象在栈中引用,真实的数据存放在堆内存里引用数据类型在栈中存储了指针,该指针指向堆中该实体的起始地址。当解释器寻找引用值时,会首先检索其在栈中的地址,取得地址后从堆中获得实体。二、浅拷贝与深拷贝深拷贝和浅拷贝是只针对Object和Array这样的引用数据类型的转载 2020-07-23 16:31:48 · 585 阅读 · 1 评论 -
Java中的方法参数按值调用问题
1.方法参数的调用目前有两种方式按值调用:表示方法接收的参数是调用者提供的值按引用调用:表示方法接收的参数是调用者提供的变量地址(即引用)2.Java使用的是按值调用,下面详细解释一波2.1.Java的方法参数按值调用,换个方式也就是说方法得到的是参数值的一个拷贝而不是参数本身,所以方法对参数的修改并不会传递到原参数本身.打个比喻,现在我手里有一份成绩单,小明同学也想要看,我发了一份给小明,小明把自己的成绩改成了最高,但我手里这份成绩单一定是不变的.如果是共享文档那就另说哈.手动滑稽咱原创 2020-07-23 15:46:59 · 382 阅读 · 0 评论 -
Java集合框架解析及常见数据结构
1.Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。集合框架是一个用来代表和操纵集合的统一架构。所有的集合框架都包含如下内容:接口:是代表集合的抽象数据类型。例如 Collection、List、Set、Map 等。之所以定义多个接口,是为了以不同的方式操作集合对象实现(类):是集合接口的具体实现。从本质上讲,它们是可重复使用的数据结构,例如:ArrayList、LinkedList、HashSet、HashMap原创 2020-07-03 23:20:18 · 351 阅读 · 0 评论 -
String/StringBuffer/StringBuilder的区别及源码分析
JavaSE基础(二)–String/StringBuffer/StringBuilder的区别及源码分析1.String详解String 底层是一个最终类,即字符串是一个常量,不可变也不可继承,且String底层是一个不可变的char数组,所以每次对字符串的操作都为创建一个新的数组String实现的接口Serializable是序列化的标识,仅表示序列化语义;Comparable接口用于实现对象的自然排序,该接口只有一个方法:compareTo()方法,用于比较对象,小于返回负整数,等于返回0,大原创 2020-06-10 23:30:47 · 210 阅读 · 0 评论 -
Java基本数据类型及源码简析
标题JavaSE基础(一)----基本数据类型Java的基本数据类型总共有八种,按照不同的类型分为整数型:byte,short,int,long;浮点数型:float,double;字符型:char;布尔型:Boolean类型占用字节范围Byte1byte=8bit127~-128short2byte=16bit2^16-1 ~ -2^16int4byte=32bit2^32-1~- 2^32long8byte=64bit2^64-1~ -2^原创 2020-05-22 23:19:47 · 416 阅读 · 0 评论