- 博客(682)
- 资源 (4)
- 收藏
- 关注
原创 30天学会Java-30:项目实战与总结
本文将指导开发一个简单的学生管理系统,综合运用Java基础知识。系统包含学生信息的增删改查功能,支持数据持久化存储。采用Maven项目结构,包含模型层(Student.java)、数据访问层(StudentDao.java)和服务层(StudentService.java)。使用SQLite数据库存储数据,包含JDBC驱动配置和JUnit测试框架。核心功能实现包括:学生实体类定义(学号、姓名、年龄、性别等属性),基于JDBC的数据访问层实现数据库操作,以及服务层业务逻辑处理。项目结构规范,适合Java初学者
2025-07-30 23:27:44
553
原创 30天学会Java-29:设计模式(二)
本文介绍了两种常用的结构型设计模式:代理模式和装饰器模式。代理模式通过创建代理对象控制对真实对象的访问,分为静态代理(编译时确定)和动态代理(运行时生成)两种实现方式。装饰器模式则通过包装对象动态添加功能,避免了继承带来的类膨胀问题,以咖啡加料为示例展示了如何灵活扩展对象功能。两种模式都通过组合而非继承来增强功能,但侧重点不同:代理模式主要控制访问,装饰器模式专注于功能扩展。
2025-07-30 23:27:03
246
原创 30天学会Java-28:设计模式(一)
单例模式和工厂模式是两种常用的创建型设计模式。单例模式确保类只有一个实例,提供全局访问点,实现方式包括饿汉式、懒汉式、双重检查锁定、静态内部类和枚举等。工厂模式封装对象创建过程,分为简单工厂、工厂方法和抽象工厂三种形式:简单工厂通过参数决定产品类型;工厂方法将创建逻辑延迟到子类;抽象工厂创建相关产品族。这些模式提高了代码可维护性和扩展性,实现了对象创建与使用的解耦。
2025-07-30 23:26:28
371
原创 30天学会Java-27:日志框架(Log4j/Slf4j/Logback)
本文介绍了Java日志系统的基本概念和常用框架。首先阐述了日志的作用和重要性,包括问题诊断、行为审计、性能监控和调试等,并详细说明了从FATAL到TRACE的6种日志级别。重点介绍了Log4j2、SLF4J和Logback三种主流日志框架:Log4j2作为Apache开源框架,需配置log4j2.xml并使用LogManager;SLF4J是日志门面API,可与Logback等框架绑定;Logback作为SLF4J原生实现,性能优于Log4j。最后讲解了如何配置日志输出到文件和控制台,包括Log4j2的Ro
2025-07-30 23:25:45
474
原创 30天学会Java-26:单元测试(JUnit)
本文介绍了Java单元测试的基本概念和JUnit框架的使用。主要内容包括:单元测试的定义和重要性,JUnit 5的依赖配置、测试类与方法创建,以及常用注解(@Test、@BeforeEach等)的使用。详细讲解了断言方法(assertEquals、assertTrue等)的应用,并提供了测试报告生成的配置方法(Maven和Gradle项目)。通过示例代码展示了如何对计算器类进行单元测试,帮助开发者掌握Java单元测试的基本技能,提高代码质量和可维护性。
2025-07-30 23:25:01
377
原创 30天学会Java-25:Maven/Gradle项目管理
本文介绍了Java项目构建工具Maven和Gradle的安装配置与使用方法。Maven基于POM模型,通过XML文件管理项目;Gradle基于Groovy DSL,提供更高灵活性。详细说明了两种工具的安装步骤、环境配置验证方法,以及如何创建项目骨架和管理依赖。重点对比了Maven的三阶段生命周期与常用命令,以及Gradle的任务执行方式。文章最后总结了两者的特点:Maven的稳定性与约定优于配置原则,Gradle的高性能与灵活DSL,并指出选择应基于项目需求和团队偏好。
2025-07-30 23:24:20
460
原创 30天学会Java-24:JDBC数据库编程(二)
本文介绍了JDBC的高级特性,重点讲解了结果集处理、事务管理和批处理等核心内容。在结果集处理部分,演示了如何通过ResultSet对象遍历查询结果,并提供了获取不同类型列数据的方法示例代码。事务管理部分详细解释了ACID四大特性,展示了如何通过JDBC进行事务控制,包括关闭自动提交、手动提交和回滚操作的实际应用。文章还通过转账案例说明了事务在实际业务场景中的重要性。这些高级特性对于开发可靠、高效的数据库应用程序至关重要。
2025-07-30 23:23:41
393
原创 30天学会Java-23:JDBC数据库编程(一)
本文介绍了JDBC(Java数据库连接)的基础知识,主要包括四部分内容:首先概述了JDBC的作用和驱动类型,说明其作为Java访问关系型数据库的标准API;其次讲解了如何加载数据库驱动,特别指出了JDBC 4.0+版本驱动自动加载的特性;然后详细说明了建立数据库连接的方法,包括连接URL格式和获取Connection对象的代码示例;最后简要提及了执行SQL语句的Statement和PreparedStatement对象。文章强调在实际开发中应使用try-with-resources语句确保资源正确关闭,并提
2025-07-30 23:22:44
523
原创 30天学会Java-22:Java 8新特性(二)
本文深入探讨了Java 8的三个核心特性:Stream API高级操作、Optional类和新的Date/Time API。在Stream API部分,详细介绍了filter、map、flatMap等中间操作和collect、reduce等终端操作,并通过学生数据处理的完整示例展示其应用。Optional类部分讲解了如何安全处理可能为null的值,包括创建方法和常用操作。这些特性共同提升了Java代码的简洁性、安全性和可读性,是现代化Java开发的重要工具。
2025-07-30 23:21:54
664
原创 30天学会Java-21:Java 8新特性(一)
Java 8 核心特性摘要:Java 8 引入了革命性的新特性,包括 Lambda 表达式、函数式接口和方法引用。Lambda 表达式简化了匿名函数的编写,语法为 (params) -> expression 或 (params) -> { statements }。函数式接口是只含一个抽象方法的接口,常用内置接口包括 Predicate、Consumer、Function 等。方法引用是 Lambda 的简化形式,包括静态方法引用 ClassName::staticMethod、实例方法引用
2025-07-30 23:18:39
393
原创 30天学会Java-20:注解与枚举
本文介绍了Java中的注解(Annotation)和枚举(Enum)两大特性。注解是一种元数据机制,通过@interface定义,可应用于类、方法等程序元素,分为标准注解(如@Override)和自定义注解。元注解(如@Target、@Retention)用于控制注解的行为范围。枚举提供类型安全的常量集合,可包含字段、方法和构造器,常用于状态机、配置选项等场景。两者都能增强代码可读性和可维护性,注解主要用于框架和工具支持,而枚举则用于限定值的场景。
2025-07-30 23:17:50
324
原创 30天学会Java-19:反射
Java反射机制允许程序在运行时动态获取类信息并操作对象,包括创建实例、调用方法和访问字段。通过Class类提供的三种获取方式(Class.forName()、.class语法和getClass()方法),开发者可以实现灵活的动态编程。反射的核心功能包括:使用Constructor创建对象,通过Method调用方法(包括私有方法),以及利用Field操作属性。虽然反射提供了强大功能,但需要注意性能开销和安全性问题。该特性广泛应用于框架开发(如Spring、Hibernate),为Java程序带来高度灵活性。
2025-07-30 23:17:03
294
原创 30天学会Java-18:网络编程
Java网络编程基础:TCP与UDP实现 本文介绍了Java网络编程的核心概念和技术实现。主要内容包括:1) 网络基础概念:IP地址(IPv4/IPv6)、端口号范围及作用、TCP/UDP协议特性;2) TCP编程实现:详细讲解ServerSocket和Socket类的使用步骤,提供服务器端和客户端的完整代码示例;3) UDP编程特点:简要说明无连接通信方式。文章通过具体代码演示了TCP通信的完整流程,包括建立连接、数据读写和资源释放等关键环节,为开发网络应用提供实用指导。
2025-07-30 23:16:00
370
原创 30天学会Java-17:多线程(二)
本文介绍了Java多线程中的线程同步机制,主要讲解synchronized关键字和Lock接口两种实现方式。synchronized通过修饰方法或代码块实现共享资源的互斥访问,具有原子性、可见性和可重入性特点。Lock接口提供了更灵活的锁定操作,如可中断锁、尝试非阻塞获取锁和超时获取锁等功能,其实现类ReentrantLock还支持公平锁和非公平锁。文章通过代码示例对比了两种方式的实现差异,并分析了各自的优缺点,为处理多线程环境下的线程安全问题提供了多种解决方案。
2025-07-30 23:15:02
380
原创 30天学会Java-16:多线程(一)
特性进程(Process)线程(Thread)定义操作系统资源分配和调度的基本单位CPU 调度和执行的基本单位,进程中的一个执行路径资源拥有独立的内存地址空间和系统资源共享进程的内存地址空间和大部分资源开销创建、销毁、切换开销大创建、销毁、切换开销小独立性独立性强,一个进程崩溃不影响其他进程独立性弱,一个线程崩溃可能影响同一进程的其他线程并发进程间并发线程间并发(在同一进程内)通信进程间通信(IPC)复杂线程间通信简单(直接读写共享数据)第十六天我们学习了 Java 多线程的基础知识。
2025-07-30 23:01:57
650
原创 30天学会Java-15:IO流(二)
第十五天我们学习了 Java IO 流中的字符流。我们详细探讨了Reader和Writer抽象基类,以及直接与文件交互的FileReader和FileWriter。为了提高读写效率,我们还学习了缓冲字符流和,特别是readLine()和newLine()方法的便利性。最后,我们介绍了连接字节流和字符流的桥梁——转换流和,它们在处理字符编码问题上发挥着关键作用。掌握字符流对于处理文本数据至关重要,它能够确保在不同系统和编码环境下文本的正确读写。
2025-07-28 22:50:50
950
原创 30天学会Java-14:IO流(一)
Java IO流是程序与外部设备交互的重要方式。IO流分为输入流和输出流,按数据类型可分为字节流(处理所有数据)和字符流(专用于文本)。字节流的基类是InputStream和OutputStream,提供读取和写入字节的基本方法。文件字节流FileInputStream和FileOutputStream分别用于文件的读写,支持覆盖或追加模式。推荐使用try-with-resources自动管理流资源。
2025-07-28 22:50:14
756
原创 30天学会Java-13:集合框架(二)
本文介绍了 Java 集合框架中的 Map 接口及其主要实现类。Map 用于存储键值对,其中键唯一而值可重复。重点解析了四种实现类:HashMap(基于哈希表,高效无序)、LinkedHashMap(保持插入顺序)、TreeMap(按键排序)和 Hashtable(线程安全但性能较低)。文章详细说明了各实现类的特点、底层数据结构和使用场景,并提供了代码示例展示基本操作和遍历方式。通过对比不同实现类的特性,帮助开发者根据具体需求选择合适的 Map 实现。
2025-07-28 22:49:38
620
原创 30天学会Java-12:集合框架(一)
CollectionJava 集合框架主要位于java.util包中,它定义了各种接口和类,用于表示和操作对象集合。动态大小:集合可以根据需要自动扩容或缩容,无需预先指定大小。丰富的功能:提供了添加、删除、查找、遍历等多种操作方法。类型安全:通过泛型(Generics)可以实现类型安全,避免运行时类型转换错误。高性能:底层数据结构经过优化,提供了高效的性能。集合框架的顶层接口是Collection和Map。Collection接口是所有单列集合(存储一个一个的元素)的父接口,而Map。
2025-07-28 22:48:53
730
原创 30天学会Java-11:常用类(二)
本文摘要: 本章深入讲解Java常用工具类,主要内容包括: Calendar类:提供比Date更强大的日期时间操作功能,支持国际化,介绍了获取/设置日期、与Date对象转换的方法。 基本数据类型包装类:详细列出了8种基本类型对应的包装类,解释了装箱/拆箱概念及自动装箱拆箱机制。 其他实用类:包括用于高精度计算的BigInteger/BigDecimal和随机数生成的Random类。 这些工具类能显著提升Java开发中处理日期、数值计算等任务的效率。
2025-07-28 22:45:26
857
原创 30天学会Java-10:常用类(一)
Java常用类库概述 本文介绍了Java API中几种最常用的基础类及其核心功能。主要内容包括: String类及其不可变性特点,详细讲解了两种创建方式(直接赋值和new关键字)的区别,以及字符串常量池的概念。重点介绍了String类的常用方法,包括长度获取、比较、查找替换、截取拼接等操作。 StringBuilder和StringBuffer类,用于高效处理可变字符串。 Math类提供的基本数学运算功能。 System类包含系统相关操作。 Date和DateFormat类处理日期时间相关功能。 这些常用类
2025-07-28 22:34:29
913
原创 30天学会Java-09:异常处理
Java异常处理机制是解决程序运行时问题的关键。文章介绍了异常的概念、分类(Error和Exception)以及Exception的细分(受检异常和非受检异常)。核心内容包括try-catch-finally语句块的使用、多重捕获方法以及finally块的执行特性。通过合理处理异常,可以提高程序的健壮性和可靠性。
2025-07-28 22:30:41
895
原创 30天学会Java-08:接口与内部类
Java接口(Interface)是一种特殊的抽象类型,定义行为规范但不提供具体实现,支持多重继承和系统解耦。接口可包含常量、抽象方法(Java8前)、默认方法(Java8)、静态方法(Java8)和私有方法(Java9)。类通过implements实现接口,必须重写所有抽象方法。接口与抽象类的主要区别在于:接口支持多实现而非单继承、不能有构造方法、成员变量必须是常量、方法默认公开等。接口还能实现多态,接口类型的引用可指向任何实现类的对象。此外,Java还提供内部类机制,允许在一个类内部定义另一个类,增强封
2025-07-28 22:25:31
829
原创 30天学会Java-07:面向对象编程(OOP)进阶
本文介绍了面向对象编程的核心特性:继承和多态。重点讲解了继承的概念与语法,子类通过extends关键字继承父类属性和方法,实现代码复用。详细说明了super关键字的三种用法:调用父类构造方法、访问父类成员变量和方法。同时阐述了方法重写的规则和注意事项,包括必须保持方法签名一致、访问权限不能降低等。最后解释了多态的实现条件,即通过继承、方法重写和父类引用指向子类对象来实现"一个接口,多种实现"的特性。文章通过多个代码示例展示了这些概念的具体应用。
2025-07-28 22:24:10
790
原创 30天学会Java-06:面向对象编程(OOP)基础
本文介绍了Java面向对象编程(OOP)的核心概念,包括类与对象、封装、构造方法和this关键字。类作为对象的模板,定义了属性和方法;对象则是类的具体实例。封装通过私有化属性和提供公共访问方法实现数据保护。构造方法用于对象初始化,支持重载。this关键字用于引用当前对象,解决命名冲突和调用其他构造方法。这些概念共同构成了Java面向对象编程的基础框架。
2025-07-28 22:23:01
463
原创 30天学会Java-05:方法
Java方法是完成特定功能的代码块,通过方法可以提高代码复用性。本章介绍了方法的定义与调用、参数传递、重载和递归。 方法定义包括方法头(修饰符、返回值类型、方法名、参数列表)和方法体。静态方法可直接调用,非静态方法需通过对象调用。Java采用值传递方式:基本数据类型传递值副本,引用数据类型传递对象引用的副本。方法重载允许同名不同参数的方法,递归方法则调用自身解决问题。
2025-07-28 22:22:17
635
原创 30天学会Java-04:数组
本文介绍了Java数组的基本概念和使用方法,包括数组的定义与初始化(动态和静态两种方式)、数组元素的访问、数组的遍历(传统for循环和增强for循环)、多维数组的定义与遍历,以及数组的常用操作(如排序)。通过示例代码详细展示了数组的各种操作,帮助读者理解并掌握Java数组的使用。文章还介绍了java.util.Arrays工具类中的sort()方法,用于对数组进行排序。
2025-07-28 22:21:38
446
原创 30天学会Java-03:Java基础语法(二)
本章将深入探讨 Java 中的流程控制语句,它们是编写复杂程序逻辑的基础。通过流程控制,我们可以控制程序的执行顺序,实现条件判断、循环执行等功能。
2025-07-28 22:20:52
566
原创 30天学会Java-02:Java基础语法(一)
本文介绍了Java编程语言的基础知识,主要包含关键字、标识符和数据类型三个部分。Java关键字是预定义的保留字(如public、class等),不能用作标识符;标识符是用户自定义的名称,需遵循命名规则(如不以数字开头)。数据类型分为基本类型(8种,包括整数、浮点、字符和布尔型)和引用类型,其中基本类型转换可分为自动转换和强制转换。文章通过示例代码详细说明了各类数据类型的特点、取值范围及转换规则,为Java初学者提供了基础语法参考。
2025-07-28 22:19:56
628
原创 30天学会Java-01:Java入门与环境配置
Java是一种跨平台、面向对象的编程语言,具有"一次编写,到处运行"的特性。它由Sun公司于1995年发布,经过多年发展成为企业级开发的主流语言。Java应用广泛,包括企业应用、Android开发、大数据处理、Web应用等领域。JDK(开发工具包)包含JRE(运行环境)和JVM(虚拟机),是Java开发的核心。安装JDK后需配置环境变量(如JAVA_HOME和PATH),以便系统识别Java命令。Windows、macOS和Linux系统的配置方法略有不同,但基本原理一致。
2025-07-28 22:18:25
656
原创 30天学会Python-Day30-大模型开发进阶与未来学习路线
本文介绍了大模型开发的进阶学习路径,包括模型微调、提示工程和LLM应用开发。首先,讲解如何通过微调使预训练模型适应特定任务,包括数据准备、训练流程和工具使用。其次,阐述提示工程的重要性,列举零样本、少样本和思维链等实用技巧。然后,重点介绍RAG(检索增强生成)技术,解决知识过时和幻觉问题。最后,为学习者规划了3个阶段的成长路线:巩固基础(1-2个月)、深入NLP(2-4个月)和实践应用开发(4-6个月),并强调持续学习与实践的重要性。
2025-07-24 22:20:52
671
原创 30天学会Python-29:大模型开发基础(如transformers库)
库中最高度抽象的工具,它封装了从分词、模型推理到后处理的完整流程,让你用几行代码就能完成一个任务。虽然 Pipeline 很方便,但理解其背后的手动流程更重要。Pipeline 是。
2025-07-24 22:19:41
850
原创 30天学会Python-28:项目实战-简单Web应用
这篇文章介绍了如何构建一个简单的留言板Web应用,整合了Flask、SQLite和HTML/CSS技术栈。主要内容包括:项目目标(留言提交与展示)、文件结构设计、开发步骤(数据库初始化、前端页面模板、后端逻辑实现),以及运行测试方法。文章还提供了扩展任务:添加留言删除/编辑功能、美化界面,并包含思考题引导深入理解Flask工作机制。这个项目适合初学者练习Web开发基础,实现前端到数据库的完整数据流。
2025-07-24 22:18:51
657
原创 30天学会Python-27:项目实战-小型数据分析
本文介绍了一个基于泰坦尼克号乘客数据集的完整数据分析流程。项目通过Pandas和Matplotlib进行数据清洗、探索性分析和可视化,重点探究了性别、船票等级、年龄等因素对乘客生还率的影响。分析结果显示女性、一等舱乘客和儿童的生还率较高。文章还提出了后续分析任务,包括研究登船港口和家庭成员数的影响。该案例展示了从数据获取到结论总结的完整分析过程,强调了数据清洗和预处理的重要性,并为进一步建立预测模型提供了思路。
2025-07-24 22:18:07
356
原创 30天学会Python-26:API接口与数据交互
本文介绍了API和RESTful API的基本概念,重点讲解了JSON数据格式及其应用。主要内容包括:1)使用requests库调用第三方API获取数据;2)利用Flask框架构建简单的API接口;3)实现数据查询功能的Web服务。文章提供了完整的代码示例,包括调用JSONPlaceholder API的示例和构建图书API的Flask实现。最后还给出了实践练习,包括调用公开API、扩展Flask功能、结合数据库应用等任务,帮助读者深入理解API开发的关键技术。
2025-07-24 22:17:16
714
原创 30天学会Python-25:数据库操作(SQLite)
本文介绍了数据库基础知识和SQLite在Python中的应用。主要内容包括:1)数据库基本概念如表、行、列和主键;2)SQLite轻量级特性及Python内置支持;3)通过sqlite3模块实现CRUD操作的核心流程;4)使用参数化查询防止SQL注入的安全实践;5)with语句简化数据库操作。文章最后提供了创建图书数据库的实践练习,包括建表、批量插入、条件查询、更新删除等操作,并设置SQL注入防护和连接性能优化两个思考题。全文以实际代码示例演示了Python与SQLite数据库的交互方法。
2025-07-24 22:16:31
718
原创 30天学会Python-24:多线程与多进程
摘要:本文介绍了Python并发编程的核心概念,包括进程与线程的区别、并发与并行的差异。重点讲解了多线程(threading)和多进程(multiprocessing)的使用场景:线程适用于I/O密集型任务但受GIL限制,进程适用于CPU密集型任务可真正并行。详细演示了线程锁(Lock)和进程池(Pool)的用法,并提供了对比表格帮助选择方案。最后布置了多线程爬虫、多进程计算和线程安全模拟等实践练习,以巩固并发编程的关键知识点。
2025-07-24 22:15:47
752
原创 30天学会Python-23:网络爬虫基础
本文介绍了Python网络爬虫的基础知识,包括工作原理、HTTP请求概念和常用库的使用方法。主要内容包括:1) 网络爬虫的工作流程(请求-响应-解析-存储);2) 使用requests库发送HTTP请求;3) 使用BeautifulSoup解析HTML数据;4) 实战演示爬取豆瓣图书Top250;5) 爬虫的合法性和道德规范(遵守robots.txt、控制请求频率等)。最后提供了练习任务,帮助读者实践爬取新闻标题、电影信息和分页数据。文章强调爬虫应遵循道德规范,建议设置合理的请求头并尊重网站版权。
2025-07-24 22:15:01
760
原创 30天学会Python-22:Matplotlib绘图基础
y = x**2plt.plot(x, y,color='red', # 颜色linestyle='--', # 线型: '-', '--', '-.', ':'linewidth=2, # 线宽marker='o', # 标记样式: 'o', '^', 's'markersize=8, # 标记大小label='y = x^2' # 图例标签# 添加文字注解plt.text(2, 60, '这是一个注解', fontsize=12)plt.title('深度美化示例')
2025-07-24 22:14:13
278
原创 30天学会Python-21:Pandas数据分析基础
本文介绍了Pandas数据处理库的核心概念与应用。主要内容包括:Pandas的两种核心数据结构(Series一维数组和DataFrame二维表格)及其创建方法;CSV文件的读写操作;数据查看(head/tail/info/describe等)与选择技巧(loc/iloc条件筛选)。文章还提供了5项实践练习,涵盖数据创建、文件操作、数据探索和筛选等基础操作,并提出了两个思考题探讨loc/iloc区别和CSV保存参数的意义。通过学习可掌握Pandas数据处理的基本方法,为数据分析打下基础。(150字)
2025-07-24 22:13:25
328
iOS 仿京东淘宝商品详情tableView上滑和headerView之间的滑动效果
2020-11-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人