- 博客(19)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 Mybatis-plus的两种分页方案
测试代码在这:https://gitee.com/pianjiao006/boot-spring/tree/master/boot-mybatis-plus。底层的逻辑是写出最终执行的sql或者selectPage方法等,中间需要配置相应的page拦截器。注意:如没有配置拦截器,直接执行就会存在total的值为0,此方法无效。
2024-05-18 11:05:23
445
原创 java环境线上故障处理
线上故障主要会包括cpu、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。同时例如jstack、jmap等工具也是不囿于一个方面的问题的,基本上出问题就是df、free、top 三连,然后依次jstack、jmap伺候,具体问题具体分析即可。
2024-05-18 01:11:40
684
原创 mysql优化
type是ref,where属性是using where,表示使用到了索引,但是也进行了where过滤。type是ref,where属性是空白:使用到了索引,但是查询的数据有没在索引中的,回表去拿数据。using index表示使用到了索引, 并且所取的数据在索引中就能拿到,这就是覆盖索引。结果中的using where和using index。
2024-05-18 00:39:42
132
原创 xxl-job没有启动导致业务系统出现异常
如果xxl-job没有启动导致业务系统请求io异常,如果异常没有把io关闭,最终导致backing off for 30000 milliseconds: java.io.IOException: Too many open files,业务系统的io被耗尽,系统无法继续响应。2、关闭业务系统xxl-job服务的调用。1、保证xxl-job定时任务服务正常。
2024-02-28 10:12:33
706
原创 线程死锁的认识和示例
死锁定义死锁产生的条件死锁示例如何避免死锁1. 死锁定义● 死锁是指两个或两个以上的线程在执行过程中,因争夺资源而造成互相等待的现象,● 在无外力作用的情况下,这些线程会一直相互等待而无法继续运行下去2. 死锁产生的条件● 互斥条件:指线程对已经获取到的资源进行排它性使用,即该资源同时只由一个线程占用。如果此时还有其他线程请求获取该资源,则请求者只能等待,直至占有资源的线程释放该资源。● 请求并持有条件:指一个线程已经持有了至少一个资源,但又提出了新的资源请求,而新资源已被其他线程占
2021-04-12 15:31:32
134
原创 java线程创建方式(4种)
1. 继承Thread类2. 实现Runnable接口3. 实现Callable接口,使用FutureTask方式4. 使用线程池1. 继承Thread类package com.pimee.thread;/** * 继承Thread创建线程 * @author Bruce Shaw * */public class ThreadTest extends Thread { public static void main(String[] args) { ThreadTe
2021-04-09 16:30:43
135
原创 java线程初认识
进程定义:狭义定义:进程是正在运行的程序的实例(an instance of a computer program that is being executed)。广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。线程定义:线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个
2021-04-09 15:35:11
90
原创 设计模式之代理模式
1. 代理定义2. 静态代理3. 动态代理代理定义代理模式(Proxy)是通过代理对象访问目标对象,这样可以在目标对象基础上增强额外的功能;使用场景如:添加日志、权限、访问控制、 方法执行前后计算执行时间 和审计等功能。包含三个角色:目标接口、目标实现对象、代理对象。静态代理静态代理是代理类是由程序员自己编写的,在编译期就确定好了。目标对象和代理对象必须实现目标接口。目标接口:package com.pm.proxy.statics;/** * 接口 */public
2021-04-09 13:10:10
100
原创 设计模式概览
设计模式遵循六⼤原则;- 单⼀职责( ⼀个类和⽅法只做⼀件事 )- ⾥⽒替换( 多态,⼦类可扩展⽗类 )- 依赖倒置( 细节依赖抽象,下层依赖上层 )- 接⼝隔离( 建⽴单⼀接⼝ )- 迪⽶特原则( 最少知道,降低耦合 )- 开闭原则( 抽象架构,扩展实现 )创建型模式工厂模式抽象工厂模式生成器模式原型模式单例模式结构型模式适配器模式桥接模式组合模式装饰模式外观模式享元模式代理模式行为模式责任链模式命令模式迭代模式中介模式备忘录模式观察者模式
2021-04-08 17:48:32
108
原创 Nacos get changed dataId error, code: 403
修改nacos权限验证之后### If turn on auth system:nacos.core.auth.enabled=true项目启动之后,一直刷新提示:[check-update] get changed dataId error, code: 403解决办法:需要在运行项目的配置添加权限账号和密码spring cloud: sentinel: # 取消控制台懒加载 eager: true transport: #
2021-03-21 13:14:42
15023
15
原创 java 线程池使用和解析
线程池什么情况下使用,解决什么问题线程池的使用线程池的结构解析线程池什么情况下使用,解决什么问题线程的创建和销毁是要占用一定的资源的,创建线程会直接向系统申请,调用系统函数进行分配资源。操作系统给线程分配内存、列入调度,同时线程还要进行上下文的切换。在Java中,线程的线程栈所占用的内存在Java堆外,不受Java程序控制,只受系统资源限制,默认一个线程的线程栈大小是1M(当让这个可以通过设置-Xss属性设置,但是要注意栈溢出问题)。如果每个请求都新建线程,1024个线程就会占用1个G内.
2021-02-27 14:10:58
108
原创 设计模式之单例模式
单例模式两大好处:(1)对于频繁使用的对象,可以省略new操作花费的时间,这对于那些重量级对象而言,是非常可观的一笔系统开销。(2)由于new操作的次数减少,因而对系统内存的使用频率也会降低,这将减轻GC压力,缩短GC停顿时间。单例模式分为两种:饿汉模式懒汉模式java语言实现四种实现方式:饿汉模式:/** * 饿汉模式 */public class HungerSingleton { private static HungerSingleton instance =
2021-02-24 14:01:21
85
转载 maven 导入eclipse 出现错误 copy should be executed after packaging: see MDEP-187
import maven 新项目到eclipse,进行maven update 操作之后还是出现以下错误。Description Resource Path Location TypeArtifact has not been packaged yet. When used on reactor artifact, copy should be executed af...
2018-07-31 19:18:38
4487
1
原创 javamail调用异常,Authentication failed
调用javamail,使用QQ邮箱发送。离奇的出现以下异常:org.springframework.mail.MailAuthenticationException: Authentication failed; nested exception is javax.mail.AuthenticationFailedException: 535 Error: ÇëʹÓÃÊÚȨÂëµÇ¼¡£
2017-11-20 10:49:39
4367
原创 禁止chrome浏览器自动填充到表单
今天碰到一个浏览器回填的问题,其实这个现象出现在chrome。一开始我尝试了jQuery的resetform方法($('#yigeform')[0].reset()),还以为可以搞定,但是没有效果还是能填充,挺淡疼的。于是找了其他的blog。尝试过这种,要不靠谱window.load = function(){ document.getElementById('密码域ID'
2017-08-18 10:08:30
4494
apache+tomcat均衡负载 not
2016-05-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人