自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 Linux下查找cpu占用最大的线程

1、我们使用top命令查找java命令下cpu占用最高的进程:例如pid为9595的进程是占用cpu使用率最大的。2、使用 top -H -p 9595 查看当前pid为9595进程下各线程占用cpu情况我们现在看到,pid为10034的线程占用我们cpu是最高的3、将线程的pid由10进制转成16进制3、我们把进程的全部堆栈信息导入到临时文件中4、通过16进制的线程id去临时文件中查看数据输入 /线程id 找到我们刚才发现的最耗cpu的线程堆栈,查看原因

2020-12-22 17:59:57 2143 1

原创 后端解决跨域问题的方案

1.使用过滤器的方式,拦截所有请求,往响应头设置参数@Component@WebFilter(filterName = "corsFilter", urlPatterns = "/**")public class CorsFilter implements Filter { @Override public void init(FilterConfig filterConfig) {} @Override public void doFilter(Servlet

2020-10-16 23:08:31 326

原创 解决 Creation of SecureRandom instance for session ID generation 耗时太久问题

SpringBoot +SpringSecurity项目重新启动的时候,内置tomcat重新加载配置,用户第一次登陆的时候,接口特别慢,甚至超时。日志显示一条WARN级别日志值得注意:org.apache.catalina.util.SessionIdGeneratorBase - Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [19,665] milliseconds.问题说明

2020-09-09 20:31:08 3350

原创 IO操作中flush()方法作用

在对IO进行写操作时,我们一般都先会用到flush()方法,然后再代用close()方法关闭流。PrintWriter out = response.getWriter(); out.write(objectMapper.writeValueAsString(ResultUtil.successOf(ResultEnum.LOGIN_ELSEWHERE))); out.flush(); out.close();在我们使用缓冲区进行写操作时,程序会先把

2020-08-18 14:16:57 3829

原创 Spring切面编程获取HttpServletRequest和HttpServletResponse

在切面编程的时候,HttpServletRequest和HttpServletResponse是不属于传入的参数范围的。这个时候怎么获取request和response参数呢?HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();//获取requestHttpServletResponse response = ((Ser

2020-07-23 17:10:51 2921

转载 JAVA中锁有哪些?

在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下: 公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏向锁/轻量级锁/重量级锁 自旋锁 上面是很多锁的名词,这些分类并不是全是指锁的状态,有的指锁的特性,有的指锁的设计,下面总结的内容是对每个锁的名词进行一定的解释。 公平锁/非公平锁公平锁是指多个线程按照申请锁的顺序来获取锁...

2020-07-21 11:25:18 99

原创 接口验参(优雅地写代码)

使用@Validated注解标识验参:@Validated@RestController@RequestMapping("/api")public class DataController { @PostMapping("/insert") public String insert(@RequestBody @Validated User user){ return "通过验证"; } @GetMapping("/get") publi

2020-07-10 11:45:09 243

原创 Java多线程(一)线程的创建

Java创建线程的方式有两种①继承Thread类重写run()方法/** * Created by hewenhao on 2020/5/12 * Description 线程创建方式-:继承Thread类,重写run()方法 */public class ExtendsThread extends Thread{ @Override public void run() { System.out.println("线程id:" + Thread.curr

2020-05-12 11:58:44 143

原创 Java多线程(守护线程)

线程分为用户线程和守护线程。守护线程相当于用户线程的保姆,只要存在一个用户线程,守护线程就得随时待命。(PS:典型的守护线程就是JVM中的垃圾回收线程(GC)。)如果用户线程都退出了,守护线程就会自动退出,不管他是否在执行任务。守护线程不能进行IO和读取数据库操作。如何创建守护线程?Thread thread = new Thread();thread.setDa...

2020-04-30 17:12:23 134

原创 使用 logstash将mysql数据同步到ElasticSearch

1、linux环境安装logstash①官网下载压缩包,解压安装(安装不难,大同小异,可参考我以前linux安装的博客)2.在config目录下新建mysql.conf文件input { jdbc { #jdbc驱动包位置 jdbc_driver_library => "mysql-connector-java-5.1.38.jar"...

2020-04-07 16:47:55 178

原创 ElasticSearch可视化工具 Kibana在linux环境安装

1、在linux系统安装Kibana①官网下载压缩包,解压安装(安装不难,大同小异,可参考我以前linux安装的博客)②修改config文件夹下的kibana.yml文件server.port: 5601 (端口号)server.host: "*.*.*.*" (自己服务器的ip地址,如果有内网ip写内网ip)elasticsearch.url: "http://*.*.*.*...

2020-04-07 16:39:21 381 2

原创 ElasticSearch在Linux环境上搭建

1、在linux系统安装es①官网下载压缩包,解压安装(安装不难,大同小异,可参考我以前linux安装的博客)②修改config文件夹下的elasticsearch.yml文件#配置es的集群名称,默认是elasticsearch,es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。cluster.name: my-es (自定义的名字,连...

2020-04-07 16:28:33 151

原创 Linux系统下项目出现Could not initialize class javax.imageio.ImageIO错误

修改tomcat bin目录下的 catalina.sh 文件在文件大概35%内容附近 加上JAVA_OPTS="-Djava.awt.headless=true"

2020-02-14 19:17:03 3108

原创 SpringBoot使用EasyPoi实现Excel文档导出

1、添加依赖<!--EasyPoi导入导出--> <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-base</artifactId> <versi...

2019-12-26 17:36:44 642

原创 SpringBoot 整合异步任务

第一步:在启动类添加开启异步任务注解第二步:新建一个异步任务类,使用@Component注解将类交给Spring管理,@Async表示该方法启用异步方式3、test包新建测试类执行结果如下:从结果看来异步任务开启成功。你们也可以将@Async注解从方法上删除后测试看下效果,是没有了异步效果的,我这里就不展示了。...

2019-12-26 14:27:11 139

原创 SpringBoot 整合定时任务

第一步:在SpringBoot启动类上加上开启定时任务注解第二步:新建任务类,添加@Component注解将类交给Spring管理,具体方法使用@Scheduled+corn表达式指明具体执行计划执行结果:...

2019-12-26 13:58:09 90

原创 SpringBoot 参数验证 + 全局异常

我说的这一种是在传入对象参数验证:注意:@Valid 和 BindingResult 是一一对应的,如果有多个@Valid,那么每个@Valid后面跟着的BindingResult就是这个@Valid的验证结果,顺序不能乱如果绑定结果有错误,则抛出一个业务异常。(这边我们自己定义一个业务异常类)这边异常的code可以是自己定义的一些枚举类型再定义一个全局异常类,对全局异常进...

2019-12-26 11:12:39 587 3

原创 SpringBoot AOP切面

AOP切面编程,可用于日志管理,今天在网上学了一套,自己写篇博客记录一下。第一步添加Maven依赖:(aop用于切面编程,lombok简化开发,lombok有兴趣自己去了解一下)这是我目录的具体结构:在aspect文件夹新建HttpAspect文件:@Slf4j注解是lombok包下的,为该类提供日志,效果跟 private static final Log...

2019-12-25 18:46:37 131

原创 String.spilt的一个意外发现

今天在工作的时候,发现代码存在一些问题,于是有了下面的发现。StringBuilder 中存了一个空字符串,空字符串经过逗号分割后,输出的数组长度原以为会是0,后来发现输出1,查看源码发现split方法在没有匹配到符合的数据时会自动添加一个空字符串到数组中,所以显示长度为1...

2019-08-29 00:24:58 139

原创 linux安装mongodb

1、下载mongodb安装包,我下的是mongodb-linux-x86_64-3.2.22.tgz2、解压 tar -zxvf mongodb-linux-x86_64-3.2.22.tgz -C /usr/local 到 /usr/local目录3、mv mongodb-linux-x86_64-3.2.22 mongodb 更改目录名称为mongodb4、vi /etc/prof...

2019-08-12 13:57:00 134

原创 linux安装zookeeper

1、官网下载zookeeper压缩包2、上传压缩包到linux,在/usr/local mkdir zookeeper目录3、解压到zookeeper目录 tar -zxvf 压缩包名称 -C /usr/local/zookeeper4、cd 到zookeeper的conf目录 cp zoo_sample.cfg zoo.cfg5、cd 到zookeep...

2019-07-15 10:29:16 68

原创 linux安装dubbo

安装dubbo前提是linux下有tomcat,tomcat安装教程在我的另一篇博客。1、下载dubbo-admin war包2、cd 到tomcat目录3、rm -rf webapps/ROOT 清除掉ROOT文件夹及其下面的文件4、unzip war包名称 -d webapps/ROOT (注意ROOT全大写)5、如需改动dubbo配置cd /webapps/ROOT/...

2019-07-15 10:22:00 322

原创 linux下安装tomcat

1、tomcat官网下载压缩包2、上传压缩包到linux打开sftp,然后直接拉压缩包进去即可(压缩包默认拉到/home/bbb(bbb是当前用户名),即~目录)3、进入到/usr/local目录 mkdir一个tomcat文件夹(可能会提示没有权限,需要su命令+输入密码更改当前权限)4、解压 到tomcat目录tar -zxvf 压缩包名称 -...

2019-07-15 10:14:49 70

原创 SpringBoot项目启动后没进入Controller

由于目录结构问题:解决方案:启动类必须放在最外层

2019-06-11 17:24:24 2562 1

原创 SpringBoot热部署

在pom.xml文件添加依赖:在application.properties添加配置内容:还有一点要注意,eclipse必须开启项目自动编译功能,否则不成功。以上操作可行仅针对Eclipse,Idea好像还要装一个插件。...

2019-06-11 14:12:58 74

原创 新建Maven项目写SpringBoot,Controller返回指定页面找不到解决方案

今天在学习SpringBoot框架的时候,新建一个maven项目去写SpringBoot,在写controller的时候,运行发现页面显示错误在controller里面输出语句,在控制台是可以看到的,证明有进入controller。将@Controller改为@RestController,运行可以看到能返回指定字符串到页面但是为啥@Controller不行呢,后来发现,用新建ma...

2019-06-11 11:27:29 2131

原创 Java for循环迭代list移除元素不成功

今天在编码的时候,发现一个问题,使用for循环迭代list,然后在迭代的过程中判断某些条件,符合情况就remove掉,但是发现一些符合条件的对象并没有被删除,后来得知,for循环迭代list进行修改的话,下标会不稳定,导致元素并不能如愿进行操作。需要使用迭代器Iterator迭代list并进行操作。如图操作,如愿以偿。...

2019-06-05 14:06:46 341

原创 前端页面使用Jquery序列化表单,controller用对象接收参数,中文字段乱码

昨天在进行需求开发的时候,发现传进来的参数一直没有查询到响应的数据,打印出入参时,发现原来对象接收的中文字符串类似乱码而导致的。后来百度上找答案,找到的都是类似这种答案试过几种方式,还是没能如我所愿。后来在百度途中受到答案启发,用另外一种方法,用request.getParameter("参数名")接收参数,然后把他set到对象里面。使用request.getParameter...

2019-06-05 11:43:52 299

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除