- 博客(75)
- 收藏
- 关注
原创 Java IO流实现文件操作知识点
String[] fileLines = {"文件 " + (i + 1) + " 的内容", "这是第 " + (i + 1) + " 个文件"};System.out.println(" ... 还有 " + (allFiles.size() - 5) + " 个文件");System.out.println("第" + (i + 1) + "行: " + lines.get(i));System.out.println("第" + lineNumber + "行: " + line);
2025-12-28 19:00:00
537
原创 Java 多线程机制知识点
System.out.println("初始值: " + stampedRef.getReference() + ", 版本: " + stamp);System.out.println("CAS操作结果: " + success + ", 新值: " + atomicRef.get());// WAITING。System.out.println("队列大小: " + monitorPool.getQueue().size());
2025-12-28 18:30:00
591
原创 Java 异常处理机制知识点
System.out.println("目标方法抛出异常: " + targetException.getClass().getName());System.out.println("原始异常: " + e.getCause().getClass().getName());System.out.println("原始错误: " + e.getCause().getMessage());System.out.println("原因: " + e.getCause().getMessage());
2025-12-28 18:00:00
525
原创 Java Map集合知识点
System.out.println("TreeMap内存占用: ~" + (treeMapMemory/1024) + "KB");// 指定初始容量和加载因子。System.out.println("最高分的学生: " + maxKeyByValue(scores).orElse("无"));System.out.println("最低分的学生: " + minKeyByValue(scores).orElse("无"));
2025-12-28 13:35:22
521
原创 Java Set集合知识点
System.out.println("LinkedHashSet内存占用: ~" + (linkedHashSetMemory/1024) + "KB");System.out.println("HashSet内存占用: ~" + (hashSetMemory/1024) + "KB");System.out.println("TreeSet内存占用: ~" + (treeSetMemory/1024) + "KB");
2025-12-27 20:15:20
121
原创 基于异常的专项 实验结论
本次实验验证了Java异常机制在实际开发中的必要性与实用性:合理划分异常类型、设计业务化自定义异常、规范使用 try-catch-finally 流程,是提升程序稳定性、可读性与可维护性的关键手段,可为复杂项目的异常处理提供标准化实践参考。自定义异常突破了Java内置异常的通用语义限制,能精准承载业务提示(如“用户名长度不足”),既提升了异常信息的可读性,也简化了业务场景下的异常定位与处理逻辑。同时,异常捕获应遵循“就近匹配、具体优先”的原则,确保不同类型异常得到差异化处理。(2)自定义异常的业务价值。
2025-12-27 00:13:08
180
原创 Java 字符串知识点
/ true,内容相同。// 每次循环都创建新String对象。// 2. 使用String.valueof()代替toString()// StringBuilder:非线程安全,性能较高(推荐)// 5. 使用Objects.equals()避免空指针。
2025-12-27 00:12:54
669
原创 基于Map的专项 实验结论
通过实验,熟练掌握了 Map 集合的创建(如 HashMap 的实例化)、元素添加( put 方法)、查询( get 、 containsKey 、 containsValue 方法)、删除( remove 方法)以及遍历(键遍历、键值对遍历、值遍历)等操作,明确了 Map “键-值”对的存储逻辑和操作特性。针对“银行用户”这类自定义对象与 Map 结合的场景,加深了对面向对象编程(类、对象、属性、构造方法)与集合框架协同使用的理解,能够灵活运用 Map 存储复杂对象并实现业务功能。
2025-12-26 23:56:17
196
原创 Java 对象及包装类知识点
System.out.println("基本类型数组耗时: " + (endTime - startTime) + "ms");// java.lang.Object@哈希码。// 相当于 int b = a.intValue();
2025-12-26 23:53:56
412
原创 Java 核心知识点总结2
同时,Java生态中的各种框架和工具(如Spring、MyBatis等)也是Java开发者必须掌握的重要内容,它们构建在Java基础之上,共同构成了完整的Java技术栈。JVM作为Java程序的运行环境,负责字节码的解释执行和内存管理。· 基本数据类型:byte(8位)、short(16位)、int(32位)、long(64位)、float(32位)、double(64位)、char(16位)、boolean(1位)· 三大核心:Channel(通道)、Buffer(缓冲区)、Selector(选择器)
2025-12-25 00:28:04
1225
原创 Java 程序设计题
60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润 I ,求应发放奖金总数?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。(2)如果 nk ,但 n 能被 k 整除,则应打印出 k 的值,并用 n 除以 k 的商,作为新的正整数你 n ,重复执行第一步。题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
2025-12-25 00:23:10
276
原创 Java 核心知识点总结
2. 线程状态:新建( NEW )、就绪( RUNNABLE )、运行( RUNNING )、阻塞( BLOCKED )、等待( WAITING )、超时等待( TIMED_WAITING )、终止( TERMINATED )。1. 数据类型:分为基本数据类型(8种: byte 、 short 、 int 、 long 、 float 、 double 、 char 、 boolean )和引用数据类型(类、接口、数组、枚举等)。extends T 表示上限(T 及其子类),?
2025-12-25 00:22:50
347
原创 基于 IO 流实现文件操作 实验结论
在26个字母的写入与大小写转换实验中,字符流可直接读取和写入字符数据,结合 StringBuilder 与字符串方法(如 toLowerCase() )能便捷实现文本内容的拼接、转换等操作,解决了字节流处理文本时可能出现的中文乱码问题。通过“文件内容倒序写入”的自主设计实验,实现了从文件读取、集合存储、数据处理到新文件写入的完整流程,验证了IO流与集合框架结合的灵活性,也体现了IO流在实际业务中可根据需求设计个性化文件处理方案的特点。2、阐述利用IO流处理中文文件时,如何避免解决中文乱码问题。
2025-12-24 00:01:19
271
原创 Java IO流
但是如果集合中存储的是自定义类型的对象,则自顶类型的对象对应 的类也需要实现java.io.Serializable接口。Iv. 如果参与对象序列化的对象中有自定义类型的属性,则自定类型的属性对应的类也必须实现 java.io.Serializable接口,否则运行报错,为不可序列化的异常。I. 参数:代表操作文件的路径及文件名,但是如果指定的文件找不到,则系统不会默认创建,直接报错,错误信息为:java.io.FileNotFoundException: (系统找不到指定的文件。
2025-12-24 00:01:04
848
原创 基于 IO 流实现文件操作的专项实验
4、在当前project中创建 file文件夹,并准备好一个文件myfile.txt,文件中内容为 lovejava ,利用IO流进行文件读取,将读取的内容以字符形式存储在 List集合中,并将读取的内容倒序 写入到 file文件夹下的newfile.txt文件中。// 利用 IO流实现文件的 拷贝:file/a.txt ---》 file/a_copy.txt。读取文件中的内容,将读取的内容连接为一个字符串,并将所有的大写字母转变为小写字母打印输出转换的结果。// 1. 创建文件字节输入输出流对象。
2025-12-23 22:39:10
1123
原创 基于多线程机制的专项 实验结论
3、技术要点掌握:本次实验掌握了Java多线程的创建(继承 Thread 类)、启动、等待( join() 方法),以及类的封装性设计,达成了“理解多线程机制、实现线程同步”的实验目标。2、线程安全验证:通过 synchronized 关键字修饰账户的 deposit 、 withdraw 方法,避免了多线程并发操作导致的余额数据错误,验证了线程同步机制的有效性。4、环境兼容性:在环境下均能正常编译运行,验证了代码的版本兼容性。
2025-12-23 22:36:59
200
原创 Set集合专项 实验结论
在自定义对象(如 Book 、 Product )存储时,需重写这两个方法以基于业务唯一标识(如ISBN、商品名)实现去重,否则会因默认地址比较导致去重失效。LinkedHashSet 去重且保持插入顺序 性能略低于 HashSet (链表维护开销) 需去重且需按添加顺序遍历的场景(如日志去重存储)LinkedHashSet 作为 HashSet 的子类,通过链表记录插入顺序,实现了“去重+有序遍历”的特性,满足需按插入顺序操作的场景。需索引或允许重复→选List(如 ArrayList )。
2025-12-21 13:52:25
164
原创 使用List集合专项 实验结论
当需要频繁进行插入、删除操作(非首尾位置),且读取操作较少时,优先选择 LinkedList;在对List进行遍历删除操作时,若使用普通for循环需注意索引的变化(避免漏删或越界),建议使用迭代器 Iterator 的 remove() 方法来保证操作的安全性;通过本次实验进一步明确,List与Set最核心的区别在于List允许元素重复且有序、有索引,而Set元素不可重复且无序(无索引),在实际开发中需根据“是否允许重复”“是否需要有序/索引”等需求来选择合适的集合。2、其他集合(如Set)的区别认知。
2025-12-21 13:52:17
137
原创 基于字符串的专项 实验结论
本次实验围绕字符串操作展开,从基础的验证性实验到综合的设计性实验,全面掌握了Java中字符串的创建、操作、分析等核心技能,理解了字符串不可变特性对操作效率的影响(如 StringBuilder 的必要性),也掌握了正则表达式、字符属性判断、多条件逻辑组合等在字符串处理中的应用。1、单词个数统计:通过去除标点、分割字符串的方法,实现了英文句子中单词数量的统计,理解了正则表达式在字符过滤中的应用,以及字符串分割后非空元素统计的逻辑。(二)自主设计性实验结论。(一)验证性实验结论。
2025-12-21 10:53:54
314
原创 基于 Object 类及包装类的专项 实验结论
包装类虽灵活,但存在性能开销(比基本类型多占用内存),在高频计算场景(如数组遍历、循环累加)中,优先使用基本类型(int 、 double);包装类为引用类型,可存储 null (如Integer age = null 表示“年龄未录入”),弥补了基本类型( int 、 double )无法存空的缺陷;默认 equals() 比较对象内存地址(等价于 ==),无法满足“内容相等即对象相等”的业务需求(如两个用户名+电话相同的 User 对象);(二)包装类的特性与应用边界。
2025-12-21 10:53:32
487
原创 Java 基于多线程机制的专项实验
System.out.println("+++++++++++主线程========4===="+i);System.out.println("***********主线程*************"+i);System.out.println("-----------t2线程--------"+i);System.out.println("=======t线程===33===="+i);(1) 定义一个 Account 类,属性为账户名(userName)和余额(balance),类进行封装;
2025-12-12 19:44:52
693
原创 Java 多线程机制
本次更新围绕 Java 多线程机制进行深度优化,聚焦线程安全、性能调优与资源管理三大核心方向,新增多种便捷编程工具与监控能力,解决传统多线程开发中常见的死锁、资源竞争、性能瓶颈等问题,提升高并发场景下的程序稳定性与执行效率。优化 ReentrantLock 公平锁与非公平锁的切换逻辑,降低锁切换时的性能损耗,提升锁的获取与释放效率。内置 轻量级死锁检测机制,通过分析线程持有锁与等待锁的关系,实时识别死锁风险,并输出详细的线程堆栈信息。官方文档地址:[Java 多线程机制官方文档]
2025-12-12 19:42:23
370
原创 基于 Object 类及包装类的专项实验(第11题)
要求:定义 Goods 类,属性有商品编号(goodsId)、商品名称(goodsName)、价格(price),完成封装、构造方法;重写 equals 方法,商品编号相同则为相同商品;重写 toString方法展示商品信息。编写测试类,输入两个。11、编程实现商品类(Goods)的比较。商品信息,判断是否为同一商品并打印结果。2.2 自主设计性实验。
2025-12-06 09:34:12
316
原创 基于 Object 类及包装类的专项实验(第10题)
要求:定义 Student 类,属性包括学号(id)、姓名(name)、年龄(age),进行封装并提供 get/set 方法及构造方法;重写 toString 方法,格式为 “id:xxx,name:xxx,age:xxx”;重写 equals 方法,学号相同则为相同对象。编写测试类,创建两个 Student 对象,输入信息并判断是否相同,打印对象信息。10、编程实现学生对象信息输出和比较。2.2 自主设计性实验。
2025-12-06 09:31:10
202
原创 基于 Object 类及包装类的专项实验(含解答)
6、在上述Student 类基础上覆盖 toString 方法,“姓名:xxx,年龄:xxx,成绩:xxx” ,其中无效数据(null )显示为 “未填写”。System.out.println("成绩是否有效:" + student.isScoreValid());return "姓名:" + name + ",年龄:" + ageStr + ",成绩:" + scoreStr;System.out.println("年龄是否有效:" + student.isAgeValid());
2025-12-06 09:28:58
1050
原创 嵌入式系统实验概述
嵌入式系统实验通常涉及硬件与软件的协同设计,涵盖底层驱动开发、实时操作系统(RTOS)应用、传感器数据处理、通信协议实现等方向。
2025-12-05 19:28:12
247
原创 虚拟机相关实验概述
虚拟机实验通常涉及虚拟化技术的应用,包括创建、配置和管理虚拟机(VM),以及测试不同操作系统或软件环境。以下是常见的虚拟机实验方向和操作指南。
2025-12-05 19:21:50
480
原创 Java List集合
新增 tryAdd(E e, long timeout, TimeUnit unit) 方法,支持带超时的尝试添加操作,多线程竞争时可避免无限阻塞(例: vector.tryAdd("元素", 1, TimeUnit.SECONDS) 尝试添加,1 秒超时则返回 false )。优化 首尾元素操作: addFirst(E e) 、 addLast(E e) 、 removeFirst() 、 removeLast() 方法底层逻辑简化,在高频首尾操作场景(如队列实现)中,效率提升约 30%。
2025-11-29 15:15:00
1009
原创 基于 Object 类及包装类的专项实验
6、在上述Student 类基础上覆盖 toString 方法,“姓名:xxx,年龄:xxx,成绩:xxx” ,其中无效数据(null )显示为 “未填写”。System.out.println("成绩是否有效:" + student.isScoreValid());return "姓名:" + name + ",年龄:" + ageStr + ",成绩:" + scoreStr;System.out.println("年龄是否有效:" + student.isAgeValid());
2025-11-29 15:13:35
683
原创 Java 相关资料
Oracle 提供的 Java 官方文档是最权威的学习资源,涵盖语法、API 和最新特性。适合深入学习 Java 核心概念和高级功能。
2025-11-28 21:59:23
354
原创 Java 基于异常的专项练习
(2)设计BookBorrower类,包含方法borrowBook(String bookName, int days),若days>30 则抛出OverdueException,否则输出 “《书名》借阅成功,期限 X 天”。//System.out.println("CheckedPasswordException已经被处理.....");// 检测密码是否为6位,是-登录成功,不是-抛出异常,异常信息为"密码必须是6位"System.out.println("分母不能为0!
2025-11-28 21:55:53
1047
原创 基于Map的专项练习
System.out.println("用户名: " + user.getUserName() + ", 余额: " + user.getBalance());return "用户ID: " + id + ", 用户名: " + userName + ", 余额: " + balance;bankUsers.put(1002, new BankUser(1002, "李四", 250000.0));System.out.println("=== 所有用户的用户名和余额 ===");不存在-打印查无此;
2025-11-21 21:16:11
702
原创 Set集合专项实验
4、定义一个Employee类,属性:工号-empId、姓名-empName、性别-empSex、部门-department、工资-slalary,创建多个Employee对象,存储在Set集合中,要求员工信息不能重复(所有信息相同视为重复),根据要求完成以下功能:(部门可以为:人事部、研发部、财务部、咨询部)在main方法中测试:添加 5 本图书(含 2 本重复 ISBN),删除 1 本,查找 1 本,最后展示所有图书。5、创建一个商品(Product)类,属性:商品名,商品单价,商品的数量,商品产地。
2025-11-21 21:14:12
720
原创 Java 基于分支和循环结构的专项实验
1、编程:读入一个整数,表示一个人的年龄。如果小于6岁,则输出“儿童”,6岁到13 岁,输出“少 儿”;如果这个年份能够被4 整除,且不能被100 整除,则这一年是闰年。例如,1996 年是闰年,而相应的,1993 年就不是闰年。例如,2000 年是闰年,1900 年不是闰年。2、编程:读入一个表示年份的整数,判断这一年是否是闰年。5、编程:本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为。***************欢迎进入百知通讯录系统****************
2025-11-15 15:15:33
171
原创 Java 基于Java语法实验专题
3、编程:定义一个int类型的变量n,同时对n赋值一个三位的数据,分别获取n的个位、十位、百位上的数值,并分别打印输出。5、编程:定义类型int类型的变量a和b,用代码实现将a和b变量中数据互换,将交换后的内容打印输出。4、编程:定义对应类型的变量,存储个人的姓名、年龄、成绩、地址、所在地邮编,并打印输出。***************欢迎进入百知通讯录系统****************② 第二个类类名为Second:打印输出 "我是源文件中非公开类"。
2025-11-15 15:15:16
221
原创 基于 Object 类及包装类的专项实验
6、在上述Student 类基础上覆盖 toString 方法,“姓名:xxx,年龄:xxx,成绩:xxx” ,其中无效数据(null )显示为 “未填写”。System.out.println("成绩是否有效:" + student.isScoreValid());return "姓名:" + name + ",年龄:" + ageStr + ",成绩:" + scoreStr;System.out.println("年龄是否有效:" + student.isAgeValid());
2025-11-15 15:11:23
989
原创 Java IO流文件操作专项
文件格式兼容:新增对Excel(.xlsx)、PDF、压缩包(.zip/.tar)的流式解析能力,支持100万行Excel数据的分批次读取(内存占用控制在500MB内)。启动旧服务: nohup java -jar app-file:2.0.0.jar --spring.profiles.active=prod & ,验证文件操作功能恢复正常。权限配置:给文件存储目录(如 /data/app/files )赋予读写权限( chmod 755 /data/app/files )。
2025-11-15 15:00:52
479
原创 使用List集合专项实验
System.out.println("工资大于" + searchSalary + "的员工信息:");return "姓名:" + name + ",年龄:" + age + ",工资:" + salary;if (worker.getName().startsWith("胡")) {if (worker.getName().contains("胡")) {(6) 输入一个商品名,查询出此类商品的信息,如果不存在,则打印商品"商场无此商品!
2025-11-14 23:41:17
772
原创 基于字符串的专项实验
要求:实现字符串的简单编码转换,规则为:将每个字符的 ASCII 值加 3 后转换为新字符(如 'a'→'d','5'→'8'),编码后的字符串需保留原字符串的长度和格式。10、编程实现两个字符串的公共前缀查找。System.out.println("数字" + i + "出现的次数:" + counts[i]);System.out.println("随机拼接的字符串:" + sb.toString());System.out.println("替换后的字符串:" + sb.toString());
2025-11-08 21:38:11
560
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅