- 博客(25)
- 收藏
- 关注
原创 Java中抽象类和接口的概念
抽象类不能被 final 修饰,因为 final 修饰的类无法被继承,这与抽象类需要被继承的设计初衷冲突;- 适用于子类间存在共性实现,同时又有不同行为的场景,比如定义“图形”抽象类,包含“计算面积”的抽象方法(不同图形面积计算逻辑不同),同时提供“获取图形颜色”的非抽象方法(所有图形都有颜色属性,实现逻辑一致)。- 适用于定义类的行为标准,不关注具体实现的场景,比如定义“可飞翔”接口,包含“起飞”和“降落”的抽象方法,鸟类、飞机类等不同类型的类都可以实现这个接口,各自实现对应的方法逻辑。
2025-12-29 18:06:25
405
原创 Java虚拟机的内存结构
虚拟机栈用于描述Java方法执行的内存模型,每个方法被执行时,JVM都会同步创建一个栈帧(Stack Frame) 用于存储局部变量表、操作数栈、动态链接、方法出口等信息,方法从调用到执行完毕的过程,对应着一个栈帧在虚拟机栈中从入栈到出栈的过程。- 操作数栈:是一个后入先出(LIFO)的栈结构,方法执行过程中,会根据字节码指令完成各种入栈、出栈、复制、交换、产生消费的操作,比如执行 iadd 指令时,会从操作数栈中弹出两个 int 类型的值相加,再将结果压入栈中。
2025-12-28 23:34:14
330
原创 Java中核心机制的概念
封装指将对象的属性和行为封装在类中,通过访问修饰符(private、default、protected、public)控制属性的访问权限,仅对外暴露必要的方法,提高代码的安全性和可维护性,比如将类的成员变量设为private,通过getter/setter方法访问和修改。除了上述核心机制外,Java的反射机制、泛型机制、多线程机制等也是支撑其功能扩展的重要部分,反射允许程序在运行时获取类的信息并操作类的属性和方法,泛型则解决了集合的类型安全问题,多线程机制则支持程序并发执行,提升程序的运行效率。
2025-12-28 23:29:36
332
原创 Java中常用的数据结构实现类概念
因此它既具备 HashSet 的高效存取特性,又能保证元素按插入顺序遍历,同样需要元素重写 hashCode() 和 equals() 方法,非线程安全,适合需要有序去重的场景。底层基于哈希表实现,是一个古老的映射实现类,线程安全(方法使用 synchronized 修饰),但不允许键和值为 null ,扩容比例为 2 倍,并发效率较低。作为双端队列时,底层双向链表结构支持头尾元素的快速操作,允许存储 null 元素,非线程安全,适合需要灵活操作首尾元素的场景。
2025-12-27 22:28:03
441
原创 Java中继承与多态的概念解析
调用父类构造方法时, super() 必须是子类构造方法的第一条语句,且默认隐式调用父类无参构造,若父类没有无参构造,则子类必须显式调用父类的有参构造。多态的本质是父类引用指向子类对象,通过这种引用调用方法时,实际执行的是子类重写后的方法,以此实现程序的灵活性和扩展性。- 运行时多态(动态多态):指方法重写,父类引用指向子类对象后,调用重写方法时,JVM在运行阶段才确定实际执行的是子类的方法,这是多态的核心体现。- 向上转型:即 父类引用指向子类对象 ,是自动完成的转型,也是多态的基础。
2025-12-27 15:53:17
569
原创 Java Web 与框架的概念解析
全栈框架:代表为 Spring Boot,它基于 Spring 框架开发,整合了表现层、业务层、数据层的全套解决方案,通过自动配置机制消除大量 XML 配置,支持快速构建独立运行的 Web 应用,同时提供丰富的生态组件(如安全认证、缓存、消息队列等),是当前 Java Web 开发的主流选择。- 表现层框架:代表为 Struts2、Spring MVC,核心作用是封装 HTTP 请求与响应,实现请求参数自动绑定、视图跳转控制、拦截器等功能,简化表现层与业务层的交互。
2025-12-26 20:06:55
259
原创 Java 核心类库与数据结构
Collections:提供静态方法操作集合,如 sort() (排序 List)、 reverse() (反转 List)、 synchronizedList() (将非线程安全集合转为线程安全)、 binarySearch() (二分查找)。- Math :提供静态方法,如 abs() (绝对值)、 round() (四舍五入)、 random() (随机数)、 max() / min() 等,基于系统原生方法实现,效率高。增删快(仅需修改节点引用),查询慢(需遍历链表);
2025-12-25 20:26:37
284
原创 Java中关于Io硫的相关概念
常见类有 FileInputStream / FileOutputStream (文件字节流)、 FileReader / FileWriter (文件字符流)、 ByteArrayInputStream (内存字节流)。以 1 个字节(8 bit) 为单位处理数据,是万能流,可处理任意类型数据(图片、视频、音频、文本),不涉及编码转换,直接操作二进制数据。在 Java 中,IO(Input/Output)流是用于处理设备(如文件、网络、键盘、屏幕)之间数据传输的核心机制。
2025-12-25 17:32:05
381
原创 Java多线程核心概念
线程状态:新建(New)→就绪(Runnable)→运行(Running)→阻塞(Blocked/Waiting/Timed Waiting)→终止(Terminated)。- 继承 Thread 类:重写 run() 方法(线程执行逻辑),调用 start() 启动(底层调用 start0() native方法)。- 线程池:管理线程生命周期,减少创建/销毁开销,核心类 ThreadPoolExecutor (核心参数:核心线程数、最大线程数、队列容量等)。3. 关键特性与控制。
2025-12-24 20:43:46
273
原创 Java中基于异常的概念
运行时异常(非受检异常 Unchecked Exception):编译阶段无需强制处理,由程序逻辑错误导致,如 NullPointerException (空指针)、 ArrayIndexOutOfBoundsException (数组越界)、 ClassCastException (类型转换)。- 编译时异常(受检异常 Checked Exception):编译阶段必须处理(捕获或声明抛出),否则代码无法编译,如 IOException 、 SQLException。
2025-12-22 15:17:44
343
原创 Java中Map的全面概念解析
Map 是 Java 集合框架中键值对(Key-Value Pair)的存储容器,核心特征是键的唯一性——一个键只能映射到一个值,新值会覆盖同键的旧值,它与 Collection 接口是并列的顶级集合类型,不继承 Collection。- 特点:按键的自然顺序或**自定义比较器(Comparator)**排序,查询、插入、删除时间复杂度 O(log n),线程不安全,键不允许为 null。- 特点:无序存储,查询、插入、删除效率高(平均时间复杂度 O(1)),线程不安全,允许键和值为 null。
2025-12-19 15:34:31
370
原创 Java中Set集合的概念
Set 集合不允许存储重复元素,判断元素是否重复的依据是 equals() 方法和 hashCode() 方法——两个元素若 equals() 返回 true ,则 hashCode() 必须相等,反之不一定。它兼具 HashSet 的元素唯一性,同时会维护元素的插入顺序,遍历顺序与插入顺序一致;1. 向 Set 中存储自定义对象时,必须重写 equals() 和 hashCode() 方法,否则无法保证元素唯一性,因为默认会使用 Object 类的方法,比较的是对象地址。
2025-12-17 14:00:48
272
原创 Java中List集合的核心概念
1. List的本质:是Java集合框架中 Collection 接口的子接口,属于有序集合,元素的存储顺序与添加顺序一致,且允许存储重复元素,也支持存储 null 值。- 支持通过 add() 在指定索引或尾部添加元素, get() 通过索引获取元素, set() 修改指定索引的元素, remove() 根据索引或元素内容删除元素。- ArrayList:底层基于动态数组实现,适合频繁的随机访问操作,非首尾位置的增删操作效率较低,因为需要移动数组元素。Java中List集合的核心概念。
2025-12-16 15:34:20
192
原创 Java中基于字符串的理解
其他: trim() (去除首尾空白字符,不包含Unicode空白)、 strip() (JDK11+,去除所有Unicode空白)、 substring(beginIndex, endIndex) (JDK7+直接截取字符数组,JDK6会复制原数组,效率低)。- 分割: split(String regex) (正则分割,空字符串可能产生空数组,如 "a,,b".split(",") 结果为 ["a","","b"] )。- 构造方法: String s = new String("abc");
2025-12-02 15:38:44
273
原创 【Java】基于Object类及包装类
重写规范:若 equals() 返回 true ,则两个对象的 hashCode() 必须相等;若 equals() 返回 false , hashCode() 尽量不相等(减少哈希冲突)。传递性:若 x.equals(y) 和 y.equals(z) 为 true ,则 x.equals(z) 也为 true。equals() :比较值(包装类重写了 equals() ,会自动拆箱比较基本类型值)。对称性: x.equals(y) 与 y.equals(x) 结果一致。
2025-11-26 15:43:35
389
原创 Java基于数组的专项实验
System.out.println("集合转Integer数组:" + Arrays.toString(numArray1));System.out.println("Arrays.sort排序结果:" + Arrays.toString(nums2));System.out.println("冒泡排序耗时:" + (endTime - startTime) + "ms");System.out.println("集合转int数组:" + Arrays.toString(numArray2));
2025-06-19 18:34:15
336
原创 Java面向对象专项实验
/ 调用子类实现的方法。// 抽象方法,子类实现。System.out.println("日志:" + msg);3. 多态:父类引用指向子类对象,同一方法表现不同行为(如 getArea() )。4. 接口/抽象类:定义规范(接口)或部分实现(抽象类),强制子类遵循。// 封装:通过getter/setter访问属性。// 同理age的getter/setter。// 构造器与getArea()实现略。
2025-06-19 18:27:40
326
原创 Java中常用电子仪器的使用
2. 实战场景:用Maven创建一个简单Java项目,结合JUnit写测试,再用Git管理版本,逐步熟悉工具链。- 特点:通过插件扩展功能(如Maven、Git插件),项目结构通过“包资源管理器”管理。- 用途:容器化工具,将Java应用及其依赖打包成Docker镜像,实现跨环境部署。- 用途:性能分析工具,监控内存占用、CPU耗时,定位程序瓶颈(如内存泄漏)。- 用途:Java开发最主流的IDE,支持代码自动补全、调试、项目管理等。- 用法:在IDE中设置断点,运行时查看变量、调用栈,排查逻辑错误。
2025-06-19 18:19:13
390
原创 Java基于函数的专项实验:函数式编程实践
System.out.println("函数组合f2.compose(f1):(2*2)+10 = " + composed2.apply(2));System.out.println("函数组合f1.andThen(f2):2*2+10 = " + composed.apply(2));System.out.println("策略模式-乘法:" + calculate(10, 5, multiply));.filter(s -> s.getMajor().equals("计算机")) // 过滤。
2025-06-19 18:16:51
505
原创 基于继承实现动物信息管理及相关专项实验
System.out.println("名称:" + name + ", 年龄:" + age + ", 栖息地:" + habitat);System.out.println(name + "(品种:" + breed + ")在吠叫:汪汪汪");manager.addAnimal(new Dog("大黄", 4, "陆地", "中华田园犬"));manager.addAnimal(new Bird("鸽子", 2, "天空", true));// 调用Dog类中用super显式调用父类的方法。
2025-06-10 17:21:08
814
原创 基于面向对象的三大特性实现学生管理系统
System.out.println("类型:本科生,专业:" + ug.getMajor());System.out.println("类型:研究生,导师:" + gd.getTutor());return "学号:" + id + ", 姓名:" + name + ", 年龄:" + age;System.out.println("添加学生成功:" + student.getName());return super.showBasicInfo() + ", 导师:" + tutor;
2025-06-10 17:17:41
783
原创 Java中基于分支和循环结构的专项实验
System.out.println("成绩无效,请输入0-100之间的数");// 生成1-100的随机数。System.out.println("\n===== 学生成绩管理系统 =====");System.out.print("输入成绩(0-100):");System.out.println("选择错误,请重新输入");System.out.println("请选择操作:1-添加学生 2-查询学生 3-退出");System.out.println("输入必须是数字,请重新输入");
2025-06-10 17:15:08
922
原创 Deepseek的发展与影响
DeepSeek 凭借 低成本技术路线、开源生态策略 和 逻辑推理优先的创新范式,成为全球 AI 领域的颠覆者。其发展不仅推动了中国在新质生产力领域的突破,还重构了搜索引擎、社交媒体等传统互联网生态,并为全球 AI 治理与合作提供了新范式。未来,DeepSeek 的技术迭代与商业化落地将继续影响全球经济与科技竞争格局。
2025-03-07 16:21:37
1045
原创 Deepseek的发展和影响
DeepSeek 凭借 低成本技术路线、开源生态策略 和 逻辑推理优先的创新范式,成为全球 AI 领域的颠覆者。其发展不仅推动了中国在新质生产力领域的突破,还重构了搜索引擎、社交媒体等传统互联网生态,并为全球 AI 治理与合作提供了新范式。未来,DeepSeek 的技术迭代与商业化落地将继续影响全球经济与科技竞争格局。
2025-03-07 16:17:20
1256
原创 初识Java
Java 凭借其简洁性、跨平台能力和强大的生态系统,成为企业级开发、移动应用及嵌入式领域的首选语言。其面向对象设计、安全性保障和持续的技术演进,使其在软件开发领域保持长期竞争力。
2025-03-07 16:08:34
1438
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅