acc8226 的博客

并发修改 ConcurrentModificationException

并发修改 ConcurrentModificationException 错误是开发中一个常见错误,多发生在对一个 Collection 边遍历边做影响 size 变化的操作中,下面以 ArrayList 为例分析 ConcurrentModificationException 错误。

ArrayList 初始数据如下。

1
2
3
4
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);

场景 1:不会有并发修改错误

1
2
3
4
5
6
int length = list.size();
for (int i = 0; i < length; i++) {
if (list.get(i).equals(2)) {
list.add(10);
}
}
阅读全文 »

数据类型

Java 是一门强语言,语言的数据类型分为:八种基本类型和三种引用类型(数组, class, interface)。在声明变量或常量时必须指定数据类型。

整数类型

Java 中整数类型都是有符号型。
整型分为int(默认), byte、short、int 和 long 四种类型,它们之间的区别仅仅是宽度和范围的不同。

  • byte 的范围 1 字节 -128 到 127
  • short 的范围 2 字节 -32768 到 32767
  • int 的范围 4 字节 -2147483648 到 2147483647(约 21 亿)
  • long 的范围 8 字节 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807

为方便查看数值类型的最大和最小值, Java 提供了对应了静态成员变量。例如 Integer.MAX_VALUE 和 Integer.MIN_VALUE。

阅读全文 »

关键字

Java 的关键字(keyword、保留字)是 Java 语言中具有特殊含义的单词,它们被保留供 Java 自身使用,不能被用作标识符。例如 publicclassvoidint 等都是关键字。

关键字在 Java 语法中起着重要的作用,它们定义了编程的结构、控制流程、数据类型等。了解和正确使用关键字是学习 Java 的基础。

特点:

  • 被 Java 赋予特殊意义的单词, 所有关键字都是小写
  • Java 语言中的保留字只有两个 goto 和 const, 既不能当作标识符使用,也不是关键字,也不能在程序中使用,这些字符序列称为保留字。
  • main 不是关键字,但是被虚拟机识别的一个名称

常用关键字

Java 所有关键字

阅读全文 »

认识 Java

Java 在 20 多年发展过程中,与时俱进,为了适应时代的需要,经历过两次重大的版本升级,一个是 Java 5,它提供了泛型等重要的功能。另一个是提供了 Lambda 表达式等重要的功能的 Java 8。

一些重要的 Java 的版本 JDK 1.2(新增集合类), JDK5(新增泛型), JDK8(LTS版本,新增 lamda 表达式,方法引用), JDK11(LTS 版本 local variable syntax ofr lambda parameters), JDK17(LTS 版本 sealed types, always-strict floating-point semantics), JDK21(LTS 版本)。

Java SE 中提供了 Java 应用程序开发需要的基本的和核心的类库,这些类库:字符串、集合、输入输出、网络通信和图形用户界面等。事实上学习 Java 就是在学习 Java 语法和类库的使用。

阅读全文 »

win 系统

要求:

  1. 功能强大:能压缩和解压常见格式
  2. 无感存在:最好是招之则来挥之即去
  3. 无微不至:无广告,不用担心解压和压缩后文件名乱码问题。有智能解压功能。不用担心一不小心解压出的文件会占满整个桌面

PeaZip【首选】

【win 安装版优先 绿色版次之】PeaZip 官网 | 视频介绍 智能解压好用,功能全面才是第一条。

安装注意事项:
1.选择 chs.txt 简体中文。
2.系统集成时我一般只勾选 Add to 7z, Add to ZIP 和 Extract here(smart new folder) 即可。

阅读全文 »
0%