- 博客(21)
- 收藏
- 关注
原创 内存泄露排查并解决异常案例
发现别多的Thread命名的线程是unirest工具包产生的。正常运行的程序,在web页面突然登录不了,所有接口都超时。登录服务器发现服务器特别卡,内存爆满,给程序重启了一下。使用命令jstack -l 命令查看线程状态。
2023-09-05 11:50:31
349
原创 java面试锦囊
目录 一 数据库MySql如何优化的? Sql语句的优化 你使用SpringBoot的时候各种配置文件是怎么引入的 说说你做过的项目和你主要负责的模块 讲讲Redis,你在项目中有用过Redis吗? 数据库建表的时候int(1)和int(2)的区别 二 #和$的区别 Springmvc的执行流程 Jvm参数 反射的三种创建方式 Arraylist和linklist的区别 Arraylist一次扩容多少 Vector是如何实现的安全的 讲讲你知道哪些排序方法,并说下他们的时
2022-01-26 16:32:42
1420
原创 网络(基础篇)
目录 网络的七层模型 TCP和UDP的区别 三次握手和四次挥手 Socket编程 UDP编程 网络的七层模型 网络层:IP协议 (IPV4 192.168.1.112)(32位二进制--> 4个8位二进制一组 --> 4个十进制) 00000000 --> 11111111 传输层:TCP和UDP 应用层:HTTP协议 TCP和UDP的区别 对比 维度 TCP UDP 可靠性 可靠 不可靠 速度 稍慢 更.
2021-12-16 15:46:36
102
原创 线程(线程池篇)
目录 线程池 线程池的使用 ExecutorService Executors 线程池的优化配置 线程池的实现原理 线程池 作用:回收利用线程资源 线程是一种宝贵的系统资源,执行完任务后会死亡,如果有大量任务需要处理,需要频繁的创建和销毁线程,造成系统性能降低。 线程池:Java中开辟出了一种管理线程的概念,这个概念叫做线程池。线程池会保存一定量的线程,线程执行完任务后,会回到线程池中,等待下一个任务,节省系统资源,提升性能。 线程池的使用 ExecutorService Ex
2021-12-14 20:57:52
383
原创 线程(生产者消费者模式+阻塞队列)
目录 线程的等待和通知 Object类中关于线程的方法 同步方法案例: 同步锁案例: wait()和sleep()的区别 线程的等待和通知 Object类中关于线程的方法 wait() 让当前线程进入等待状态,直到被通知为止 wait(long) 让当前线程进入等待状态,同时设置时间;直到被通知为止或时间结束 notify() 随机通知一个等待线程 notifyAll() 通知所有的等待线程 注意:等待和通知方法必须是锁对象,否则会抛出IllegalM.
2021-12-11 16:39:32
257
原创 线程基础(乐观锁和悲观锁)
悲观锁(Pessimistic Lock) 在对一条数据进行修改时,为了避免其他人同时对这一条数据进行更改,我们就可以通过锁机制,对数据进行上锁防止以并发问题; 线程认为线程的安全问题是很容易发生的,会对代码上锁。 因为悲观锁的上锁和释放锁的过程是需要消耗很多资源的,因此会降低程序的性能。 (锁机制看上篇) 乐观锁(Optimistic Locking) 相对于悲观锁来说,乐观锁认为线程问题是不容易发生的,因此不会对代码上锁。 乐观锁本身是不会对操作的数据进行加锁,而是通过一些业务的操.
2021-12-11 15:40:36
2737
原创 线程基础(线程安全篇)
线程的上下文切换? 多线程创建并切换到另一个线程的过程,称之为线程的上下文切换。 线程的上下文切换出现的问题 正常情况下一个CPU的内核一个时间只能运行一个线程中的一个指令 通过线程的并发,cpu内核会在多个线程之间相互的切换,切换速度非常快,达到同时运行的效果 随之就会出现几个问题 1.线程切换回来后,如何从上次执行的指令后执行? 每个线程都有自己的 程序计数器(用于记录上次执行的行数) 2.CPU进行上下文切换的过程中,性能会降低。 3.线程执行会随时切换,如何保证重要的指令能完全完.
2021-12-09 21:02:01
2712
1
原创 线程(线程与进程篇)
线程的概念 什么是进程? 打开任务管理器会看到许多的进程,进程是(磁盘,内存,cpu)的最小单位,进程与进程之间是相互独立的,有自己的内存空间.就是正在执行的程序。 什么是线程? 线程是进程中执行运算的最小单位,也是CPU资源分配的最小单元,如果把一个进程比作一个任务的话,那线程就是其中一个子任务,进程包含一个或多个线程。线程需要的资源很少,线程可以共享进程中的资源,相互的通信也会更加的方便。 串行、并行和并发 买饭时会排着队在窗口买食物 如果把排队的人比作一个指令,窗口比作cpu的.
2021-12-08 11:32:34
208
1
原创 多线程的使用
1.设计两个线程,一个线程负责打印1~100以内所有的偶数;然后,另外一个线程负责打印1~100以内所有的奇数。测试时,分别设置线程的优先级,观察执行的顺序。 2. 实现一个线程,用于扫描某个目录下的所有文本文件(包括:java、txt、html),并将文字内容打印出来。 3.某人正在看电视连续剧,从第1~88集,看到第10集时,来了一个送递的,收完快递后后,继续看电视。 4.多线程模拟龟兔赛跑:乌龟和兔子进行1000米赛跑,兔子前进5米,乌龟只能前进1米。但兔子每20米要休息500毫秒,..
2021-12-07 20:49:52
485
2
原创 集合框架面试题
首先要说一下数组 1.数组和集合的区别 空间大小比较:数组的空间大小是固定了,所以需要提前确定合适的空间大小,集合的空间是动态增长的,而且每次添加新的元素的时候都会检查内部数组的空间是否足够存储 内容比较:数组在存放的时候一定是同种类型的元素,集合就不一定了可以包含基本类型和对象类型,集合却只能包含对象类型 方法上的比较:集合方法比数组更多样化,支持迭代器操作 集合的种类 2.Collection 和 Collections 有什么区别? 1、Collection是集合类的上级接口,继承与他的
2021-11-19 00:13:37
910
原创 mybatis-plus 分分钟写n个表增删改查
一.导包 导入springboot包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframewor...
2021-11-15 22:27:32
880
2
原创 SpringSecurity解决iframe不能跳转的问题
在SecurityConfig类configure()方法中添加 http.headers().frameOptions().sameOrigin().httpStrictTransportSecurity().disable();
2021-11-10 19:30:17
626
原创 lombok的使用
1.导入依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.22</version> </dependency> 2.setting -> plugins -> 搜索lombok 下载,重启idea 3.重启后,直接加注..
2021-11-09 15:44:27
414
原创 spring配置文件 web配置文件
1.spring配置文件 1)导入SpringMVC依赖 <!-- https://mvnrepository.com/artifact/org.springframework/spring-aop --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5....
2021-10-28 15:19:14
247
原创 更新时不上传照片,不改变照片
从前端把照片名字传到服务器 通过isEmpty()方法,判断是否有上传的文件(MultipartFile是上传的文件)
2021-10-27 13:13:46
95
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人