随笔分类 - Java学习笔记
笔记、心得
摘要:一、ArrayList在具体开发中的使用场景 1、动态数据存储 ArrayList常用于需要动态增减数据的场景,比如读取数据库查询结果时,结果集数量不确定。其自动扩容特性避免了数组手动扩容的麻烦。 2、缓存实现 作为内存缓存容器时,ArrayList的随机访问效率(O(1))比LinkedList更
阅读全文
摘要:正则表达式基础语法 Java正则表达式基于java.util.regex包,核心类是Pattern和Matcher。基本语法遵循标准正则规范: . 匹配任意单个字符(除换行符) \d 匹配数字,等价于 [0-9] \w 匹配单词字符,等价于 [a-zA-Z0-9_] \s 匹配空白字符(空格、制表符
阅读全文
摘要: Java深拷贝与浅拷贝的概念 浅拷贝(Shallow Copy)只复制对象的引用,而不复制对象本身。拷贝后的对象和原对象共享同一块内存地址中的子对象。修改其中一个对象的非基本类型属性时,另一个对象的对应属性也会被修改。 深拷贝(Deep Copy)会复制对象及其所有子对象,生成一个完全独立的新对
阅读全文
摘要: 一、使用 exe4j 打包 Java 项目 exe4j 的官方网站是 https://www.ej-technologies.com/products/exe4j/overview.html。 准备 Java 项目 确保 Java 项目已编译为可执行的 JAR 文件,并确认所有依赖项(如第三方库
阅读全文
摘要:Java中测试类的详细分析 测试类主要用于验证代码逻辑的正确性,通常使用测试框架(如JUnit、TestNG)编写。其核心特点是: 命名规范:以Test结尾,如UserServiceTest。 依赖管理:不依赖具体实现,仅针对接口或公共方法进行测试。 方法设计:每个测试方法独立运行,通过断言(ass
阅读全文
摘要:抽象类与接口的定义 抽象类:用abstract修饰的类,可以包含抽象方法(无实现)和具体方法(有实现)。抽象类无法实例化,需由子类继承并实现其抽象方法。 接口:用interface定义,默认方法均为public abstract(Java 8前),可包含常量(public static final)
阅读全文
摘要: Java中的变量 变量是Java程序中最基本的存储单元,用于存储数据值。变量在程序运行期间其值可以改变。变量必须先声明后使用。 变量声明语法: 数据类型 变量名 [= 初始值]; 变量分类: 局部变量:在方法内部声明的变量,作用域仅限于声明它的方法内 实例变量:在类内部但在方法外部声明的变量,属
阅读全文
摘要:Java初始化数组和C++初始化数组的区别 1)初始化 a. 静态初始化 Java 的静态初始化在声明时直接赋值,适用于已知初始值的情况。语法简洁,无需指定数组大小(编译器自动推断)。 // 一维数组 int[] arr1 = {1, 2, 3}; // 二维数组 int[][] arr2 = {{
阅读全文
摘要:this() 的用法 功能:调用当前类的其他构造函数 作用:避免构造函数中的代码重复 限制:必须是构造函数的第一条语句 适用场景:当类中存在多个构造函数且需要共享部分初始化逻辑时 class Car { private String color; private String model; // 无
阅读全文
摘要:封装的设计要求:合理隐藏、合理暴露 合理隐藏:创建成员变量时,使用private修饰 private int id; // 电影编号 合理暴露:创建成员方法时,使用public修饰的get方法和set方法合理暴露 public void setId(int id) { this.id = id; }
阅读全文
摘要:前两天刚开始学习Java的时候遇见了IDEA控制台中文乱码的问题 【历程一】用网上的方法 通过网上的办法,我最终将Project Encoding改为GBK,然后控制台就不会乱码了,但是很不稳定,有时候也会有乱码的情况,于是我开始思考是否是IDEA开发工具的问题或者是JDK工具包的问题 【历程二】下
阅读全文

浙公网安备 33010602011771号