- 博客(537)
- 收藏
- 关注
原创 【代码优化】
serialVersionUID用于控制类的版本。当一个类的定义发生变化时,例如添加或删除字段,序列化和反序列化过程中可能会出现不兼容的情况。serialVersionUID可以帮助确保在类的版本不匹配时捕获到异常。是Java序列化机制中的一个静态字段,用于表示类的版本。如果一个类实现了Serializable接口,它可以被序列化和反序列化。在序列化过程中,对象被转换为字节流;在反序列化过程中,字节流被转换回对象。通过参数化类型实现,可以用在类、接口和方法中。的使用场景,主要取决于异常的。
2024-12-03 17:07:39
515
转载 【详解Java中Optional类的使用方法】
以前,为了解决空指针异常,Google公司著名的Guava项目引入了Optional类,Guava通过使用检查空值的方式来防止代码污染,它鼓励程序员写更干净的代码。super predicate):如果值存在,并且这个值匹配给定的 predicate,返回一个Optional用以描述这个值,否则返回一个空的Optional。> mapper):如果值存在,就对该值执行提供的mapping函数调用,返回一个Optional类型的值,否则就返回一个空的Optional对象。这个在开发中是很常见的一种逻辑。
2023-10-16 11:41:00
1306
转载 一眼看清@JSONField注解使用与效果
JSONField是fastjson的一个注解,在fastjson解析一个类为Json对象时,作用到类的每一个属性(field)上。用这三个类各自生成一个对象,赋值完全相同,然后用fastjson输出Json格式的字符串。输出结果如下,已经将需要重点关注的地方标注了出来。对比之下,一目了然。通过用@JSONField注解一个类的属性,我们可以达到以下目标。我们直接用demo代码来简单清晰的看一下,加了这些注解的效果吧!我们来定义三个类,这三个类字段一毛一样,只是注解不同。
2023-10-07 15:08:35
4018
原创 【Docker】 08-Dockerfile
Dockerfile可以认为是Docker镜像的描述文件,是由一系列命令和参数构成的教程,主要作用是用来构建docker镜像的构建文件。
2023-09-04 10:05:37
849
原创 【Docker】 07-安装ElasticSearch、Kibana
3-1、在ik分词器目录下config目录中创建ext.dic文件,编码一定要为UTF-8才能生效。3-2、在ik分词器目录下config目录中创建ext_stopword.dic文件。6、运行ES容器,指定jvm内存大小并指定ik分词器位置。3、在宿主机中,修改配置sysctl.conf。5、复制容器中data目录到宿主机中。2、解压到plugins文件夹中。4、将此容器提交成为一个新的镜像。1、下载对应版本的ik分词器。3、添加自定义扩展词和停用词。3-3、重启容器生效。7、安装Kibana。
2023-09-03 16:35:08
801
原创 【Docker】 06-安装MongoDB
MongoDB 6.0全面弃用了mongo而使用mongosh。5、将mongoDB中数据目录映射到宿主机中。2、进入MongoDB容器。4、进入容器配置用户密码。1、运行mongoDB。3、常见具有权限的容器。
2023-09-03 14:19:28
127
原创 【Docker】 05-安装Tomcat
1、在docker hub搜索tomcat。5、将webapps目录挂载在外部。3、运行tomcat镜像。4、进入tomcat容器。2、下载tomcat。
2023-09-03 13:43:47
74
原创 【Docker】03-安装redis
②将官方安装包中配置文件进行复制到宿主机指定目录中如 /root/redis/redis.conf文件。默认情况下,redis官方镜像中没有redis.conf配置文件,需要去官网下载指定版本的配置文件。①下载官方安装包(我这里的redis版本是7.2.0)6、讲数据目录挂在到本地保证数据安全。1、拉取最新的redis镜像。5、使用自定义配置启动。4、进入容器内部查看。
2023-09-01 13:59:49
998
原创 【Docker】02-安装mysql
1、拉取最新版本的镜像2、运行mysql服务3、进入到mysql内部登录用户输入,回车4、查看日志5、使用自定义配置参数结合上面的命令,启动mysql容器:6、将容器数据位置与宿主机位置挂在保证数据安全7、将mysql数据库备份为sql文件8、执行sql文件到mysql中
2023-08-30 16:41:12
680
原创 【Docker】01-Centos安装、简单使用
Docker是一种开源的容器化平台,用于构建、打包、部署和运行应用程序。它通过使用容器来实现应用程序的隔离和轻量级虚拟化,使应用程序能够在不同的环境中以一致的方式运行。容器是一种轻量级的虚拟化技术,它将应用程序及其所有依赖项(如库、运行时环境等)打包到一个独立的可执行单元中,称为容器。每个容器都是相互隔离的,可以在同一台主机上同时运行多个容器,而它们之间不会相互干扰。这种隔离性使得容器可以在不同的操作系统、服务器或云平台上运行,而无需担心环境差异或依赖冲突的问题。
2023-08-30 16:27:40
1081
原创 【Log4j】 SpringBoot项目报错读取两个 StaticLoggerBinder
中,在POM文件中找到改坐标把。仔细看日志,发现日志框架用的是。
2023-03-17 14:14:55
1125
原创 【SpringBoot】 IDEA启动报错——错误: 找不到或无法加载主类 xxxxxApplication
IDEA启动SpringBoot项目报错
2022-06-16 16:40:59
619
1
原创 【ThreadPoolTaskExecutor】 SpringBoot 的线程池的使用
一、配置 ThreadPoolTaskExecutor创建一个文件夹 config ,新建一个类 ThreadPoolConfig.javaimport org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor
2022-05-27 10:13:10
3984
原创 【Linux】 常用命令
操作文件命令用来切换目录cd显示当前文件夹下的所有文件和目录lsll 显示所有文件和文件夹的详细信息ls -a 显示完整的文件和目录显示当前 工作目录pwd创建空文件touch创建目录mkrid-p 父目录不存的情况下先生成父目录复制文件或者目录cpcp 文件名/目录 指定目录名cp -r 目录名/目录 指定目录名-r 递归处理,讲指定目录下的文件与子目录一并拷贝移动文件mv 文件名/目录名 目录名目录、文件或目录改名mv 文件名/目录名 新文件名/新目录名
2022-05-16 15:57:22
1958
转载 【SpringBoot】 Spring Boot配置文件深入讲解
1.配置文件当我们构建完Spring Boot项目后,会在resources目录下给我们一个默认的全局配置文件 application.properties,这是一个空文件,因为Spring Boot在底层已经把配置都给我们自动配置好了,当在配置文件进行配置时,会修改SpringBoot自动配置的默认值。配置文件名是固定的application.properties但我们可以修改为application.yml这两个文件本质是一样的,区别只是其中的语法略微不同。2.值的写法appl
2022-05-12 17:46:03
435
原创 【跨域】 关于跨域的一些知识整合
· 同源协议、域名(IP)、端口相同即为同源· 跨域当浏览器从一个网站去访问另外一个非同源URL(与当前网站的URL的协议、域名、端口,任意一个不同)时,这样的动作,叫做跨域· 浏览器的同源策略同源策略(Same Origin Policy,SOP)是一种约定,它是浏览器最核心也最基本的安全功能,同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。简单点说,就是浏览器是不允许发起跨域请求的。· 同源策略解决的问题1、防止恶意网站获取cookie去访问正规网站,发起C
2022-04-29 17:30:20
797
原创 URI和URL的区别
定义URI (Uniform Resource Identifier) 统一资源标志符URL (Uniform Resource Locator) 统一资源定位符URN (Uniform Resource Name) 统一资源名称区别URI 可以标识一个资源,但是同样的,存着两种方法 URL 和 URN 也可以标识一个资源,这两种方法都属于 URI ,目前WEB上就URL流行开了,平常见得URI 基本都是URL。URL 是以指定信息位置的方式去标识资源,例如:http://www.abc
2022-03-23 17:14:07
545
转载 exist 和 in 的区别,以及小表驱动大表的原理
【exist 和 in 的区别】原作者: https://www.cnblogs.com/liyasong表展示首先,查询中涉及到的两个表,一个user和一个order表,具体表的内容如下:in 的使用确定给定的值是否与子查询或列表中的值相匹配。in在查询的时候,首先查询子查询的表,然后将内表和外表做一个笛卡尔积,然后按照条件进行筛选。所以相对内表比较小的时候,in的速度较快。具体sql语句如下:SELECT *FROM `user`WHERE `user`
2022-03-18 11:48:12
2818
原创 【RocketMQ】
什么是MQ?MessageQueue,消息队列。是一种FIFO(先进先出)的数据结构。消息由生产者发送到MQ进行排队,然后按照原来的顺序交由信息的消费者进行处理。MQ的作用优点:异步:提高系统的响应速度、吞吐量解耦:1)减少服务之间的影响。提高系统整体的稳定性、扩展性。 2)实现数据分发(一个生产者,多个消费者)削峰:以稳定的系统资源应对突发的流量冲击缺点:系统可用性降低:系统引入外部依赖增多,系统的稳定性就会变差。如果MQ挂了会影响系统。系统复杂度提高:带来一些问题,例如
2022-01-05 16:58:27
1093
原创 【SpringBoot】 日志框架冲突
项目启动报错:Logging system failed to initialize using configuration from 'classpath:log4j2-dev.xml'java.lang.IllegalStateException: Logback configuration error detected: 解决:将spring-boot-starter-web中的日志框架排除<dependency> <groupId>org.springfr
2021-12-10 14:11:02
405
原创 BeanUtils.copyProperties 无法转换数据类型不同的数据
背景@Datapublic class A{ private BigDecimal a;}@Datapublic class B{ private String b;}A a = new A();B b = new B();a.setA(new BigDecimal(""10.01));BeanUtils.copyProperties(b,a);System.out.println(a.getB);运行:null因类型不一致,所以数据复制失败解决使用fastJs
2021-12-01 17:09:05
7088
原创 【css】 让文字换行的样式
<span style="white-space: pre-line" > hahahahahahahahahahahahahahahahahahahh</span>
2021-11-29 16:07:10
521
原创 springboot项目启动报错 url‘ attribute is not specified and no embedded datasource could be configured
报错相关信息:2019-07-22 17:12:48.971 ERROR 8312 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : ***************************APPLICATION FAILED TO START*************************** Description: Failed to configure a DataSource: 'url' attri
2021-11-29 10:50:48
479
转载 【设计模式07】 桥接模式
桥接模式桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。实现我们有一个作为桥接实现的 DrawAPI 接口和实现了 DrawAPI 接口的实体类 RedCircle、GreenCircle。Shape 是一个抽象类,将使用 DrawAPI 的对象。BridgePatternDemo
2021-11-25 11:18:11
155
转载 【java】 StringUtils的常用方法
StringUtils 方法的操作对象是 java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 NullPointerException ,而是做了相应处理,例如,如果输入为 null 则返回也是 null 等,具体可以查看源代码)。除了构造器,StringUtils 中一共有130多个方法,并且都是 static 的,所以我们可以这样调用 StringUtils.xxx()下
2021-11-16 15:20:35
600
转载 【设计模式06】 适配器模式
适配器模式是一种结构型设计模式。适配器模式的思想是:把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。用电器来打个比喻:有一个电器的插头是三脚的,而现有的插座是两孔的,要使插头插上插座,我们需要一个插头转换器,这个转换器即是适配器。适配器模式涉及3个角色:源(Adaptee):需要被适配的对象或类型,相当于插头。适配器(Adapter):连接目标和源的中间对象,相当于插头转换器。目标(Target):期待得到的目标,相当于插座。适配器
2021-11-10 10:53:39
118
转载 【java】 enum 简单用法
public enum Color { RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4); // 成员变量 private String name; private int index; // 构造方法 private Color(String name, int index) { this.name = name; this
2021-11-09 15:22:44
123
原创 【oracle】 字段属性为 date 的相关操作
原生SQL建表create table MY_TABLE( CREATETIME DATE NOT NULL);插数据insert into MY_TABLE(CREATETIME) VALUES(to_date('2021-11-05 14:32:40','yyyy-MM-dd HH24:mi:ss'))查数据select CREATETIME from MY_TABLE where CREATETIME >= to_date('2021-11-05 14:32:40','yyy
2021-11-05 14:42:24
410
原创 【ant-design-vue】 a-table的可编辑行使用
控件文档https://www.antdv.com/components/table-cn/#components-table-demo-editable-rows效果图代码<template> <a-table :columns="columns" :data-source="data" bordered> <template v-for="col in ['name', 'age', 'address']" ..
2021-11-04 10:28:35
5188
原创 【设计模式05】单例模式
单例模式定义: 只有一个实例的类,并且提供唯一一种供外界访问的方式。案例代码:public class Singleton { private static Singleton instance = new Singleton(); private Singleton(){} public static Singleton getInstance(){ return instance; } public void print(){
2021-11-04 10:25:26
93
原创 【jdk的jps命令】 -bash: jps: 未找到命令
背景:用centos7的yum命令安装jdk 1.8,发现没有jps命令解决:安装openjdk-develyum install java-1.8.0-openjdk-devel.x86_64
2021-11-01 17:39:08
377
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人