
java web
_令狐大侠_
这个作者很懒,什么都没留下…
展开
-
synchronized 字符串时注意点
在使用synchronized 时,如果加锁对象时字符串,一定要使用字符串的.intern()方法,否则很有可能会造成加锁失效,字符串intern()方法优先优先从常量池取字符串,下面是正确例子:package com.meConcurrent.lock;import lombok.Data;import lombok.extern.slf4j.Slf4j;import java.util.concurrent.CountDownLatch;import java.util.concurre原创 2021-03-18 14:13:36 · 725 阅读 · 1 评论 -
java 生成hs_err_pid文件方法
当JVM发生致命错误导致崩溃时,会生成一个hs_err_pid_xxx.log的文件,现在我想怎么样模拟出来生成这个文件呢,其实很简单 只要将 -Xms 和-Xmx 设置成很大时就出来了如:java -Xms160g -Xmx160g -jar errorTest.jar在centos7上执行这行命令后,就会在程序执行的当前目录生成一个hs_err_pid_xxx.log文件...原创 2021-01-30 15:48:42 · 1354 阅读 · 0 评论 -
JVM参数无效(-XX:+HeapDumpOnOutOfMemoryError设置无效)
执行以下错误设置命令java -XX:+PrintGCDetails -jar .\mgJavaNote-1.0-SNAPSHOT.jar -XX:+HeapDumpOnOutOfMemoryError设置了HeapDumpOnOutOfMemoryError参数,却无法生成堆文件原因:-jar必须是最后一个参数,jvm参数必须要在-jar之前,否则-jar以后的参数都会认为是这个程序的参数正确的设置方法:java -XX:+PrintGCDetails -XX:+HeapDumpO原创 2020-09-20 14:01:18 · 4136 阅读 · 0 评论 -
设计模式-插件模式
在项目中自己提炼出了插件模式的一种设计方案,场景如下:比如当某个模块a依赖n多个线程,模块a有个控制开关,可以一起启动n个线程或者停止n个线程,并且还可以指定线程名进行重启,如何有效的去管理呢,直接上代码1.SmallPlug 插件接口文件/** * 小插件初始化,停止,运行 */public interface SmallPlug { /** * 初始化 */ void initPlus(); /** * 启动插件 */原创 2020-09-19 12:02:17 · 2353 阅读 · 0 评论 -
org.hibernate.exception.GenericJDBCException: Io exception: Connection reset,oracle查询数据错乱不一致
线上测试环境出现了数据错乱,多次刷新页面数据竟然不一样,比方说我在后台把设备名称改为a1(原来是a),页面也该展示为a1,但是刷新页面展示的效果一会儿是a,一会儿是a1,查看日志时不时出现org.hibernate.exception.GenericJDBCException: Io exception: Connection reset,oracle解决:原来内网的同样的数据库虚拟机,出现了...原创 2020-04-13 14:03:16 · 1442 阅读 · 0 评论 -
解决io.lettuce.core.RedisCommandTimeoutException: Command timed out, mysql 访问15分钟阻塞等待
写这篇文章前我也是谷歌百度过,可以无非都是千篇一律配置 timeout 或者lettuce的连接池,可是更改完这些配置,问题依旧,于是开始了自我探索之路,请出Wireshark大杀器,每当动用Wireshark时,我都知道我摊上大事了,文章是两个问题一个redis,一个mysql,但是都是一个原因造成的,所以写在了一起一:redis超时1.出现问题的现象是每隔5,6分钟(这个时间是反复...原创 2019-09-23 17:35:15 · 47081 阅读 · 0 评论 -
拦截feign并对数据进行转发到线上服务方案(全网首创)
业务需求:主要是想实现本地开发的服务能自动路由到测试的服务,不用自己本地起一大堆服务,由于测试的服务器只开放了一个nginx端口,没有对外暴露服务,只能自己去实现转发,原理说明:通过自己反复研究源码最终摸索出了拦截feign的终于方案,通过实现Client 即可,然后自己用httpclient进行请求转发,之前尝试过ribbon自定义路由规则,但是他不能实现自定url前缀,和feign拦截器...原创 2019-09-03 13:54:39 · 893 阅读 · 0 评论 -
解决mybatisplus saveBatch 或者save 无法插入主键问题
解决mybatisplus saveBatch 或者save 无法插入主键问题通过跟踪源码后得出结论,由于插入的表的主键不是自增的,而是手动赋值的,所以在调用saveBatch 执行的sql语句是没有主键字段的(项目启动后mybatis 会对DynamicSqlSource 中的rootSqlNode对象赋值,里面就定了insert 插入的字段,默认是没有主键字段的 ),所以在设置实体类的主键字...原创 2019-08-18 17:45:18 · 30459 阅读 · 3 评论 -
thinkpad+win10+idea +spring cloud+spring 在开发时,经常服务崩溃,内存溢出,idea项目启动特别慢,执行速度慢解决方案
thinkpad+win10+idea +spring cloud在开发时,经常服务崩溃,内存溢出,项目启动特别慢,执行速度慢解决方案一:崩溃,内存溢出解决1.笔记本至少是16g内存,thinpad 8g 不行2.开启虚拟内存设置成16g3.可以调整下每个项目jvm 堆内存参数,和idea的堆内存参数,只开启用到的服务(废话),不过这些都是辅助,1,2条才是关键和核心二:启动慢解决:如...原创 2018-09-30 10:59:36 · 1231 阅读 · 0 评论 -
基于fastdfs的大文件上传,文件分片,断点续传,秒传,进度条,完整代码
基于fastdfs高性能大文件,断点续传,进度条,完整代码 代码地址:上传项目地址原创 2018-06-15 13:10:12 · 26199 阅读 · 14 评论 -
自动生成导航栏和菜单的解决方案
自动生成导航栏和菜单的解决方案 系统是常见的左右结构的系统,左边是bootstrap的菜单,右边是内容页,内容页的顶部是导航,以前的做法是直接和菜单导航栏在页面里写死,但是后期改起来很不方便,后来经过努力终于完成自动生成菜单和导航栏的功能原创 2017-04-17 23:46:26 · 3604 阅读 · 0 评论