java
叶枫^_^
人如果没有梦想,和咸鱼有什么区别
展开
-
使用JsonNode处理树形数据结构问题
利用JsonNode解析树形的数据结构原创 2023-05-18 16:29:36 · 504 阅读 · 0 评论 -
开启控制台输出mybatis执行的sql日志
开启mybatis log配置原创 2022-12-11 11:51:49 · 1785 阅读 · 0 评论 -
将主键ID用括号包括 以字符串的方式进行存储 查询的技巧
以字符串存储多个ID进行查询的技巧原创 2022-12-04 11:56:49 · 702 阅读 · 0 评论 -
截取文件名前面的章节数字
Java实现章节排序原创 2022-08-13 10:16:57 · 181 阅读 · 0 评论 -
Excel基础
Excel基础原创 2022-07-09 22:58:42 · 520 阅读 · 0 评论 -
idea 规范操作,设置代码行宽,并自动到达行宽后自动换行
idea基本设置原创 2022-07-08 17:25:03 · 9483 阅读 · 3 评论 -
File 与 MultipartFile概述
FIle与MultipartFile概述原创 2022-06-26 18:13:15 · 30408 阅读 · 0 评论 -
Mybatis对Double类型的字符串进行范围查询
mybatis动态sql原创 2022-06-19 07:25:08 · 528 阅读 · 0 评论 -
使用LocalDateTime和LocalDate替换SimpleDateFormat
时间格式转换原创 2022-06-13 00:15:07 · 618 阅读 · 0 评论 -
文件基本操作,递归获取指定目录下的文件
File使用原创 2022-06-11 22:34:05 · 513 阅读 · 0 评论 -
map初始化参数写法
map初始化原创 2022-06-11 21:38:11 · 299 阅读 · 0 评论 -
List.isEmpty()与CollectionUtils.isEmpty的区别
List集合判空原创 2022-06-11 19:32:38 · 1679 阅读 · 0 评论 -
File对象中创建文件夹的方法mkdir与mkdirs的区别
File创建文件夹方法概述原创 2022-06-11 17:23:40 · 2134 阅读 · 0 评论 -
idea 2020.1版本设置光标自动缩进到到代码输入位置
idea基本设置原创 2022-06-11 16:43:41 · 1034 阅读 · 0 评论 -
idea2020.1设置鼠标滚轮控制字体大小
idea设置原创 2022-06-11 16:07:35 · 155 阅读 · 0 评论 -
解决idea超过5个相同包的时候自动变成*的问题
解决同包类自动用*号代替的问题原创 2022-06-10 09:35:33 · 1352 阅读 · 0 评论 -
添加git的快捷图标到右上角的菜单栏中
git菜单栏快捷图标设置原创 2022-06-05 10:07:50 · 5050 阅读 · 0 评论 -
时间格式转换
1.使用LocalDateTime将字符串时间转化为指定格式的时间,同时计算与当前时间年,月,日时,分,秒,毫秒的差值 public static void main(String[] args) { public static void main(String[] args) { String startTime = "2021-05-13 12:21:12"; DateTimeFormatter targetFormat = DateTimeFormatter.of原创 2022-05-14 14:54:42 · 2027 阅读 · 0 评论 -
使用BufferReader与BufferWriter读写文件
BufferReader与BufferWriter简介BufferReader与BufferWriter自JDK1.1就已经存在了.BufferReader的作用是从字符输入流读取文本字符到字符缓冲区中,以便提供对字符、数组和行的高效读取.BufferWriter的作用是将文本写入字符输出流到字符缓冲区,以便提供对单个字符、数组和字符串的有效写入.在操作文件时,为了获得最高效率,一般考虑在BufferReader,BufferedWriter中包装OutputStreamWriter,以避免频繁调用原创 2022-05-08 18:58:52 · 6177 阅读 · 0 评论 -
线程池体系结构
线程池的组成1.线程池管理器:用于创建并管理线程池2.工作线程:线程池中的线程3.任务接口:每个任务必须实现的接口,用于工作线程调度其运行4.任务队列:用于存放待处理的任务,提供一种缓冲机制Java中的线程池是通过Executor框架实现的,该框架用到了Executor,Executors,ExecutorService,ThreadPoolExecutor,Callable和Future,FutureTask这几个类.关于这几个类之间实现关系的UML图:线程池的体系架构 java.uti原创 2022-05-07 17:56:19 · 541 阅读 · 0 评论 -
idea如何设置ctrl加鼠标改变字体大小
最近想截图源码,发现通过打开设置来回调整字体麻烦,就改了一下设置,通过按ctrl+鼠标的上下滚动来控制文本字体的大小此处随手记录一下,希望对后来的小伙伴有用。首先使用快捷键ctrl+alt+s打开设置的主界面,然后点击一级菜单Keymap,在右侧展现界面的搜索区域搜索Decrease Font Size如下图所示,然后鼠标双击或者右击Decrease Front Size所在行弹出的弹窗中选择第二项Add Mouse Shortcut进行对应按键设置即可。![在这里插入图片描述](https://i原创 2022-01-15 14:55:14 · 852 阅读 · 0 评论 -
Idea常用快捷键
Idea的继承了各种编程语言的开发环境,同时支持各种快捷工具方便开发。使用Idea开发的过程中如若熟练使用各种快捷加操作,那么对于我们开发代码将是如虎添翼的一件事情,此处开始慢慢总结一些我们平时开发常用的快捷键,方便大家学习记忆。搜索类型的快捷键搜索任意格式的文件,连续双击shift(当然ctrl+r也可以实现全局搜索任意格式文件的功能)搜索指定的类,接口,抽象类,枚举类型ctrl+n搜索文件ctrl+shift+n搜索指定的变量和方法ctrl+shift+alt+n打开Actions搜原创 2022-01-11 21:35:30 · 878 阅读 · 0 评论 -
SpringBoot项目开启热部署功能
springboot提供了热部署功能,在我们修改了代码进行保存后,程序会自动帮我们将修改的代码进行编译运行。1.热部署需要导入的pom文件<!--devtools依赖jar包--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>原创 2022-01-09 22:52:35 · 331 阅读 · 0 评论 -
使用JSONObject需要导入fastjson的pom文件
FastJSON是一个Java语言编写的高性能,功能完善,完全支持http://json.org的标准的JSON库。JSONObject继承于JSON,并且实现了Map接口,因此JSONObject拥有JSON和Map中所有的方法,JSONObject提供了各种方法,可以轻松的实现不同数据对象之间的转换。在pom.xml文件加入以下依赖,即可使用JSONObject。<dependency> <groupId>com.alibaba</group原创 2021-11-18 15:08:59 · 5869 阅读 · 0 评论 -
Spring设置对象为多列
Spring容器默认创建的是单列对象Spring创建对象的过程是交由Spring的IOC容器进行对象的创建和管理的,其默认创建对象的方式是采用无参构造创建对象。在Spring容器里默认只实例化出一个bean,后续的请求都公用这个对象,这个对象会保存在一个map里面 。当有请求来的时候会先从缓存map里查看有没有,有的话直接使用这个对象,没有的话才实例化一个新的对象,所以这是个单例的。但是对于原型(prototype)bean来说当每次请求来的时候直接实例化新的bean,没有缓存以及从缓存查的过程。设置S原创 2021-10-24 22:09:01 · 1639 阅读 · 0 评论 -
通过实现AutoCloseable接口实现资源连接的关闭
自动关闭资源连接的好处在Java开发过程中,按照正常的设计开发的结构来讲,大部分程序应该是面向接口的开发,应该在接口里面提供所有的核心业务的功能,但是像及时释放连接资源的操作属于非核心业务功能。每次手工调用close()关闭资源过于繁琐,所以最佳做法是通过某种机制自动实现关闭处理。AutoCloseable接口简介在JDK1.7版本中提供了一个新的接口AutoCloseable,AutoCloseable接口中只有一个close方法。这种自动关闭的处理机制是需要有其特定的运行条件,必须结合异常处理才可原创 2021-10-23 11:51:28 · 446 阅读 · 0 评论 -
java中asList的使用
asList概述Java中的asList方法是数组工具类 Arrays中的一个静态方法,Arrays.asList()方法的作用是将数组或一些元素转为集合,asList方法返回值得到的集合并不是我们通常使用的List集合,asList()方法把数组转换成集合时,不能使用其修改集合相关的方法,如果使用修改集合相关的方法add/remove/clear方法会抛出java.lang.UnsupportedOperationException的异常。1.使用asList方法返回的对象调用add/remove/c原创 2021-10-19 10:17:14 · 17441 阅读 · 3 评论 -
idea设置terminal为Git命令行界面
Terminal的Shell Path默认为dos窗口的cmd.exe,习惯了Linux下的命令的小伙伴可以将Terminal的命令行设置为Git即可,打开Settings->Tools->Terminal界面进行设置即可,见下图选择Git安装目录下的bin/bash.exe即可。...原创 2021-10-10 19:26:56 · 4661 阅读 · 0 评论 -
概述volatile关键字
在弄清楚volatile关键字的作用前,我们要先了解要想并发程序正确地执行,必须要保证原子性、可见性以及有序性。只要有一个没有被保证,就有可能会导致程序运行不正确。volatile关键字的作用1.当一个共享变量被volatile修饰时,它会让线程的缓存行无效,它会等待缓存行对应的主存地址被更新之后,然后去对应的主存读取最新的值。这样就保证了修改的值会立即被更新到主存,当有其他线程需要读取时,它会去内存中读取新值。而普通的共享变量不能保证可见性,因为普通共享变量被修改之后,什么时候被写入主存是不确定的,当原创 2021-10-09 12:48:23 · 229 阅读 · 0 评论 -
Failed to introspect Class [springfox.documentation.schema.XmlModelPlugin] from ClassLoader [jdk.int
原因:缺少jaxb-api的jar包。在pom文件中导入如下依赖即可:<dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.0</version> </dependency>...原创 2021-09-13 16:12:27 · 2385 阅读 · 1 评论 -
解决Failed to determine a suitable driver class等bug
最近在测试相关业务时,发现项目启动报错,解决了,在此分享一下经验。模块启动不起来报错信息如下:Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.Reason: Failed to determine a suitable driver class。。。。。。之前也遇到过类似的报错说是禁用掉springboot的数据源自原创 2021-09-10 14:05:59 · 9271 阅读 · 1 评论 -
Spring-AOP @Aspect切点函数execution,within,this,target,args,bean,@within,@target,@args,@annotation的解析
在讲解切点函数(亦称切入点表达式)时,我们首先得明确切点函数是用来干嘛用的。切点函数:切面(Aspect)的作用是建立通知和切入点之间的关系,而通知(从切入点方法中被抽取代码)要与哪些切入点(缺失共性功能代码的方法)建立关系,就是由切点函数来确定的。简而言之,切点函数就是用来确定某一个通知与哪些切入点建立关系从而实现代理目标对象(增强目标方法(有切入点方法的对象))的功能。切点函数解析:execution的作用(万能配置)格式:execution(切入点表达式)execution([方法的访问控原创 2021-09-09 21:19:30 · 2663 阅读 · 0 评论 -
事务的几种传播特性
1. PROPAGATION_REQUIRED: 如果存在一个事务,则支持当前事务。如果没有事务则开启2. PROPAGATION_SUPPORTS: 如果存在一个事务,支持当前事务。如果没有事务,则非事务的执行3. PROPAGATION_MANDATORY: 如果已经存在一个事务,支持当前事务。如果没有一个活动的事务,则抛出异常。4. PROPAGATION_REQUIRES_NEW: 总是开启一个新的事务。如果一个事务已经存在,则将这个存在的事务挂起。5. PROPAGATION_NOT_SU原创 2021-09-09 20:34:20 · 351 阅读 · 0 评论 -
存入数据库的数据出现中文乱码的解决方案
问题描述:在前端输入数据,数据中包含字母,数字,中文,将输入的中文落库,然后查询数据库发现落库的数据字母,数字均是正常的,但输入中文落库确实乱码。尝试在不动代码进行乱码的解决方案:1.本项目在idea上进行编码的,因此首先想到的解决方案是更改编译器的默认编码格式。打开编译器的File–>Settings–>Editor–>File Encodings,设置如下:按照上图所示的,将红线圈住的地方全部设置成utf-8编码格式的,然后Apply再保存即可。此处拓展一个问题:Tra原创 2021-08-03 16:48:41 · 9727 阅读 · 1 评论 -
IDEA 2020.1 版自动导入MAVEN依赖的方法
IDEA 2020.1 版自动导入MAVEN依赖的方法问题:相信大多数兄弟跟我一样遇到了IDEA 2020.1 无法自动导入/更新POM依赖,并且在setting设置中找不到跟旧版本一样的设置选项。原因:新版的IDEA为了防止 pom 更新时,MAVEN 自动导包时卡死的问题,取消了自动导包机制。 idea 升级到 2020.x 版后,变更 MAVEN 不会自动更新依赖、也没有设置选项。因此新版的IDEA 2020.1 中MAVEN无法自动导入/更新POM依赖。但新增了导入按钮和快捷键。解决方法原创 2021-08-01 21:45:22 · 2150 阅读 · 1 评论 -
接口相关概述
接口相关概述:接口是一种特殊的抽象类,所以类的特征也同样适用于接口。Java是单继承语言,但是有接口就可以多继承,解决了继承多个抽象类的问题。如果把接口视为抽象类,则Java实现了多继承。注:接口不是用来多继承的,它更多的目的是定制一个标准,实现解耦。1.在接口中成员变量其实是常量 ,可以省略public static final , 注意 ; 不写也照样是也可以的注:(1).常量必须进行赋值,而且一旦赋值不能改变。(2),常量名称完全大写,用下划线进行分隔。(3).接口中最常用的就是抽象方法原创 2021-06-06 11:55:31 · 116 阅读 · 0 评论 -
JAVA Future接口概述
Future的结构图:Future的作用:(1),Future是java 1.5引入的一个interface,可以方便的用于多线程异步执行时线程结果的获取,当线程异步执行结束之后,返回的结果将会保存在Future中。(2).多线程的三种实现都无法保证获取到之前的执行结果,通过实现Callback接口,并用Future可以来接收多线程的执行结果。(3).Future可以获取线程异步执行结束之后该异步执行任务的结果,可以通过获取没有完成的异步任务的结果,然后针对这个结果调用对应的回调函数,以便在任务执原创 2021-04-06 01:12:35 · 1111 阅读 · 0 评论 -
nested exception is com.github.pagehelper.PageException: java.lang.ClassNotFoundException: mysql
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘com.github.pagehelper.autoconfigure.PageHelperAutoConfiguration’: Invocation of init method failed; nested exception is com.github.pagehelper.PageException: java.lang.C原创 2021-03-28 17:06:43 · 1825 阅读 · 1 评论 -
The server time zone value ‘�й���ʱ��‘ is unrecognized or represents more than one time zone.
java.sql.SQLException: The server time zone value ‘�й���ʱ��’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value i原创 2021-03-28 01:04:01 · 271 阅读 · 1 评论 -
@ComponentScan注解的用法和作用
@ComponentScan的作用:(1).@ComponentScan(param)告诉Spring 哪个packages 的用注解标识的类 会被spring自动扫描并且装入bean容器,param即用来指定扫描包的范围。(2).此注解一般和@Configuration注解一起使用,指定Spring扫描注解的package。如果没有指定包,那么默认会扫描此配置类所在的package。例如,如果类中用了@Controller,@Repository,@Service,@Component四大注解标识之原创 2021-03-17 10:33:03 · 19693 阅读 · 0 评论