自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 jstat命令

官方文档:

2022-08-25 00:02:06 285 1

转载 jcmd命令详解

jcmd 是在 JDK1.7 以后,新增了一个命令行工具。jcmd 是一个多功能的工具,相比 jstat 功能更为全面的工具,可用于获取目标 Java 进程的性能统计、JFR、内存使用、垃圾收集、线程堆栈、JVM 运行时间,也可以手动执行 GC、导出(TODO 能导出线程信息?)线程信息、堆信息等信息。

2022-08-23 23:36:53 4857

原创 记一次打开JConsole没有发现线程信息

Jconsole的JDK版本低于应用使用的JDK版本。

2022-08-15 23:08:09 271

原创 mysql的行锁和间隙锁

无论是update还是select for update,只要where条件里面字段没有带索引,都会把整个表锁住。如果更新的行上存在索引,更新时锁定被更新的记录。

2022-07-31 18:23:05 1619

原创 mysql悲观锁for update

可能遇到这样的场景:数据库某一条记录的数据是3, 两个线程同时更新这条数据:查询出数据的值3,将它减1,得到2,再写回数据库。两个线程更新完后最后数据库数据可能是2。解决这个问题就要用到数据库自带的锁机制for update或者乐观锁。1、for update mysql 锁定记录行的方式for update是一个悲观锁而且是排它锁。for update锁定的行,在当前事务没有提交之前,其他事务即不能更新锁定的行,会被阻塞等待当前事务释放锁。 举例: 第一步:打开一个事务,关闭自动提交后,使用f.

2022-05-11 22:42:49 1924

转载 异步结果通知实现-整体介绍与内存中实现

异步结果通知实现-整体介绍与内存中实现转发自:https://juejin.cn/post/6936802804937785351上图是目前扫码支付中普遍的数据流转情况。在此场景中,异步结果通知 承担着保证两系统(支付渠道和商户)之间 数据一致性 的工作。当有支付结果时,为保证时效性,必须 立即 通知给下游商户,且当通知失败时需要尽量保证系统间数据一致性,即遵循约定的 重试策略。由此可以看出是十分重要的一个环节。关于异步通知的实现,本人结合实际经验和网上一些业界流行的解决方案,整理出了几篇相关的笔记

2022-03-24 00:38:49 605

原创 springboot2.3以上validate参数校验

1、jar <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> &

2021-11-21 20:55:12 481

原创 mysql如何实现4种事务隔离级别

MySQL 事务隔离级别MySQL InnoDB事务的隔离级别有四级,默认是“可重复读”(REPEATABLE READ)。未提交读(READ UNCOMMITTED)。另一个事务修改了数据,但尚未提交,而本事务中的SELECT会读到这些未被提交的数据(脏读)。提交读(READ COMMITTED)。本事务读取到的是最新的数据(其他事务提交后的)。问题是,在同一个事务里,前后两次相同的SELECT会读到不同的结果(不重复读)。可重复读(REPEATABLE READ)。在同一个事务里,SELECT的

2021-09-20 01:49:12 464

原创 byte转16进制String时为什么要乘上0xff

基本知识1.byte是1byte(8位),int是4byte(32位)表示的。2.Java中是使用了补码的形式进行数据存储的。3.java中byte数据转化为int数据时会自动补位,如果最高位(符号位)是0,则高24位全部补0,若是1,则高24位全部补1。原因解析如下代码:public static String parseByte2HexStr(byte[] buf) { StringBuffer sb = new StringBuffer(); for (in

2020-10-20 12:28:18 652

原创 JNDI实践简介

这篇博客先介绍JNDI的概念,再配上本人JNDI一次练习的代码:JDNI全称The Java Naming and Directory Interface™,是java提供的命名和目录服务。命名和目录服务就是一种映射功能,你能够根据一个名称获取这个名称对应的实际对象。比如,域名和ip就是一种映射。文件目录和文件也是一种映射。1、JNDI的结构体系由图看出,JNDI由一套JNDI的API和SPI组成。我们的java应用使用api操纵一系列目录服务,比如添加目录,删除目录等等。但是java提供的JNDI

2020-08-17 23:43:03 301

原创 启动activeMq时,报The driver has not received any packets from the server.

mq日志文件报错如下:2020-08-10 22:53:10,549 | ERROR | HikariPool-1 - Exception during pool initialization. | com.zaxxer.hikari.pool.HikariPool | maincom.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failureThe last packet sent successful

2020-08-11 00:46:16 473

转载 log4j2配置文件log4j2.xml

1、配置全解1.关于配置文件的名称以及在项目中的存放位置log4j 2.x版本不再支持像1.x中的.properties后缀的文件配置方式,2.x版本配置文件后缀名只能为".xml",".json"或者".jsn".系统选择配置文件的优先级(从先到后)如下:(1).classpath下的名为log4j2-test.json 或者log4j2-test.jsn的文件.(2).classpath下的名为log4j2-test.xml的文件.(3).classpath下名为log4j2.json 或者

2020-05-21 22:48:23 137

转载 java web 项目打包(war 包)并部署

java web 项目打包(war 包)并部署1、在eclipse中右键单击项目,然后Export选择WAR file,生成项目的WAR文件。具体步骤请看图片详细操作步骤:2、把生成的WAR文件放到tomcat解压之后的webapps文件夹下。3、在tomcat的conf文件夹里的server.xml进行配置: 在<Host></Host>标签之间添加如下...

2020-05-05 21:11:01 527

原创 idea导出war文件部署到tomcat报404错误

localhost:8080/项目名(为war文件名), 而不是在idea里的localhost:8080/contextPath 访问

2020-04-25 19:54:48 610

原创 devtools实现热部署

使用DEV工具来实现热部署。通过这种依赖关系,您可以节省任何更改,嵌入式tomcat将重新启动。 Spring Boot有一个开发工具(DevTools)模块,它有助于提高开发人员的生产力。Java开发人员面临的一个主要挑战是将文件更改自动部署到服务器并自动重启服务器。 开发人员可以重新加载Spring Boot上的更改,而无需重新启动服务器。这将消除每次手动部署更改的需要。Spring...

2020-04-21 11:10:03 222

原创 springboot的使用父类版本管理后修改版本

使用dependencyManagement,修改到需要版本x.xx.xxx。<dependencyManagement> <dependencies> <dependency> <groupId>mysql</groupId> &l...

2020-03-16 22:24:06 915

原创 通用mapper批量插入

批量插入分两种情况:1、主键自增 2、主键不自增第一种:主键自增dao层接口继承 InsertListMapper<自定义类>public interface OrderDetailMapper extends Mapper<OrderDetail>, InsertListMapper<OrderDetail> { void saveOrderDe...

2020-03-16 22:04:10 4722 1

原创 thymeleaf实现页面静态化

每次浏览器访问某些类似页面,比如商品的详情页。如果都要查库,查搜索再生成的话,面对高并发、大流量的情况性能不佳。所以直接把商品页静态话,查商品详情页时,首先查是否有该商品的已经生成的详情页,有的话直接反馈。没有再查库生成。类似于所有页面套用一个通用模板生成。jar包 <dependency> <groupId>org.springframew...

2020-03-12 23:20:05 295

原创 springboot整合通用mapper

1、jar和插件 <!-- 通用mapper --> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> ...

2020-03-05 21:48:09 117

原创 spring中aop编程中aop:aspect与aop:advisor的区别

转发自:https://www.jianshu.com/p/40f79da0cdef在开发过程中,不少有Spring Aop的使用,在面向切面编程时,我们会使用< aop:aspect>;在进行事务管理时,我们会使用< aop:advisor>。那么,对于< aop:aspect>与< aop:advisor>的区别,具体是怎样的呢?至于两者的区...

2020-02-25 00:01:08 193

原创 ActiveMQ之jdbc持久化订阅

JMS的基本概念和规范消息传递域 (JMS domains)也叫消息模式, 消息模型, 有2种:点对点(p2p)概念消息队列(Queue)提供者(Sender)消费者(Receiver)每个消息都被发送到一个特定的队列,接收者从队列中获取消息。队列保留着消息,直到他们被消费或超时。特点每个消息只有一个消费者(Consumer)(即一旦被消费,消息就不再在消息队列中)...

2020-02-24 21:03:22 128

原创 分页并高亮关键代码

//分页并高亮显示之多字段查询(multi_match) public List<Mytest> queryHighlightAndPageable(String keywords, Integer page, Integer pageSize) throws IOException { MultiMatchQueryBuilder queryBuilder =...

2020-02-23 20:56:37 327

原创 springboot整合shiro的整理

最近学习springboot和shiro,在这里整理一下两者的最简单整合。1、jar包:这里用parent统一jar包版本。<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent<...

2020-02-12 23:46:16 144

原创 浏览器如何从webapps目录上传、下载文件

首先jsp页面代码:<form method="post" action="<%= request.getContextPath()%>/user/file/upload" enctype="multipart/form-data"> <input type="file" name="upFile"> <input type=...

2020-02-06 18:13:28 655

原创 从浏览器上传、下载Excel文件到数据库

Excel里的数据格式:jsp页面:<body><h2>上传用户信息</h2><form method="post" action="<%= request.getContextPath() %>/user/excel/upload" enctype="multipart/form-data"> <in...

2020-02-06 13:09:52 325 1

原创 Field injection is not recommended怎么处理

参考文档:https://www.cnblogs.com/wang-yaz/p/9340156.html参考文档:http://www.pianshen.com/article/5023380349/首先我们需要明白使用@Autowired注入的三种方式:@Service("accountEmailService") 2 public class AccountEmailServiceIm...

2020-02-04 20:28:54 3051 1

原创 13、使用Mybatis-generator时出现配置文件generatorConfig.xml does not exist

1、第一种情况:Mybatis-generator路径需要绝对路径${project.basedir}/src/main/resources/generatorConfig.xml或者src/main/resources/generatorConfig.xml2、还有一种情况:可能你的文件名前面有空格。检查下你的路径命名和左侧配置文件命名;...

2020-02-04 18:58:09 2165 8

原创 SpringMVC静态资源被拦截后,解决的三种方式

如何你的DispatcherServlet拦截 .do这样的URL,就不存在访问不到静态资源的问题。如果你的DispatcherServlet拦截“/”,拦截了所有的请求,同时对.js,*.jpg的访问也就被拦截了。方案一:把以下代码写在web.xml文件里,一定要写在DispatcherServlet的前面, 让defaultServlet先拦截,这个就不会进入Spring了。要配置多个,每...

2019-12-20 22:39:28 619

原创 spring简单配置jdbc连接与事务控制

1、首先,使用spring配jdbc第一点当然就是配置jar包啦。下面是配的是最基本的jar包。最后一个是日志包。如果想了解spring各个jar包的作用。点击这个作者:http://www.imooc.com/article/9909 <dependencies> <dependency> <groupId>org...

2019-12-19 23:13:19 143

原创 servlet写webapp时,用filter拦截实现登陆验证

原理:除了登陆页面,其他页面的虚拟路径后都用统一的符号标识。比如用/login。而filter就拦截所有虚拟路径以/user开头的页面。filter验证该页面请求对应的session里的有没有登陆成功后应有的内容。如果没有,重定向到登陆页面。如果有,证明已经登陆过,执行filterChain的doFilter方法。filter代码:public class Myfilter implemen...

2019-12-19 22:22:25 365

原创 Idea建文件夹时,文件夹的空文件夹的展开与重叠

控制文件夹的是左边project的工具按钮;选中里面的Flatten packagsm不会把同名文件默认放在一个目录下。比如:com.service.tt和com.dao.tt默认放在一个com目录下。选中hide empty middle的话,packages新建的文件夹名有点号也不会分开。比如:com.service.tt,不会把com和service分为两个文件夹。一般来讲这两个...

2019-12-19 21:59:21 6577

原创 关于Thread.sleep()方法

sleep()方法不释放锁,但释放cpu;如果有多个线程同时操作一个锁里资源,如果某个线程占有了锁,但在执行方法的时候执行了sleep()方法。其他线程只有在该线程睡醒了,并执行完方法,释放锁之后,才可以和该线程再次争夺锁资源。一个卖票示例:class MyThread2 implements Runnable {private int TICKET = 5;@Overridepub...

2019-12-15 15:23:14 853

转载 Eclipse无法查看jdk源码解决方法

这里是引用引用自其他文章 原文链接:https://blog.csdn.net/u014071875/article/details/788441511.菜单 Window-Preferences-Java_installed JREs,如下图所示:2.选中相应jre,点击右侧Edit,如下图所示:3.选择rt.jar,点击Source Attachment,如下图所示:4.选择...

2019-11-25 22:35:12 249

空空如也

空空如也

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

TA关注的人

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