自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JavaSE线程知识回顾

1.实现多线程的方法1.1 继承Thread类步骤:1.自定义类继承Thread类 2.重写run方法,run方法中是需要执行的多线程程序 3.创建自定义类的对象 4.对象.start()public static void main(String[] args) { MyThread m1 = new MyThread(); MyThread m2 = new MyThread(); m1.start(); m2.start();

2021-03-08 17:00:14 119 1

原创 常用设计模式(继续更新中...)

1. 设计模式七大原则1.1 单一职责原则2.2 接口隔离原则

2020-08-15 17:58:21 169

原创 基于Docker的RabbitMQ学习

1.安装docker拉取镜像:docker pull rabbitmq运行镜像:docker run -dit --name Myrabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 rabbitmq其中5672为应用访问端口,15672为web端口,如果是阿里云需要在阿里云开放安全组。之后发现ip:15672仍然不能访问,执行如下两条命令即可。doc

2020-08-01 11:02:11 186

原创 Redis总结

1.基础知识docker执行redis命令行:docker exec -it 容器id redis-cli命令含义select n切换数据库DBSIZE查看数据库大小keys *查看数据库所有的keyflushdb清空当前数据库flushall清空所有数据库EXISTS 键名判断当前key是否存在move 键名 数据库id移动键值对到对应数据库get 键名得到对应的valuetype 键名得到当前key的类型ex

2020-07-20 10:47:55 147

原创 MySQL优化之explain与index

1.explain执行格式:explain+sql语句以下将对每个字段进行讲解。1.1 id分三种情况:(1)id相同,执行顺序由上而下。执行顺序1->3->2。(2)如果是子查询,id序号递增,id越大越先被执行。执行顺序3->1->2。(3)id相同可以认为是一组,从上往下顺序执行,在所有组中,id越大越先被执行。执行顺序3->衍生表_>2。1.2 select_type常用的六个值:simple简单的select查询,查询中不包括子查

2020-06-26 16:38:02 2855

原创 linux常用命令总结

命令命令功能ls查看所有文件 ,-a 查看包括隐藏文件的所有文件 -l 查看文件详细信息cd切换目录 ,… 上一层 (两个点),/开头绝对目录,~ 回到当前用户命令touch新建文件pwd显示当前所在目录mkdir创建文件夹rmdir删除文件夹,仅能删除空目录cp复制文件夹,cp 原文件 要复制到的文件夹mv移动文件或目录, mv 原文件 要复制到的文件夹,也可以重命名rm移除文件或目录chmod更改文件9属性,...

2020-06-20 23:26:51 153

原创 JVM垃圾回收器详解

1. 评估GC的性能指标吞吐量: 运行用户代码时间占总运行时间的比例暂停时间: GC时,程序的工作线程被暂停的时间内存占用: Java堆区所占内存的大小2. 垃圾回收器关系概述垃圾收集器与垃圾分代之间的关系垃圾收集器之间的组合关系jdk8-9取消红色线条,jdk14取消绿色线条。3. 七款经典的垃圾回收器Serial回收器:串行回收Serial收集器采用复制算法、串行回收,STW机制。Serial Old收集器采用串行回收和STW机制,使用标记-压缩算法。是在Client模式下默

2020-06-11 17:04:36 115

原创 JVM中的引用

强引用、软引用、弱引用和虚引用的区别?适用场景?强、软、弱、虚四种引用强度依次逐渐减弱。**强引用:**不回收**软引用:**内存不足就回收(仍然存在引用关系)**弱引用:**发现就回收(仍然存在引用关系)**虚引用:**对象被回收时收到系统通知...

2020-06-08 14:39:39 108

原创 JVM垃圾回收算法详解

JVM的垃圾回收存在于堆和元空间(方法区或永久代)中,最多发生在新生代,偶尔发生在老年代,基本不发生在方法区。对象存活判断:一个对象不被任意的存活对象继续引用时,就已经死亡。判断对象存活的两种方式:引用计数算法和可达性分析算法。1.垃圾标记阶段的算法之一:引用计数算法2.垃圾标记阶段的算法之二:可达性分析(根搜索算法)3.清除阶段的算法之一:标记-清除算法当堆中的内存被耗尽时,就会停止整个程序(stop the world),进行标记和清除两项工作。标记:垃圾回收器从引用根节点开始遍

2020-06-07 19:18:31 141

原创 JVM运行时数据区

其中蓝框中的红色部分代表一个进程一份,灰色代表一个线程一份,如一个运行的程序中有5个线程,这5个线程共享方法区和堆,而每个线程都有一份程序计数器、本地方法栈和虚拟机栈,共5组。1. PC寄存器PC寄存器用来存储指向下一条指令的地址,也就是即将要执行的代码。由执行引擎读取下一条指令。在JVM中,每个线程都有自己的PC寄存器,就是用来记录当前线程的程序执行到哪了。线程私有,与线程的生命周期一致。PC寄存器既没有GC,也没有OOM。两个小问题1.1 为什么要使用PC寄存器来记录线程的执行地址?CP.

2020-06-04 22:19:45 181 1

原创 类加载器以及双亲委派模型

1.类加载器系统的类加载器分为引导类加载器或启动类加载器(Bootstrap ClassLoader)和自定义类加载器。其中自定义类加载器指的是所有继承于ClassLoader的类加载器。 //获取系统类加载器 ClassLoader systemClassLoader = ClassLoader.getSystemClassLoader(); System.out.println(systemClassLoader);//sun.misc.Launcher$AppCl

2020-05-27 19:20:14 114

原创 类的加载过程

分为三个过程:加载,链接(验证,准备,解析),初始化1. 加载在内存中生成一个代表这个类的class对象。2. 链接(验证,准备,解析)2.1 验证保证被加载类的正确性。2.2 准备为类变量分配内存并且设置变量的默认初始值。(不包含用final修饰的static,final在编译时候就会分配,准备阶段为显式初始化。也不会为实例变量分配初始化,类变量分配在方法区,而实例变量随着对象一起分配到Java堆中。)简单来说,只用static修饰时,准备阶段先分配值为零,初始化时再分配对应值。用fina

2020-05-26 22:14:01 140

原创 spring整合mybatis

按照mybatis-spring官方文档整理。1.准备实体类User2.dao层接口UserMapper类public User getUserById(int id);3.配置dao层接口,UserMapper.xml相当于UserMapper的实现类。//namespace表示xml文件与UserMapper接口绑定<mapper namespace="com.sgl.d...

2020-05-05 11:15:16 155

原创 MyBatis配置实现方法

根据mybatis官方文档配置Mybatis1.实体类2.UserDao(UserMapper)接口类3.副配置文件(相当于UserDaoImpl类)<mapper namespace="com.sgl.dao.UserMapper"> <select id="getUserList" resultType="com.sgl.pojo.User"> ...

2020-05-04 22:12:44 133

原创 Spring的aop两种配置实现方法

Spring的AOP实现实现方式一:配置文件实现(xml)配置文件:ioc配置需要装配的对象(包括切面类):<bean id="userService" class="com.sgl.service.UserServiceImpl"></bean><bean id="pointCut" class="com.sgl.diy.PointCut"><...

2020-05-03 16:31:20 197

空空如也

空空如也

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

TA关注的人

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