
java
Kermit2025
代码艺术家,一个能让你读懂的作者。
展开
-
1分钟快速上手枚举类
一分钟帮助你快速掌握什么是枚举类。原创 2024-05-12 21:22:19 · 217 阅读 · 0 评论 -
你能看懂的——单例模式
单例模式的详细讲解原创 2024-05-09 21:33:02 · 1334 阅读 · 1 评论 -
Java保留n位小数的方法(超简洁)
最简洁的方法是方法三,使用System.out.printf()方法。它可以直接在输出语句中指定格式化字符串,并输出保留指定位数的小数。这种方法更为简洁和直观。方法三:使用System.out.printf()方法。方法二:使用String.format()方法。方法一:使用DecimalFormat类。我们以保留6位小数为例。原创 2023-10-31 21:09:37 · 511 阅读 · 0 评论 -
复制一个项目后,错误: 找不到或无法加载主类 原因: java.lang.ClassNotFoundException:
我看了很多个博客,都没有找到解决方法,而且我之前都没有这个bug,经过我的仔细研究发现,重命名此项目,可以将中文的内容删掉,改为_copy或你想改的,只要没有中文就行。如果有效的话请点个👍吧,Thanks for watching!原创 2023-09-24 19:33:16 · 555 阅读 · 0 评论 -
ShardingSphere UnknownDatabaseException: null
这个错误是由于在使用ShardingSphere时,指定了数据库名导致的,原创 2023-09-15 10:18:13 · 741 阅读 · 0 评论 -
简单的解决 java: java.lang.UnsupportedClassVersionError
你必须让你编译的jar包版本和linux上运行的java版本一致。下面这个Maven可以制定编译成jar包时选择的java版本。然后在Maven编译的时候添加你想要制定的版本。先看你Linux的上运行的java版本,比如我的linux上java版本是。查看linux上的java版本。我的是11所以下面也改成11。原创 2023-08-26 17:16:04 · 417 阅读 · 0 评论 -
Mybatisplus报错 field private final java.lang.Class java.lang.invoke.SerializedLambda.capturingClass
这个错误是因为在 Java 9 及之后的版本中,模块化系统 (Module System) 引入了访问限制,导致无法访问 java.lang.invoke.SerializedLambda 的私有字段 capturingClass。其实是Mybatisplus和Java的版本兼容出现了问题。Java8以上的版本可以直接升级到mybatisplus的。所以可以通过升级Mybatisplus的版本来解决。原创 2023-08-20 11:21:20 · 7792 阅读 · 6 评论 -
比较优雅的用Springboot接受Post请求体的单个参数
我想了想还是用fastjson的JSONObject接受没准更好一点,但是这个见仁见智,本身JSONObject也是Map,是Map的子类,但用JSONObject接受可读性也许会好一点,而且JSONObject也有一些处理JSON数据的方法。感觉都没那么优雅,用直接用Map怎么都感觉有点不太得劲,可读性上稍差一些。下面上个例子吧,但对于接受的单个参数用的时候还是得做强转。之前见过用Map声明的,用自定义注解的。如果有更好的接受方式,请在评论区提出✌。原创 2023-08-16 15:15:43 · 994 阅读 · 0 评论 -
如何十分优雅简单的升级Linux服务器上的java版本
如果您尚未安装Java 11,可以通过使用包管理器来安装。系统会列出已安装的Java版本,并要求您选择默认版本。输入对应Java 11版本的编号,然后按回车键确认。完成这些步骤后,您的Linux系统中的Java版本应该已经成功升级到Java 11了!首先,检查您的系统是否已安装Java 11。如果Java 11已经安装,则可以直接跳到第4步。接下来,您需要更新系统的Java默认版本。原创 2023-07-21 16:19:45 · 5666 阅读 · 0 评论 -
简单解释在Java中,什么是POJO(Plain Old Java Object)
POJO(Plain Old Java Object)是指普通的Java对象,它是一个简单的、基本的Java类,没有任何特殊要求或限制。POJO类通常只包含私有字段、公共访问方法(getter和setter)以及一些自定义的方法。// 构造方法 public Person(String name , int age) {} // getter和setter方法 public String getName() {return age;原创 2023-07-20 10:17:24 · 1261 阅读 · 0 评论 -
Springboot中使用@Autowired注入的条件是什么?
被注入的类必须在Spring容器中进行管理,也就是说它需要被扫描到并注册到Spring容器中。可以通过在主应用程序类上使用@SpringBootApplication注解或在配置类上使用@Configuration注解来开启组件扫描。被注入的类需要有一个无参构造函数。这是因为Spring Boot使用默认的构造函数来实例化被注入的类对象。被注入的类必须在运行时可见,即不能是private或protected的,同时也不能是final的。被注入的类不能是一个接口或抽象类,必须是一个具体的类。原创 2023-07-12 12:20:00 · 1315 阅读 · 0 评论 -
如何生动的理解Java8对集合操作的流
流水线操作:流提供了一系列的中间操作方法,如筛选、映射、排序等,这些方法都是将数据进行转换或处理,并返回一个新的流。通过这种方式,流可以帮助我们以一种更简洁、易读和灵活的方式来处理数据。它能够简化集合的操作,并提供了丰富的操作方法,使得我们能够以更函数式和声明性的方式处理数据。终止操作:当你调用流的终止操作方法时,才会触发流的计算,执行一系列的中间操作,并返回最终的结果。惰性计算:流是惰性计算的,也就是说当你调用流的操作方法时,并不立即执行计算,而是将操作添加到流的流水线中。方法将列表转换为流,然后使用。原创 2023-07-09 22:57:37 · 287 阅读 · 0 评论 -
JSONObject.toJSONString方法解析对象时的细节
JSONObject.toJSONString在解析一个对象的时候,如果某些属性比如User类里面有name,age属性,如果有些属性为空,没有设置值,则解析时不会进行解析,只会解析被设置了值的属性,不会解析没有设置值的属性。在Alibaba库下的JSONObject类。假入有一个User类。原创 2023-06-24 12:51:29 · 697 阅读 · 0 评论 -
同样是存储在内存中,为什么我们不选择将数据存储在Java内存中,而是将数据存储在Redis里?
需要注意的是,Redis作为一个独立的数据库服务,与应用程序通过网络进行通信,而Java内存的Map直接在应用程序内部使用。对于较小规模的数据集和简单的数据需求,直接使用Java内存的Map可能更加适合。但对于大规模的、需要持久化、分布式支持以及复杂数据操作的场景,Redis是一个更强大和适用的选择。高级数据结构:Redis提供了丰富的数据结构,如字符串、哈希表、列表、集合和有序集合等,并且支持在这些数据结构上执行各种原子操作和高级操作。而使用Java内存的Map,当应用程序关闭或重启时,数据将会丢失。原创 2023-06-16 10:05:50 · 512 阅读 · 0 评论 -
Mybatis字段映射不上Java类的几种情况
java中的类名必须对应mysql一张表的一个字段名,仔细检查拼写是否有误,如果不想修改名字可以用@TableField的方式来进行注解指定对应的mysql表的字段名。原创 2023-06-05 18:33:32 · 3571 阅读 · 0 评论 -
简单理解什么是序列化
我们以Java为例。序列化就是把对象转化为可传输的字节序列过程,这个字节序列可以是字符串,比如JSON格式的字符串,把内存中的java对象转化成JSON格式的字符串的过程,就是序列化的过程。为什么转化成字符串就算是序列化呢?因为字符串实现了Serializable接口,实现了Serializable接口的类,便可以通过网络层进行传输(序列化的目的就是为了在网络层进行传输)。原创 2023-05-03 16:08:09 · 1057 阅读 · 0 评论 -
什么是JavaBean?
JavaBean是指符合一定规范的Java类,这些Java类需要满足一定的条件才能被称为JavaBean。如果一个Java类同时满足上述所有条件,则它就可以被称为JavaBean。下面是一个JavaBean的例子。原创 2023-05-02 19:15:37 · 1077 阅读 · 0 评论 -
什么是微服务?
在了解微服务之前我们需要了解两个概念,单体架构与分布式架构,再深入了解微服务。原创 2023-05-02 14:10:12 · 725 阅读 · 0 评论 -
简单易懂的理解java开发中的 DO、BO、DTO、VO、AO都是什么✌
这些只是开发的规范,规范就是建议遵守的,大家都这样做,长期以来就形成了一种开发规范,便于我们开发。DO、BO、DTO、VO、AO他们都是普,只不过通常我们把他们放在DO、BO、DTO、VO、AO名的包下,结尾以DO、BO、DTO、VO、AO命名放在这些包下的类。有时DO也会放在名为PO(Persistent Object)的包下。原创 2023-04-27 00:26:19 · 3411 阅读 · 0 评论 -
如何把一个List转化成数组(深入解读toArray方法)
调用List的toArray方法就好,我们下面以List的子类 ArrayList为例进行转化。原创 2023-04-23 23:22:36 · 1563 阅读 · 0 评论 -
相关联的属性名 “orderby“ 必须后跟 ‘ = ‘ 字符。Mybatisplus使用ORDER BY报错
就这个sql写在Mybatis的xml里就会报错。于是只能把这个sql放到注解上面写。没有找到更好的解决办法。原创 2023-04-22 00:29:46 · 759 阅读 · 0 评论 -
如何快速用本地文件建立一个Url资源定位符
搜了很多方案,首先要解决的一个问题就是,我得从一个Url获取一个excel,那就意味着我要上传一个文件到我的服务器上,把文件传递上去,然后访问指定文件来做下载。这个Url可以用于 Java.net.Url这个类来访问做输入流,可以很方便的处理Excel,Word,Img等。后来我发现Url其实也可以指定本地路径,协议不是http协议,也不是https而是file协议。得到了这个Url后,我们之后的访问就也无需上面的方式了,直接用file协议就行了。第一步打开一个浏览器,我就打开Edge了。原创 2023-04-19 00:40:50 · 5954 阅读 · 0 评论 -
Redis相关概念
在应用程序中优先从Redis缓存获取数据,如果Redis缓存中没有,再去请求Mysql数据库拿数据,并将查询结果缓存到Redis数据库里,以便下次获取的时候还可以直接从缓存中获取。,在使用 Redis 缓存 MySQL 数据库时,应该保持 Redis 中缓存的数据与 MySQL 数据库中实际数据的一致性。Redis通常作为Mysql的缓存层数据库,用于存储一些经常被访问的信息,缓存热点数据,因为Redis的高性能所以把热点数据放到Redis里可以减轻Mysql的压力。原创 2023-04-16 13:31:37 · 112 阅读 · 0 评论 -
@Builder注解的使用注意事项Implicit super constructor {} is undefined for default constructor. Must define an
Lombok里的@Builder注解会自动生成一个私有的全参构造器,但是不会生成默认的无参构造器,所以当你需要使用空参构造器的时候,那么你还需要手动一下构造器(用lombok的注解实现或者手动写一个)否则当你在使用空参构造的时候就会报错。原创 2023-04-16 10:56:19 · 315 阅读 · 0 评论 -
Java开发相关概念
【代码】Java开发相关概念。原创 2023-04-16 01:33:14 · 88 阅读 · 0 评论 -
概念合集专栏,一篇帖子说尽后端概念 (持续更新)
SpringBoot相关概念。原创 2023-04-16 00:55:30 · 100 阅读 · 0 评论 -
SpringBoot相关概念(持续更新)
例子如下对例子的解释,由于我的IOC容器中有RedisConnectionFactory 这个类,所以我可以直接写,而不需要用一些注解@Autowired等,因为我们使用了@Bean注解,就会自动解决当前这个Bean的依赖关系。(再次强调,自动解决依赖问题这个对象是必须在IOC容器中才可以,否则你需要将对象先加入到IOC容器中才可以进行 不懂的话,下面有这个解释 )原创 2023-04-16 00:54:20 · 649 阅读 · 0 评论 -
用讲故事的方式理解乐观锁和悲观锁~
当一个人写完后,将自己写的内容与原来的内容做比较,如果没有被其它人修改过,就提交更新。如果发现已经被其它人修改过,就返回错误信息让该人重新编辑。例如,你写了“我喜欢吃苹果”,但发现其中的“我”已被另一个朋友改成了“他”,那么你就要重新编辑成“他喜欢吃苹果”。这就是悲观锁的思想,即基于悲观的认为数据可能会产生冲突,所以需要在使用数据之前先加锁,确保每个人对同一位置的内容操作完毕后才能进行下一个位置的操作。而乐观锁则是乐观地认为并发冲突的概率很小,而不加锁,但在提交更新时判断是否有冲突,有则返回错误信息。原创 2023-04-15 21:16:38 · 81 阅读 · 0 评论 -
在Springboot中和注解@bean和@component有啥区别?
在Spring Boot中,@Bean和@Component注解都用于定义bean。@Bean是在您自己的配置类中创建和配置一个bean;而@Component是指示Spring将带有该注解的类自动检测并创建bean。@Bean方法通常用于实例化第三方库中的对象或者对系统其他部分的额外配置;而@Component通常用于您自己的代码组件的定义。而@Component则不提供这些高级功能。而@Bean则经常使用在配置类中用于在配置类中创建和配置一个Bean。@Component用于自己写的类来创建bean。原创 2023-04-11 16:59:43 · 498 阅读 · 0 评论 -
Caused by: java.lang.IllegalStateException: Ambiguous mapping. Cannot map ‘postController‘ method
因为map映射的方法映射到了相同的路径上,导致冲突,所以需要修改冲突路径,修改后就正常啦~原创 2023-04-10 20:24:04 · 375 阅读 · 0 评论 -
3步轻松完成Springboot在IDEA上的热部署
三步轻松实现Springboot的热部署原创 2023-04-09 17:08:37 · 2241 阅读 · 1 评论 -
一文详解 unversioned files 怎么处理
通常unversioned files下面都是.idea文件,而.idea文件我们在做提交的时候基本上是不需要提交到gitee或github上的,所以我们可以把.idea文件忽略掉从而解决unversioned files里多余的文件,只专注于提交我们写的代码。原创 2023-04-08 17:14:05 · 21224 阅读 · 0 评论 -
Cannot deserialize value of type `int` from String “{}“: not a valid `int` value;
今天本来是想把一个JSON格式的字符串存储到Java对象的一个属性里,在Java对象里使用的是JSONObject来进行存储这个JSON格式的字符串的,当我在Controller层利用Java对象来接收传过来的参数的时候,发现报错。思考后发现,JSONObject这个类是无法直接接收一个JSON字符串的导致报错,因此如果想接收一个JSON字符串,可以考虑使用Object对象,或者直接使用String字符串来实现。原创 2023-04-07 22:09:02 · 3523 阅读 · 0 评论 -
Springboot接收前端字段的方式
利用自定义对象来接收适合于那种传入的参数与你自己自定义对象有关的,以自定义的类User对象为例在java的Controller层,你可以使用@RequestBody注解来接收JSON格式的请求,使用该注解后,SpringMVC框架会自动将请求体中的JSON转化为Java对象,以下是一个简单的实例。原创 2023-04-03 16:27:00 · 1146 阅读 · 0 评论 -
@requestparam注解的作用
URL路径中的参数通常是指RESTful API中的路径参数,例如:/users/{id},其中{id}就是路径参数。分隔的参数列表,例如:/users?在上面的示例中,@PathVariable注解用于获取URL路径中的参数,@RequestParam注解用于获取查询参数和表单参数,@RequestBody注解用于获取JSON参数。@RequestParam注解并不是只用于获取请求体中的参数,它可以用于获取请求中的任意参数,包括URL中的路径参数、请求头中的参数、请求体中的参数等。原创 2023-04-03 13:38:12 · 1403 阅读 · 0 评论 -
Content type ‘application.yml/json;charset=UTF-8‘ not supported 并出现 HTTP状态码:415
Content type 'application.yml/json;charset=UTF-8' not supported 并出现 HTTP状态码:415原创 2023-03-25 18:10:15 · 2924 阅读 · 1 评论 -
Parsing error was found in mapping #{}. Check syntax #{property|(expression)
Parsing error was found in mapping #{}. Check syntax #{property|(expression), var1=value1, var2=value2, ...} 的解决方式原创 2023-03-19 17:30:13 · 1519 阅读 · 0 评论 -
配置Hive在mysql上的元数据库时Underlying cause: java.lang.ClassNotFoundException : com.mysql.jdbc.Driver
配置hive on spark原创 2022-12-30 22:12:12 · 1970 阅读 · 1 评论 -
解决jar包在cmd里运行和IDE里运行不一致问题
解决jar包在cmd里运行和IDE里运行不一致问题原创 2022-10-27 15:39:20 · 748 阅读 · 0 评论 -
easyExcel的maven依赖(备忘)纠错版
easyExcel的maven依赖的修正版原创 2022-10-26 10:01:50 · 511 阅读 · 0 评论