- 博客(35)
- 收藏
- 关注
原创 JVM-垃圾收集器
如上图,一共有7种作用于不同分代的垃圾收集器,如果两个收集器之间存在连线,则说明它们可以搭配使用,垃圾收集器所处区域表示它是属于新生代收集器还是老年代收集器;新生代收集器,最早的收集器,单线程的,收集时需暂停用户线程的工作(),所以有卡顿现象。但是实现简单,不会有线程切换的开销。参数:新生代采用复制算法,老年代采用标记+整理算法,GC线程执行时会暂停所有用户线程新生代收集器,就是Serial收集器的多线程版本,但是单CPU下,ParNew还需要切换线程,可能还不如Serial。采用复制算法。Serial 和
2022-06-14 15:12:54
281
原创 远程连接不上阿里云(Ubuntu20.04)Mysql8.0
解决远程连接不上阿里云(Ubuntu20.04)Mysql8.0的问题问题:在本地远程连接不到服务器数据库解决方法:1 进入mysqlmysql -uroot -p2 使用mysql数据库use mysql;3 查看user表的信息。select host,user from user;4 更改root用户的hostupdate user set host ='%' where user='你的密码';5 给予root 用户所有权限GRANT ALL ON *.* TO 'root
2022-03-31 09:32:27
2108
2
原创 Spring面试题
1.描述一下Spring Bean的生命周期?解析类得到BeanDefinition如果有多个构造方法,则要推断构造方法确定好构造方法后,进行实例化得到一个对象对对象中的加了@Autowired注解的属性进行属性填充回调Aware方法,比如BeanNameAware,BeanFactoryAware调用BeanPostProcessor的初始化前的方法调用初始化方法调用BeanPostProcessor的初始化后的方法,在这里会进行AOP如果当前创建的bean是单例的则会把bean放入单
2022-02-25 17:02:38
167
原创 Spring Boot 整合 Spring Data JPA
Spring Boot 整合 Spring Data JPAJPA 和 Spring Data JPA 的关系JPA (Java Persistence API)Java 持久层规范,定义了⼀系列 ORM 接⼝,它本身是不能直接使⽤,接⼝必须实现才能使⽤,Hibernate 框架就是⼀个实现了 JPA 规范的框架。Spring Data JPA 是 Spring 框架提供的对 JPA 规范的抽象,通过约定的命名规范完成持久层接⼝的编写,在不需要实现接⼝的情况下,就可以完成对数据库的操作。简单
2021-11-24 10:52:56
167
原创 Redis学习
NOSQL: Not only SQLNOSQL的四大分类KV键值对:新浪:Redis美团:Redis + Tail阿里、百度: Redis + memecache文档型数据库(bson格式 和json一样)MongoDB(一般必须要掌握)
2021-11-11 17:28:32
228
原创 Springboot 异步、定时、邮件任务
Springboot 异步、定时、邮件任务异步任务1、创建一个service包2、创建一个类AsyncService异步处理还是非常常用的,比如我们在网站上发送邮件,后台会去发送邮件,此时前台会造成响应不动,直到邮件发送完毕,响应才会成功,所以我们一般会采用多线程的方式去处理这些任务。编写方法,假装正在处理数据,使用线程设置一些延时,模拟同步等待的情况;@Servicepublic class AsyncService { public void hello(){ try
2021-11-10 18:16:27
161
原创 JVM快速入门
JVM快速入门一.JVM的位置二.JVM 可分为 5 个部分,分别是:1、类加载器(Class Loader)2、运行时数据区(Runtime Data Area)3、执行引擎(Execution Engine)4、本地库接口(Native Interface)5、本地方法库(Native Libraies)这其中最复杂的是运行时数据区,又可分为方法区、虚拟机栈、本地方法栈、堆、程序计数器,并且方法区和堆是线程共享的,虚拟机栈、本地方法栈、程序计数器是线程隔离的,JVM 的结构如下图所示。
2021-10-18 13:35:45
184
原创 线程池基础知识点
线程池优势:提⾼线程的利⽤率提⾼响应速度便于统⼀管理线程对象可控制最⼤并发数线程池的具体设计思想:核⼼池的⼤⼩线程池的最⼤容量等待队列拒绝策略线程池启动的时候会按照核⼼池的数来创建初始化的线程对象 2 个。开始分配任务,如果同时来了多个任务, 2 个线程对象都被占⽤了,第 3 个以及之后的任务进⼊等待队列,当前有线程完成任务恢复空闲状态的时候,等待队列中的任务获取线程对象。如果等待队列也占满了,⼜有新的任务进来,需要去协调,让线程池再创建新的线程对象,但是线程池不可能⽆限去
2021-08-22 15:14:00
125
原创 Java 并发编程
Java 并发编程并发编程可以充分利⽤计算机的资源,把计算机的性能发挥到最⼤,可以最⼤程度节约公司的成本,提⾼效率。1、什么是⾼并发并发 concurrency:多线程“同时”操作同⼀个资源,并不是真正的同时操作,⽽是交替操作,单核CPU的情况下,资源按时间段分配给多个线程。张三李四王五使⽤⼀⼝锅炒菜,交替并⾏ parallelism:是真正的多个线程同时执⾏,多核CPU,每个线程使⽤⼀个 CPU 资源来运⾏。张三李四王五使⽤三⼝锅炒菜,同时进⾏并发编程描述的是⼀种使系统允许多个任务可以在重叠
2021-08-21 21:17:35
110
原创 Springboot整合Redis
Redis基于内存进⾏存储,⽀持 key-value 的存储形式,底层是⽤ C 语⾔编写的。基于 key-value 形式的数据字典,结构⾮常简单,没有数据表的概念,直接⽤键值对的形式完成数据的 管理,Redis ⽀持5种数据类型:字符串列表集合有序集合哈希Spring Boot 整合 RedisSpring Data Redis 操作 Redis。...
2021-08-20 20:33:48
79
原创 SpringMVC:文件上传下载
SpringMVC:文件上传下载准备工作文件上传是项目开发中最常见的功能之一 ,springMVC可以很好的支持文件上传,但是SpringMVC上下文中默认没有装配MultipartResolver,因此默认情况下其不能处理文件上传工作。如果想使用Spring的文件上传功能,则需要在上下文中配置MultipartResolver。前端表单要求:为了能上传文件,必须将表单的method设置为POST,并将enctype设置为multipart/form-data。只有在这样的情况下,浏览器才会把用户
2021-08-07 09:38:43
201
原创 MyBatis
MyBatisMyBatis 是半⾃动化的 ORM 框架,SQL 语句需要开发者⾃定义,SQL 需要单独定义在 Mapper.xml中,与 Mapper 接⼝对应,使⽤ MyBatis 进⾏开发的基本配置:实体类Mapper 接⼝Mapper.xmlCourse实体类package com.southwind.entity;import lombok.Data;import java.util.List;@Datapublic class Course { privat
2021-07-30 10:06:42
84
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人