- 博客(36)
- 收藏
- 关注
原创 事务和函数索引
MySQL默认10秒内没有响应SQL结果,则为慢查询(可以去修改MySQL慢查询默认时间)索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。
2024-07-25 19:52:15
623
原创 数据库(MySQL)-视图、存储过程、触发器
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后,再次调用不需要重复编译,用户通过指定存储过程的名字并给出参数 (如果该存储过程带有参数)来执行它。触发器是数据库中针对数据库表操作触发的 特殊的存储过程。
2024-07-25 13:36:08
799
原创 数据库(MySQL)-DQL数据查询语言
DQL(Data Query Language 数据查询语言)的用途是查询数据库数据,如select语句。其中,可以根据表的结构和关系分为单表查询和多表联查。
2024-07-24 14:04:53
922
原创 压缩文件的解决方法
首//为什么这里删除目录时要用: FileUtils.deleteDirectory(rootDir);而不用rootDir.delete();呢?我们尝试用delete()方法,发现目录并没有被删除,是因为delete()方法只能删除空目录,所以我们使用了commons-io包提供的FileUtils工具进行删除。
2024-07-15 13:21:27
339
1
原创 JSON解析
JSON是一种轻量级的数据交换格式,它采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的,易于人的阅读和编写,同时也,并有效地提升网络传输效率。
2024-05-04 18:06:57
1159
原创 Excel文件解析--超大Excel文件读写
当我们想在Excel文件中写入100w条数据时,我们用普通的XSSFWorkbook对象写入时会发现,只有在将100w条数据全部加载入内存后才会用write()方法统一写入,这样效率很低,所以我们引入了SXSSFWorkbook进行超大Excel文件的读写。SXSSFWorkbook可以通过构造参数来控制:当数据写入内存量达到参数值时,就把这些数据flush到Excel文件中。
2024-04-22 22:23:48
1251
原创 properties文件的读取和写入
输出结果:1Xian2Baoji3Xianyang那如果我们想将这个文件以键值对的格式读取出来呢?我们可以将字符输入流加载到一个Properties对象中,这样我们就可以将文件中的内容以加载成key-value文件输出结果:{3=Xianyang, 2=Baoji, 1=Xian}怎么证明它是一个键值对文件呢?输出结果:Xian。
2024-04-17 17:25:50
473
原创 Serializable序列化、反序列化
序列化就是将一个Java对象转换为字节流写入文件。一个java对象要能序列化,必须实现一个特殊的接口---java.io.Serializable接口,例如ArrayList类,就实现了java.io.Serializable接口。那么要实现把一个Java对象转换为字节流写入文件,我们可以使用ObjectOutputStream。为什么不用BufferedOutputStream呢?
2024-04-16 17:38:43
1023
原创 Excel文件解析
在此模块的学习中,我们需要一个新的开源类库---Apahche POI开源类库。这个类库的用途是:解析并生成Excel文件(Word、ppt)。基于DOM方式进行解析,将文件直接加载到内存,所以速度比较快,适合Excel文件数据量不大的应用场景。除了Apahche POI,JXL、Alibaba EasyExcel也是可以进行Excel文件处理的主流技术,但是JXL只支持Excel 2023以下的版本,所以不太常见。
2024-04-15 22:22:35
1416
2
原创 Reader字符输入流、Writer字符输出流
Reader是Java的IO库中提供的另一个输入流接口,但是它和InputStream的区别是,InputStream是字节输入流,即以byte字节为读取单位,而Reader是字符输入流,即以char字符为读取单位的。Reader是所有字符输入流的超类。
2024-04-12 17:10:28
917
原创 InputStream字节输入流、OutputStream字节输出流
InputStream就是Java标准库提供的最基本的输入流。它位于java.io这个包中。注意,InputStream并不是一个接口,而是一个抽象类,它是所有输入流的超类。
2024-04-10 15:38:20
1118
原创 File文件对象
在计算机系统中,文件是非常重要的存储方式。Java的标准库java.io提供了File对象来操作文件和目录。要构造一个File对象,需要通过构造方法,传入该文件的本地物理路径。File类是用来访问磁盘的“目录”和“文件”的。
2024-03-19 21:48:37
1004
原创 方法的重写(Override)、fianl关键字
在继承关系中,子类如果定义了一个与父类方法签名完全相同的方法,就被称为重写(Override)。Override重写和Overload重载不同的是:如果方法的签名不同,就是Overload重载,重载方法是一个新方法,重载只有方法名相同;如果方法的签名相同,并且返回值类型也相同,就是Override重写。注意:方法名相同,方法的参数相同,但是返回值不相同,也是不同的方法,在java中出现这种情况,编译器会报错加上@Override 注释可以让编译器帮助检查是否进行了正确的重写。
2024-03-11 17:55:16
890
原创 Overload方法的重载
bookName为:西游记,publisher为:清华大学出版社,pageSize为:123,price为:17.900000。bookName为:null,publisher为:null,pageSize为:0,price为:0.000000。④int indexOf(String str,int fromIndex):根据字符查找,但指定起始位置。但是有一系列方法,他们的功能相似,只是参数不同(③int indexOf(int ch,int fromIndex):根据字符查找,但指定起始位置。
2024-03-04 20:39:26
394
1
原创 BigInteger和BigDecimal
输出结果:-2当我们给n1和n2赋予最大的整数时,他们两个相加,就会产生溢出现象,输出sum时,就会产生一个“不正常的”数:负数。这就是类型溢出,int 类型的对象已经无法存下这么大的数了,此时,我们就可以用一个超大整数:BigInteger来保存一些Int类型无法存下的数字。注意:创建BigIntegr对象时,最好用String类型来保存超大整数//计算输出结果:n3+n4=4487456663728295971755461447。
2024-02-27 20:51:52
1269
原创 String为什么是不可变的?
字符串在String类的内部是用一个char[]数组表示的,而这个数组使用final关键字修饰的,所以不能修改。输出结果:127.0.0.1127#0#0#1。
2024-02-18 16:53:34
553
原创 Arrays工具类的常见方法总结
Arrays.asList( )可以将一个数组以集合的形式传入一个集合对象。通常用来将一组元素全部添加到集合中。
2024-02-16 16:53:03
2206
1
原创 Getter和Setter方法
虽然外部代码不能直接修改private修饰的成员变量,但是外部代码可以调setPhoneNumber()和getPhoneNumber()来间接修改phoneNumber的值,在方法内部,我们可以通过if语句来判断传入的数据是否合法,如果我们传入超过11位或者首字母不为1的参数,会直接将我们手动设置的“未知手机号”传入,不会将非法值传入。会将成员变量暴露给外部,可能会破坏封装性,带来数据访问的安全隐患。通过上篇文章的学习可以发现,在我们自定义的方法中,成员变量都是用public关键字来修饰的。
2024-02-06 20:36:31
301
2
原创 OOP编程思想-方法(上)
语法格式:修饰符 返回值类型 方法名(参数类型 参数名){///**方法体**///}实例:生成一个订单编号,订单编号格式:当前日期+5位流水号(例如:20240205ABC12)//自定义方法//获取当前日期//方式一://toString():按照默认模式:yyyy-MM-dd,转换为字符串//再利用substring一个一个截取System.out.println("日期为:"+orderNo);//方式二://format();按照指定格式yyyyMMdd,转换成字符串。
2024-02-05 21:33:33
432
1
原创 数组类型(上)
1.定义数组的语法:数组类型[] 数组名称=new 数组类型[数组长度]输出结果://因为在数组类中没有重写toString方法,所以用数组名只能按照父类的toString方法输出数组的内存地址(可以看看原码,如下:)//但是可以通过Arrays.toString()方法输出数组的值(原码如下:)输出结果:2.数组的语法特点:①数组所有元素初始化为默认值,整型都是0,浮点型都是0.0,布尔型都是false;
2024-02-02 11:15:34
479
原创 集合接口---Collection接口的子接口(List接口)上
我们学习过数组,数组是一个存放一组的“数据容器”,在内存中分配“”进行对数据的保存,但是若想在数组中“插入”或“删除”一个数据,那么其他数据的位置也要改变(向后或向前移动),但是集合很好的解决了这些问题,根据下面的学习,一起来对比一下集合的优点有哪些。集合有两个接口,分别是:Collection接口和Map接口,本篇我们先讲述Collection接口的子接口之一:List接口。
2024-01-26 23:38:03
587
2
原创 Exception异常处理---常用异常类
Exception表示运行期间,由于各种客观原因导致的运行错误。Exception又分为两大类:RuntimeException和检查异常。
2024-01-25 17:19:24
680
4
原创 String、StringBuilder、StringBuffer和StringJoiner的区别以及使用
/String:"不可变"字符串//StringBuilder:"可变"字符串//StringBuffer:"可变"字符串。
2024-01-24 16:20:21
1246
6
原创 String字符串的常见方法
String s="阴天傍晚车窗外";//方式1:通过charAt()方法i++){运行结果://方式2:通过字符数组String s="阴天傍晚车窗外";:将字符串转换为char数组i++){
2024-01-22 20:23:31
905
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人