自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis全篇

RDB持久化:指定间隔时间内,执行指定次数的写操作,将内存中的数据集写入磁盘中,默认采用;布隆过滤器(由初始值为0的位图数组和N个哈希函数组成,一个KEY有N个哈希值,将N个哈希值散列后设置为1,查询时若都为1,这个值存在)String:(SDS封装、最大512M、二进制安全、内部编码有int(8字节长整型)、embstr(<=39字节字符串)、raw(>39字节字符串)),场景:分布式锁,共享session等。缓存雪崩:缓存中有大批量的数据同时到期,而查询数据量巨大,请求打到数据库,引起数据库压力过大;

2023-11-10 11:01:26 271

原创 谈谈Spring、 SpringMVC 、SpringBoot和 SpringCloud的区别

java面试;spring全家桶

2023-11-23 16:37:54 105

原创 主内存与工作内存数据交换八个步骤:

主内存与工作内存数据交换八个步骤;java面试

2023-11-23 16:36:33 111

原创 字节码指令分类

字节码指令分类

2023-11-22 14:03:02 195

原创 java程序是如何运行的?

java程序运行原理

2023-11-22 14:00:13 141

原创 TCP三次握手与四次挥手

TCP三次握手与四次挥手,为什么需要三次握手

2023-11-14 09:55:00 100

原创 常见的对称加密算法与非对称加密算法

非对称加密算法与对称加密算法

2023-11-14 09:53:26 58

原创 MVCC与事务及其实现原理

事务四大特性、并发事务问题、四大隔离级别、MVCC的重要属性与查询流程

2023-11-13 09:37:31 139

原创 MySQL中InnoDB的索引数据结构及优缺点

索引是用于快速查询和检索数据的数据库存储结构,保存数据库指定字段的数据位置,类似于图书目录的作用;按照存储方式分为B+树索引(对树查找,查找速度快,可用于分组和排序)和Hash索引(用于精确查找,无法进行范围查找和排序分组);按照逻辑方式分为主键索引、辅助索引(唯一索引、普通索引、前缀索引、全文索引)创建索引和维护索引需要很多时间,当对索引列的数据进行增删改时,其索引也会动态修改,降低了SQL执行效率;

2023-11-13 09:36:19 38

原创 JVM全篇

jvm全篇面试内容

2023-11-10 11:03:04 318

原创 拥塞控制与滑动窗口

拥塞控制与滑动窗口

2023-11-10 10:58:52 30

原创 Session与Cookie区别

Session Cookie

2023-11-10 10:57:20 17

原创 HTTP协议请求方式及特点

http协议

2023-11-10 10:56:13 15

原创 HTTPS工作原理

https工作原理

2023-11-10 10:55:04 16

原创 内存溢出和内存泄漏

jvm内存溢出与内存泄漏

2023-11-10 10:54:06 17

原创 JAVA-Spring框架中常用注解

Spring框架中常用注解

2022-11-18 17:39:01 229 1

原创 java指令重排,为什么重排?

java指令重排,为什么会发生指令重排

2022-11-17 17:06:58 2016

原创 适配器模式的三种实现

适配器模式三种实现方式

2022-11-16 17:24:00 562

原创 instanceof与class的区别

instanceof与class区别

2022-11-16 13:08:57 543

原创 java实例创建对象过程

java加载类,创建对象过程!值得深入了解!

2022-11-15 13:26:35 974

原创 class类加载过程中双亲委托模型

class加载过程中双亲委托模型理解

2022-11-14 14:42:17 67

原创 JAVA性能调优

java性能调优,JVM调优

2022-11-11 18:00:00 1167

原创 垃圾回收机制

垃圾回收算法

2022-11-10 16:41:20 194

原创 JVM内存模型

JVM内存模型

2022-11-09 20:37:31 115

原创 Java8新特性——Stream流实践操作

java8新特性,stream流

2022-11-07 15:36:04 180

原创 MySQL数据库请求底层执行过程

MySQ底层执行逻辑如何保证数据一致性

2022-11-06 12:35:34 628 1

原创 MySQL数据库常见函数与基础操作

1.AVG():AVG ()函数返回数值列的平均值。NULL 值不包括在计算中。SELECT AVG(字段名) FROM 表名2.COUNT():COUNT() 函数返回指定列的值的数目(NULL 不计入)。SELECT COUNT(字段名) FROM 表名3.FIRST():FIRST() 函数返回指定的字段中第一个记录的值。SELECT FIRST(字段名) FROM 表名4.LAST() :LAST()函数返回指定的字段中最后一个记录的值。SELECT LAST(字段名)

2021-10-27 19:56:26 72

原创 JAVA中常见锁的个人理解整理

公平锁/非公平锁 · 可重入锁 · 独享锁/共享锁 · 互斥锁/读写锁 · 乐观锁/悲观锁 · 分段锁 · 偏向锁/轻量级锁/重量级锁 · 自旋锁这些分类并不是全是指锁的状态,有的指锁的特性,有的指锁的设计,下面总结的内容是对每个锁的名词进行一定的解释。公平锁/非公平锁公平锁是指多个线程按照申请锁的顺序来获取锁。非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。有可能,会造成优先级反转或者饥饿现象。对于Java...

2021-10-25 08:50:34 65

原创 TomCat启动时,加载Spring容器的过程

1、Tomcat(Servlet3.0规范的web容器)启动时,会查找ServletContainerInitializer接口实现类;2、Spring框架提供了一个SpringServletContainerInitializer类,实现了ServletContainerInitializer接口。在这个类中的onStartup()方法,需要一个Set<Class<?>>webAppInitializerClasses类型的参数,也就是WebApplicationIniti..

2021-10-22 10:11:30 392

原创 SpringMVC执行的大致过程

1.客户端发起请求到DispatcherServlet,DispatcherServlet再根据请求调用HandlerMapping处理器映射器,请求获取Handler;2.HandlerMapping处理器映射器根据请求的URL找到具体的处理器Handler,生成处理器对象及处理器拦截器,一并返回到DispatcherServlet;3.DispatcherServlet调用HandlerAdapter处理器适配器,请求执行Handle;4.HandlerAdapter经过适配调用具体处理器进

2021-10-22 09:55:51 42

原创 final,finally,finalize的区别

final用于声明变量,方法和类;修饰的变量叫常量,必须进行初始化,在初始化之后就不能修改;修饰的方法是最终方法,该方法不能重写,可以重载;修饰的类为最终类,不能被继承;finally是异常处理机构体系的一部分,无论是否捕获到异常,finally中的代码块总是会执行finalize是Object类的一个方法,在垃圾收集器执行的时候,会调用被回收对象的finalize()方法,供给垃圾收集时执行其他资源回收的操作,如关闭文件,释放连接等等...

2021-10-21 17:53:24 62

原创 设计模式之责任链

最近在学习设计模式,感觉这个责任链挺不错,可以让我们少写一些if,switch之类的语句,让我们代码看起来更加高大上,我写出来供大家参考;我写的是一个审批报销责任链,由发起者,部门经理,区域经理,CEO三个处理者组成,部门经理限额1000内,区域经理限额10000内,CEO拥有无限大劝,我加了两个条件,一个是金额,一个是部门人员,只有本部门下的人员发起的报销请求,部门经理才有权限处理;客户类状态有通过,不通过,无权限三种public class Request {private String na

2021-10-20 19:52:35 70

原创 为什么要有hashcode值?

我们以HashSet如何查重来讲:当我们把对象加HashSet时,HashSet会先获取该对象的hashCode值,来计算该对象的加入位置{(n-1)&hash},同时与已经加入的对象的hashcode值做比较;若没有重复的,就正常添加;若有重复的,会调用equals()方法来检查hashcode值相等的对象内容或内存地址是否真的相同;若相同,加入操作失败;若不同就会重新散列到其他位置这样就会减少equals()的执行次数,减少性能消耗;...

2021-08-29 21:03:02 115

原创 Java中常见异常

学习Java,首先要学会能看懂控制台报错的异常类型,我写几个我平常学习中遇见过的异常1、空指针异常:NullPointerException,调用未实例化的引用,引发的异常;2、类无法找到异常:ClassNotFoundException,按照这个类的完全限定名去加载一个不存在的类,主要是在反射中经常遇见3、数字格式化异常:NumberFormatException,将字符串转为数字时,若字符串中包含非数字内容,就会引发这个异常4、下标越界异常:IndexOutOfBoundsExcepti

2021-08-22 22:23:31 198

原创 重载与重写的区别

重载:定义:同一个类中,多个同名方法根据不同传参,从而执行不同的逻辑处理发生的范围:同一个类中方法的参数列表必须不同(类型不同、个数不同、顺序不同)方法的返回值和访问修饰符可以不同,也可以相同构造方法可以被重载发生在编译期重写:定义:子类对父类方法的重写,方法的外部定义不能改变;发生范围:子类中子类的重写方法的参数列表必须与父类方法一致返回值类型、方法名、参数列表必须相同子类抛出异常范围<=父类子类的访问修饰符范围>=父类若父类的方法访问修

2021-08-20 21:05:04 59

原创 ==和equals()的区别

==是运算符:一、数值型基本数据类型用==时,比较其值是否相等;基本数值型数据类型有byte,short,int,long,double,float(注意每个数据类型的范围)。结果相同则返回true,否则返回falsepublic class test1 { public static void main(String[] args) { byte a2=123; byte b2=123; System.out.println(a2==b2);//true short s1

2021-08-19 21:36:36 128

原创 Java中常见基本数据类型与其包装类型,及其所占字节

Java中常见数据类型与其包装类型,及其所占字节基本数据类型共八种,其分为数值型与非数值型1 数值型,数值型又分为整型与浮点型;整型共四种:byte(Byte)占1个字节;short(Short)占2字节;int(Integer)占4个字节;long(Long)占8个字节,括号中的为其包装类名称;其中默认为int;若为long需要在其后面加L,因为short与byte可以由int自动向下转型,而无法自动向上转型,如long a=99999999L。浮点型有两种,分别为float(Float)占4个字节

2021-08-15 13:12:16 67

原创 HashMap的put()过程

HashMap的put()过程首先,我们要知道HashMap为键值对形式储存值,其底层采用数组+链表+红黑树的存储机制;1 判断数组table是否为空,若为空,进行初始化;不为空,利用hash方法计算key的HashCode,通过(n-1)&hash计算应当存放在数组中的下标index。2 查看数组table[index]是否存在数据,若没有数据,构造一个Node<K,V>节点,存放在table[index]中;若存在数据,则发生哈希冲突,继续判断key是否相等3 若key相等,

2021-08-15 12:38:18 710

空空如也

空空如也

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

TA关注的人

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