- 博客(34)
- 收藏
- 关注
原创 VO、DTO、POJO、PO和DO 的区别
在 Java 开发中,VO、DTO、POJO、PO、DO 等概念经常被使用,它们的主要区别在于。对应数据库表,通常与 ORM 框架(MyBatis、JPA)配合使用。直接操作数据库的对象,MyBatis/JPA 需要它。,可以是 PO、DO、DTO、VO 的基础对象。只包含展示需要的字段,可能会组合多个实体的数据。(DTO、VO、DO 都可能是 POJO),通常是后端返回给前端的数据格式。只是一个普通的 Java 对象,只用于数据传输,不涉及业务逻辑。一个普通的 Java 类,
2025-03-25 10:13:29
578
原创 麒麟V10离线安装docker和docker-compose
由于需要在离线环境下安装 Docker,需要先在一个有网络连接的环境中下载 Docker 的 rpm 包,然后将这些包传输到麒麟操作系统 V10 上。安装 Docker 和 Docker Compose 需要一些基本的依赖包。这样,在麒麟操作系统 V10 上成功离线安装了 Docker 和 Docker Compose。将下载的 docker-compose 文件传输到麒麟操作系统 V10。将下载的 rpm 包传输到麒麟操作系统 V10。
2025-02-18 17:16:06
603
原创 使用IDEA在WSL2的Ubuntu的docker中运行项目
若Dockerfile书写错误会出现build错误。Dockerfile编写启动命令。一个是服务端口,一个远程调试端口。
2024-05-30 23:07:53
1802
1
原创 解决Navicat连接postgresql时出现“datlastsysoid does not exist”报错的问题
Postgres 15 从pg_database表中删除了 datlastsysoid 字段引发此错误。解决方法1:升级navicat到16.1。解决方法2:降级pgsql。解决方法3:修改dll。
2024-05-30 22:43:43
4304
4
原创 WSL使用WindTerm、XShell、FindShell连接
现在就可以用WindTerm、XShell、FindShell来登录WSL了,但是要注意,此时的windows 的cmd窗口不能关闭,不然ssh服务就关了,连接就断开了。
2024-05-30 22:16:48
872
原创 在 Win系统安装 Ubuntu20.04子系统 WSL2 (默认是C盘,第7步开始迁移到D盘,也可以不迁移)
WSL在Windows 10上原生运行Linux二进制可执行文件,不用单独安装虚拟机。WSL2是WSL的第二个版本,提供了与WSL相比的显著性能改进和完全的系统呼叫兼容性。通过运行Linux内核在一个轻量级虚拟机(VM)中实现。
2024-05-28 17:04:19
3179
7
原创 使用Idea创建一键部署项目到Docker
首先呢在项目根目录添加 Dockerfile 文件,什么是根目录,就是和你pom.xml同级的。idea整合docker,需要连接到docker,这就需要开启docker的远程连接了。打开IDEA底部services,已经能看到连接上Docker和所有的镜像和容器信息。,在如下位置添加内容。重启docker (查询端口是否开启成功。
2024-04-19 10:01:10
5727
2
原创 解决Java --add-opens java.base/java.lang=ALL-UNNAMED的具体操作步骤
选项是Java 9引入的一个命令行选项,用于打开模块之间的包,以便其他模块可以访问这些包中的类和成员。通过使用选项,我们可以解决由于模块的隔离性而导致的访问限制问题。但是,应该注意的是,选项可能会降低代码的安全性,因为它打开了。
2023-12-31 23:09:04
15549
2
原创 EasyExcel实现Excel文件导入导出
EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel。
2023-11-22 12:31:10
324
原创 SpringBoot集成jasypt
Jasypt(Java Simplified Encryption)是一个Java库,它允许开发人员以最小的努力为项目添加基本的加密功能,而无需深入了解密码学的工作原理。基于标准的高安全性加密技术,适用于单向和双向加密。加密密码,文本,数字,二进制文件...与 Hibernate 的透明集成。适合集成到基于 Spring 的应用程序中,也可以透明地与 Spring 安全性集成。用于加密应用程序(即数据源)配置的集成功能。多处理器/多核系统中高性能加密的特定功能。
2023-11-19 22:04:31
472
原创 MyBatis的Example用法
MyBatis的Example类详解mybatis-generator会为每个字段产生Criterion,为底层的mapper.xml创建动态sql。如果表的字段比较多,产生的example类会十分庞大。理论上通过example类可以构造你想到的任何筛选条件。在mybatis-generator中加以配置,配置数据表的生成操作就可以自动生成example了。mybatis 的mapper接⼝提供了增、删、改、查的⽅法。避免过多使⽤xml来直接写sql。核心方法,通过mapper . 弹出方法名。
2023-11-07 17:32:30
2115
1
原创 使用SpringBoot实现策略模式
本篇文章主要会描述SpringBoot与策略模式的结合使用,因为不涉及到理论部分,所以在阅读本篇之前,需要对策略模式的理论已经有了一个基本的了解。
2023-11-04 20:11:01
401
3
原创 修改虚拟机ip为静态ip以及虚拟机不显示IP地址
在使用虚拟机的时候,默认情况下使用的DHCP协议分配的动态IP地址,使得每次打开虚拟机后当前的IP地址都可能会发生变化,这样不方便管理。为了能够给当前虚拟机设置一个静态IP地址,方便后期使用WindTerm等连接工具进行连接,以及配置各种服务。所以,我们需要为虚拟机设置一个静态IP地址。
2023-10-28 19:09:07
2860
1
原创 Java_判断线程池所有任务是否执行完毕
上面是主线程的代码,创建了一个能同时执行2个线程的线程池,并投入5个线程,当5个线程都执行完毕后打印---“结束了!子线程Thread[pool-1-thread-10,5,main]执行完毕。子线程Thread[pool-1-thread-4,5,main]执行完毕。子线程Thread[pool-1-thread-1,5,main]执行完毕。子线程Thread[pool-1-thread-5,5,main]执行完毕。子线程Thread[pool-1-thread-2,5,main]执行完毕。
2023-10-23 13:43:36
1576
1
原创 VsCode中Vue代码格式插件,Vetur、ESLint 、Prettier - Code formatter的介绍使用及相关配置
Vetur是一款Vue代码高亮显示的一款插件,在没有使用此插件前,以 .vue的文件名代码是没有颜色的!!!安装步骤:在扩展商店中搜索()点击安装。
2023-05-13 15:53:06
12025
3
原创 IDEA连接数据库MySQL报错Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezon‘
查看是否设置成功,若成功则应如下图所示。
2023-05-01 19:45:31
196
原创 第七章 常用工具类之二
在开发一个系统的时候,我们有时候也需要设计不可变类,来传递一组相关的值,这也是面向对象思想的体现。后者每次都会调用构造器,生成新对象,性能低下且内存开销大,并且没有意义,因为String对象不可改变,所以对于内容相同的字符串,只要一个String对象来表示就可以了。第一条语句打印的结果为false,第二条语句打印的结果为true,这说明javac编译可以对字符串常量直接相加的表达式进行优化,不必要等到运行期去进行加法运算处理,而是在编译时去掉其中的加号,直接将其编译成一个这些常量相连的结果。
2023-04-04 08:08:31
78
原创 第七章 常用工具类之一
这个类就像一个工具一样,类的提供者给我们提供了, 就希望我们直接用就完了,不想让我们随便能改,其实说白了还是安全性, 如果随便能改了,那么java编写的程序肯定就很不稳定,你可以保证自己不乱改, 但是将来一个项目好多人来做,管不了别人,再说有时候万一疏忽了呢?在JSP开发中,Integer的默认为null,所以用el表达式在文本框中显示时,值为空白字符串,而int默认的默认值为0,所以用el表达式在文本框中显示时,结果为0,所以,int不适合作为web层的表单数据的类型。
2023-04-03 22:06:07
139
原创 第六章 异常处理(常识)
如果try语句出现异常,则中断执行并根据发生的异常类型跳至相应的catch语句块执行处理。finally语句是可选的,如果有的话,则不管是否发生异常,finally语句都会被执行。2、Checked异常(非运行时异常):除了运行时异常外的其他异常类都是Checked异常。1、Error类,表示仅靠程序本身无法恢复的严重错误,比如说内存溢出、动态链接异常、虚拟机错误。2、Exception类,由Java应用程序抛出和处理的非严重错误,比如所需文件没有找到、零作除数,数组下标越界等。
2023-04-03 22:02:29
96
原创 第五章 面向对象之四
1、抽象类体现了一种继承关系,目的是复用代码,抽象类中定义了各个子类的相同代码,可以认为父类是一个实现了部分功能的“中间产品”,而子类是“最终产品”。6、垃圾回收机制回收任何对象之前,总会先调用它的finalize方法(如果覆盖该方法,让一个新的引用变量重新引用该对象,则会重新激活对象)。3、抽象类中可以有构造方法,但不能用来实例化,而在子类实例化是执行,完成属于抽象类的初始化操作。1、将一个指向子类对象的引用赋给一个子类的引用,成为向下转型,此时必须进行强制类型转换。抽象类中可以定义常量和变量。
2023-04-03 21:51:55
63
原创 第五章 面向对象之三
1.public boolean equals(java.lang.Object) 比较内容2.public native int hashCode() 哈希码3.public java.lang.String toString() 变成字符串4.public final native java.lang.Class getClass() 获取类结构信息5.protected void finalize() throws java.lang.Throwable 垃圾回收前执行的方法。
2023-04-03 21:41:02
74
原创 第五章 面向对象之二
final和abstract是功能相反的两个关键字,可以对比记忆1、abstract可以用来修饰类和方法,不能用来修饰属性和构造方法;使用abstract修饰的类是抽象类,需要被继承,使用abstract修饰的方法是抽象方法,需要子类被重写。2、final可以用来修饰类、方法和属性,不能修饰构造方法。使用final修饰的类不能被继承,使用final修饰的方法不能被重写,使用final修饰的变量的值不能被修改,所以就成了常量。3、特别注意:final修饰基本类型变量,其值不能改变。
2023-04-03 21:32:43
66
原创 第五章 面向对象之一
小明就是一个具体的人,也就是实例,他的属性是具体的身高200cm,体重180kg,他做的方法是具体的吃了一碗白米饭,说了“12345”这样一句话。1、编程思路不同: 面向过程以实现功能的函数开发为主,而面向对象要首先抽象出类、属性及其方法,然后通过实例化类、执行方法来完成功能。类是抽象的,不占用内存,而对象是具体的,占用存储空间。2、封装性:都具有封装性,但是面向过程是封装的是功能,而面向对象封装的是数据和功能。是用于创建对象的蓝图,它是一个定义包括在特定类型的对象中的方法和变量的软件模板。
2023-04-03 21:21:08
60
原创 第四章 数组
3.实参不同 可变参数实参可以0,1,2.....个,也可以是一个。2.位置不同 可变参数只能是最后一个 数组参数位置任意。3.可变参数对应的实参可以0,1,2.....个,也可以是一个数组。7.如果定义了可变参数的方法,不允许同时定义相同类型数组参数的方法。1.个数不同 可变参数只能有一个 数组参数可以多个。4.在可变参数的方法中,将可变参数当做数组来处理。5.可变参数最多有一个,只能是最后一个。2.可变参数只能是方法的形参。总结2:数组做形参和可变参数做形参联系和区别。数组,数组的实参只能是数组。
2023-04-03 21:00:59
64
原创 第三章 流程控制
递归算法是一种直接或者间接地调用自身算法的过程。在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解。递归算法解决问题的特点:(1) 递归就是在过程或函数里调用自身。(2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。(3) 递归算法解题通常显得很简洁,但运行效率较低。所以一般不提倡用递归算法设计程序。(4) 在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等。所以一般不提倡用递归算法设计程序。
2023-04-03 20:50:52
180
原创 第二章 数据类型和运算符 (常识)
数值型整数型byte1short2int4long8浮点型float4double8布尔型boolean1字符型char2共同点:1、i++和++i都是变量自增1,都等价于i=i+12、如果i++,++i是一条单独的语句,两者没有任何区别3、i++和++i的使用仅仅针对变量。5++和++5会报错,因为5不是变量。不同点:如果i++,++i不是一条单独的语句,他们就有区别1、 i++ :先运算后增1。如:2、++i : 先增1后运算。
2023-04-03 20:37:19
66
原创 第一章 初识Java
JVM是Java Virtual Machine(Java虚拟机)的缩写,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。JVM是Java平台的基础,和实际的机器一样,它也有自己的指令集,并且在运行时操作不同的内存区域。
2023-04-03 20:18:14
163
1
原创 所有奇数长度子数组的和
1588. 所有奇数长度子数组的和给你一个正整数数组 arr ,请你计算所有可能的奇数长度子数组的和。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=dev
2021-08-29 18:37:31
161
原创 JAVA基础知识汇总(思维导图)
JAVA基础知识汇总(思维导图)链接:https://pan.baidu.com/s/1UPSYzjkhosphzMtBQYuPkg提取码:bodv
2021-08-28 11:46:36
517
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人