![](https://img-blog.csdnimg.cn/20200826233503123.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
JavaEE
文章平均质量分 76
javaEE
vayneXiao
联系邮箱576583212@qq.com
展开
-
ShallowCopy DeepCopy [vaynexiao]
浅拷贝 深拷贝 误区:对象A的某个属性是对象B,对象B的某个属性是对象C,以此类推,这种所谓的深度并不是深拷贝, 深拷贝的深根本就不是这个意思,而是拷贝的不是引用,直接将属性指向的对象进行复制。 注意:spring和apache的BeanUtils.copyProperties()参数位置正好相反,前者是src,,dest;后者是dest,src Java 浅拷贝和深拷贝的理解和实现方式 面试题-深拷贝和浅拷贝区别是什么? java基础(十七)----- 浅谈Java中的深拷贝和浅拷贝 —— 面试必问 Be原创 2021-07-01 22:47:21 · 104 阅读 · 0 评论 -
BigDecimal [vaynexiao]
为什么用BigDecimal 不论是float 还是double都是浮点数,而计算机是二进制的,浮点数会失去一定的精确度。 根本原因是:十进制值通常没有完全相同的二进制表示形式;十进制数的二进制表示形式可能不精确。只能无限接近于那个值 System.out.println(0.2 + 0.1);//0.30000000000000004 System.out.println(0.3 - 0.1);//0.19999999999999998 System.out原创 2021-06-18 23:42:52 · 75 阅读 · 0 评论 -
Utils [vaynexiao]
commons-lang3 lang3是Apache Commons 团队发布的工具包,要求jdk版本在1.5以上,相对于lang来说完全支持java5的特性,废除了一些旧的API。该版本无法兼容旧有版本,于是为了避免冲突改名为lang3。 <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <!--原创 2021-06-03 22:51:14 · 166 阅读 · 0 评论 -
Timer [vaynexiao]
简介 利用定时器每过一秒打印1,这我们使用普通语句for循环中间加载一个Thread.sleep()也可以实现, 但区别很大不一样,Java程序是一个线程,而定时器是新开的一个线程,也就是说此时同时两个人在完成我们指定的事情。并不是一个人同时执行两个事情,这就是定时器的本质,启动另一哥新的线程。 构造方法摘要 Timer() 创建一个新计时器。 Timer(boolean isDaemon) 创建一个新计时器,可以指定其相关的线程作为守护程序运行。 Timer(String name) 创建一个新计原创 2021-03-10 22:40:56 · 89 阅读 · 0 评论 -
Thread Note [vaynexiao]
概念 程序:安装在系统中的软件,但未运行 进程:在操作系统中独立运行的程序,每运行一个应用程序就对应着一个进程(process) 多进程:在操作系统中可以同时运行多个程序 特性: 一个进程中可以包含多个线程,且至少要有一个线程 一个线程必须属于某个进程,进程是线程的容器 一个进程中的多个线程共享该进程的所有资源 只是CPU在很短的时间内,在不同程序间切换,轮流执行每个程序,执行速度很快,所以感觉上像是同时在运行 3种创建方法 class TestThread1 extends Thread原创 2020-11-17 20:30:54 · 116 阅读 · 0 评论 -
Java Map【vaynexiao】
原创 2021-01-31 21:36:57 · 69 阅读 · 0 评论 -
Java经典案例 [vaynexiao]
根据字符串中出现的字符逐个打印各字符出现次数 public class Test { public static void main(String[] stra){ String str = "fgfdhhd5hb56546vg546";// 定义字符串 char arr[] = str.toCharArray();// 转换成字符数组 Arrays.sort(arr);// 数组排序 String temp = new String(arr);// 重新产生字符串 M原创 2020-11-18 17:06:28 · 157 阅读 · 0 评论 -
Java Collection 【vaynexiao】
凡是Tree的都是自然排序,所以存储的对象类型必须有compare方法, compare遇到null报错 由链表保证元素有序(输入顺序) 由哈希表保证元素唯一 栈 先进后出,后进先出,进栈出栈 队列 先进先出,后进后出 数组 查找快,增删慢,线程不安全 链表 查找慢,增删快 树 查找慢,增删快 (先序遍历,中序遍历,后序遍历) 哈希表 键值对结构,通过key那value 数组的元素是单链表 数组: 1. 数组可以存储基本数据类型和对象 2. 数组长度固定 3. 数组在定义时必须指定数组元素类型 4. 数.原创 2020-12-10 16:54:41 · 116 阅读 · 0 评论 -
JavaIO流 Note [vaynexiao]
关系图 分类 转换流 缓冲流 包装流(处理流):操作节点流的流 节点流:直接对文件进行操作 按方向:输入流 输出流 按数据单位:字节流byte 字符流char RandomAccessFile随机读写流 随机读写流,是一个字节流,可以对文件进行任意位置读写 随机:可以定位到文件的任意位置进行读写操作,通过移动指针(Pointer)来实现 读写:使用该流既能读取文件,也能写入文件 try( /* * 当文件不存在时: *原创 2020-12-12 06:07:30 · 204 阅读 · 0 评论 -
HashMap Note [vaynexiao]
Q: 各个常量解释 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16 static final int MAXIMUM_CAPACITY = 1 << 30; static final float DEFAULT_LOAD_FACTOR = 0.75f; static final int TREEIFY_THRESHOLD = 8; static final int U.原创 2020-12-09 13:49:12 · 201 阅读 · 1 评论 -
Java8 lambda 函数式接口 Stream Optional [vaynexiao]
lambda由来 public class Lamda { //方式2 静态内部类 static class Cat2 implements Animal{ @Override public void say(int a) { System.out.println("cat 静态内部类 ......"+a); } } public static void main(String[] args) {原创 2020-12-05 18:27:40 · 157 阅读 · 0 评论 -
JSON Note [vaynexiao]
什么是JSON对象 { "ID": 1001, "name": "张三", "age": 24 } //第一个数据就是一个Json对象,观察它的数据形式,可以得出以下语法: //1:数据在花括号中 //2:数据以"键:值"对的形式出现(其中键多以字符串形式出现,值可取字符串,数值,甚至其他json对象) //3:每两个"键:值"对以逗号分隔(最后一个"键:值"对省略逗号) 什么是JSON对象数组 [ {"ID": 1001, "name": "张三", "age": 24}, {"ID": 1原创 2020-11-14 15:46:56 · 187 阅读 · 0 评论 -
JavaEE Note [vaynexiao]
集合 顺序存储 将元素依次存入,空间分配是连续的,类似数组,有下标,访问效率高,插入和新增元素时后面的所有元素要重新进行处理,效率低,比如ArrayList 结构图类似一个贪吃蛇,多个连续方格,方格内保存具体值 // 二维数组 int[][] a = { {1,2}, {1,2,3}, {1,2,3,4} }; System.out.println( Arrays.toString(a) );// [[I@b4c966a, [I@2f4d3709, [I@4e原创 2020-11-18 19:56:57 · 473 阅读 · 0 评论