自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lkb的博客

喜欢美食的IT男

  • 博客(59)
  • 收藏
  • 关注

原创 hutool处理xml的方法

hutool处理xml的方法

2023-07-06 11:58:01 3363

转载 Java泛型中类型限定<T extends 数据类型>和 通配符<? extentds 数据类型>的区别

只能设定上边界,而通配符既可以设定上边界。是一种读安全的约束,是一种写安全的约束。

2023-06-21 11:22:34 244

原创 spring的websocket处理业务流程和源码查看(未完善)

2.添加handler:接受websocket连接,同时验证请求的身份token是否有效,如果身份通过则将WebSocketSession存储在session_pool中,handler也包含消息发送和关闭链接等操作。1.拦截Interceptor:只要针对请求进行握手处理,获取到关键信息则通过,同时存储关键信息到WebSocketHttpRequestHandler的 HandshakeHandler-attributes。

2023-04-11 18:15:35 142

原创 【面试篇--框架】mybatis缓存概念

基于perpetualCache的hashmap本地缓存,其存储作用域为session,当session flush 或close 之后,该session 中所有cache就将清空,默认打开一级缓存。备注:对于缓存数据更新机制,当某一个作用域(一级缓存session/二级缓存namespaces)的进行了C/U/D操作后,默认该作用域下所有的select 中缓存都将被clear。不只是要保证这个表在整个系统中只有单表操作,而且和该表有关的全部操作必须全部在一个namespace下。

2023-03-26 13:46:36 311

原创 号源预约加锁思路

通用的分布式加锁思路,不仅仅可以用在号源预约

2023-03-02 17:58:03 154

原创 比较实用的问题代码编写方式

比较实用的问题代码编写方式

2022-11-17 17:58:00 71

转载 使用 eclipse memory analyzer 分析dump文件

使用 eclipse memory analyzer 分析dump文件

2022-11-04 21:38:34 679

原创 [案例] java项目故障诊断和性能调优(Linux版)

[案例] java项目故障诊断和性能调优(Linux版)

2022-11-04 21:11:37 418

原创 比较实用的问题排查教程(JVM)

实用教程

2022-09-15 10:09:09 60

原创 [案例] jpa和Transactional使用造成锁超时

在用jpa中的saveAndFlush方法做保存时,由于保存时间过长(超过50秒),而其他线程对相同数据做保存而产生的锁超时和事务重启问题,报错如下 1.在saveAndFlush()上,此命令中的更改将立即刷新到DB。2.使用save(),就不一定了,它可能只暂时保留在内存中,直到发出flush或commit命令。但是要注意的是,即使在事务中刷新了更改但是未提交它们,这些更改对于外部事务仍然不可见,直到,提交这个事务在我们执行一次定时任务,定时任务需要时间是100秒,其中对医生1修改保存时方法是sa

2022-06-21 18:44:28 1742

原创 mysql锁使用和加锁情况排查

记录mysql锁的使用和排查

2022-06-19 13:15:25 341

原创 MQ各种问题汇总

队列保证消息不丢失1.生产者:使用trycatch捕获错误,不断重连,如果多次失败后发出警告和做好日志记录2.存储消息:broker进行集群部署,有多副本机制,将消息写入所有broker,等所有broker写完后再相应给生产者3.消费消息:当消费者真正执行完业务逻辑之后,再发送给broker消费成功...

2022-05-09 17:36:47 463

原创 easypoi实现简单实用的导出功能

引入依赖 <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-base</artifactId> <version>4.3.0</version> <exclusions> <exclusio..

2022-05-09 17:26:23 1281

原创 mysql 取当前记录的上一条数据,计算增长率

select DISTINCT newmeasure.outpatient_no,newmeasure.name,pre.current_gestational_week, pem.systolic,pem.diastolic,pem.systolic_2,pem.diastolic_2,pem.systolic_3,pem.diastolic_3, pem.temperature,pem.pulse,pem.height,pem.weight,ppr.preweight,ppr.bmi, .

2022-05-07 16:55:28 790

转载 CGLIB 动态代理实现缓存技术

Target.javaTarget是被代理类,但却不需要像Service一样实现某个接口public class Target { public User getUserById(int id) { User user = new User(id); System.out.println("Get " + user + " from database..."); return user; }}Before.ja...

2022-04-27 18:22:18 260

原创 Java8 stream常用方法(自定义为主)

排序自定义 从小到大排列,-1:不交换,1交换,0不处理outpatientPresentmhVM.getMlUltrasounds().stream().sorted((o1, o2) -> { if (o1.getGestationalWeek() == null) { return -1; } if (o2.getGestationalWeek() ...

2022-04-22 09:58:48 811

原创 Linux常用命令(项目部署版)

查看当前java项目:ps -ef | grep java 查看当前日志生成文件(实时):tail -n 100 -f /obis2/backend2/nohup.log 查看文件:cat nohup.log 启动java项目:nohup java -jar /obis2/backend2/test.war > /obis2/nohup.log 2>&1 &...

2022-04-14 09:39:52 2562

原创 使用aspose.words在doc文档里面插入内容(文字或图片)

1.主要工作函数,先在doc文档里面插入书签,然后通过WordHandleContext方法将文档内容转成对象去获取Document节点,Document节点可以提取书签名和书签位置,从而在书签位置插入内容 /** * 手动插入内容 * * @param doc * @param pngPath * @throws Exception */ public static void insertImageToPdf(Docume..

2022-04-14 09:38:27 5320 1

原创 JVM优化之常用的部署命令

XmnXmsXmxXss有什么区别Xmn、Xms、Xmx、Xss都是JVM对内存的配置参数,我们可以根据不同需要区修改这些参数,以达到运行程序的最好效果。-Xms 堆内存的初始大小,默认为物理内存的1/64-Xmx 堆内存的最大大小,默认为物理内存的1/4-Xmn 堆内新生代的大小。通过这个值也可以得到老生代的大小:-Xmx减去-Xmn-Xss 设置每个线程可使用的内存大小,即栈的大小。在相同物理内存下,减小这个值能生成更多的线程,当然操作系统对一个进程内的线程数还是有限制的,不能无限生

2022-03-20 15:49:07 104

转载 JDK性能监控工具

实战java虚拟机 JDK性能监控工具 jdk开发包中,除了比较熟悉的java.exe,javac.exe,还有一系列的辅助工具,它们都存放在jdk安装目录/bin目录下,乍一看这些都是exe,但实际上它们只是将java程序的一层包装,真正的实现是在lib/tool...

2022-03-19 11:22:24 1029

原创 [案例] java项目故障诊断和性能调优(window版)

做这次性能调优主要是项目每当在使用高峰期就会出现卡顿,加载速度慢,严重影响工作效率,因此开始排查故障和调优一,问题定位在故障出现时优先打开任务管理器和资源监视器主要查看CPU和内存的使用情况(后面没有遇到相同情况,所有截图都只展示排查和优化步骤),从任务管理器上面看到内存和CPU的使用情况,根据实际情况去找出使用资源最高的程序,当时排查到的是java使用cpu和内存最高,同时mysql占用了大量的IO然后先从mysql入手,在mysql中可以看到某条sql正在不断的执行,根据该sql去查

2022-02-27 14:38:34 542

原创 Docker 从零开始部署java项目(包括构建镜像)

创建新的虚拟机使用vagrant+Vagrantfile启动虚拟机从官方站点下载的centos/7这个 box 默认是关闭了账号密码登录的,通过vagrant ssh连接到虚拟机,然后去编辑/etc/ssh/sshd_config,将PasswordAuthentication的值修改为yes/etc/ssh/sshd_config文件vagrant用户是看不到的,需要使用sudo vi /etc/ssh/sshd_config命令去编辑修改完成后,重启sshd服务:sudo sys.

2021-09-09 16:59:50 1477

原创 入职新软件安装的坑(idea和脚本(bat)启动nginx)

idea:idea是java程序员日常开发常用工具,在安装时要注意maven版本和idea版本是否会冲突,我用的idea的版本时2019.2.4,而用maven版本是网上下载的3.6.3;出现的问题是部分依赖包无法下载,出现提示有以下几点:后面解决的方法是Maven hone directory使用idea自带的maven版本3.6.1nginx:项目采用的是前后端分离,前端采用nginx部署,做反向代理,在刚开是时不小心点击了nginx.exe或者在命令窗口输入nginx.

2021-07-07 15:33:32 314

转载 JAVA设计模式总结之23种设计模式

转载:https://www.cnblogs.com/pony1223/p/7608955.html上一篇总结了设计模式的六大原则《JAVA设计模式总结之六大设计原则》,这一篇,正式进入到介绍23种设计模式的归纳总结。一、什么是设计模式 ...

2019-07-21 12:09:11 118

原创 java web 系列:工厂模式(代码)

工厂模式理论篇:https://mp.csdn.net/postedit/96699960代码模拟植物大战僵尸的植物生产过程路径1.创建植物接口Plantpublic interface Plant { public String getName(); public void fight();}2.创建植物基本特征(武器,头发等等)public...

2019-07-21 11:08:24 423

转载 java web 系列:工厂模式

转载:https://segmentfault.com/a/1190000015050674#articleHeader9一 工厂模式介绍1.1 工厂模式的定义先来看一下GOF为工厂模式的定义:“Define an interface for creating an object, but let subclasses decide which class to instantia...

2019-07-21 10:48:48 600

转载 java web 系列:JDBC详解

转自:http://www.cnblogs.com/erbing/p/5805727.html一、相关概念1.什么是JDBCJDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数...

2019-07-19 08:37:35 190

转载 java web 系列:Java过滤器Filter使用详解

Java过滤器Filter使用详解转载原文地址:http://www.cnblogs.com/ygj0930/p/6374212.html过滤器 过滤器是处于客户端与服务器资源文件之间的一道过滤网,在访问资源文件之前,通过一系列的过滤器对请求进行修改、判断等,把不符合规则的请求在中途拦截或修改。也可以对响应进行过滤,拦截或修改响应。 如图,浏览器发出...

2019-07-19 07:42:01 130

转载 java web 系列:JSTL

转载:http://blog.csdn.net/qq_25827845/article/details/53311722一、JSTL标签介绍1、什么是JSTL?2、JSTL标签库:3、使用taglib指令导入标签库:4、core标签库常用标签:(1)out和set标签(2)remove标签(3)url标签:该标签会在需要重写URL时添加。(4)if标签:...

2019-07-19 07:26:11 91

转载 java web 系列:servlet详解

一、什么是servlet?    处理请求和发送响应的过程是由一种叫做Servlet的程序来完成的,并且Servlet是为了解决实现动态页面而衍生的东西。理解这个的前提是了解一些http协议的东西,并且知道B/S模式(浏览器/服务器)。    B/S:浏览器/服务器。 浏览器通过网址来访问服务器,比如访问百度,在浏览器中输入www.baidu.com,这个时候浏览器就会显示百度的首页,那么...

2019-07-19 06:37:49 130

转载 java web 系列:Map

Map接口 Map内存储的是键/值对这样以成对的对象组(可以把一组对象当成一个元素),通过“键”对象来查询“值”对象 Map是不同于Collection的另外一种集合接口 Map中,key值是唯一的(不能重复),而key对象是与value对象关联在一起的 Map接口有两个实现: HashMap — key/value对是按照Hash算法存储的 TreeMap...

2019-07-19 06:08:40 1666

转载 java web 系列:本地缓存

目录:一:什么是缓存二:为什么要用本地缓存三:我们一开始是怎么实施本地缓存的四:Java本地缓存标准五:Java开源缓存框架六:再次实现本地缓存一:什么是缓存所谓缓存,就是将程序或系统经常要调用的对象存在内存中,一遍其使用时可以快速调用,不必再去创建新的重复的实例。这样做可以减少系统开销,提高系统效率。缓存主要可分为二大类:1:通过文件缓存,顾名思义文件...

2019-07-19 05:36:08 537

原创 java web 系列:Spring AOP(一)

JDK动态代理public class MyJdkProxy implements InvocationHandler { private UserDao userDao; public MyJdkProxy(UserDao userDao) { this.userDao=userDao; } public Objec...

2019-07-11 11:23:36 216

原创 java web 系列:bean注解

@scope(“prototype”)重新开一个地址空间,详细请看下面链接https://blog.csdn.net/Tracycater/article/details/54019223Spring 注解大全与详解:https://blog.csdn.net/weixin_37490221/article/details/784...

2019-07-10 17:06:15 159

原创 java web 系列:Spring bean管理

部分查看:https://blog.csdn.net/weixin_41427294/article/details/953405941) Bean对象创建的时机默认是随着容器创建,可以使用lazy-init=true(在调用getBean创建)延迟创建也可以用<beans default-lazy-init="true"/>批量延迟创建2) Bean对象的创建模式默...

2019-07-10 15:50:32 91

转载 java web 系列:Spring IOC

Spring IOC (控制反转)1)是什么?控制反转 又名DI(依赖注入)1.创建对象2.给对象的属性赋值3.超级工厂 任何对象都可以存放4.把创建对象的权力交给SPring管理 使用IOC 可以解决的程序耦合性高的问题5.我们在需要的时候直接去取6.将创建对象属性的方式进行了反转从new() set() 反转为了从SPring IOC容器中getBean()2)...

2019-07-10 15:32:41 116

原创 基于腾讯云服务器配置虚拟主机和安装SSL证书

本教程基于windows操作系统和在Apache上配置虚拟主机,其他操作系统可以忽略看题目就知道,肯定需要一个腾讯云服务器了服务器购买服务器后就开始重装服务器的操作系统我用习惯用windows系统,所以安装的也是2012 R2系统安装好操作系统后就可以用远程命令进入操作系统里面,用过win系统后都知道怎样去下载安装Apache服务器了,以下是安装后的文件目录,...

2019-05-17 17:16:22 1149

原创 java web 系列:JDBC常用的API

DriverManager:驱动管理类主要作用:一、注册驱动 实际开发中注册驱动会使用如下的方式: Class.forName("com.mysql.jdbc.Driver"); 因为之前的方式会导致驱动注册两次。二、获得连接 Connection getConnection(String url,String username,String password); ur...

2019-05-03 09:27:05 366

原创 java web 系列:反射

什么是java的反射机制java反射机制是在运行状态中,对任意一个类,都能够知道这个类的所有属性和方法;对任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能成为java语言的反射机制java的反射机制的作用用来编写一些通用性较高的代码或者框架的时候使用,在日常的第三方应用开发过程中,经常会遇到某个类的某个成员变量、方法或是属性是私有的或是只对系...

2019-05-01 21:15:06 513

转载 session.setAttribute和session.getAttribute

链接:https://www.cnblogs.com/xiadongqing/p/5205162.htmlB/S架构中,客户端与服务器连接,在服务端就会自动创建一个session对象. session.setAttribute("username",username); 是将username保存在session中!session的key值为“username”value值就是username真...

2019-04-16 22:30:28 441

空空如也

空空如也

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

TA关注的人

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