自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 DButils + BasicDAO 深度整合指南

分层设计:保持DAO层纯净,只做数据访问操作合理抽象:通过BasicDAO提供通用实现,特殊需求通过子类扩展异常转换:将SQLException转换为业务异常体系性能考量:对高频操作添加缓存支持事务控制:复杂业务使用声明式事务管理SQL安全:始终使用参数化查询防止注入资源管理:确保所有JDBC资源正确释放这种DButils+BasicDAO的组合方案特别适合中小型项目,在保持轻量级的同时提供了足够的灵活性,能够满足大多数业务场景的数据访问需求。

2025-03-31 22:36:57 391

原创 JDBC和数据库连接池

JDBC为访问不同的数据库提供了统一的接口,为使用者屏蔽了细节问题。Java程序员使用JDBC,可以连接任何提供了JDBC驱动程序的数据库系统,从而完成对数据库的各种操作。表示数据库结果集的数据表,通常通过执行查询数据库的语句生成ResultSet对象保持一个光标指向其当前的数据行。最初,光标位于第一行之前next方法将光标移动到下一行,并且由于在ResultSet对象中没有更多行时返回false,因此可以在while循环中使用循环来遍历结果集。

2025-03-31 16:21:23 434

原创 线性回归模型

所谓多元问题,就是输入有 𝑑 个变量, 如前述影响薪资水平的因素包括城市、学历、年龄和经验等。为方便矩阵化的最小二乘法的推导,可将参数𝑤和𝑏合并为向量表达形。训练数据集D的输入部分可表示为一个𝑚 ×(𝑑 + 1)维的矩阵𝑿,其中𝑑为输入变量的个数。线性回归就是通过训练学习得到一个线性模型来最大程度地根据输入𝒙拟合输出𝑦。,使得拟合输出y与真实输出y尽可能接近。这种基于均方误差最小化求解线性回归参数的方法就是著名的。AGE:自住房屋中建于1940年前的房屋所占比例。给定一组由输入𝒙和输出?

2025-03-30 15:31:16 285

原创 JavaScript使用

JavaScript 是一种由Netscape公司与Sun Microsystems公司共同开发出来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为解决服务器端语言,通常的瓶颈问题。于是Netscape的浏览器Navigator加入了JavaScript,提供了数据验证的基本功能。ECMA 262是正式的JavaScript标准。这个标准在1997年6月被ECMA-262委员会通过。在1999年7月,ECMA 262委员会采纳了它的首个版本。

2025-03-29 23:15:07 1037

原创 反射(reflect)

Class也是类,因此也继承Object类[类图]Class类对象不是new出来的,而是系统创建的[演示]对于某个类的Class类对象,在内存中只有一份,因为类只加载一次[演示]每个类的实例都会记得自己是由哪个Class 实例所生成通过Class对象可以完整地得到一个类的完整结构,通过一系列APIClass对象是存放在堆的类的字节码二进制数据,是放在方法区的,有的地方称为类的元数据(包括方法代码, 变量名,方法名,访问权限等等)/**• 对Class类特点的梳理*/

2025-03-29 17:26:30 874

原创 HTML简单介绍

HTML是Hyper Text Markup Language的缩写,意思是超文本标记语言。它的作用是搭建网页结构,在网页上展示内容。HTML5在2008年正式发布,在2012年已形成了稳定的版本,2014年10月28日,W3C发布了HTML5的最终版。HTML文件本质上是文本文件,而普通的文本文件只能显示字符。通过标签把其他网页、图片、音频、视频等各种多媒体资源引入到当前网页中,让网页有了非常丰富的呈现方式,这就是超文本的含义:本身是文本,但是呈现出来的最终效果超越了文本。

2025-03-28 21:38:04 934

原创 Java网络编程

套接字(Socket)开发网络应用程序被广泛采用,以至于成为事实上的标准。通信的两端都要有Socket,是两台机器间通信的端点。网络通信其实就是Socket间的通信。Socket允许程序把网络连接当成一个流,数据在两个Socket间通过IO传输。一般主动发起通信的应用程序属客户端,等待通信请求的为服务端。基于客户端—服务端的网络通信底层使用的是TCP/IP协议应用场景举例: 客户端发送数据,服务端接受并显示控制台基于Socket的TCP编程。

2025-03-27 15:11:59 291

原创 JavaIO流

请使用FileInputStream 读取hello.txt 文件,并将文件内容显示到控制台.当然,注意一个汉字通常是由3个bytes构成的,而read只会读取一个byte的数据,因此如果用read则会乱码,建议文本文件用字符流处理。/*** 演示读取文件...* 单个字节的读取,效率比较低* -> 使用 read(byte[] b)*/@Testtry {//创建 FileInputStream 对象,用于读取 文件//从该输入流读取一个字节的数据。

2025-03-25 15:55:08 992

原创 多线程基础

Java语言中,引入了对象互斥锁的概念,来保证共享数据操作的完整性。每个对象都对应于一个可称为“互斥锁”的标记,这个标记用来保证在任一时刻,只能有一个线程访问该对象。关键字来与对象的互斥锁联系。当某个对象用修饰时,表明该对象在任一时刻只能由一个线程访问。同步的局限性:导致程序的执行效率要降低。同步方法**(非静态的)的锁可以是this,也可以是其他对象(要求是同一个对象)。**同步方法(静态的)的锁为当前类本身。即类.class//测试//// //这里我们会出现超卖..

2025-03-24 20:08:56 809

原创 项目中有很多if-else如何优化(Java)

项目中有很多的这个if-else的话,我应该怎么样进行优化?可以优化的手段有很多,但是我这儿就给大家去讲两种比较常见的优化方式。

2025-03-21 21:25:40 906

原创 分布式文件系统HDFS

HDFS 即 Hadoop 分布式文件系统(Hadoop Distributed File System),是 Hadoop 生态系统中的核心组成部分。特性详细说明局限性原因/影响兼容廉价硬件设备设计时以硬件故障为常态,支持普通服务器集群运行,通过冗余机制保障数据完整性。不适合低延迟应用采用高吞吐数据读取方式导致较高延迟(如流式访问机制)。支持流数据读写为批量处理优化,放宽POSIX要求,采用顺序流式读写提升吞吐率。1. 无法高效存储/处理大量小文件2. 读取大量小文件速度慢。

2025-03-21 19:09:32 1588

原创 java泛型

泛(广泛)型(类型)=> Integer,String,Dog泛型又称参数化类型,是Jdk5.0出现的新特性,解决数据类型的安全性问题在类声明或实例化时只要指定好需要的具体的类型即可。Java泛型可以保证如果程序在编译时没有发出警告,运行时就不会产生ClassCastException异常。同时,代码更加简洁、健壮。泛型的作用是:可以在类声明时通过一个标识表示类中某个属性的类型,或者法的返回值的类型,或者是参数类型。

2025-03-20 15:23:50 949

原创 一文了解docker

之前在服务器配置一个应用的运行环境,要安装各种软件,Java/RabbitMQ/MySQL/JDBC 驱动包等。安装和配置这些东西有多麻烦就不说了,它还不能跨平台。假如我们是在 Windows 上安装的这些环境,到了 Linux 又得重新装。况且就算不跨操作系统,换另一台同样操作系统的服务器,要移植应用也是非常麻烦的。传统上认为,软件编码开发/测试结束后,所产出的成果即是程序或是能够编译执行的二进制字节码等 (java 为例)。

2025-03-19 22:10:55 1034

原创 Java集合

List 接口是 Collection接口的子接口List集合类中元素有序(即添加顺序和取出顺序一致)、且可重复List集合中的每个元素都有其对应的顺序索引,即支持索引。List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素。Vector类的定义说明Vector底层也是一个对象数组,Vector是线程同步的,即线程安全, Vector类的操作方法带有在开发中,需要线程同步安全时,考虑使用Vector。

2025-03-19 22:02:51 405

原创 Java常用类

java.lang.StringBuffer代表可变的字符序列,可以对字符串内容进行增删.很多方法与String相同,但StringBuffer是可变长度的。StringBuffer是一个容器。StringBuffer 的直接父类 是 AbstractStringBuilderStringBuffer 实现了 Serializable, 即StringBuffer的对象可以串行化。

2025-03-18 21:45:06 942

原创 异常Exception

Java语言中,将程序执行中发生的不正常情况称为“异常”。(开发过程中的语法错误和逻辑错误不是异常)执行过程中所发生的异常事件可分为两大类:1.Error(错误):Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等严重情况。比如: StackOverflowError[栈溢出] 和 OOM(out of memory).Error是严重错误,程序会崩溃。2.Exception:其它因编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代码进行处理。

2025-03-17 19:56:20 679

原创 枚举与注解

1.不需要提供setXxx方法,因为枚举对象值通常为只读.2.对枚举对象/属性使用 final + static共同修饰,实现底层优化.(final 和 static 搭配使用可以不导致类加载,效率更高)3.枚举对象名通常使用全部大写,常量的命名规范.4.枚举对象根据需要,也可以有多个属性//演示字定义枚举实现class Season {//类//描述//定义了四个对象, 固定.

2025-03-16 22:03:56 863

原创 Java内部类

一个类的内部又完整的嵌套了另一个类结构。被嵌套的类称为内部类(inner class),嵌套其他类的类称为外部类(outer class)。是我们类的第五大成员(类的五大成员:属性、方法、构造器、代码块、内部类),内部类最大的特点就是可以直接访问私有属性,并且可以体现类与类之间的包含关系,注意:内部类是学习的难点,同时也是重点,后面看底层源码时,有大量的内部类。

2025-03-15 20:42:59 1022

原创 抽象类和接口

1)用abstract关键字来修饰一个类时,这个类就叫抽象类访问修饰符2)用abstract关键字来修饰一个方法时,这个方法就是抽象方法访问修饰符 abstract 返回类型 方法名(参数列表);//没有方法体3)抽象类的价值更多作用是在于设计,是设计者设计好后,让子类继承并实现抽象类。4)抽象类是考官比较爱问的知识点,在框架和设计模式使用较多。抽象类体现的就是一种模板模式的设计,抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展、改造,但子类总体上会保留抽象类的行为方式。

2025-03-14 17:20:59 825

原创 代码块与设计模式

静态方法和属性的经典使用设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。设计模式就像是经典的棋谱,不同的棋局,我们用不同的棋谱,免去我们自己再思考和摸索。所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。单例模式有两种方式:1) 饿汉式 2) 懒汉式。

2025-03-12 20:06:59 1248

原创 类变量和类方法

类变量也叫静态变量/静态属性,是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量。这个从前面的图也可看出来。访问修饰符static数据类型变量名;[推荐]static访问修饰符数据类型变量名;类方法也叫静态方法。访问修饰符 static 数据返回类型 方法名(){}【推荐】static 访问修饰符 数据返回类型 方法名(){}

2025-03-11 19:57:28 618

原创 Java面向对象编程

访问修饰符 返回数据类型 方法名(形参列表..){//方法体语句;return 返回值;// 如果方法是void,则方法体中可以没有return 语句,或者只写return;访问修饰符(作用是控制方法使用的范围)如果不写默认访问,[有四种: public, protected, 默认, private]方法不能嵌套定义!java 中允许同一个类中,多个同名方法的存在,但要求形参列表不一致!构造方法又叫构造器(constructor),是类的一种特殊的方法,它的主要作用是完成对新对象的初始化。

2025-03-06 15:49:40 940

原创 Java字符串

不可变性String 对象一旦创建,内容不可修改。所有看似“修改”的操作(如拼接、替换)都会生成新对象。•原因:安全性(如作为参数传递)、线程安全、哈希值缓存(如 HashMap 键)、类加载机制依赖。•底层实现(针对 Latin-1 字符优化为单字节存储)创建方式// 方式1:字面量,直接存入字符串常量池// 方式2:通过new,在堆中创建新对象。

2025-03-05 20:01:00 836

原创 机器学习预备知识

1950 s:图灵测试提出 → 1980 s:反向传播算法 → 2012:AlexNet 突破 → 2016:AlphaGo 里程碑。:机器学习发展历程时间轴。

2025-03-01 18:01:39 1119 1

原创 Java中成员方法的传参机制

一切皆值传递:基本类型传值,对象传引用的值(地址副本)。对象修改的边界:通过引用副本修改对象字段会影响原对象,但重新赋值引用副本无效。不可变对象的特殊性:看似值传递的行为,实则是对象替换的副作用。底层行为的统一性:无论是基本类型还是对象,最终操作的都是局部变量表中的值。理解这些机制,可以避免常见的逻辑错误(如误以为方法能修改对象引用本身),并设计出更高效、安全的代码。

2025-02-28 21:05:17 798

原创 IDEA配置JSP环境

首先下载IDEA2021.3,因为最新版本不能简单配置web开发环境。选择deployment,点击加号,点击external source。选择dependencies,点击加号,选第一个,路径选为lib。选择web appliciation。点击加号,选择tomcat。

2025-02-25 23:11:27 264

原创 Java中有哪些异常

通过继承。

2025-02-17 20:02:48 595

原创 DeepSeek教你如何学Java

该计划已覆盖2025年企业实习生要求的核心技术栈(Java 21/Spring 6/Vue3.4),建议每完成一个阶段在GitHub提交代码仓库,并参与Gitee开源之夏活动积累实战经验。

2025-02-15 16:28:03 895

原创 JavaSE基础入门与实践指南

Java是一种面向对象的编程语言,具有平台独立性、安全性、多线程等特性。它由Sun Microsystems公司于1995年发布,现由Oracle公司维护。Java的平台独立性得益于其“一次编写,到处运行”(Write Once, Run Anywhere)的特点,即Java程序在任何支持Java虚拟机(JVM)的设备上都能运行。本文详细介绍了Java SE的基本概念、语法、面向对象编程、集合框架和异常处理。Java SE作为Java编程语言的核心,为开发各种应用提供了强大的支持。

2025-02-08 16:12:01 720

原创 双指针算法

双指针算法的核心在于通过合理组织指针运动,将暴力解法中的冗余计算消除。理解指针移动的内在逻辑积累常见问题模式进行系统性题目训练学会分析指针移动的数学原理建议从简单题开始,逐步体会不同场景下指针的移动策略,最终达到灵活运用的水平。记住:双指针不是死板的模板,而是一种通过组织计算顺序来优化效率的思想。

2025-01-31 21:24:41 1025

原创 如何学习Java后端开发

Java基础 → 数据库 → Web基础 → Spring → Spring Boot → 微服务 → 分布式 → 项目实战 → 运维部署关键建议多动手写代码,避免“只看不练”。遇到问题善用 Google/Stack Overflow/GitHub Issues。定期复盘,整理笔记(推荐使用 Notion 或语雀)。通过系统学习和持续实践,你可以逐步成长为一名合格的 Java 后端工程师!🚀。

2025-01-27 19:04:29 1157

原创 前缀和算法

预处理是前缀和算法的核心步骤,通过预先计算每个位置的前缀和,可以将后续的查询操作时间复杂度降低到O(1)。在没有使用前缀和的情况下,计算数组中任意子区间的和通常需要遍历该区间的所有元素并逐个相加。:通过预处理前缀和,查询操作的时间复杂度从O(n)降低到O(1),大大提高了效率。,朴素算法的时间复杂度为O(n),其中n是区间的长度。需要仔细理解,确保每个子矩阵的和计算正确。,最后处理多个查询,每个查询计算子矩阵。,最后处理多个查询,每个查询计算区间。,然后计算前缀和数组。,然后计算前缀和数组。

2025-01-15 14:59:57 1047

原创 数据库系统原理期末

定义:数据库是长期存储在计算机内的、有组织的、可共享的数据集合。目的:为了高效地存储、管理和检索数据。基本表的定义、修改和删除:涉及创建、修改和删除数据库中的基本表。数据库的基本操作:包括数据的增删改查等操作。索引的建立和删除:索引用于提高数据库查询性能,需要了解如何创建和删除索引。定义:根据特定业务规则定义的完整性约束。元组上的约束条件:针对表中的行(元组)的约束,如检查约束。属性上的约束条件:针对表中列(属性)的约束,如非空约束、唯一约束、默认值等。基本表的定义...数据类型。

2025-01-09 17:13:07 1105

原创 小议Redis

Redis(Remote Dictionary Server)是一种开源的高性能键值存储数据库,通常被称为 NoSQL 数据库。它主要用于缓存、消息队列和实时分析等场景。高性能:Redis 在内存中操作数据,读写速度极快,能够支持高并发的请求。多数据结构:除了简单的键值对,Redis 还支持多种数据结构,包括字符串(String)、哈希表(Hash)、列表(List)、集合(Set)、有序集合(Sorted Set)等。持久化。

2024-12-14 22:25:21 898

原创 数据库系统原理 第六章 关系数据库的规范化理论

关系模式由五部分组成,即它是一个五元组:组成部分描述R关系名U组成该关系的属性名集合D属性组U中属性所来自的域DOM属性向域的映象集合F属性间数据的依赖关系集合数据依赖(Data Dependency)是数据库理论中的一个概念,它描述了数据库中数据之间的一种约束关系。数据依赖确保了数据库中数据的一致性和完整性。函数依赖(Functional Dependency, FD):这是最常见的数据依赖类型。

2024-12-14 22:00:45 1147

原创 数据结构——图论基础

在数学和计算机科学中,图(Graph)是一种数据结构,用于表示对象与对象之间的关系。图中的基本单位,表示对象或元素。边(Edge):连接顶点的线段,表示顶点之间的关系或连接。图可以用符号G=(V,E)表示,其中:V是一个顶点集合。E是一个边集合,每条边连接一个或多个顶点。

2024-12-14 16:24:43 1020

原创 计算机网络 第六章 应用层

文件传送协议 FTP(File Transfer Protocol)是互联网上使用得最广泛的文件传送协议。FTP 提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。FTP 屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。

2024-12-09 11:04:44 1407

原创 计算机网络 第五章 运输层

通信主体:应用进程从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。运输层通信主体与前面三层的区别:网络层:定位主机的IP地址(主机之间),路由。运输层:定位到进程,端口号区分进程。用户数据报协议 UDP只在IP的数据报服务之上增加了很少一点的功能,这就是复用和分用的功能以及差错检测的功能。特点描述UDP是无连接的发送数据之前不需要建立连接(当然,发送数据结束时也没有连接可释放),因此减少了开销和发送数据之前的时延。

2024-12-09 11:03:19 932

原创 数据结构——哈夫曼树

因为序列中没有比8更小的,所以另开一颗树,选出7,8,和为15,因为7,8比3,5大,所以新树在右边序列中还剩下8,11,14,15,23,29。将其中最小的两个取出,分别是3,5,和为8,序列中剩下,8,29,7,8,14,23,11。再来看右边,序列中最小的是14.取出和15匹配,和为29,序列中剩下19,23,29,29。接下来看左边,将8和11匹配,和为19,序列中剩下14,15,19,23,29。将5,29,7,8,14,23,3,11构造为一颗哈夫曼树。

2024-12-06 18:21:59 502

原创 c++基础语法

返回类型 函数名(参数列表) {// 函数体// 可以包含局部变量声明、语句、控制流语句等return 返回值;// 根据返回类型返回值返回类型:函数执行完毕后返回的数据类型。函数名:函数的唯一标识符。参数列表:函数接收的参数,参数之间用逗号分隔。如果函数不接受参数,参数列表为空。函数体:大括号{}内包含的代码,定义了函数的具体行为。

2024-11-22 21:26:59 1284

空空如也

空空如也

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

TA关注的人

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