自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mybatis 动态sql

MyBatis动态SQL技术能够根据参数条件动态生成SQL语句,提供了XML配置和注解两种实现方式。XML配置方式通过<if>、<choose>、<foreach>等标签实现条件拼接,支持复杂逻辑和SQL复用;注解方式则更简洁,适合简单场景。XML配置具有结构清晰、便于维护的优点,但需要额外文件;注解方式开发便捷但可读性较差。建议根据项目复杂度选择:复杂逻辑用XML,简单操作用注解,保持团队风格统一。两种方式各有优势,可灵活组合使用。

2025-08-30 15:10:41 1105

原创 Linux 操作系统基础(一)

要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。www:是环球信息网的缩写,(英文全称为“World Wide Web”),中文名字为 “万维网”,"环球网"等,常简称为Web。more 文件名: 令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现个 提示信息,给出至今己显示的该文件的百分。进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行 资源分配和调度的一个独立单位,是应用程序运行的载体。

2025-08-12 18:18:42 1165

原创 Java 8特性(一)

/6、map() 可以将一种类型转换成另一种类型//如果满要将数据排序、可以使用 sorted方法//使用泛型类型的默认排序规则排序//使用自定义的Comparator比较规则排序//如果需要哦按段数据是否匹配指定的条件。可以使用match方法//判断所有的元素是否满足条件//只要有一个满足条件就返回true || or//所有的元素都不匹配,返回true。

2025-08-09 12:48:46 1219

原创 java中Reflection反射(一)

本文介绍了Java反射机制的核心概念与应用。主要包括:1)Class类的三种获取方式(.class属性、forName()方法和getClass()方法);2)通过Class对象创建实例和使用常用方法;3)构造方法的获取与分析;4)继承关系的获取;5)成员变量的访问与操作。文章详细说明了反射机制在运行期间动态获取类信息、调用方法和操作字段的能力,并提供了具体代码示例,如通过反射获取构造方法、修改成员变量值等。最后通过Dog类的案例演示了反射在继承结构中的实际应用。

2025-08-06 19:22:58 1466

原创 多线程基础二

在程序中,一个线程对象通过调用方法启动线程,并且在线程获取时,自动执行方法。方法执行完毕,代表线程的生命周期结束。整个线程的生命周期中,线程的状态有以下种:2、Runnable:运行状态,运行中的线程,已经调用方法,线程正在或即将执行方法;3、Blocked:阻塞状态:运行中的线程,在等待竞争锁时,被阻塞,暂不执行;4、Waiting:等待状态,运行中的线程,因为等方法调用,进入等待。 notify() notifyAll()方法唤醒线程 -- 锁对象让等待的对象唤醒5、

2025-08-05 18:23:43 990

原创 多线程基础一

需要创建Runnable的实现类,重写run方法 ,创建Runnable的实现类对象r1 ,创建Thread类的对象,将r1作为构造方法的参数进行传递 ,调用start方法启动线程。) ,创建Callable的实现类对象 ,创建FutureTask对象,用来进行结果的管理操作 ,创建Thread类的队象 ,启动线程。系统在产生一个线程,或是在各个线程之间作切换工作时,负担要比进程小得多,因此,线程也被称为轻量级进程。执行完毕后才会被唤醒。* 某条线程获取到了锁资源,锁关闭,当里面的任务执行完成,锁释放。

2025-08-04 19:24:23 803

原创 加密与安全

,它的作用是:对任意一组输入数据进行计算,得到一个固定长度的输出摘要。密钥长度直接决定加密强度,而工作模式和填充模式可以看成是对称加密算法的参数和格式选择。个整数表示,然后查表,把整数用索引对应到字符,得到编码后的字符串。加密模式,它需要一个固定长度的密钥,固定的明文会生成固定的密文。"通话".hashCode();就是一个哈希算法,它的输入是任意字符串,输出是固定的。数组表示的摘要,最后,把它转换为十六进制的字符串。算法就是一种基于密钥的消息认证码算法,它的全称是。

2025-08-01 21:07:09 1322

原创 TCP编程和UDP编程

标准库的设计问题,而是我们以流的形式写入数据的时候,并不是一写入就立刻发送到网络,而是先写入内存缓冲区,直到缓冲区满了以后,才会一次性真正发送到网络,这样设计的目的是为了提高传输效率。其中一个进程必须充当服务器端,它会主动监听某个指定的端口,另一个进程必须充当客户端,它必须主动连接服务器的。的功能都是由操作系统提供的,不同的编程语言只是提供了对操作系统调用的简单的封装。监听成功,我们就使用一个无限循环来处理客户端的连接,注意到代码。连接创建成功后,无论是服务器端,还是客户端,我们都使用。

2025-08-01 18:08:15 1337

原创 Excel文件解析

Java中处理Excel文件的常用工具包括Apache POI和EasyExcel。Apache POI支持读写多种Office格式文件,其中XSSF用于处理新版Excel(.xlsx),通过Workbook、Sheet、Row和Cell逐层操作数据,适合小文件处理。对于大文件,POI提供SXSSFWorkbook优化内存使用。阿里开源的EasyExcel采用逐行解析模式,通过监听器处理数据,显著降低内存消耗,适合百万级数据的导入导出。开发者可根据文件大小选择合适的工具,小文件用POI效率更高,大文件则建议

2025-07-30 19:57:21 910

原创 JSON解析

JSON是一种轻量级的数据交换格式。它基于ECMAScript, 欧洲计算机协会制定的JavaScript规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

2025-07-29 20:31:55 1395

原创 java磁盘操作与IO流(序列化、Properties类)

本文详细介绍了Java中文件操作与IO流的相关内容。主要包括:1)磁盘操作,涉及File类和Files工具类的创建、读取、写入、删除等文件操作方法;2)IO流机制,阐述了字节流(InputStream/OutputStream)和字符流(Reader/Writer)的概念、分类及典型实现类(如FileInputStream、BufferedReader等)的使用方式;3)序列化与反序列化技术,说明如何通过Serializable接口实现对象与二进制数据的转换;4)Properties类的应用,展示键值对配置

2025-07-28 19:58:20 1096

原创 Map(HashMap、LinkedHashMap、TreeMap)双列集合

目录HashMap: 一、核心特性:二、底层实现原理:三、扩容机制:四、常用方法:五、遍历操作:LinkedHashMap:TreeMap:HashMap、LinkedHashMap、TreeMap的异同:一、相同点:二、不同点:三、有序性: 是 Java 集合框架中最常用的 键值对(key-value)存储结构,实现了 接口,基于哈希表(数组 + 链表 / 红黑树)实现,具有高效的增删改查操作。(1)存储结构:键值对(key-value),通过 key 快速定位 value。(2)允许 null:可

2025-07-27 11:46:34 1435

原创 set集合(HashSet、LinkedHashSet、TreeSet)

计算元素的哈希值,用于快速定位元素在底层数据结构(如哈希表)中的存储位置。两个相同的元素必须返回相同的哈希值。相同),但额外通过链表记录元素顺序,本质是一个 "Linked HashMap" 的 key 集合。:用于精确比较两个元素是否为 "逻辑上的相同元素"。当两个元素的哈希值相同时,会通过。),否则可能出现逻辑矛盾(如元素被视为不同但排序位置相同)。自定义对象去重的关键:对于自定义类的对象,需。,value 是一个固定的空对象(实例):存储的元素被作为。实例):存储的元素被作为。

2025-07-24 20:36:17 1154

原创 javaSE(List集合ArrayList实现类与LinkedList实现类)day15

ArrayList。

2025-07-23 20:39:40 893

原创 javaSE(从0开始)day14

如果没有发生异常,就正常执行语句块,然后执行finally。如果发生了异常,就中断执行语句块,然后跳转执行匹配的catch语句块,最后执行finally。可见,finally是用来保证一些代码必须执行的。某些情况下,可以没有catch,只使用结构。

2025-07-22 18:53:25 1046

原创 javaSE(从0开始)day13

目录一、javaAPI常用类:1、BigInteger:java.math.BigInteger就是用来表示任意大小的整数。BigInteger内部用一个int[]数组来模拟一个非常大的整数(1)BigInteger的加法:add()(2)BigInteger的减法:subtract()(3)BigInteger的乘法:multiply()(4)BigInteger的除法:divide()2、 BigDecimal:BigDecimal和BigInteger类似,BigDecimal可以表示一个任意大小且精

2025-07-21 20:03:01 842

原创 javaSE(从0开始)day12

目录Java API常用类、一、String字符串和编码:1、 String字符串类:在Java中,String是一个引用类型,它本身也是一个class类。实际上字符串在String内部是通过一个char[]数组表示的,因为String太常用了,所以Java提供了"..."这种字符串字面量表示方式。2、字符串的定义: (1)直接定义字符串:String s0="我爱中国"; (2)使用无参构造创建对象: String s1=new String(); (3)使用有参构造创建对象:Strin

2025-07-20 13:18:34 754

原创 javaSE(从0开始)day11

classstaticstaticinterfacestaticpackage包classhello// ②// ③// ⑤i<10;// ⑦} // ⑧} // ⑨} // ⑩● 方法参数name是局部变量,它的作用域是整个方法,即①~⑩;● 变量s的作用域是定义处到方法结束,即②~⑩;● 变量len的作用域是定义处到方法结束,即③~⑩;● 变量p的作用域是定义处到if块结束,即⑤~⑨;● 变量i的作用域是for循环,即⑥~⑧。

2025-07-18 21:02:19 1407

原创 javaSE(从0开始)day10

本文介绍了Java面向对象编程(OOP)的核心概念,重点阐述了多态、抽象和接口三大特性。多态通过继承/实现关系、上转型和方法重写实现运行时的动态绑定,提高代码可扩展性。抽象包括抽象类和抽象方法,用于定义规范并要求子类实现。接口则定义契约规范,支持多实现和默认方法(Java8+)。文章还比较了抽象类和接口的异同,并介绍了Comparable接口用于对象排序的实现方法。这些特性共同构成了Java面向对象编程的基础,通过封装、继承和多态等机制提高代码的复用性和可维护性。

2025-07-17 19:17:39 1120

原创 javaSE(从0开始)day09

继承是面向对象编程中非常强大的一种机制,它首先可以复用代码。当我们让子类从父类继承时,子类就获得了父类的所有功能,我们只需要为子类编写新增的功能。Java中使用extends关键字来实现继承:修饰符 class 子类名 extends 父类{// 非私有的成员变量// 非私有的成员方法// 自定义成员变量和成员方法在继承关系中,子类如果定义了一个与父类方法签名完全相同的方法,被称为重写(OverrideOverride重写和Overload重载不同的是:如果方法签名不同,就是Overload。

2025-07-16 22:10:02 639

原创 javaSE(从0开始)day08

创建实例的时候,我们经常需要同时初始化这个实例的字段,使用通过构造方法来初始化实例。一个类没有定义构造方法,编译器会自动为我们生成一个默认构造方法,它没有参数,也没有执行语句。修饰符 类名(参数项){对成员变量初始化//方法名与类名同名操作成员变量的时候可能会有非法操作,可以不让外部直接操作成员变量,将成员变私有化,使用private修饰成员变量 , 提供setXX赋值,有参数无返回值 ,提供getXX取值,有返回值无参数。

2025-07-15 19:27:31 1108

原创 javaSE(从0开始)day07

在编程语言中,”方法“有时也被称为”函数“,其含义主要是”实现编程中某个具体功能的办法或方式,是一系列步骤的总结“。方法是若干”代码语句片段”的集合,它们完成一个”具体的功能“,并且设置一个”直观易懂“的名字,方便后期在程序中去”使用(调用)(4) 调用方法:对象名:方法名(参数);无返回值的方法调用数据类型 变量名=对象名,方法名(参数):有返回值的方法调用。方法定义的位置:类内部,方法的外面 方法执行次数一致, 方法调用完成后到原调用用 方法不调用不执行。(4)方法调用时,方法名参数名必须保持一致。

2025-07-14 21:19:12 636

原创 javaSE(从0开始)day06

本文介绍了Java中数组的各种操作:1. 数组合并(无序数组的双指针法和循环法、有序数组的拉链法);2. 数组复制(System.arraycopy和Arrays.copyOf);3. 数组乱序(Fisher-Yates洗牌算法);4. 数组旋转(左旋和右旋);5. Arrays类常用方法(fill、sort、binarySearch);6. 二维数组的初始化(动态和静态)及遍历方法(双重循环、foreach和deepToString)。这些操作涵盖了数组处理的基本技巧,适用于日常编程需求。

2025-07-12 20:36:26 1159

原创 javaSE(从0开始)day05

每一轮循环后,最大的一个数被交换到末尾,因此,下一轮循环就可以“排除”最后的数,每一轮循环都比上一轮循环的结束位置靠前一位。String[] cityArray = { "郑州", "广州", "苏州", "赣州", "儋州" };如果“中位元素”大于“目标元素”,当前数组的前半部分作为新的。// 如果"中位元素"小于"目标元素",当前数组的后半部分作为新的搜索数组。// 如果"中位元素"大于"目标元素",当前数组的前半部分作为新的搜索数组。// 如果"中位元素"等于"目标元素",查找成功,退出。

2025-07-11 20:09:09 1194

原创 javaSE(从0开始)day04

Java是一种面向对象的高级编程语言,具有平台无关性、强类型检查、自动内存管理等特性。它支持多线程、网络编程和分布式计算,提供丰富的类库和异常处理机制。Java程序由字节码组成,通过JVM实现跨平台运行。在输入输出方面,Java提供Scanner类获取键盘输入,System.out实现格式化输出。程序结构包括顺序结构、选择结构(if/switch)和循环结构(while/do-while/for),其中选择结构支持单分支、双分支和多分支判断,循环结构可实现条件重复执行。这些特性使Java成为健壮、安全且高效

2025-07-10 21:48:51 1177

原创 javaSE(从0开始)day03

字符串一旦被定义,相当于开辟了一个内存地址,不可摧毁发生改变,但是可以改变变量名的指向地址。//字符串可以为空String s2="中国人3tf#%7bnc";//字符串可以包含任意字符String s3="他说: \"暑假时弯道超车的好时候\"";//可以使用\进行转义String s4="他说: \n暑假时弯道超车的好时候\t";//可以为null//字符串的不可变特性// 相当于又在堆里面开辟了一个内存地址存放world, 将str指向world 的内存地址,hello仍存在。

2025-07-09 22:25:30 838

原创 javaSE(从0开始)day02

本文介绍了Java编程中的核心知识点:1. Math类常用方法(PI、abs、pow等数学运算);2. LocalDate/LocalTime日期时间处理;3. 变量与常量的定义规则;4. 数据类型(8种基本类型+String的转换规则);5. 各类运算符(算术、逻辑、比较等)的使用注意事项。重点说明了类型转换中的精度损失问题、浮点数运算误差原因,以及自增/逻辑运算符的特殊使用场景。文章通过代码示例详细演示了各知识点的实际应用,为Java基础学习提供了实用参考。

2025-07-08 21:27:49 770

原创 javaSE day01(从0开始)

Java基础入门摘要 Java由SUN公司詹姆斯·高斯林于90年代开发,最初命名Oak,后因互联网发展改名为Java并成为重要网络编程语言。文章介绍了计算机硬件(CPU、存储器、输入输出设备)和软件系统(操作系统、数据库等)组成,以及十进制、二进制、八进制和十六进制的转换方法。常用DOS命令包括cd、dir、cls等基础操作。Java程序基本结构包含class类、main方法和输出语句,类名需遵循UpperCamelCase命名规范。三种输出语句(System.out.print/println/print

2025-07-07 22:16:43 946 1

空空如也

空空如也

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

TA关注的人

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