自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2.算法效率的核心密码:时间复杂度和空间复杂度详解

时间复杂度和空间复杂度是算法分析的基石,也是面试中绕不开的话题。理解它们不仅能帮你在面试中脱颖而出,更能让你在日常开发中写出更高效的代码。下一篇文章,我们将把这些知识应用到集合框架的源码分析中,看看ArrayList和LinkedList各自的性能特点是如何由它们的底层数据结构决定的。有任何疑问,欢迎在评论区交流探讨!注:本文为个人学习总结,文中示例均为独立编写。建议读者在学习过程中结合实际代码运行验证,加深理解。

2026-07-12 15:35:45 66

原创 1.Java集合框架入门指南:从零掌握核心数据结构

数据结构是计算机存储、组织数据的方式。简单来说,它就是解决“数据怎么放、怎么找”这个问题的一套方法论。算法是解决问题的计算步骤。比如你要从100万条数据中找到某个值:顺序查找:最多需要100万次比较二分查找(数据有序):最多只需20次比较这就是算法的魅力——用更好的策略解决问题。把自己学到的知识用自己的话写出来,是最好的巩固方式。即使写得不好也没关系,关键是养成总结的习惯。集合框架是Java学习的必经之路,也是区分“会用”和“懂原理”的分水岭。

2026-07-12 15:30:33 128

原创 Java13:Java抽象类与接口:从设计思想到实战应用

在前几篇文章中,我们学习了面向对象的三大特性:封装、继承和多态。你已经能够用继承来复用代码,用多态来让程序更灵活。但在实际开发中,我们会遇到一些更棘手的设计问题:某个父类的方法,在父类中根本无法给出有意义的实现,但又必须让子类去实现——比如图形的draw()方法,图形本身怎么画?一个类需要同时具备多种能力,但Java又不支持多继承——比如一只鸭子既要会飞、又要会跑、还要会游泳,怎么办?抽象类和接口。在Java中,使用abstract关键字修饰的类称为抽象类,使用abstract修饰的方法称为抽象方法。

2026-07-12 15:18:25 353

原创 Java12:Java多态详解:让代码更灵活,让设计更优雅

在前一篇文章中,我们学习了Java的继承机制。通过继承,子类可以复用父类的代码,并在其基础上扩展自己的功能。但继承的真正威力,需要结合多态才能完全发挥出来。多态是面向对象编程的三大特性之一(封装、继承、多态),也是Java中最具魅力的特性之一。它让同一个行为在不同的对象身上表现出不同的形态,极大地提升了代码的灵活性和可扩展性。今天这篇文章,我们就来深入理解Java中的多态机制。"多态"这个词的字面意思是"多种形态"。同一个消息,不同的对象接收到后会做出不同的响应。

2026-07-12 15:13:09 186

原创 Java11:Java继承详解:让代码复用的艺术更上一层楼

在前面的文章中,我们学习了面向对象的基础概念:类与对象、封装、static关键字等。你已经知道如何用类来描述现实世界中的事物,并通过封装来保护数据的安全。但现实世界是复杂的。猫和狗有很多相似之处——它们都有名字、年龄,都会吃东西、睡觉。如果按照之前的方式,我们需要在Dog类和Cat类中分别定义这些属性和方法,造成大量的重复代码。有没有一种方式,能把这些共性抽取出来,让猫和狗共享呢?这就是我们今天要学习的核心主题——继承。继承是面向对象程序设计中实现代码复用的重要手段。

2026-07-11 20:04:40 433

原创 Java10:Java面向对象进阶:包、封装、static与代码块深度解析

在上一篇文章中,我们学习了面向对象的基础概念:类与对象、构造方法、this关键字。你已经知道了如何定义一张"设计图"(类),并根据它建造出"房子"(对象)。但面向对象的魅力远不止于此。当程序规模逐渐扩大,我们会面临新的挑战:类越来越多,名字冲突怎么办?对象的内部数据如何保护,不让外部随意篡改?有些属性是所有对象共享的,该如何定义?对象创建时,初始化顺序是怎样的?今天这篇文章,就来一一解答这些问题。包封装static关键字和代码块。创建自己的包很简单,只需要在Java文件的第一行加上。

2026-07-11 19:59:38 371

原创 Java9:Java面向对象入门:从现实世界到代码世界的映射

在前面几篇文章中,我们学习了变量、运算符、流程控制、数组等基础知识。细心的读者可能已经发现,我们一直在用"面向过程"的方式写代码——程序就是一系列指令的集合,从上到下依次执行。这种方式对于小程序来说够用,但当代码规模变大时,问题就来了:代码难以维护、难以扩展、难以复用。Java是一门纯面向对象的语言。什么叫"面向对象"?简单来说,就是把现实世界中的事物直接映射到代码中——人就是人,车就是车,而不是一堆散乱的数据和函数。今天这篇文章,我们就来正式踏入Java面向对象编程的大门。

2026-07-06 16:47:34 140

原创 Java8:Java数组详解:从入门到精通,一文就够了

想象这样一个场景:期末考试结束了,老师让你录入班上50名同学的Java成绩。按照我们之前学过的知识,你会怎么做?score1score2score3……一直到score50。听起来就很离谱对吧?不仅代码冗长得吓人,而且如果要统计平均分、找最高分,你还得把这50个变量挨个操作一遍。更糟糕的是,如果班级人数增加到100人,难道还要再加50个变量?显然,我们需要一种更聪明的方式来管理同类型的数据。这就是今天的主角——数组。数组的概念:相同类型元素的连续集合创建和初始化:动态初始化 vs 静态初始化基本操作。

2026-07-06 08:33:56 350

原创 Java7:Java调试入门:用好IDEA调试器,Bug无处遁形

在学习Java的过程中,你一定遇到过这样的情况:代码编译通过了,但运行结果却和预期不一样。没有报错,没有异常,可结果就是不对。这种时候,很多初学者会选择在代码里到处加,试图通过打印信息来定位问题。这种方法虽然有效,但对于稍微复杂一点的程序来说,效率实在太低了——你得不断地改代码、重新编译、重新运行,来回折腾好几轮。今天这篇文章,我们来学习一种更专业、更高效的排错方式——调试(Debugging)。掌握了调试技能,你就能像医生做CT扫描一样,精准地看到程序在每一步执行时的状态,Bug自然无处藏身。调试。

2026-07-06 08:18:52 274

原创 Java6:Java方法详解:让代码告别重复,拥抱复用

经过前面几篇文章的学习,我们已经掌握了变量、运算符、流程控制和输入输出。但不知你有没有发现一个问题:当我们的程序越来越复杂时,代码变得越来越臃肿,同样的逻辑反复出现,修改一处就要改动多处。比如我们要计算1!、2!、3!……5!,如果不使用方法,就得把阶乘的逻辑重复写五遍。这不仅浪费时间,还容易出错。今天这篇文章,我们来学习Java中最重要的代码组织方式——方法。掌握了方法,你的代码将从"流水账"升级为"模块化"。修饰符 返回值类型 方法名称(参数类型 形参...) {方法体代码;

2026-07-06 08:06:32 225

原创 Java5:Java输入输出:让程序和世界对话

经过前面几篇文章的学习,我们已经掌握了Java的基本语法、数据类型、运算符和流程控制。数据都是写死在代码里的。变量赋值靠手写,条件判断靠预设——这样的程序就像一个自言自语的人,永远不知道外界发生了什么。今天这篇文章,我们来学习Java的输入输出。掌握了这部分内容,你的程序就能真正和用户"对话"了:既能向用户展示信息,也能接收用户的指令和数据。println:带换行的输出print:不带换行的输出printf:格式化输出,灵活控制显示格式nextInt()nextLine()输入类型不匹配时的处理方法。

2026-07-05 15:34:33 283

原创 Java4:Java程序逻辑控制:让代码学会思考和重复

经过前三篇文章的学习,我们已经掌握了Java的基本数据类型、变量和运算符。但到目前为止,我们写的程序都是"直线"执行的——从上到下,一行接一行,没有任何分支和转折。这就好比一台只会走直线的机器人,遇到岔路口不会拐弯,碰到重复劳动也不会偷懒。显然,真正的程序要比这灵活得多。今天这篇文章,我们来学习Java中的程序逻辑控制——让代码能够做出判断、选择路径、重复执行。这是编程从"玩具"走向"工具"的关键一步。顺序结构:代码按顺序逐行执行分支结构。

2026-07-05 15:26:46 412

原创 Java3:Java运算符详解:编程世界的加减乘除

在前两篇文章中,我们了解了Java的基本数据类型和变量。但光有数据还不够,我们还需要一套工具来操作这些数据——这就是运算符。运算符就像是编程世界里的"动词",告诉计算机要对数据做什么样的操作。今天的文章将系统地梳理Java中的各类运算符,并结合实际案例帮助你理解它们的用法和注意事项。学完这一篇,你将能写出真正"动起来"的Java代码。算术运算符关系运算符:==!逻辑运算符:&& ||!(支持短路求值)位运算符:& | ~ ^移位运算符:<< >> >>>条件运算符。

2026-07-05 15:16:50 171

原创 Java2:Java数据类型与变量:编程世界的基础法则

上一篇文章我们完成了第一个Java程序的编写,理解了Java程序的基本结构。今天,我们将深入探讨编程中最基础也最重要的概念——数据类型与变量。如果把编程比作盖房子,数据类型就是砖块和水泥的种类,变量则是存放建筑材料的仓库。掌握了它们,你就真正踏入了Java编程的大门。// 基本语法:数据类型 变量名 = 初始值;// 定义一个整型变量age,值为22// 定义一个浮点型变量heightchar gender = '男';// 定义一个字符型变量gender// 定义一个布尔型变量isStudent。

2026-07-05 15:10:47 464

原创 Java1:初识Java:从零开始的编程之旅

如果你正在寻找一门既强大又优雅的编程语言作为入门选择,Java绝对值得你认真考虑。作为全球最受欢迎的编程语言之一,Java不仅拥有清晰易懂的语法,还构建了一个完整的技术生态系统。今天,我们就从零开始,一起揭开Java的神秘面纱。Java之所以历经三十年依然充满活力,正是因为它兼具了简单与强大、安全与灵活、跨平台与高性能的多重特质。无论你是想从事后端开发、移动开发,还是大数据方向,Java都能为你打下坚实的基础。记住:编程之路没有捷径,但有好的起点。希望这篇文章能成为你Java旅程中一块坚实的垫脚石。

2026-07-05 15:05:06 232

原创 JavaEE必会面试题,从线程讲到线程安全,一文带你通过多线程面试

目录一、讲讲线程与进程的联系二、线程创建的五种写法三、产生线程安全问题的五大原因四、线程的状态有哪几种?五、死锁产生的四个必要条件[🌟背下来]六、如何避免死锁?七、请你写一个懒汉模式线程安全的代码并解释你这样写的原因🌟你的回答:

2026-06-26 17:10:04 183

原创 13.Java多线程进阶:手动实现线程池与定时器机制详解

13.Java多线程进阶:手动实现线程池与定时器机制详解

2026-06-14 23:45:09 269

原创 12.深入理解Java线程池:从底层原理到面试通关秘籍

12.深入理解Java线程池:从底层原理到面试通关秘籍

2026-06-13 11:07:38 304

原创 11.从单例模式到阻塞队列:Java 并发必考知识点,大厂面试这样问

11.从单例模式到阻塞队列:Java 并发必考知识点,大厂面试这样问

2026-06-12 20:38:33 184

原创 10.Java单例模式全解析:饿汉式与懒汉式实现及线程安全深度剖析

10.Java单例模式全解析:饿汉式与懒汉式实现及线程安全深度剖析

2026-06-11 22:40:48 407

原创 9.Java并发编程避坑指南:synchronized死锁、volatile内存可见性与wait/notify正确使用

9.Java并发编程避坑指南:synchronized死锁、volatile内存可见性与wai/notify正确使用

2026-06-06 15:39:06 326

原创 8.Java多线程之synchronized深度解析(含代码+死锁分析)

8.Java多线程之synchronized深度解析(含代码+死锁分析)_lcy

2026-06-05 23:43:49 481

原创 16.滑动窗口经典例题:最小覆盖子串(LeetCode 76)算法原理剖析

16.滑动窗口经典例题:最小覆盖子串(LeetCode 76)算法原理剖析

2026-06-05 15:08:51 349

原创 15.LeetCode 30. 串联所有单词的子串(Java):滑动窗口+哈希表详解

15.LeetCode 30. 串联所有单词的子串(Java):滑动窗口+哈希表详解

2026-06-04 19:51:13 372

原创 7.多线程深度解析:从Thread基础到线程状态与安全问题

7.多线程深度解析:从Thread基础到线程状态与安全问题

2026-06-04 18:23:03 239

原创 14.LeetCode 438 题解:滑动窗口+哈希表找所有字母异位词

14.LeetCode 438 题解:滑动窗口+哈希表找所有字母异位词

2026-06-03 13:24:53 368

原创 13.LeetCode 904. 水果成篮:从暴力枚举到滑动窗口的完美进阶

13.LeetCode 904. 水果成篮:从暴力枚举到滑动窗口的完美进阶

2026-06-02 18:50:44 551

原创 22.任务清单应用开发实战:从HTML结构到JavaScript交互的完整实现

22.任务清单应用开发实战:从HTML结构到JavaScript交互的完整实现

2026-06-02 14:47:02 373

原创 21.前端入门必看!猜数字小游戏和表白墙的完整代码实现

摘要:本文分享两个HTML+JavaScript入门实战案例。猜数字小游戏通过DOM操作实现数字猜测功能,包含随机数生成、结果反馈和重置功能;表白墙案例演示了动态内容添加,用户输入信息后实时显示在页面。两个案例均包含完整HTML结构、CSS样式和JavaScript逻辑代码,涵盖querySelector、createElement等核心DOM操作,适合初学者巩固事件绑定和页面交互基础。案例代码简洁清晰,可作为前端入门练手项目。

2026-06-02 10:14:26 334

原创 20.DOM 节点操作全解析:新增、插入与删除的实现

20.DOM 节点操作全解析:新增、插入与删除的实现

2026-06-02 10:13:54 323

原创 12.将 x 减到 0 的最小操作数 | 滑动窗口+正难则反

12.将 x 减到 0 的最小操作数 | 滑动窗口+正难则反

2026-06-01 09:36:06 212

原创 19.从行内到类名:JavaScript 修改 CSS 样式的两种核心方式对比

19.从行内到类名:JavaScript 修改 CSS 样式的两种核心方式对比

2026-06-01 09:21:53 273

原创 18.Web API 实战:元素与表单属性的获取和修改

18.Web API 实战:元素与表单属性的获取和修改

2026-06-01 09:21:32 342

原创 17.从零开始学JS:querySelector 获取元素与事件监听实战

17.从零开始学JS:querySelector 获取元素与事件监听实战

2026-06-01 09:21:10 195

原创 16.JavaScript 对象详解:从基础创建到继承机制

17.JavaScript 对象详解:从基础创建到继承机制

2026-06-01 09:20:21 249

原创 15.JavaScript 函数与作用域完全指南:语法、参数、表达式与作用域链实战

15.JavaScript函数与作用域完全指南:语法、参数、表达式与作用域链实战

2026-05-31 15:38:12 168

原创 14.JS数组操作实战手册:创建、访问、新增、删除代码示例全收录

14.JS数组操作实战手册:创建、访问、新增、删除代码示例全收录

2026-05-31 15:08:12 204

原创 13.JavaScript 新手入门指南:语法、变量、流程控制全解析

13.JavaScript 新手入门指南:语法、变量、流程控制全解析

2026-05-31 14:26:20 226

原创 12.CSS精准布局实战:手把手教你还原小广告和百度热榜界面

12.CSS精准布局实战:手把手教你还原小广告和百度热榜界面

2026-05-31 09:11:20 250

原创 11.CSS盒模型、弹性布局与调试工具全解析(含代码示例)

11.CSS盒模型、弹性布局与调试工具全解析(含代码示例)

2026-05-31 09:11:01 223

空空如也

空空如也

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

TA关注的人

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