自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 基于 IO 流实现文件操作的专项实验

流的选择原则:二进制文件(图片 / 视频)用字节流,文本文件用字符流;效率优化:使用缓冲数组(字节 / 字符数组)或缓冲流(BufferedXXX)提升读写效率;资源管理:流使用完毕必须关闭,推荐使用语法避免资源泄漏;追加写入的构造器传入true参数即可实现追加,而非覆盖。

2025-12-26 19:31:04 599

原创 基于多线程机制的专项实验

知识点核心要点线程创建推荐实现Runnable接口(Lambda 简化),避免继承Thread类的单继承限制。线程安全共享资源的写操作需保证原子性,使用或。线程通信简单场景用wait()notify(),生产环境推荐。线程池推荐手动创建,避免Executors的默认参数陷阱。线程控制sleep()不释放锁,wait()释放锁;join()控制线程执行顺序。线程创建:实现Runnable接口(Lambda)是首选,解耦且灵活。线程安全:核心是保证共享资源操作的原子性,和。

2025-12-15 09:31:02 598

原创 基于异常处理机制的专项实验

创建自定义异常类,处理业务场景中的个性化异常(如用户不存在、余额不足)。避免捕获通用异常(Exception):应捕获具体的异常类型(如),便于精准处理问题。不要空 catch 块:空 catch 块会吞噬异常,导致问题无法排查,至少要打印异常信息(或日志记录)。finally 块中避免抛出异常:若 finally 块抛出异常,会覆盖原有的异常,导致根原因丢失。业务异常优先使用 RuntimeException:减少代码中不必要的try-catch,让代码更简洁。使用异常链保留根原因。

2025-12-15 09:22:23 549

原创 Map集合的专项实验

结论:若自定义对象不重写hashCode()和equals(),HashSet 会认为所有对象都是不同的,无法去重。实现类底层结构有序性去重依据线程安全允许 nullHashSetHashMap(哈希表)无序(哈希值决定)否是有序(插入顺序)否是TreeSetTreeMap(红黑树)有序(自然 / 定制排序)Comparable/Comparator(比较结果)否否。

2025-12-15 09:16:02 551

原创 Java程序设计基于使用List集合专项实验

List是Java集合框架中Collection接口的重要子接口,专门用于存储有序的、可重复的数据元素。其核心特征包括:①有序性:元素的存储顺序与添加顺序一致,可通过索引(从0开始)精确访问元素;②可重复性:允许存储多个值相等的元素(equals()返回true);③索引访问:提供了基于整数索引的元素操作方法,这是List与Set接口的核心区别(Set无索引)。List接口的常用实现类有三个:ArrayList、LinkedList、Vector,三者底层实现与特性差异显著,直接决定了其适用场景的不同。

2025-11-27 11:11:45 259

原创 Java程序设计基于Set集合专项实验

Set是Java集合框架中Collection接口的重要子接口,专门用于存储“无序的、不可重复”的数据元素。其核心特征与List形成鲜明对比:不可重复性:集合中不会存在两个equals()返回true的元素,这是Set与List的核心区别(List允许重复)。无序性:元素的存储顺序与添加顺序无关,无法通过索引访问元素(这是Set与List的另一核心差异)。注意:LinkedHashSet是例外,其通过链表维护了元素的添加顺序,具备“有序表象”。

2025-11-27 11:11:32 260

原创 Java程序设计基于字符串的专项实验笔记

深入理解Java中String类的不可变性本质及底层实现原理,明确其与StringBuilder、StringBuffer的核心差异。熟练掌握String类常用方法(如字符串比较、查找、替换、截取等)的使用场景及调用技巧。掌握字符串常量池的工作机制,理解字符串创建方式对内存占用的影响,提升内存优化意识。能够根据实际开发需求,合理选择String、StringBuilder或StringBuffer,解决字符串相关编程问题。

2025-11-24 09:50:59 701

原创 Java程序设计基于Object类及包装类的专项实验

本次实验深入理解了Object类和包装类的核心特性,认识到Java语言中"一切皆对象"的设计思想。Object类的方法为对象提供了统一的行为规范,而包装类则搭建了基本数据类型与对象之间的桥梁。通过实验,不仅掌握了具体方法的使用,更理解了背后的设计理念(如常量池的性能优化思想)。在后续开发中,将更加注重代码规范,合理运用这些知识提升程序的健壮性和效率,避免常见的空指针、哈希冲突等问题。创建Student类,声明id和name属性,生成无参、有参构造方法及setter/getter方法。

2025-11-24 09:47:05 571

原创 Java异常

方法,所以启动线程时无法通过当前线程对象直接调用。每个线程都要先获取锁对象身上的锁资源,一旦有一个。线程抢到了锁,则其他线程不允许进入同步代码块;进入方法,只有等到执行方法的线程执行完成,其他线。当抢到锁的线程执行完同步代码块中的程序。表示的对象都是同一个线程对象时,才能使用同步。的异常类型是否匹配,如果匹配,则将异常对。当线程遇到同步代码块,如果锁资源已经被其。当锁资源被释放,当前线程从阻塞状态回到就。当多个线程同时执行同步代码块中的代码时,时,释放锁资源,所有线程重新抢占锁资源。

2025-06-18 21:01:01 904

原创 Java集合常用

要求实现 如果老师的姓名和年龄相同的话 不。理解:集合存储多个对象的容器,集合就是一。注意:如果指定的下标超过有效的范围,则。泛型集合:强制约束集合中的元素数据类型。都不相等,则直接将当前对象添加到集合。总结:如果希望根据对象的属性值判断是。等,如果相等,则不再添加到集合;方法返回的整数值 整数值的比较效。链表:不连续的内存空间 查询慢。不存在,直接添加键值对,返回值为。中所有的元素需要重新计算位置,数组:连续的内存空间 查询快。相等,则将该元素添加到集合中。基于数组实现的 查询快 增删。

2025-06-18 20:59:00 697

原创 Java常用类

这种获取字符串对象的形式,产生两个对象,一个。在堆空间中,另一个需要查看串池中是否存在该对。对应的字符串中的字符,如果给定的下标超过了合。当前字符串中第一次出现的首字母的下标,如果没。将 基本数据类型 转换为 对应的包装类型称。将 包装类型 转换为 对应的 基本数据类型。对象的哈希值由对象在堆空间中地址转换的。不同的对象在堆空间中地址不同,所以不同。覆盖的原则:将对象的所有属性拼接为一个。字面值为常量,一旦创建,不能更改,所以。必须是纯数字,否则运行报错,错误信息。进行拆分,拆分之后的结果存储在 数组。

2025-06-18 20:57:19 914

原创 Java内部类

内部类:定义在一个类 内部的类被称为 内部类。内部类的分类:成员内部类、静态内部类、局部。类本身没有自己的类名,是一个特殊局部内部类。匿名内部类必须继承一个父类或是实现一个接口。匿名内部类只能创建一个对象,而且对象的创建。内部类可以直接使用外部类的属性和方法。表达式:对匿名内部类的进一步简化,表达式应用场景:对函数式接口的实现。优点:简化代码,降低代码的冗余性。局部内部类:定义在方法中。内部类编译之后生成独立的。没有 参数、没有返回值。中的数据类型可以省略的。内部类、匿名的内部类。匿名内部类:【重点】

2025-06-18 20:56:28 367

原创 Java接口

由于接口与接口之间为多继承,类与接口之间为多实现。的抽象方法,而且覆盖接口中方法时,访问权限必须。标记接口:也称为 空接口,接口中没有定义任何。接口:是一种标准,接口的实现者和使用者都必。如果一个类实现接口,需要实现所有方法,包括。如果类实现多个接口时,需要把实现所有接口中。普通接口:接口中有多个抽象方法,或许还有属。常量接口:接口中没有抽象方法,只有属性【了。函数式接口:接口中有且仅有一个抽象方法【重。接口中所有的方法都默认为公开、抽象方法。一个类实现多个接口的同时,继承一个父类。

2025-06-18 20:53:34 810

原创 Java三个修饰符

注意:不要为了使用方便,将所有属性和方法定义静。态的,有些属性必须基于对象而存在,不能被共享,特点:静态属性和创建多少对象没有关系,基于。作用:在类加载的时候,完成静态属性初始化工。特点:抽象只能声明引用,但是不能单独的创。特点:只有方法的声明部分,没有方法实现部。注意:抽象方法只能定义抽象类中;修饰的方法:允许子类继承,但是不允许被。包、类名、父类、属性、构造方法、方法。修饰的属性称为 静态属性、静态变。注意:静态方法中只能访问静态成员。修饰的类:不能被继承,没有子类。抽象类中可以定义属性和成员方法。

2025-06-18 20:52:55 798

原创 面向对象-三大特性

同,但是形参列表不同的方法,不再是方法的覆盖,方法,子类覆盖了父类中方法,则优先使用子类的。父类型的引用 赋值给 子类型的引用,需要强制。方法的覆盖:子类中定义了和父类中相同的方法。以父类型的引用调用属性和方法,只能调用父类。场景:如果实际存储对象类型和转换的类型不一。法,通过继承关系,也可以调用父类中的方法。如果父类型的引用强制转换为子类型,编译通。如果实际存储对象类型和转换的类型一致,运。如果实际存储对象类型和转换的类型不一致,子类的方法名、返回值类型、形参列表和父。

2025-06-18 20:52:13 584

原创 Java面向对象

生活中客观存在的事物,都可以利用对象在计算中进。对象的属性:代表对象的特征,有什么特点,对。对象的方法:代表对象有什么功能,能做什么,一个类中不能有同名的成员变量,但是成员变量。注意:赋值时,后面的值类型取决于属性定义时。理解:在一个类中,定义多个同名方法,但是形。使用:根据调用时传递的实际参数,决定使用哪。构造方法:是一种特殊的方法,也被称为构造器。是一种强类型的语言,对应类型的数据必须存储。每个对象在堆空间中相互独立,操作一个对象的。同类型的引用之间可以相互赋值,传递的是引用。

2025-06-18 20:48:56 917

原创 Java数组

理解:数组是一组连续的存储空间,可以存储多。注意:分配空间的数据类型和声明的数据类型一。访问数组时超过数组的有效下标时,编译通过,数组的遍历:通过数组的下标将数组内容进行一。同类型的数组变量之间可以相互赋值,传递的是。创建一个更大长度的新数组,通常为原数组长度。冒泡排序:每次将相邻的两个元素进行比较,排序:将数组中元素按照一定的规则进行存储。数组的重要因素:数组的长度、数据类型。将原数组中元素一一复制到新数组中。将原来数组内容一一复制到新数组中。当前一个变量只能存储一个数据。数组的长度不够用了,需要扩容。

2025-06-18 20:46:33 816

原创 Java函数

注意:函数的返回值约定了函数和调用者之间交互的。次执行,如果如果函数的调用,则优先执行被调函数。内部的代码,被调用函数执行完毕之后,带着返回值。函数定义的位置:定义在类以内,其他的函数以。注意:函数名,采用驼峰命名法,第一个单词首。互,调用者需要给函数传递一些交互数据,交互。形式参数:简称为形参,在函数定义时,约定调。使用:形参相当于函数内部的局部变量,在函数。实际参数:函数在调用时,给形参赋值的数据,理解:函数和调用者之间的一种数据交互,调用。回归:基于出口的结果,逐层向上回归,依次计。

2025-06-18 20:45:34 610

原创 Java循环结构

体,循环变量的改变,再次判断循环条件,条件成。循环组成部分:循环变量的初始化、循环条件、执行原理:首先执行循环变量的初始化,执行循。,则执行循环体,循环变量改变,再次判断循环。先判断外层循环条件,再判断内层循环的循环条。利用循环嵌套打印图形:外层循环控制行,内层。循环控制列(内层循环有时受外层循环的控制)环体,循环变量的改变,判断条件,条件成立。,跳出循环,继续执行循环后面的语句。:中止本次循环,从而进入下一次循环。特点:先判断,再执行,执行的次数为。执行的流程:执行循环变量的初始化。

2025-06-18 20:44:51 661

原创 Java分支结构

执行流程:从上往下依次判断,满足哪一个条件,行对应后面的语句,如果都没有匹配成功,则执行。作用范围:从定义位置开始,到定义它的代码块。注意:条件的个数取决于开发中业务需求。在重合的作用范围内,不允许命名冲突。执行原理:如果条件成立,结果为。报错信息:可能尚未初始化变量。概念:定义在函数内部的变量。局部变量必须先赋值,再使用。后面的值,匹配成功,执。执行的流程:先判断外层。报错信息:找不到符号。如果条件成立,结果为。果,从上往下依次匹配。

2025-06-18 20:44:07 816

原创 变量、数据类型、表达式、运算符

注意:关系运算符连接的表达式结果类型为布尔类。概念:计算中一块内存空间,存储数据的基本单。对象类型:数组、类、接口等类型都是对象类型。场景:小数据类型的变量给大数据类型的变量赋。场景:大数据类型的变量赋值给小数据类型的变。理解:表达式是由变量、字面值、运算符组成式。:逻辑与,并且,两端连接的为布尔表达式,:逻辑或,或者,两端连接的为布尔表达式,是一种强类型的语言,对应类型的数据只。变量的组成:数据类型、变量名、数据。依据变量存储的范围,规定数据存。执行原理:如果布尔表达式的结果为。

2025-06-18 20:42:20 541

原创 Java环境的搭建

1998年,JDK 1.2发布,带来了大量新特性,如集合框架、Swing图形库等,Java的应用范围进一步扩大。• 开源与新发展(2017年至今):2017年,Java 9发布,带来了模块化系统等新特性,同时Java也进一步走向开源。等 不同的编程语言 好比 不同国家的语言,每个语言都有 自己的语法,同样不同编程语言也有自身不同语法和应 用场景 ,Java是一种后台、后端的编程语言。在 Java 中,**包(Package)**是一种组织类和接口的机制,用于避免命名冲突、便于代码管理和控制访问权限。

2025-06-07 22:40:03 1381

原创 Deep seek的发展前景和背景

DeepSeek脱胎于中国顶尖量化基金幻方量化(High-Flyer Quant),创始人梁文锋兼具金融与AI技术背景,团队核心成员多来自清华、北大等高校,具备深厚的算法与工程能力。其早期积累的算力资源(如超万张A100 GPU)和量化数据分析经验,为后续AI模型的研发奠定了技术基础。DeepSeek通过混合专家模型(MoE)、FP8混合精度训练、动态路由算法等创新技术,显著降低模型训练与推理成本。例如,其R1模型的训练成本仅为557.6万美元,是同类国际模型的1%。

2025-03-06 18:59:59 3049

原创 初识JAVA

Java的生态系统也非常庞大,包括各种框架、库和工具,为开发人员提供了丰富的资源和支持。2006年,Sun发布了Java的最大的改进版本之一,Java 6,带来了许多新的特性和改进。在接下来的几年里,Java的发展继续,包括Java 7、Java 8、Java 9等版本的发布,每个版本都带来了新的功能和改进。2. **新的语言特性**:随着Java版本的升级,新的语言特性被不断引入,比如Lambda表达式、Stream API、模块化系统等,这些特性提升了开发人员的编程体验和代码的可读性。

2025-03-06 16:21:40 341

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除