![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
文章平均质量分 66
zmt0104
这个作者很懒,什么都没留下…
展开
-
双亲委派模型
如果没有双亲委派模型,而是每个类加载器加载自己的话就会出现一些问题,比如我们编写一个称为java.lang.Object类的话,那么程序运行的时候,系统就会出现多个不同dObjct类。当我们在加载类的时候,首先会向上询问自己的父加载器是否已经加载,如果没有则依次向上询问,如果没有加载,则从上到下依次尝试是否能加载当前类,直到加载成功。1)双亲委派模型保证了Java程序的稳定运行,可以避免类的重复加载(JVM区分不同类的方式不仅根据类名,相同的类文件被不同的类加载产生的是两个不同的类)原创 2024-03-22 22:46:48 · 137 阅读 · 0 评论 -
JAVA8之用Optional解决判断Null为空的问题
引言 在文章的开头,先说下NPE问题,NPE问题就是,我们在开发中经常碰到的NullPointerException.假设我们有两个类,他们的UML类图如下图所示在这种情况下,有如下代码:user.getAddress().getProvince(); 这种写法,在user为null时,是有可能报NullPointerException异常的。为了解决这个问题,于是采用下面的写法:if(user!=null){ Address address = user.getAddress()转载 2021-05-19 16:17:43 · 2219 阅读 · 0 评论 -
java中的关键字transient
java中的关键字transient转载 2020-10-01 23:56:08 · 446 阅读 · 0 评论 -
java IO之AutoCloseable,Closeable和Flushable接口
Java IO之AutoCloseable,Closeable和Flushable接口转载 2020-09-26 21:23:36 · 361 阅读 · 0 评论 -
优先级队列
我们知道队列是遵循先进先出(First-In-First-Out)模式的,但有些时候需要在队列中基于优先级处理对象。举个例子,比方说我们有一个每日交易时段生成股票报告的应用程序,需要处理大量数据并且花费很多处理时间。客户向这个应用程序发送请求时,实际上就进入了队列。我们需要首先处理优先客户再处理普通用户。在这种情况下,Java的PriorityQueue(优先队列)会很有帮助。 Prior...转载 2020-01-05 13:12:35 · 119 阅读 · 0 评论 -
String拼接字符串的奥秘
1、String拼接字符串,什么时候不能用“+”? @Test public void test01(){ String str = "hello"; str += ","; str += "world"; }对应的字节码文件:public test01()V @Lorg/junit/Test;() L0 L...转载 2019-12-21 11:19:56 · 136 阅读 · 0 评论 -
Map集合的四种遍历方式
package com.mapIter;import java.util.Collection;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;import java.util.Set;public class Demo { ...原创 2019-12-09 21:40:25 · 103 阅读 · 0 评论 -
Java中的NIO
目录知识储备(Java IO)NIO概述1. 定义2. 作用3. 新特性4. 核心组件Buffer1. 定义2. 作用3. 特点4. 使用Channel1. 定义2. 作用3.特点4.使用Selector1.定义2. 作用3.特点4.Selector的使用NIO与IO的区别知识储备(Java IO)NIO概述1. 定义Java NIO,即Java New IO(Java新IO)。是一...转载 2019-10-04 23:47:43 · 74 阅读 · 0 评论 -
集合与数组的相互转换方式
一、数组转集合1、遍历集合,将元素保存到数组中 int[] arr = {1,2,3}; List<Integer> list = new ArrayList<Integer>(); for(int n:arr){ list.add(n); } System.out.println(list);2、使用asList()方法 Integer[]...原创 2019-10-03 22:08:26 · 17878 阅读 · 0 评论 -
Java中的深拷贝与浅拷贝浅析
为什么需要拷贝? 拷贝的对象可能包含一些已经修改过的属性,而new出来的对象的属性都还是初始化时候的值,所以当需要一个新的对象来保存当前对象的“状态”的时候,就需要clone()。 优势:clone()方法由native修饰,在底层实现,速度快。 注意:Object obj = new Object(); Object b;b=a;这种形式的代码复制的是引用,即对象在内存中的地址,a和...原创 2019-09-27 17:59:15 · 102 阅读 · 0 评论