![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 55
Jothan Zhong
这个作者很懒,什么都没留下…
展开
-
String类型转换BigDecimal类型
【代码】String类型转换BigDecimal类型。原创 2024-07-18 10:56:13 · 412 阅读 · 0 评论 -
关于Java中以枚举作为入参的接口应该对参数进行的contains判断
【代码】关于Java中以枚举作为入参的接口应该对参数进行的contains判断。原创 2024-07-18 10:55:28 · 344 阅读 · 0 评论 -
日期格式的正则表达式
日期的格式多种多样,有如:“yyyy-MM-dd HH:mm:ss”、“yyyy/MM/dd HH:mm:ss”、"yyyyMMdd HH:mm:ss"等,当然也有的只记录到天。以上是几种日期格式的正则匹配过程,在此基础上可以组合出更多的日期格式。1.匹配日期格式:yyyy-MM-dd HH:mm:ss。原创 2024-07-18 10:53:58 · 691 阅读 · 0 评论 -
java Matcher中的group
【代码】java Matcher中的group。原创 2024-07-18 10:51:52 · 428 阅读 · 0 评论 -
【Java基础】java继承中的构造方法
利用了特点3的规则,打印出A()、B()2、子类可以在自己的构造方法中使用super(argument_list)调用基类的构造方法。4、如果子类构造方法中既没有显示调用基类构造方法,而基类中又没有无参的构造方法,则编译出错。3、如果子类的构造方法中没有显示地调用基类构造方法,则系统默认调用基类无参数的构造方法。使用this(argument_list)调用本类的另外的构造方法。1、在子类中可以根据需要对从基类中继承来的方法进行重写。1、子类的构造的过程中必须调用其基类的构造方法。原创 2024-07-18 10:42:25 · 298 阅读 · 0 评论 -
Jackson 解析json数据之忽略解析字段注解@JsonIgnoreProperties
以前解析json用的惯的就是Google的gson了,用惯了基本就用它了,一直也没发现什么大问题,因为都是解析简单的json数据。就照之前的用gsonformat自动生成实体类,让gson直接解析,本想着一切ok了,可是确报错了,刚开始以为gsonformat生成的类有错误,因为毕竟json数据较为复杂,于是多生成几次,可是还是不行。于是上网找了找,觉得Jackson不错,赶紧试用,发现还真不错,虽然也没能解析成功,但是它打印出了详细的出错信息,照着出错的信息改了马上就解析成功了。原创 2024-07-18 10:41:12 · 352 阅读 · 0 评论 -
Jackson 序列化对象成 JSON 字符串,忽略部分字段(属性)
2、上面那种方式需要在 bean 上加注解,作用于全局,但是有的时候,我们可能不需要在所有情况下都忽略这个对象的这些字段,下面这种方式可以支持定制过滤方式。1、属性上 加 @JsonIgnore。这种方式作用于全局,只要是有这个对象的。,就会忽略注解过的这部分字段。原创 2024-07-18 10:39:57 · 230 阅读 · 0 评论 -
Java枚举类——valueOf()的用法
当时一连看了好几篇博客,感觉就没有一个好好讲明白了这个方法,心里有些纳闷儿:咋一个方法看了几篇博客都没人讲明白呢?其实后来想想原因在于我自己看别人的东西没有看得很仔细,代码x其实把要素都包含了。可能比较啰嗦,因为掺杂了自己的感受,但**valueOf()**的用法应该还是讲明白了的。其实本来也就没啥,主要是一开始被那一串官方给的说明给搞懵了。说实话第一眼看我没看太明白,前面几个明明就是返回值,形参列表就完了,这个咋这么一串!报错,然后瞎试了试其他的变换,依旧报错,所以就上网查一查。最近学习Java,到了。原创 2024-07-18 10:36:20 · 282 阅读 · 0 评论 -
Java获取当前操作系统文件路径分隔符
获取方法:private String sepa = java.io.File.separator;下载文件并保存在服务器上时,最好使用当前操作系统的分隔符。原创 2024-07-18 10:30:44 · 272 阅读 · 0 评论 -
Java程序设计基础——cmd编译运行java文件详细步骤
命令,按Enter键,启动Java虚拟机运行程序。Java虚拟机首先将编译好的字节码文件加载到内存,这个过程被称为类加载,它是由类加载器完成的,然后虚拟机针对加载到内存中的Java类进行解释执行,便可看到运行结果。当我们切换到盘符下面执行HelloWorld的时候,会立即在计算机的内存里面创建一个JVM,再把HelloWorld.class这个文件调到JVM中。,是因为之前用另一个JDK编译过了,此时变了版本,之前生成的.class还是之前版本的,所以有冲突,需要将之前的.class文件全部删除。原创 2024-07-18 10:29:04 · 373 阅读 · 0 评论 -
java泛型关于方法返回值前面的<T>是什么?
从上面我说的看,那就是 这个方法返回值前也加个的话,这个T就代表该方法自己独有的某个类,而不去和类中限定的T产生冲突。show_2 和 show_3 方法其实是完完全全等效的。意思就是说ClassName中一旦。的话,那么你就是告诉编译器对它说:这是我新指定的一个类型,跟。后,那么 show_1 没有前缀。中的E是一个效果,也就是你可以把。的话,该方法中只能是。原创 2024-07-18 10:21:09 · 249 阅读 · 0 评论 -
There is no PasswordEncoder mapped for the id null 报错解决办法
默认情况下与4.2版本不同的是,springsecurity5.0密码加密方式采用了bcrypt的方式,而且密码直接配置在xml文件中,不光是需要使用BCryptPasswordEncoder来加密,还需要指定一个encodingId,如果不指定,就会报出如题所示的错误。不管是哪种方式,我们如果使用默认的加密方式,就需要在xml中配置密码为如下的样子。1、密码不加密,和springsecurity4.2一样,使用明文密码,那就需要配置密码验证方式为noop,配置如下。知道了用什么方式,我们就可以来改进了。原创 2024-07-15 17:19:02 · 706 阅读 · 0 评论 -
薯条 SpringBoot 在IDEA中实现热部署 (JRebel实用版)
顺便整理下步骤防止以后忘记:在Java开发的过程选择一个适合自己的IDE是很重要的,每次修改代码都需要重新的编译、重启,如何解决这个问题?。看了一下网上的教程,其中Intellij IDEA是Java开发中公认的最好的IDE,拥有很好的代码提示功能,jetty相比于tomcat来说更加轻量级,对于静态资源具有很好的热加载的性能,JRebel能够监控class文件。因此我参考网上教程将这三个工具结合起来,完成静态资源修改、java代码修改后的热加载。原创 2024-07-15 16:31:00 · 214 阅读 · 0 评论 -
源码解析list.contains()方法,比较集合中的是存在某对象
直接上代码:如图;这个集合中有世纪证券这个对象,那么我们拿这个test对象去比较,看是否在集合中存在,期望返回true,但是返回了false,为什么会这样,我们跟踪list.contains的源码去看看,因为这里是list的引用指向了arrayList对象,所以我们看arrayList的contains源码,它直接调用内部的indexof()方法去比较,可以看到内部是拿参数对象的equals()方法去比较,那么我们接着去看equals()方法。这个源生object对象的equals()方法, 可以看到比较的原创 2024-07-15 16:24:39 · 125 阅读 · 0 评论 -
Elasticsearch8.x版本中RestHighLevelClient被弃用,新版本中全新的Java客户端Elasticsearch Java API Client中常用API练习
在Es7.15版本之后,es官方将它的高级客户端RestHighLevelClient标记为弃用状态。同时推出了全新的java API客户端Elasticsearch Java API Client,该客户端也将在Elasticsearch8.0及以后版本中成为官方推荐使用的客户端。Elasticsearch Java API Client支持除Vector title search API和Find structure API之外的所有Elasticsearch API。原创 2024-07-15 16:19:07 · 346 阅读 · 0 评论 -
Maven 父pom中dependencyManagement版本优先级高于传递依赖版本
此时该工程中logging的版本将是1.2,即父pom dependencyManagement中的版本。该工程beanutils将会传递依赖logging 1.1.1。原创 2024-07-11 14:45:39 · 292 阅读 · 0 评论 -
程序优化 --- arthas trace命令使用
最近在做优化,通过arthas的trace命令去观察方法内的耗时情况以便对程序进行修改.1.启动arthas之后选择需要监测的程序2.找到需要监测的接口,一般都是直接找service例子如下:trace 类地址.类名 方法名 (中间有空格)原创 2024-06-15 14:51:11 · 308 阅读 · 0 评论 -
String.format格式化浮点数保留指定小数位输出字符串
利用String.format可以。原创 2024-06-12 19:33:26 · 213 阅读 · 0 评论 -
String.format()对日期进行格式化
String.format()作为文本处理工具,为我们提供强大而丰富的字符串格式化功能,这里根据查阅的资料做个学习笔记,整理成如下文章,供后续复习查阅。原创 2024-06-12 19:32:54 · 697 阅读 · 0 评论 -
org.aspectj.lang.ProceedingJoinPoint获取返回类型、参数名称/值等
【代码】org.aspectj.lang.ProceedingJoinPoint获取返回类型、参数名称/值等。原创 2024-06-10 14:42:18 · 382 阅读 · 0 评论 -
java中string转timestamp(日期类型转换)
我们定义了一个格式化模式,并使用parse方法将日期字符串解析为LocalDateTime对象,然后使用Timestamp类的valueOf方法将LocalDateTime对象转换为Timestamp对象。字符串,并将其转换为java.util.Date对象,然后使用Date对象的getTime方法获取毫秒数,最后使用Timestamp类的构造方法将毫秒数转换为Timestamp对象。在第三种方法中,我们直接使用Timestamp类的valueOf方法将日期字符串转换为Timestamp对象。原创 2024-06-04 16:20:02 · 561 阅读 · 0 评论 -
spring自定义注解及使用
在spring项目中使用注解,简化了代码量,减轻对业务代码的侵入性;对框架统一处理鉴权、日志等起到极大的作用,可以结合着拦截器、aop在请求调用前后添加额外处理。spring有内置的@Controller、@Service等注解,出于业务考虑,我们可以自定义想要的注解。自定义注解类似于定义接口,但是需要指明注解的作用范围、生命周期等属性。原创 2024-04-29 16:49:23 · 1148 阅读 · 0 评论 -
夯实Spring系列|第二十一章:Spring 泛型处理(Generic Resolution)
核心 API - GenericCollectionTypeResolver - 该类Spring5.0 之后就被移除了,我们这里就不展开了,替换实现 ResolvableType,下面会进行讨论。泛型被引入到 Java 语言中,以便在编译是提供更严格的类型检查并支持泛型编程。本章主要是介绍 Spring 中泛型的一些设计细节,以及一些关键 API 的使用。Java 5 类型接口 - java.lang.reflect.Type。局限一:ResolvableType 无法处理泛型擦写。原创 2024-04-29 16:38:50 · 909 阅读 · 0 评论 -
spring中的工具类——GenericTypeResolver使用
解析工具类,用于解析当前类所使用的泛型Class,用于适配某些特定场景需求以及设计模式中。GenericTypeResolver是spring提供的。原创 2024-04-29 14:58:38 · 291 阅读 · 0 评论 -
Java Future 获取异常
在介绍如何获取异常之前,我们先来了解一下 Future 的基本概念。Future 是 Java 提供的一个接口,它代表一个未完成的异步任务。通过 Future,我们可以提交一个任务给线程池执行,并在需要时获取任务的结果。Future 接口定义了几个重要的方法:get():获取任务的结果,如果任务还未完成,则阻塞等待。isDone():判断任务是否已经完成。cancel():尝试取消任务的执行。原创 2024-04-23 09:00:03 · 556 阅读 · 0 评论 -
Java生成带数字的图片
在Java中,你可以使用java.awt和等图形库来生成带有数字的图片。下面是一个简单的示例代码,展示了如何创建并保存一张带有数字的图片。原创 2024-04-16 10:10:40 · 262 阅读 · 0 评论 -
如何使用try-with-resources关闭非自己创建的InputStream
这样,无论try代码块中是否发生异常,当代码块执行完毕后,autoCloseableInputStream(即原始的inputStream)都会被自动关闭。使用try-with-resources的好处是简化了资源管理,减少了因忘记关闭资源而导致的潜在问题。总结来说,不论InputStream的来源如何,只要它是可自动关闭的资源,你都可以利用try-with-resources来确保它在不再需要时被正确关闭。代码块执行完毕后,这些资源会被自动关闭,即使发生异常也是如此。语句来确保它在不再需要时被自动关闭。原创 2024-04-11 16:45:57 · 217 阅读 · 0 评论 -
获取ZIP条目的基本文件名
类来帮助你提取文件名。如果你想要获取ZIP文件中某个条目的基本文件名(例如,只获取。原创 2024-04-11 11:30:26 · 158 阅读 · 0 评论 -
java 读取zip文件的两种方式
以上是两种使用Java读取zip文件的不同实现方法。第一种方法使用ZipInputStream类以流的方式逐个读取zip文件中的项,可以在处理每个zip项时选择性地读取和处理其中的内容,适用于较大的zip文件。第二种方法使用ZipFile类直接获取zip文件中的项和对应的输入流,适用于较小的zip文件。根据具体需求和项目情况,可以选择适合的方法来读取zip文件。方法1:使用java.util.zip.ZipInputStream类。方法2:使用java.util.zip.ZipFile类。原创 2024-04-10 14:21:32 · 1436 阅读 · 0 评论 -
java 读取zip文件工具类
【代码】java 读取zip文件工具类。原创 2024-04-10 14:19:25 · 103 阅读 · 0 评论 -
pointcut 中 this 和 target的区别
这里的“代理对象”是指Spring AOP在运行时为被代理对象(即目标对象)创建的代理实例。这里的“目标对象”是指被Spring AOP代理的实际业务对象。由于代理对象可能会实现一些额外的接口(例如,用于支持AOP的接口),所以使用。是两种用于定义切点(Pointcut)的指示符,它们的主要区别在于它们所匹配的对象类型不同。直接关注目标对象,所以它不会匹配到代理对象可能实现的额外接口中的方法。,则可能会因为代理对象实现了额外的接口而导致不期望的匹配。关注的是目标对象的类型,而不是代理对象的类型。原创 2024-04-09 11:09:08 · 452 阅读 · 0 评论 -
Springboot 启动报错 The bean ‘xxxx‘, defined in class path resource XXX
【代码】Springboot 启动报错 The bean ‘xxxx‘, defined in class path resource XXX。原创 2024-01-04 09:00:42 · 975 阅读 · 0 评论 -
解决java前台传递时间到后台相差8个小时的时区问题
用于接收 前端传的时间值自动转换 可以是Date 可以是string 注意 格式要一样 如yyyy-MM-dd HH:mm:ss。date-format指定date输出格式为yyyy-MM-dd HH:mm:ss。time-zone指定时区,解决8小时的时间差问题。用于输出的时候解析,并且设置解析时区。个人建议都加上 没毛病。原创 2024-01-04 08:59:29 · 1091 阅读 · 0 评论 -
关于class.getClassLoader().getResourceAsStream()和class.getResourceAsStream()的用法
另外,如果你在整个工程目录下建立一个resource文件,编译之后,它会存到和yx同级的这个目录下,也就是classpath这里,如果建立的是一个test resource 那就会在这一层的上面一层中,这个等以后写了完整的程序出来,在做进一步的整理。getClassLoader是直接从classpath开始查找文件的,因此使用这个就需要定位在classpath这个位置,也就是下面目录中yx这一层。①.不加‘ / ’,直接在包的路径下开始寻找,相当于在已经写好的path前面加了一句 /包名/path。原创 2024-01-04 08:56:54 · 803 阅读 · 0 评论 -
@Modifying注解和@Transactional注解?
这句话的意思是,默认情况下,repository 接口中的CRUD方法都是被@Transactional注解修饰了的,对于读的操作方法,@Transactional注解的readOnly属性是被设置为true的,即只读;自动清除,即执行完语句后自动清除掉已经过期的实体,比如,我们删除了一个实体,但是在还没有执行flush操作时,这个实体还存在于实体管理器EntityManager中,但这个实体已经过期没有任何用处,直到flush操作时才会被删除掉。使用@Modifying来标注是一个更新类的自定义语句。原创 2024-01-04 08:53:49 · 864 阅读 · 0 评论 -
SpringData Jpa 之 修改、删除数据
3、删除数据,使用命名规则。原创 2024-01-04 08:52:27 · 966 阅读 · 0 评论 -
java duplicate key_Stream 操作 Duplicate key问题
开发思考:由原先的单次掉用修改为批量调用,店铺方面给的批量查询接口最大支持查询量为20条,对于多条件查询如果修改pageSize 需要多次调用,这边需要获取分销买家单进行数量计算,所以首先需要获取分销买家单数量。list的对象类型为定义的一个bo(拥有店铺id和店铺别名两个属性)最简单的方法是使用两个for循环,将bo中的店铺id和list中每个对象的店铺id 进行匹配,放入特定ordertail中。其实java8已经给我们提供了解决的方式: 方法的第三个参数体现的。多个分销单可能存在同一个供货商情况。原创 2024-01-04 08:51:38 · 613 阅读 · 0 评论 -
Java8 Duplicate key 异常解决
有这样两个方法,出错的地方我们是用的第一个方法,对于可能存在重复key的转换中,我们要使用第二个方法。产生这个问题的原因时我们参与转换的list中,作为key的属性有重复,没有办法确定使用哪个元素来作为。这个异常就是说,转换map的过程中,有两个key是banana的元素,不知道怎么取舍,因此产生异常。我这里使用的是两个key 相同时,保留先存进去的那个元素。相比第一个方法,主要就是我们要去。解决办法就是我们去提供这样一个策略。原创 2024-01-04 08:50:50 · 835 阅读 · 0 评论 -
使用 SpringSecurity 发送POST请求出现 403
这个时候就有新的问题出现, "/activiti/definition/readResource"已经是允许匿名访问了,但是在登录状态下访问还是会出现403,不登陆就可以正常获取,这个情况比较奇葩,大概理解的就是这个方法是匿名访问的,你登陆就不是匿名了,所以你没有权限访问。进行了设置, 在用户请求资源时出现了403错误 , 通过检查代码发现请求权限是开放的, 并且切换成 GET 请求也是可以通过, 换成POST 请求就无法通过。在使用 SpringSecurity 时对一些。原创 2024-01-04 08:49:25 · 1168 阅读 · 1 评论 -
IDEA中自动导包及快捷键
java区域有两个关键选项。Alt+Enter手动导入。原创 2024-01-04 08:48:34 · 1644 阅读 · 1 评论