自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring 框架核心:解耦的艺术与实践

本文探讨了Spring框架如何通过IOC(控制反转)/DI(依赖注入)和AOP(面向切面编程)实现组件解耦。IOC将对象创建和生命周期管理交给容器,DI通过构造器或Setter方法注入依赖;AOP通过横向抽取公共功能(如日志、事务)解耦业务与非业务逻辑。文章详细介绍了Bean管理、属性注入、事务传播策略等核心机制,并提供了代码示例。这些技术使系统更灵活、可维护,实现"高内聚、低耦合"的设计目标,同时给出了最佳实践建议。

2025-09-19 13:53:02 734

原创 MyBatis 核心概念与实践指南:从代理模式到性能优化

MyBatis是一款优秀的半自动化ORM持久层框架,支持自定义SQL、存储过程和高级映射。它通过代理模式简化开发,要求接口与XML文件同名且方法匹配,并支持动态SQL标签处理复杂查询。关联查询提供ResultMap和ResultType两种映射方式,同时支持延迟加载提升性能。MyBatis具备两级缓存机制(默认开启的一级会话缓存和可配置的二级Mapper缓存),并支持集成第三方缓存如Ehcache。作为在灵活性与性能间取得平衡的框架,MyBatis特别适合需要精细控制SQL、处理复杂查询或追求高性能的应用场

2025-09-15 22:10:51 1375 1

原创 SQL 核心概念与实践总结

本文系统介绍了SQL语言的主要分类及应用场景。SQL语言分为DQL(数据查询)、DCL(权限控制)、TCL(事务管理)、DDL(对象定义)和DML(数据操作)五类。重点解析了DQL的查询结构、TCL的事务特性(ACID)及并发问题、视图的创建与使用优势,以及索引的类型和适用场景。文章提供了大量实用示例,包括员工查询、账户转账事务、视图创建和索引优化等。最后强调合理使用这些技术对提高数据库性能的重要性,建议根据实际需求选择视图简化查询、索引加速访问、事务保证一致性,同时注意避免索引失效的情况。

2025-09-14 21:05:08 330

原创 SQL 查询与操作综合练习

本文总结了SQL数据库操作的10个核心应用场景:1.条件查询与更新(工资调整、特定年份查询、年薪计算);2.数据更新操作;3.日期函数应用;4.字符串操作与排序;5.多表连接查询;6.表结构修改;7.排序查询;8.聚合函数与分组(含HAVING子句);9.高级多表查询(含外连接和自连接);10.子查询应用(相关/不相关子查询)。这些练习全面覆盖了SQL的常用功能,包括条件筛选、函数应用、多表关联、数据聚合等核心操作,是数据库开发与数据分析的重要基础技能。

2025-09-11 23:45:17 515

原创 SQL 数据库操作语言详解

SQL语言是关系型数据库管理的核心标准,包含五大子语言:DQL(查询)、DML(增删改)、DCL(权限)、DDL(对象定义)和TCL(事务控制)。文章详细介绍了DDL创建表、约束和修改表结构的方法,DML的增删改操作区别,以及DQL查询语句的基本结构、执行顺序和常用函数(字符串、日期、流程控制、聚合)。重点讲解了多表查询的内外连接方式,并给出SQL使用建议:避免笛卡尔积、合理使用索引和事务等。通过系统学习这些内容,可以掌握数据库操作与数据分析的核心技能。

2025-09-11 23:42:11 1042

原创 JavaScript与网络编程全面指南

本文系统介绍了JavaScript网络编程的核心知识,主要内容包括:1)网络编程三大基石(URL/URI、HTTP协议、HTML表单);2)JavaScript基础语法(变量、数据类型、运算符、流程控制);3)函数与面向对象编程(定义调用、封装继承);4)常用内置对象(Array、Date、Math等);5)BOM浏览器对象模型(窗口、历史记录、定时器等);6)综合表单验证示例。这些知识为开发交互式网页应用奠定了基础,后续可进一步学习DOM操作、AJAX等高级内容。

2025-09-10 20:49:00 639

原创 Java项目开发实战:从员工角度到经理角度的完整流程

本文展示了Java项目开发的两种典型流程:员工角度采用分层架构开发DVD管理系统,从数据库设计(创建表结构、插入测试数据)到实体类、DAO层、Service层,最后实现控制台交互界面;经理角度则采用先设计业务接口的方式开发标准管理系统,重点展示Service层与DAO层的接口设计及动态SQL构建。两种开发模式各有特点:员工模式适合初学者按数据流自然开发,经理模式更强调先设计业务接口再实现细节。两种方式都体现了良好的分层架构思想,包括清晰的代码结构、规范的命名和合理的职责划分,这对开发高质量Java项目至关重

2025-09-10 20:42:06 720

原创 Java反射、测试工具、枚举、注解与网络编程全面解析

System.out.println("客户端连接: " + clientSocket.getInetAddress());System.out.println("服务器回复: " + in.readLine());System.out.println("设置成功: " + person.getCity());assertEquals("姓名应该为张三", "张三", person.getName());System.out.println("城市: " + person.getCity());

2025-09-10 20:35:09 721

原创 Java多线程编程全面解析:从基础概念到线程安全

本文介绍了Java多线程编程的核心概念。线程是程序的执行路径,多线程能提高程序效率和解决并发问题。文章详细讲解了四种创建线程的方式:继承Thread类、实现Runnable/Callable接口和使用线程池。同时阐述了线程的生命周期状态和常用方法,如start()、sleep()等。重点讨论了线程安全与同步机制,包括同步方法、同步代码块和Lock锁的使用。最后介绍了线程间通信的wait()/notify()机制。掌握这些多线程技术对开发高效并发程序至关重要,还需进一步学习Java并发工具包中的高级组件。

2025-09-10 20:31:51 666

原创 第13天: Java I/O 流与文件操作全面解析

File file = new File("D:\\盛世吉软\\1.java基础");if(file.exists()) { // 判断文件夹是否存在。

2025-08-30 19:15:23 548

原创 第12天Java集合框架

3. 增删效率:ArrayList中间增删需移动元素(O(n)),LinkedList只需修改指针(O(1))2. 访问效率:ArrayList随机访问高效(O(1)),LinkedList需遍历(O(n))String s = (String) list.get(0);coll.addAll(Arrays.asList("李四", "王五"));| 数据类型 | 可存储基本类型和引用类型 | 只能存储引用类型(对象) || 元素类型 | 只能存储同一类型元素 | 可存储多种类型元素(不推荐) |

2025-08-20 21:34:31 237

原创 第11天 常用类

本文介绍了Java中几个常用类的核心用法:1)Scanner类的输入操作;2)包装类的基本概念和常用方法;3)大数处理类BigInteger和BigDecimal;4)Math和Random类的随机数生成;5)时间处理类(Date、Calendar等)的三个发展阶段;6)字符串类String及其常用方法。文章强调这些常用类不需要死记硬背,建议建立文档库以便快速查阅,重点掌握各类的核心功能和使用场景。对时间处理和字符串操作等复杂功能给出了具体示例代码。

2025-08-16 19:18:58 426

原创 第十天 接口和异常

本文摘要:Java编程核心概念解析 final关键字用于修饰变量(基本类型值不可变,引用类型地址不可变)、方法(禁止子类重写)和类(禁止继承)。抽象类和抽象方法用于规范类结构,抽象类不能实例化,含抽象方法的类必须是抽象类。接口解决单继承限制,定义对象行为标准,支持多实现。异常处理通过try-catch-finally机制和throw/throws关键字实现,区分检查型和运行时异常,可自定义异常类。关键区别在于:抽象类体现"is-a"关系,接口体现"has-a"能力;t

2025-08-16 19:15:34 356

原创 第九天:多态

多态的实现条件有3个: 继承, 重写, 声明父类new子类 Animal a=new Dog();====》但是有问题:产生的对象,只能调用继承/重写父类的资源,不能调用子类特有的资源;【问题:如果 仍然想让 声明父类new子类 产生的对象,可以调用子类的资源怎么办?(动态绑定:开发者在编写阶段,让父类做参数(减少子类做参数的方法个数)声明父类new子类 得到的对象,只能调用子类继承的,或者子类重写的资源;声明子类new子类 可以调用继承的,重写的,以及子类特有的。不可以调用子类特有的。

2025-08-06 21:07:27 255

原创 第八天:继承

protected V 无论是否有继承关系,对象名.资源V 直接用/super.资源V 不能用!public V 对象名.资源V 直接用/super.资源V 导包后 对象名.资源V 导包后 对象名.资源V。默认的 V 无论是否有继承关系,对象名.资源V 直接用/super.资源V 不能用!A.把多个类中,相同的属性和行为提取出来,放到一个单独的类里,这个类就叫做父类。

2025-08-06 21:06:23 795

原创 第七天:引入继承!

=注意: package com.jr.www.demo2.pac03;作用: A.分门别类存储java类 B.区分同名类 C.解决权限问题(默认权限修饰符,只能同包使用)。B.属于整个类的资源---类名.静态资源名;static{//静态代码块的作用:在类加载的时候,如果需要写一些逻辑代码,可以放在静态代码块里。{//在实例化,初始化之前,如果需要做一些逻辑代码的编写,放在构造代码块里。System.out.println("我是构造代码块");--->用来区分同名的局部变量和 成员变量。

2025-07-31 21:03:35 695

原创 第六天:从面向过程到面向对象!

Java中的构造方法是一种特殊方法,用于在创建对象时初始化对象的状态,其名称必须与类名相同且无返回类型(连void也没有)。3.确定每一类参与者 都有的属性/静态信息【确定属性】/*1.参数个数不确定,开发难度升级;3.程序会默认为每一个类,都提供一个无参,方法体为空的 构造方法。2.参数个数一旦确定,使用的时候,无论如何,实参个数必须给够!1.面向对象 是 面向过程的基础上 引申,完善出来的思想。第三步:创建封装类对象,为你需要的属性赋值,就可以了。3.但是两个思想不是对立的,是互相帮助,相辅相成的。

2025-07-29 22:20:26 291

原创 第五天:用前几天的知识完成一个简单的DVD管理系统吧!

System.out.println("《"+name+"》已借出,不可以删除!System.out.println("《"+name+"》未借出, 无需归还!System.out.println("《"+name+"》不存在, 无法归还!System.out.println("《"+name+"》不存在,无法借出!System.out.println("《"+name+"》借出成功!System.out.println("新增《"+name+"》成功");

2025-07-27 21:45:27 325

原创 第4天:今天的主题是方法和二重循环

/ 输出: 5 + 3 = 8。// 输出: Hello, Alice!1.方法是:对特定的功能进行提取,形成一个代码片段,这个代码片段就是我们所说的方法。// 输出: Hello, Java!2.方法和方法是并列的关系,所以我们定义的方法不能写到main方法中。修饰符 方法返回值类型 方法名(形参列表){// 1. 无参数无返回值的方法。// 2. 带参数无返回值的方法。// 3. 带参数和返回值的方法。// 调用有返回值的方法。// 4. 主方法(程序入口)4.方法的作用:提高代码的复用性。

2025-07-27 21:39:26 386

原创 【无标题】学java的第三天!增删改查真是理解到头痛!

static String[] names = {"菲菲", "小呆呆", "波比", "超人强", "猪猪侠", null, null, null};static String[] names={"菲菲","小呆呆","波比","超人强","猪猪侠",null,null,null};static String[] names={"菲菲","小呆呆","波比","超人强","猪猪侠",null,null,null};System.out.println("请输入要修改的原名字:");

2025-07-25 21:54:07 1005

原创 学Java的第二天,直接上万年历!

学Java的第二天,直接上万年历!

2025-07-24 22:27:33 358

原创 从零开始学Java:新手必知入门技巧

从零开始学Java:新手必知入门技巧

2025-07-24 22:23:46 204

空空如也

空空如也

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

TA关注的人

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