
java
石榴丨花开
勤恳诙谐的Java后端程序猿
展开
-
springBoot集成阿里云企业邮箱
springboot项目,集成阿里云企业邮箱,进行邮件发送,附带文件。原创 2022-12-01 15:24:17 · 3117 阅读 · 0 评论 -
Java虚拟机崩溃,出现Problematic frame: # C 0x0000000000000000
排查根据这行日志:是业务代码里面有线程导致内存溢出了。发现是Executors使用不当引起的内存泄漏。以前其实没太在意这种问题,都是使用Executors去创建线程,但是这样确实会存在一些问题,就像这些的内存泄漏,所以一般不要使用Executors去创建线程,使用ThreadPoolExecutor进行创建,其实Executors底层也是使用ThreadPoolExecutor进行创建的。按照下面的代码正确的使用线程:原创 2022-09-26 10:41:19 · 4988 阅读 · 0 评论 -
Integer.parseInt()最大数限制导致java.lang.NumberFormatException
项目导出Excel表格的时候,发现日志报错了然后分析一下这行代码关键是这个代码:Integer.parseintInteger.parseInt是有最大数限制的,最大值是1999999999,超过这个数值就不能再转换了。所以报错,抛出异常。...原创 2022-08-26 15:33:49 · 1904 阅读 · 0 评论 -
Java 中 Boolean 和 boolean的默认值和修改默认值
boolean是Java的基本数据类型,默认值是false;Boolean是Java的一个类,默认值是null。原创 2022-07-25 10:22:21 · 13797 阅读 · 0 评论 -
idea开启生成serialVersionUID和快捷键
setting→inspections→serializationissues→serializableclasswithout‘serialVersionUID’选中确认如果你的idea版本较高,在这个地方可能找不到serializableclasswithout‘serialVersionUID’,是因为换了地方,直接在Inspections中搜索serialVersionUID。...原创 2022-07-15 13:53:45 · 630 阅读 · 0 评论 -
Spring 断言Assert的基本使用和方法
用assert 关键字来限制参数传递(检验方法参数的有效性)格式参数:(assert booleanExpression,assert booleanExpression:messageExpression)1.booleanExpression当值为true时,程序从断言语句处继续执行;2.booleanExpression当值为false时,程序从断言语句处停止执行,并输出messageException表达式的值;...原创 2022-07-13 14:00:31 · 1106 阅读 · 0 评论 -
Spring Boot整合Quarz实现定时任务开机自动触发
使用Quartz实现了可配置定时任务,将定时任务Quartz写入数据库中。现在想随着项目启动能够自动触发定时任务,下面是实现方法:Spring Boot使用ApplicationRunner实现项目启动之后直接执行业务操作这篇博客详细描述了项目启动后自动执行业务操作的实现。我们只需要在run方法里面添加定时任务调用的方法接口。定时任务启动从数据库获取定时任务信息定时任务查询和触发...原创 2022-07-11 17:45:27 · 1588 阅读 · 0 评论 -
IDEA插件Alibaba Cloud Toolkit 配置Windows服务器进行远程部署jar包
Windows服务器或者Linux服务器更新项目jar包的方法有很多种,笨一点的就是通过远程桌面或者ssh远程工具进行连接后,上传jar包文件,然后启动项目。这样做的,就需要涉及到多个步骤:1.idea 进行maven打包2.使用远程工具进行连接,上传jar包3.使用脚本或者命令进行启动项目但是,阿里最近出品的一款IDEA插件:Alibaba Cloud Toolkit ,通过它我们可以实现自动化部署,自带了终端工具和文件上传功能。一个插件就解决了上面的2,3步骤。实现了在idea上面进行打包,部署原创 2022-07-08 14:26:10 · 1211 阅读 · 0 评论 -
Spring Boot使用ApplicationRunner实现项目启动之后直接执行业务操作
如果我们希望在项目启动成功后自动执行某些操作或者业务的话,可以有很多方法,比如:在Application主程序里面写,或者是。这两个接口分别为CommandLineRunner和ApplicationRunner。原创 2022-07-06 17:08:03 · 1435 阅读 · 0 评论 -
Java 自动创建数据库和执行SQL文件
公司项目需要打包成exe可执行文件进行客户环境部署,其中mysql数据库也是一键安装的,其中涉及到数据库的创建和初始化问题原创 2022-07-06 16:58:10 · 3592 阅读 · 0 评论 -
Spring Boot集成WebSocket实现消息推送
springboot集成websocket实现消息推送,主动推送自定义消息内容。原创 2022-07-05 10:26:02 · 2585 阅读 · 0 评论 -
Spring Boot对图书MARC数据处理系列之一:91marc编码中心获取MARC原始数据
从就要马克编码中心的公开API获取图书的原始marc数据原创 2022-07-04 14:39:43 · 2730 阅读 · 0 评论 -
Java boolean类型的变量命名由is开头,后端无法正常接收参数传值
boolean类型的变量命名由is开头时,IDEA自动生成get、set方法的问题。原创 2022-06-29 13:22:46 · 6557 阅读 · 0 评论 -
【Executors】线程池简单应用_CachedThreadPool
缓存型线程池(CachedThreadPool) Executors.newCacheThreadPool():可缓存线程池,先查看线程池中有没有之前创建的线程,如果有则直接使用。否则就新创建一个新的线程加入线程池中,我们经常用此类线程池来执行一些业务处理时间很短的任务。demopublic class CallableTry02 { class Task implements Runnable { private String name; pub原创 2022-05-28 11:49:15 · 1687 阅读 · 0 评论 -
基于springboot 从后端角度解决前端跨域问题
原因浏览器的同源策略是浏览器上为安全性考虑实施的非常重要的安全策略。同源策略:1.协议相同2.域名相同3.端口相同同源策略目的后端解决基于方法使用@CrossOrigin注解 @GetMapping("/hello") @CrossOrigin public String getName(){ return "zhangsan"; }基于过滤器@Configuration public class CrosConf{ @Bean原创 2022-05-28 09:18:52 · 166 阅读 · 0 评论 -
字节、字符串,以及16进制字符串的字节长度
前提公司有个项目使用到第三方厂商的硬件sdk,其中硬件的设置中有个配置项的单位是字节长度,一开始以为是字符串长度,后来发现不对,仔细排查才发现是字节长度。知识点字节(Byte)是一种计量单位,表示数据量多少,它是计算机信息技术用于计量存储容量的一种计量单位。字符是指计算机中使用的文字和符号,比如1、2、3、A、B、C、~!·#¥%……—*()——+、等等。不同编码里,字符和字节的对应关系不同:ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数原创 2022-04-25 08:58:15 · 5790 阅读 · 0 评论 -
java项目调用dll类库报错“出现%1 不是有效的 Win32 应用程序”
前提前不久,公司有个java项目需要调用第三方硬件的dll类库,在文件路径正确的情况下,启动项目,初始化的时候出现%1 不是有效的 Win32 应用程序报错。解决检查本地jdk版本位数和dll文件的版本位数是否一致;检查本机的Windows版本位数和dll文件是否一致;检查本机Windows环境的基础dll环境是否健全。最后,需要核实第三方硬件sdk是否支持本机的Windows环境。...原创 2022-04-25 08:48:26 · 5066 阅读 · 2 评论 -
Linux下Java项目CPU过高MEM过高排查详情
前景公司项目最近频繁预警,提示mem占用过高,有时间段cpu也过高,到800%左右,需要排查一下问题情况通过top命令,发现PID为31063的Java进程CPU764%左右,并且占用比较高的内存不释放(30.2%),出现高内存占用的故障。排查Java提供了一个很好的内存监控工具:jmap命令jmap命令有下面几种常用的用法:1.jmap [pid]2.jmap -histo:live [pid] >a.log3.jmap -dump:live,format=b,file=xxx.原创 2021-12-16 10:39:41 · 2222 阅读 · 0 评论 -
事务@Transactional 回滚情况分析与try catch结合使用
前提Spring 事务注解 @Transactional 本来可以保证原子性,如果事务内有报错的话,整个事务可以保证回滚,但是加上try catch或者事务嵌套,可能会导致事务回滚失败。测试一@Transactional public void test() throws Exception { ProductCategoryJd model = new ProductCategoryJd(); model.setCatId((long) 100);原创 2021-12-01 09:23:30 · 1628 阅读 · 0 评论 -
JPA @Query查询单个字段和多个字段返回类型
JPA @Query查询单个字段和多个字段返回类型前提在使用springboot中,需要使用JPQL和SQL去查询记录。@Query(value = " SELECT id, create_date, channel_id, channel_name, des, discount_amount, order_no, pay_amount, pay_channel, pay_status status, pay_time, reduced_amount, rs_amount, settle_amount原创 2021-11-05 16:31:13 · 6226 阅读 · 0 评论 -
spring dataJPA 返回结果集数据类型异常问题
问题:在使用Spring Data JPA时,采用原生SQL语句来进行数据库查询数据,返回某个字段,代码如下:@Query(value = "SELECT distinct sys_user_id FROM sys_user_merch WHERE merch_id = :merchId", nativeQuery = true)List<String> seLectByMerchId(@Param("merchId") String merchId);返回结果集List,执行List原创 2021-10-07 17:57:49 · 997 阅读 · 0 评论 -
Java Integer对象使用==对比引起的差异
Integer初始化1.初始化Integer的时候,可以直接用一个int值赋值Integer n1 = 11;Integer n1 = Integer.valueOf(11);2.当然也可以使用new来创建Integer对象Integer n2 = new Integer(11);Integer对象之间的比较==运算符 Integer n1 = new Integer(11); Integer n2 = new Integer(11); In原创 2021-08-31 14:43:41 · 227 阅读 · 0 评论