JavaSE
文章平均质量分 52
JavaSE
Gnanx.
这个作者很懒,什么都没留下…
展开
-
十三、JavaSE-IO体系
序列化:将Java对象转换成字节流的过程。反序列化:将字节流转换成Java对象的过程。当Java对象需要在网络上传输或者持久化存储到文件中时,就需要对Java对象进行序列化处理。序列化的实现:类实现Serializable接口,这个接口没有需要实现的方法。实现Serializable接口是为了告诉jvm这个类的对象可以被序列化。原创 2023-03-14 07:59:34 · 67 阅读 · 0 评论 -
十二、JavaSE-多线程和并发
线程死锁描述的是这样一种情况:多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。如下图所示,线程A持有资源2,线程B持有资源1,他们同时都想申请对方的资源,所以这两个线程就会互相等待而进入死锁状态。产生死锁必须具备以下四个条件:互斥条件:该资源任意一个时刻只有一个线程占用请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放不剥夺条件:线程已获得的资源在未使用完之前不能被其他线程强行剥夺,只有自己使用完毕后才释放资源。原创 2023-03-13 21:52:14 · 74 阅读 · 0 评论 -
十二、JavaSE-异常体系
在Java中,所有的异常都有一个共同的祖先java.lang包中的Throwable类。Throwable类有两个重要的子类:Exception:程序本身可以处理的异常,可以通过catch来进行捕获。Exception又可以分为Checked Exception(受检查异常,必须处理)和Unchecked Exception(不受检查异常,可以不处理)。Error:程序无法处理的错误,我们没有办法通过catch来进行捕获不建议通过catch捕获。原创 2023-03-09 21:40:30 · 58 阅读 · 0 评论 -
十一、JavaSE-集合工具类
数组转List:使用Arrays.asList(array)进行转换。List转数组:使用List自带的toArray()方法。原创 2023-03-09 21:02:24 · 69 阅读 · 0 评论 -
十、JavaSE-Map接口
HashMap默认初始化长度为16,并且每次自动扩展或者是手动初始化容量时,必须是2的幂。为了数据的均匀分布,减少哈希碰撞。因为确定数组位置是用的位运算,若数据不是2的次幂则会增加哈希碰撞的次数和浪费数组空间。(PS:其实若不考虑效率,求余也可以就不用位运算了也不用长度必须为2的次幂)输入数据若不是2的次幂,HashMap通过一通位移运算和或运算得到的肯定是2的幂次数,并且是离那个数最近的数字。原创 2023-03-09 08:32:39 · 56 阅读 · 0 评论 -
九、JavaSE-Set接口
是为了提高效率,采取重写hashcode方法,新进行hashcode比较,如果不同,那么就没必要在进行equals的比较了,这样就大大减少了equals比较的次数,这对比需要比较的数量很大的效率提高是很明显的。原创 2023-03-07 07:58:27 · 48 阅读 · 0 评论 -
八、JavaSE-List接口
实际再问,数组和ArrayList的区别存储类型不同Array:只可存储基本数据类型和对象ArrayList:只能存储对象大小不同Array:被设置为固定大小ArrayList:是一个可变数组,大小可自动调整对象所包含的方法不同Array:所包含的方法没有ArrayList多ArrayList有很多操作方法:addAll、removeAll、iteration等。原创 2023-03-06 22:23:10 · 48 阅读 · 0 评论 -
七、JavaSE-Collection接口
List,Set接口继承于Collection接口Map没有继承于Collection接口。原创 2023-03-06 21:48:03 · 119 阅读 · 0 评论 -
六、JavaSE-常用类String
String 类中使用final关键字修饰字符数组保存字符串,private final char[] value,所以String对象是不可变的。原创 2023-03-06 21:28:42 · 103 阅读 · 0 评论 -
五、JavaSE-包装类
装箱:将基本类型用它们对应的引用类型包装起来;拆箱:将包装类型转为基本类型;原创 2023-03-06 07:31:14 · 77 阅读 · 0 评论 -
四、JavaSE-面向对象基础
封装:是面向对象三大特征之一,其含义有两个(掌握思想):把对象的字段和方法存放在一个独立的模块中(类)信息隐藏,尽可能隐藏对象的数据和功能的实现细节封装的好处:提高组件的重用性,把公用功能放到一个类中,谁需要该功能,直接调用即可保证数据的安全性,防止调用者随意修改数据继承:不同类型的对象,相互之间经常有一定数量的共同点。例如,小明同学、小红同学、小李同学,都共享学生的特性(班级、学号等)。同时每一个对象还定义了额外的特性使得他们与众不同。例如小明的数学比较好,小红的性格惹人喜爱;原创 2023-03-03 07:48:05 · 49 阅读 · 0 评论 -
三、JavaSE-JVM内存模型
它是Java对象的存储区域,任何new分配的Java对象实例和数组,都被分配在堆上,Java堆可使用-Xms-Xmx进行内存控制,值得一提的是从JDK1.7版本之后,运行时常量池从方法区移到了堆上。原创 2023-03-02 08:06:43 · 135 阅读 · 0 评论 -
二、JavaSE-编程思维
提示:以上只是利⽤数组存储元素,对数组进⾏排序的思路,其他思考只要能完成题⽬即可。原创 2023-03-01 23:27:32 · 134 阅读 · 0 评论 -
一、JavaSE-基础语法
因为当第一个表达式的值为false的时候,则不会再计算第二个表达式;另外&还可以用作位运算符,当&两边的表达式不是Boolean类型的时候,&表示按位操作。&还可以⽤作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使⽤0x0f来与⼀个整数进⾏&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。Java中&&和&都是表示与的逻辑运算符,都表示逻辑运输符and,当两边的表达式都为true的时候,整个运算结果才为true,否则为false。原创 2023-03-01 23:04:38 · 102 阅读 · 0 评论