![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 55
星月昭铭
青峰有云似战戈
展开
-
VisualVM里面的Threads线程界面各种状态对应的Java代码
写一个示例代码,把几种常见的情况都开一个线程运行。原创 2024-07-08 17:09:14 · 257 阅读 · 0 评论 -
探究Executors创建的线程池(如newFixedThreadPool)其核心线程数等参数的可调整性
因此会导致一个问题,也就是当我们将最大线程数调小,当任务量超过了这个最大线程数的时候,就会发现异常,提示说任务被拒绝,因为每个任务都需要一个线程。是创建一个指定线程数的线程池,所以就好奇创建完成之后,是否可以改变他的线程池配置,比如调大核心线程数。于是就查看了一下源码,此方法中,核心线程数和最大线程数都是形参中传入的大小,keepAlive时间为0,返回的对象是。在下面的代码中,创建了一个线程数量为2的固定线程池对象,然后改变其核心线程池大小,添加9个任务,最后输出,发现核心线程数参数确实被改变了。原创 2024-07-04 11:32:24 · 235 阅读 · 0 评论 -
自定义APT插件导致IDEA调试时StreamTrace(跟踪当前流链)报internal error(内部错误)
IDEA里面debug的时候,针对stream流提供了流追踪调试功能,方便大家调试stream流代码。最近改其他人代码,需要用到这个,发现提示内部错误。原创 2024-06-27 14:14:57 · 276 阅读 · 0 评论 -
java使用trim方法和replaceAll方法去除空格之后,还存在空格
方式之所以去除不了全角空格,是因为String类trim方法里面只去除了半角空格。可以使用hutool工具包里面的StrUtil类,里面的trim方法会去除全角的空格。今天使用其他人的一个功能,发现生成的映射少了一个,后面去代码里面debug发现是字符串中左边空格没有去除导致。查看代码,里面是使用了。两个空格的char值也是不一样的,我们一般输入的都是32的这个。这个代码虽然能去除(半角)空格。,但是不能去除全角空格。字符串.trim()原创 2024-04-23 15:57:37 · 225 阅读 · 1 评论 -
生产使用arthas查看resources目录下面的文件内容
有一次想看resources下面的mapper文件内容(代码执行和预期不一致,所以想排查一下是不是打上去的包有问题,没有通过下载jar的方式解压查看),然后想到了使用arthas来弄,这里记录一下怎么个查看法。原创 2024-04-16 15:33:37 · 578 阅读 · 0 评论 -
mybatis自定义日志实现
网上挺多文章是通过mybatis的拦截器来实现的,但是测试发现,sql条数如果过多的话,相比于mybatis原生的输出方式,通过拦截器方式输出日志会对性能有影响。当然,因为mybatis原生的输出级别是debug,在有些情况下可能不适用(比如有的系统只保存INFO、ERROR级别的日志,但又想要保留SQL日志方便排查问题),所以这里通过自定义日志来达到不通过拦截器且能输出日志的目的。原创 2024-04-16 11:56:53 · 1017 阅读 · 0 评论 -
Java获取调用当前方法的类名或方法名(栈堆信息)的4种方式
在java代码中,是可以在运行时通过某种方式获取到当前方法被谁调用了(调用链路)。目前我所知道的有四种方式(通过Thread、Throwable、SecurityManager获取)原创 2024-04-15 17:50:57 · 2825 阅读 · 2 评论 -
JdbcTemplate query系列方法指定jdbcType类型
这个方法里面会拿到sqlType的类型(就是jdbcType类型,Types里面常量的值)和要设置的值,因为第一个参数使用的是。由于第二个参数没有包装,只是一个字符串,所以会进下面的判断,因为我用的是oracle数据库,所以最后也会调用。这个方法里面会根据类型去判断到底是用PS的什么方法来设置值,比如第一个参数,是设置了。这个方法会判断参数的类型,前面的代码里面,传入的sql占位第一个参数是。方法,因为前面的查询语句是传入了查询参数的,所以会进判断去设置值。,但是如果是其他的数据库,则会调用最下面的。原创 2023-12-15 18:08:26 · 195 阅读 · 0 评论 -
jackson的@JsonIgnore注解和@JsonFormat注解混用导致不生效问题
最后排查发现,这两个注解不能混用,两个注解同时加上的效果等同于不加。同时加上,既不会被忽略,也不会转换成pattern里面指定的格式,去掉一个注解就行了。昨天新建了一个表,就从别的地方复制了一个实体类,然后给一个时间属性加了了@JsonIgnore注解,发现前端还是能拿到这个被忽略的属性。原创 2023-10-08 09:34:39 · 458 阅读 · 0 评论 -
Java Swing编写的一个猜拳小游戏
Java Swing编写的一个猜拳小游戏原创 2022-06-14 11:18:42 · 438 阅读 · 2 评论 -
resources新建文件夹原因导致若依mybatis报Invalid bound statement (not found)错误
在使用若依前后端分离版的时候,整合mybatis plus,然后发现自己新建的模块里面写的接口报Invalid bound statement (not found)错误,开始以为是mp的问题,后面发现移除掉mp依然报错,于是我把我写的代码若依自带的模块里面发现还是报Invalid bound statement (not found)。后面仔细比对了发现,原来是在idea resources文件中新建mapper时出了问题(新建的时候直接写了mapper.manager,idea会认为这个文件名就叫map原创 2021-12-10 09:31:33 · 1287 阅读 · 4 评论 -
最新版nexus3.22.1
某种原因,在官网下死活下不了,然后想法子下载到了本地,放在百度云供大家下载,各个平台的都有,unix就是linux版下载地址:链接: 百度云 提取码: ujid注意:运行之后,登录时,账号是admin,密码在sonatype-work\nexus3\admin.password中,登录成功后此文件会被删除解压到不含中文的路径...原创 2020-04-28 00:51:25 · 527 阅读 · 0 评论 -
Java使用反射获得主键并且赋值
在项目中突然需要改一个功能,就是把原来的int类型的主键改成varchar类型,主键原来是数据库自动生成,现在要改成后台自动编号,项目使用的是springboot、mybatis,使用了通用mapper。最开始的业务流程是,前台添加一条数据时,传递到后台的bean主键为null,然后使用insert添加数据,主键由数据库自动生成。主键改成varchar之后,需要在后台实现自动编号功能,所以流程就...原创 2020-04-09 21:05:39 · 1348 阅读 · 0 评论 -
java通过反射创建对象的两种方式
在java中,通过反射创建对象有两种方式使用Class对象的newInstance()方法来创建对象;具体步骤是1、获取类的Class对象(有三种方式可以获取,可以自行百度一下)2、通过调用所获取到的Class对象的newInstance()来获得对象,该方法会返回一个Object类型的对象,所以还需要强转一下;举个例子:新建一个Hog,里面定义一个方法getName()输出一句话,...原创 2019-03-07 15:44:05 · 12194 阅读 · 1 评论 -
java中获取Class实例的三种方法
获取Class实例有三种方法 通过调用类.class 每个类都默认有一个class属性,通过调用class属性就可以获得一个此类的一个Class类对象, package Lin;import java.lang.reflect.InvocationTargetException;public class Pig { public static void main(St...原创 2019-03-07 17:06:46 · 6903 阅读 · 1 评论 -
怎么编写properties文件
在学框架的时候,我们经常会碰到用properties的方式配置常量,那么properties文件怎么创建书写呢,properties是采用key-value(键-值)的方式来保存数据的注释在properties中注释是采用#号开头的方式来进行注释的,先记住注释吧name=12#hello properties###hello java# me怎么新建一个propertie...原创 2019-03-22 11:45:04 · 5766 阅读 · 0 评论 -
java中获取properties文件的内容
上一篇讲了怎么properties的格式规范,这篇讲解怎么在java中获取properties里面的参数闲话不多说,直接上例子新建一个winvoi.properties文件,里面的内容时:age=152name=linkaigeid=125633相信大家已经能看懂上面的内容了,不懂得请先看我的另外一篇博客 -->怎么编写properties文件新建一个java类Tes...原创 2019-03-22 13:11:10 · 3726 阅读 · 0 评论 -
java中常用的加密方式
首先的导入jar包,commons-codec.jar,可以使用maven,或者去maven官网下载jarhttps://mvnrepository.com/artifact/commons-codec/commons-codec/1.12<dependency> <groupId>commons-codec</groupId> <ar...原创 2019-04-29 20:57:53 · 1125 阅读 · 0 评论 -
关于java中FlowLayout(流布局管理器)中的常量LEADING等问题
FlowLayout(流布局管理器)中关于摆放位置的参数有五个,分别是:LEFT = 0; ——左对齐CENTER = 1; ——居中对齐RIGHT = 2; ——右对齐LEADING = 3; ——从开始的方向对齐TRAILING = 4; ——从结束的方向对齐在FlowLayout中,默认的是CENTER,在实际操作中发现LEFT与LEADING效果相同,RIGHT与TRAI...原创 2019-03-05 16:52:58 · 1906 阅读 · 0 评论