自定义博客皮肤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)
  • 收藏
  • 关注

原创 JavaEE 初阶 - 多线程(进阶)

本文系统梳理了多线程中的常见锁策略,从悲观锁与乐观锁的冲突处理思想,到重量级/轻量级锁、自旋锁的性能权衡,再到公平锁与非公平锁的调度差异,以及可重入锁、读写锁的特性与应用场景。同时深入解析了CAS(Compare And Swap)机制的核心原理及其在原子操作、自旋锁等场景中的关键作用,强调各类锁策略可组合使用,共同构建高效、安全的并发控制体系。

2026-10-13 20:10:05 378

原创 JavaEE 初阶 - 多线程(初阶)

本文介绍了线程的基本概念,阐述了线程作为操作系统调度单位的作用,强调多线程可实现任务并发执行,提升程序效率。通过对比进程与线程,说明线程共享进程资源但存在安全风险。文章还讲解了多线程创建的多种方式(继承Thread、实现Runnable、Lambda等),并以实例演示线程并发执行的不确定性。最后指出,多线程在多核环境下可实现真正并行,显著提升运行速度。

2026-10-06 20:27:30 612

原创 JavaSE 基础语法 - 认识异常

随着程序越来越复杂,我们会发现一个问题:程序并不总是能够按照我们预期的方式运行。例如:程序运行之后发生异常,程序直接停止了。再比如:运行后发生异常。又比如:运行后发生异常。这些问题有一个共同特点:程序在运行过程中出现了异常情况。那么,什么是异常?异常和错误有什么区别?为什么程序会出现异常?出现异常以后,程序一定会停止吗?我们能不能自己处理异常?这些就是本篇要讲的内容。异常的英文是:Exception在 Java 中,异常是程序在运行过程中出现的不正常情况,它会导致程序无法按照正常流程继续执行。例如:

2026-09-02 18:06:42 182

原创 JavaSE 基础语法 - 认识String类

String 不是 Java 的基本数据类型,而是一个类。这些属于 Java 的基本数据类型。而String是一个类。String name = "张三";中的 String 本质上是一个引用类型。这和我们前面学习的类和对象有直接关系。int age;这里 Student 是类。而 student 是引用变量。String 也是一样。String 类的对象。

2026-08-31 19:53:51 311

原创 JavaSE 基础语法 - 接口

接口使用interface关键字定义。interface 接口名 {void fly();System.out.println(name + "正在睡觉");void fly();@OverrideSystem.out.println(name + "吃狗粮");@OverrideSystem.out.println(name + "正在游泳");@OverrideSystem.out.println(name + "吃虫子");@Override。

2026-08-30 17:18:53 307

原创 JavaSE 基础语法 - 抽象类

abstract是 Java 中用于定义抽象类和抽象方法的关键字。前者表示:抽象类后者表示:抽象方法抽象方法是一种只有方法声明,没有方法体的方法。后面没有 {. . . } 而是直接;所以这个方法是抽象方法。

2026-08-30 17:17:57 148

原创 JavaSE 基础语法 - 多态 - ②

本文摘要: 本文主要讲解Java多态中的向上转型与向下转型。向上转型指子类对象转为父类类型,如Person p = new Student(),此时只能访问父类中声明的成员。向下转型是将父类引用转回子类类型,如Student s = (Student)p,可访问子类特有方法。但向下转型存在ClassCastException风险,需使用instanceof进行类型检查。文章还分析了多态在JVM中的内存结构,说明父类引用实际指向子类对象。通过向上转型+方法重写+动态绑定实现多态特性。(150字)

2026-08-20 18:08:14 197

原创 JavaSE 基础语法 - 多态 - ①

本文介绍了Java面向对象编程中的多态特性。主要内容包括: 多态的概念:使用父类类型统一处理不同子类对象,实现同一方法在不同子类中的不同表现。 多态的必要性:通过继承后,如果不使用多态,会导致代码与具体子类强耦合,增加新子类时需要修改原有代码。 多态的实现:父类引用可以指向不同子类对象,调用被重写方法时实际执行子类的方法。 多态的优势:提高程序扩展性,降低代码耦合度,新增子类时无需修改原有处理逻辑。 多态的现实类比:类似于现实世界中"动物"这一概念可以表现为狗、猫等具体动物,但各自行为不同。 多态是Java

2026-08-16 23:26:02 330

原创 JavaSE 基础语法 - 继承 - ②

本文介绍了Java中super关键字的作用和使用场景。super主要用于解决继承中的成员冲突和父类初始化问题,具体功能包括:访问父类成员变量(super.name)、调用父类方法(super.eat())以及调用父类构造方法(super())。当子类与父类成员重名时,默认遵循"就近原则"访问子类成员,而super可以显式访问父类成员。此外,构造方法中super()必须作为第一条语句执行,确保父类先初始化。文章还对比了this与super的区别,强调super仅代表当前对象的父类部分而非独立对象。

2026-08-14 17:12:27 218

原创 JavaSE 基础语法 - 继承 - ①

继承(Inheritance)是一种类与类之间的关系,子类可以继承父类的属性和行为,从而实现代码复用和功能扩展。子类可以拥有父类中可以继承的成员。Person 类中有以下变量和方法↓nameStudent 类中有以下方法↓ study()如果 Student 继承 Person。name是不是几乎不用重复写代码?这就是继承最大的作用。抽取多个类共同拥有的属性和行为。int age;System.out.println("吃饭");System.out.println("睡觉");

2026-08-14 17:11:41 204

原创 JavaSE 基础语法 - 类和对象 - ⑤

本文主要介绍了Java中Object类的基础知识及其应用。首先通过示例展示了Object类作为所有Java类的默认父类,解释了toString()方法的来源。接着详细分析了对象打印原理,指出默认输出实际上是类名+@+哈希值,而非内存地址。文章强调了重写toString()方法的重要性,并介绍了@Override注解的校验作用。最后提出使用对象数组管理多个同类对象的方法,以解决大量对象创建和管理的问题。这些内容涵盖了Java面向对象编程中关于Object类和对象管理的基础知识点。

2026-08-04 18:32:58 435

原创 JavaSE 基础语法 - 类和对象 - ④

本文讲解了Java中static关键字的使用,主要包括: static成员变量(类变量)的特点和使用场景,如统计学生数量等需要共享数据的场景。 static成员方法的定义和调用方式,以及其访问限制(只能访问静态成员,不能使用this)。 static初始化的时机(类加载时完成,只执行一次)。 static与普通成员的区别:所属对象、共享性、创建时间、访问方式等。 解释main方法必须是static的原因。 代码块的分类(普通、构造、静态)及其执行顺序。 完整类加载和对象创建时的执行顺序:静态代码块→构造代码

2026-08-04 18:05:04 171

原创 JavaSE 基础语法 - 类和对象 - ③

本文摘要: Java封装是面向对象三大特性之一,通过private关键字隐藏成员变量,提供getter/setter方法控制访问权限。封装能保障数据安全(如防止年龄赋负值),符合JavaBean规范(private属性+公共方法)。访问权限分为public>protected>默认>private,应遵循最小权限原则。包(package)用于分类管理类,需注意导入语句的使用。最后通过学生类案例演示了标准封装实现,包括构造方法、数据校验和规范化的方法定义,体现了封装的核心价值——隐藏实现细节并确保数据合法性。

2026-08-02 21:20:37 178

原创 JavaSE 基础语法 - 类和对象 - ②

本文摘要: 本文详细讲解了Java中this引用的概念和使用方法。首先通过实例分析了成员变量与局部变量同名时的问题,引出this引用的必要性。this表示当前对象的引用,本质是保存对象地址的变量。文章阐述了this的三大特性:只能在成员方法/构造方法中使用、代表调用对象、不可手动赋值。重点介绍了this的三种用法:访问成员变量解决命名冲突、调用成员方法和构造方法(必须放在第一行)。最后讲解了对象初始化的三种方式(默认初始化、就地初始化和构造方法初始化)以及构造方法的特点(必须与类同名、无返回值、自动调用、可

2026-08-02 21:08:49 216

原创 JavaSE 基础语法 - 类和对象 - ①

本文介绍了面向对象编程(OOP)的基本概念及其在Java中的应用。主要内容包括: 面向对象思想的核心是将现实事物抽象为程序中的对象,每个对象包含属性(数据)和行为(方法)。 面向对象与面向过程的区别:前者关注"谁来做",后者关注"如何做"。面向对象更适合大型项目,具有更好的可维护性和代码复用性。 类的定义与使用:类是对象的模板,通过class关键字定义,包含成员变量(属性)和成员方法(行为)。类名应采用大驼峰命名法。 成员变量与局部变量的区别:成员变量属于对象,有默认值;局部变量属于方法,必须初始化,生命周

2026-07-30 18:02:34 297

原创 JavaSE 基础语法 - 数组的定义与使用 - ②

本文介绍了Java数组的基本操作,包括: 数组元素的访问与修改:通过索引(从0开始)访问或修改元素; 数组长度获取:使用length属性; 数组遍历:普通for循环(适合需要索引的情况)和增强for循环(foreach,适合简单遍历); 常见异常:数组越界(访问不存在的索引)和空指针异常(未初始化数组); 常见数组练习:求和、求最大值、查找元素、逆序等; Arrays工具类的使用:toString(数组转字符串)、sort(排序)、equals(比较数组内容)等。

2026-07-26 18:43:14 388

原创 JavaSE 基础语法 - 数组的定义与使用 - ①

本文系统介绍了Java数组的概念、特点及应用场景。数组是一种存储多个相同类型元素的数据结构,具有类型统一、长度固定、元素有序等特点,属于引用数据类型。文章通过对比普通变量与数组在存储多个数据时的差异,说明了数组的优势:简化代码、便于遍历和统计计算。详细讲解了数组的两种初始化方式(动态初始化和静态初始化)及其适用场景,并分析了数组的组成结构(变量、对象、元素和索引)。数组适用于需要统一管理同类数据的场景,能有效提升程序开发效率和可维护性。

2026-07-25 17:26:24 492

原创 JavaSE 基础语法 - 方法的使用 - ③

本文摘要: Java参数传递机制详解:Java采用值传递(Pass by Value),无论是基本类型还是引用类型。对于基本类型,传递的是值的副本;对于引用类型,传递的是地址值的副本。修改引用类型参数会影响原对象内容,但重新赋值不会影响外部变量。递归是指方法调用自身,必须包含终止条件(递归出口)和递推公式(问题分解),否则会导致栈溢出。正确使用递归可以解决可分解的重复性问题,如阶乘计算等。 (字数:149字)

2026-07-24 19:27:55 215

原创 JavaSE 基础语法 - 方法的使用 - ②

本文摘要: 本文详细讲解了Java方法签名和方法重载的核心概念。方法签名由方法名和参数列表(参数类型、数量、顺序)组成,用于唯一标识方法,不包含返回值、修饰符等元素。方法重载允许在同一个类中定义多个同名方法,只要参数列表不同即可,提高了代码的可读性和调用便捷性。文章通过具体代码示例阐述了重载的三种情况(参数数量、类型、顺序不同),并明确了不能构成重载的情形(如仅返回值不同)。最后指出方法重载的本质就是方法签名的差异化,这是Java实现多态性的重要基础。理解这些概念对编写清晰、灵活的Java代码至关重要。

2026-07-23 18:13:58 187

原创 JavaSE 基础语法 - 方法的使用 - ①

文章摘要: 方法(Method)是Java中用于封装特定功能的代码块,能够被重复调用以提高代码复用性。通过方法可以避免重复编写相同代码,降低维护成本,提升可读性和模块化开发。一个方法由访问修饰符、static关键字、返回值类型、方法名、参数列表和方法体组成,遵循"一个方法只完成一项功能"的原则。例如,计算两数之和的功能可以封装成方法,在需要时直接调用,避免代码冗余。合理使用方法能够使程序结构更清晰,便于团队协作开发。

2026-07-23 18:01:02 459

原创 JavaSE 基础语法 -逻辑控制

本文介绍了Java中的流程控制语句,包括选择结构和循环结构。选择结构通过if和switch语句实现条件分支,其中if支持单分支、双分支和多分支判断,switch适用于多固定值匹配。循环结构包括for、while和do-while三种形式,用于重复执行代码块。文章还详细讲解了break和continue的使用场景,以及循环嵌套和死循环的概念。这些流程控制语句使程序能够根据条件执行不同逻辑或重复操作,是Java编程的基础组成部分。

2026-07-19 20:45:51 194

原创 JavaSE 基础语法 - 运算符

Java运算符是程序中进行计算与逻辑处理的核心工具。文章系统介绍了Java中各类运算符的用法,包括算术运算符(加减乘除取余)、自增自减运算符(前置/后置++的区别)、赋值运算符(含复合赋值)、关系比较运算符(> < ==等)、逻辑运算符(&& || !及其短路特性)以及位运算符(& | ^ ~ << >>等)和三元运算符(?:)。特别强调了运算符的优先级、特殊场景下的注意事项(如整数除法取整问题、++i与i++的区别)以及实际应用技巧(如取余判断奇偶)。通过丰富的代码示例,帮助开发者掌握运算符的正确使用方式

2026-07-19 16:54:02 200

原创 JavaSE 基础语法 - 数据类型与变量

本文介绍了Java中的数据类型及其使用方法,主要包括以下内容: 变量的概念与作用:变量是存储数据的容器,需要指定数据类型来规定存储内容和内存空间。 Java数据类型分类: 基本数据类型(8种):byte、short、int、long、float、double、char、boolean 引用数据类型:String、数组、类、接口等 重点数据类型详解: 整数类型(int最常用,long用于大数) 浮点类型(double最常用) 字符类型char(单个字符) 布尔类型boolean(true/false) 变量定

2026-07-17 21:59:28 534

原创 JavaSE 基础语法 - 初始 Java

Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译器Javac与自带的调试工具Jconsole、jstack等。:Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程序运行的所需环境。JVM:Java虚拟机,运行Java代码。

2026-04-14 22:49:25 599

空空如也

空空如也

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

TA关注的人

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