- 博客(32)
- 收藏
- 关注
原创 Flex布局对齐属性全解析
Flex布局对齐属性对比:justify-content控制主轴(水平)排列,align-items控制单行交叉轴(垂直)对齐,align-content管理多行垂直对齐(需配合flex-wrap)。vertical-align仅适用于行内/表格元素垂直对齐,不参与Flex/Grid布局。关键区别在于作用方向和应用场景:前三个作用于Flex容器,最后一个针对行内上下文。示例展示水平垂直居中(justify/align-items)和多行分散对齐(align-content)的实现方式。
2025-10-16 14:10:09
327
原创 Java集合框架实战应用指南
Java集合框架应用场景摘要 ArrayList适合动态数据存储、缓存实现和批量数据处理,其随机访问高效(O(1))但不适合频繁修改。LinkedList基于双向链表,插入删除高效(O(1)),适合实现队列、历史记录等功能。HashSet提供O(1)时间复杂度的去重功能,适合数据过滤和关系判断。LinkedHashSet在HashSet基础上保持插入顺序,适合需要有序去重的场景。TreeSet基于红黑树实现自动排序(O(logn)),适合排行榜、范围查询等需要有序集合的场景。各集合类根据其数据结构特性,在开
2025-09-02 09:00:00
814
原创 Java项目打包成EXE全攻略
本文介绍了使用exe4j和InnoSetup将Java项目打包为Windows安装程序的完整流程。首先通过exe4j将可执行JAR转换为EXE文件,配置JRE要求;然后使用InnoSetup创建安装程序,添加文件、快捷方式等。文章还详细说明了在IntelliJ IDEA中打包可执行JAR的三种方法(Artifacts、Maven、Gradle),并强调了依赖管理、JRE捆绑和测试验证等注意事项。该方案适合需要将Java应用分发为Windows程序的开发者。
2025-08-29 23:36:15
1274
原创 Java深拷贝与浅拷贝核心解析
Java拷贝机制分为浅拷贝和深拷贝。浅拷贝仅复制对象引用,拷贝后对象共享子对象,修改会相互影响;深拷贝完全复制对象及其子对象,生成独立新对象。实现方式上,浅拷贝通过默认clone()方法,深拷贝可通过重写clone()递归克隆或序列化实现。浅拷贝性能更优,适合不可变对象;深拷贝开销较大,但能保证对象完全独立。注意String对象在浅拷贝中安全,数组的clone()是浅拷贝,深拷贝需处理循环引用问题。第三方库如Apache Commons Lang可简化深拷贝实现。
2025-08-29 23:24:44
347
原创 Java继承与虚方法详解
Java继承机制允许子类通过extends关键字复用父类内容,包括public/protected成员和同包下的默认成员,但私有成员需通过公共方法间接访问。构造方法不被继承但必须调用,静态成员可继承但不支持多态。虚方法(非静态/私有/final)支持动态绑定和多态,通过方法表实现运行时调用,而静态/私有/final方法属于非虚方法。合理使用继承需注意访问权限、方法重写规则及性能考量。
2025-08-26 19:37:22
1003
原创 Java测试类、工具类与JavaBean对比解析
Java代码结构分析对比:测试类(如UserServiceTest)用于验证代码逻辑,依赖测试框架,通过注解和断言实现;工具类(如MathUtils)提供静态方法,无状态且功能集中,需私有构造防止实例化;JavaBean类(如User)作为数据载体,强调属性封装,需提供无参构造和getter/setter。三类各司其职:测试类确保正确性,工具类封装通用功能,JavaBean管理数据。
2025-08-26 14:24:36
328
原创 抽象类VS接口:核心区别与实战选择
抽象类和接口是Java中实现多态的两种机制。抽象类用于定义"是什么"的is-a关系,可包含具体和抽象方法,支持共享状态和构造器,但仅支持单继承。接口定义"能做什么"的can-do关系,支持多继承,Java8后新增默认/静态方法功能。抽象类适用于模板模式和共享代码场景,接口更适合定义行为契约和跨类功能。实际开发中常结合使用,如抽象类实现接口部分方法。版本演进中接口功能不断增强,选择时需根据具体需求决定。
2025-08-08 14:23:34
346
原创 Java变量与常量全解析(包含常量类、interface 与 final 的比较)
Java中变量和常量是存储数据的基本单元。变量用于存储可变数据,分为局部变量、实例变量和类变量;常量使用final定义,其值不可变,包括字面量、枚举和系统预定义常量等。变量适用于需要改变的数据,常量用于固定值。二者在内存分配和修改权限上存在差异。此外,Java提供三种定义常量的方式:final关键字(基本用法)、interface常量(隐式public static final)和常量类(组织复杂常量)。实际开发中应根据场景选择合适方式,变量作用域应尽量小,常量命名需具有描述性。
2025-08-07 08:00:00
575
原创 内存分区:程序运行的核心秘密
内存分区是操作系统管理物理内存的核心机制,主要包括代码区、全局/静态区、栈区和堆区。代码区存储只读的机器指令,全局/静态区存放初始化/未初始化的全局变量,栈区由编译器自动管理函数调用相关数据,堆区则支持程序员手动动态分配内存。各分区在管理方式、生命周期和用途上存在显著差异:栈区自动管理但容量有限,堆区空间大但需手动释放。理解内存分区有助于优化程序性能和排查栈溢出、内存泄漏等问题,是系统编程的重要基础。
2025-08-06 19:06:56
349
原创 Java中this()与super()的区别解析
this()和super()是Java中构造函数的两种调用方式。this()用于调用当前类的其他构造函数,实现代码复用,如Car类中无参构造调用双参构造;super()用于调用父类构造函数初始化父类成员,如Car类继承Vehicle时需显式调用super(brand)。关键区别在于:this()实现同类构造器链式调用,super()完成父类初始化;二者都必须是构造器首条语句,但super()在父类无默认构造器时必须显式调用。典型应用场景分别为类内构造函数代码复用和继承时的父类初始化。
2025-08-06 08:00:00
534
原创 Git克隆SSH仓库快速指南
创建GitHub仓库并克隆到本地:登录GitHub后进入"Your repositories",点击"New"创建新仓库,设置必要选项后完成创建。获取仓库SSH地址,在本地终端运行git clone [SSH_URL]命令即可将远程仓库克隆到当前开发环境。这一流程实现了从创建远程仓库到获取本地副本的完整操作。
2025-08-05 18:47:12
161
原创 Java构造器与工具类的实战技巧
本文介绍了Java中构造器、Getter/Setter方法和工具类的应用场景。构造器用于对象初始化,包括无参构造器(设置默认值)、有参构造器(强制关键属性)和链式构造器(避免重复代码)。Getter/Setter方法提供可控的属性访问方式,支持数据校验和延迟加载。工具类封装通用功能,采用final类+私有构造器+静态方法设计,适用于字符串处理、数学计算等场景。建议根据需求选择合适方式:构造器确保对象完整状态,Getter/Setter控制访问逻辑,工具类保持无状态且命名明确。
2025-08-05 17:40:11
279
原创 Java编程:洗牌
本文介绍了如何用Java实现扑克牌的创建和洗牌功能。首先通过定义大小王、四种花色和13个数字来构建54张牌,使用嵌套循环组合成完整牌组。然后通过随机选取两张牌进行交换的方式实现洗牌,利用Math.random()生成随机索引,最后完成牌交换操作。文章展示了从牌组构建到随机洗牌的完整实现过程。
2025-08-04 20:30:00
132
原创 Java与C++数组初始化全对比
本文比较了Java和C++数组初始化的主要差异。Java数组声明支持两种语法,初始化方式包括静态(直接赋值)和动态(指定长度自动初始化)。与C++相比,Java数组由JVM自动管理内存,动态初始化会设默认值,且支持不规则多维数组;而C++需要手动内存管理,原生数组不自动初始化,推荐使用vector实现动态数组。关键区别在于内存管理机制、默认值设置和语法灵活性,Java更自动化,C++则需更精细控制。
2025-08-04 19:30:00
637
原创 Git在Windows下安装配置
1、在Git Bush配置本地信息:git config --global user.name "your name"(邮箱改一下后面为user.email"your email"即可)4、GitHub账号上添加:Settings->SSH and GPG keys->New SSH keys。2、生成SSH Key:ssh -keygeneral -t rsa -C "your email"5、验证是否配置成功:ssh -T git@github.com。像图片中这样就是成功了o(
2025-08-04 11:30:00
417
原创 Java学习:IDEA控制台中文乱码问题
摘要:在初学Java时遇到IDEA控制台中文乱码问题。先后尝试将项目编码改为GBK、更换JDK版本(从21降至17)均未彻底解决。最终通过下载IDEA2024.1.4版本,并修改三处配置,同时在bin目录下的idea64.exe.vmoptions文件中添加"-Dfile.encoding=UTF-8"参数,成功使控制台正常显示中文。整个解决过程经历了编码设置、JDK更换和IDEA版本更新三个主要阶段。
2025-08-04 07:30:00
192
原创 【Java练习题3】开发验证码,可以生成指定位数验证码,每位可以是数字、大小写字母
本文介绍了一个Java验证码生成程序。该程序通过Scanner获取用户输入的验证码位数,使用Random随机生成包含数字、大小写字母的混合验证码。主要实现步骤:1)定义三种验证码类型(数字、大写字母、小写字母);2)使用switch分支结构随机选择类型并生成对应字符;3)循环拼接字符生成最终验证码。程序核心是随机数生成和类型切换,最终输出指定长度的随机验证码字符串。
2025-08-03 18:54:36
202
原创 【Java练习题2】猜数字游戏
本文介绍了两种生成随机数的方法:使用Math.random()生成[0,1)的浮点数,或通过Random类生成指定范围的随机整数。同时说明了使用while(true)死循环实现"直到猜中才结束"的编程技巧。这些方法在需要随机数生成和循环控制的场景中非常实用。
2025-08-03 18:52:53
94
原创 【Java练习题1】设计一个可以执行基本数学运算的计算机程序
这是一个简单的Java计算器程序实现。程序要求用户输入两个整数和一个运算符,然后根据运算符执行相应的数学运算并显示结果。使用Scanner类获取用户输入,通过switch语句判断运算符类型,执行加减乘除运算。除法运算时检查除数是否为0,并处理非法运算符情况。程序结构清晰,包含基本的输入验证和错误处理功能。
2025-08-03 18:50:42
108
原创 数字逻辑学习笔记(六)
这些都是我曾经上学时候做的笔记,都是每节课一点一滴用心记下的。笔记原件当然是珍藏起来了,但是觉得如果让它就待在那里感觉就没什么意思了,所以分享出来给更多人看和学习。希望这些笔记对大家来说是有用的。如果觉得没什么用也可以退出去,如果有想说的话,可以友好的评论在下面,也欢迎大家分享自己的学习心得在下面。希望结果是我们各自取长补短共同进步。我也会在其他平台持续同步的进行分享。
2024-02-28 08:00:00
269
1
原创 数字逻辑学习笔记(五)
这些都是我曾经上学时候做的笔记,都是每节课一点一滴用心记下的。笔记原件当然是珍藏起来了,但是觉得如果让它就待在那里感觉就没什么意思了,所以分享出来给更多人看和学习。希望这些笔记对大家来说是有用的。如果觉得没什么用也可以退出去,如果有想说的话,可以友好的评论在下面,也欢迎大家分享自己的学习心得在下面。希望结果是我们各自取长补短共同进步。我也会在其他平台持续同步的进行分享。
2024-02-27 08:00:00
255
1
原创 数字逻辑学习笔记(四)
这些都是我曾经上学时候做的笔记,都是每节课一点一滴用心记下的。笔记原件当然是珍藏起来了,但是觉得如果让它就待在那里感觉就没什么意思了,所以分享出来给更多人看和学习。希望这些笔记对大家来说是有用的。如果觉得没什么用也可以退出去,如果有想说的话,可以友好的评论在下面,也欢迎大家分享自己的学习心得在下面。希望结果是我们各自取长补短共同进步。我也会在其他平台持续同步的进行分享。
2024-02-26 08:00:00
225
1
原创 数字逻辑学习笔记(三)
这些都是我曾经上学时候做的笔记,都是每节课一点一滴用心记下的。笔记原件当然是珍藏起来了,但是觉得如果让它就待在那里感觉就没什么意思了,所以分享出来给更多人看和学习。希望这些笔记对大家来说是有用的。如果觉得没什么用也可以退出去,如果有想说的话,可以友好的评论在下面,也欢迎大家分享自己的学习心得在下面。希望结果是我们各自取长补短共同进步。我也会在其他平台持续同步的进行分享。
2024-02-25 08:00:00
210
1
原创 数字逻辑学习笔记(二)
这些都是我曾经上学时候做的笔记,都是每节课一点一滴用心记下的。笔记原件当然是珍藏起来了,但是觉得如果让它就待在那里感觉就没什么意思了,所以分享出来给更多人看和学习。希望这些笔记对大家来说是有用的。如果觉得没什么用也可以退出去,如果有想说的话,可以友好的评论在下面,也欢迎大家分享自己的学习心得在下面。希望结果是我们各自取长补短共同进步。我也会在其他平台持续同步的进行分享。
2024-02-24 08:00:00
195
原创 数字逻辑学习笔记(一)
这些都是我曾经上学时候做的笔记,都是每节课一点一滴用心记下的。笔记原件当然是珍藏起来了,但是觉得如果让它就待在那里感觉就没什么意思了,所以分享出来给更多人看和学习。希望这些笔记对大家来说是有用的。如果觉得没什么用也可以退出去,如果有想说的话,可以友好的评论在下面,也欢迎大家分享自己的学习心得在下面。希望结果是我们各自取长补短共同进步。我也会在其他平台持续同步的进行分享。
2024-02-22 18:11:04
237
1
原创 计算机常识——计算机系统组成
存储器:存储程序和各种数据信息,并能在计算机运行过程中高速、自动的完成数据的存取。存储器的存数和取数速度是计算机系统的一个非常重要的性能指标,衡量存储器性能的另一重要指标是存储容量。控制器:是整个计算机系统的控制中心,一般由指令寄存器、指令译码器、时序电路、控制电路组成。内存储器(EDR):可以读写,存储任一单元所用时间相同,通电时内容保持,断电消失。汇编语言:机器语言的符号化,是面向机器的程序设计语言。系统软件:为运行计算机而必需的最基本的软件。高级语言:C#、Java、C、C++...
2024-02-22 18:03:48
2273
1
原创 计算机常识——概述
这些都是我曾经上学时候做的笔记,都是每节课一点一滴用心记下的。笔记原件当然是珍藏起来了,但是觉得如果让它就待在那里感觉就没什么意思了,所以分享出来给更多人看和学习。希望这些笔记对大家来说是有用的。如果觉得没什么用也可以退出去,如果有想说话,可以友好的评论在下面,也欢迎大家分享自己的学习心得在下面。希望结果是我们各自取长补短共同进步。我也会在其他平台持续同步的进行分享。
2024-01-19 10:56:38
506
1
原创 Cantor表(找规律求解)
这个是我做PTA练习的时候遇见的一道感觉蛮有意思的题,做完练习以后去查了一下发现这道题是洛谷上面的一道原题,所以想分享给大家。
2022-10-20 21:33:02
653
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅