自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JVM学习

JVM学习1.JVM体系结构2.双亲委派机制3.沙箱安全机制3.Native4.PC寄存器(程序计数器)5.方法区6.栈7.堆7.1三种JVM7.2堆7.2.1新生区7.2.2永久区8.GC:垃圾回收9.JMM1.JVM体系结构体系项目JRE — JVM操作系统硬件体系编程流程.java—>class File—>类装载器calss Loader运行时数据区方法区 Method area (JVM调优)堆 Heap (JVM调优)99%存属性和值Jav

2022-03-14 15:16:54 373

原创 RabbitMQ学习

RabbitMQ学习1.MQ概述2.MQ的优势与劣势2.1优势2.2劣势3.常见的MQ产品4.RabbitMQ简介4.1工作模式4.2 JMS5. 快速入门5.1生产者5.2消费者6.RabbitMQ的工作模式6.1简单模式(一对一)6.2工作队列模式(一对多)6.3订阅模式(引入交换机)6.3路由模式6.4通配符模式7.RabbitMQ高级特性7.1消息的可靠性投递7.1.1确认模式7.1.2回退模式7.2Consumer Ack7.3消费端限流7.4TTL7.5死信队列(死信交换机)7.6延迟队列7.7

2022-03-12 18:20:32 1937

原创 Redis缓存问题解决

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档redis缓存问题解决一、缓存预热二、缓存雪崩三、缓存击穿四、缓存穿透一、缓存预热让redis中启动时就有一些数据(日常监控)二、缓存雪崩更多的页面静态化处理构建多级缓存架构Nginx缓存+redis缓存+ehcache缓存检测Mysql严重耗时业务进行优化对数据库的瓶颈排查,如超时查询、耗时较高事务等灾难预警机制监控redis服务器性能指标1. cpu占用、cpu使用率2. 内存容量3. 查询平均

2022-03-03 21:56:54 495

原创 redis简易操作复习

目录Nosql特征常见Nosql数据库Redis入门概念特征应用基本操作Redis数据类型业务数据特殊性Stringredis数据存储格式String类型String类型基本操作String类型数据的扩展操作String类型数据操作注意事项Hash基本操作扩展操作注意事项List基本操作扩展操作注意事项Set基本操作扩展操作注意事项sorted_set基本操作扩展操作注意事项Key的通用操作基本操作扩展操作其他操作数据库通用指令基本操作其他操作NosqlNosql即Not-OnlySQL(泛指非关系型

2022-03-02 18:24:01 354

原创 VUE生命周期

Vue 的生命周期总共分为8个阶段:创建前/后,载入前/后,更新前/后,销毁前/后。1、beforeCreate(创建前)表示实例完全被创建出来之前,vue 实例的挂载元素$el和数据对象 data 都为 undefined,还未初始化。2、created(创建后)数据对象 data 已存在,可以调用 methods 中的方法,操作 data 中的数据,但 dom 未生成,$el 未存在 。3、beforeMount(挂载前)vue 实例的 $el 和 data 都已初始化,挂载之前为虚拟的 d

2021-09-26 12:01:13 67

原创 Redis小结

redis:内存高速缓存数据库redis数据类型:String、hash、list、Setreids持久化方式:1.RDB:把当前数据生成快照保存在硬盘上。2.AOF:记录每次对数据的操作到硬盘上rabbitMQ:消息中间件,用于收发消息优点:异步消息处理业务解耦(下订单操作:扣减库存、生成订单、发红包、发短信),将下单操作主流程:扣减库存、生成订单然后通过MQ消息队列完成通知,发红包、发短信流量消峰 (通知量 消息量 订单量大的情况实现MQ消息队列机制,淡季情况下访问量会少异步调用

2021-09-26 11:56:52 66

原创 Swagger学习

Swagger1、简介号称世界上最流行的Api框架RestFul Api文档在线自动生成工具=>Api文档与Api定义同步更新直接运行,可以在新测试API接口支持多种语言1.2、实际使用在项目中使用Swagger需要Springboxswagger2ui2、SpringBoot继承Swagger导入依赖<dependency> <groupId>io.springfox</groupId> <artifact

2021-09-26 11:55:42 60

原创 SpringMVC调用流程

SpringMVC 执行流程01、用户发送出请求到前端控制器DispatcherServlet。02、DispatcherServlet收到请求调用HandlerMapping(处理器映射器)。03、HandlerMapping找到具体的控制器(可查找xml配置或注解配置),生成处理器对象的执行链(如果有),再一起返回给DispatcherServlet。04、DispatcherServlet调用HandlerAdapter(处理器适配器)。05、HandlerAdapter经过适配调用具体的处

2021-09-26 11:52:35 875

原创 Java基础总结

1.java基础知识1. 静态变量和实例变量的区别静态变量也称之为类变量,归全类共有,可以通过类名直接访问;实例变量必须依存于某一实例,只能通过对象才能访问2. List Set Map的区别List和Set继承了Collection接口,Map不是;List存放的元素是有序可重复的; Set存放的是无序不可重复的; Map中存放键值对3. String StringBuffer 和StringBuilder运行速度: StringBuilder > StringBuffer &gt

2021-09-26 11:51:11 255

原创 阿里云短信学习

阿里云短信服务了解阿里云短信权限服务开启子用户新建一个用户组(设置添加权限sms)创建一个用户(具体用来操作的账号)得到AccessKey(id 密码)注意!要将账号保存下来开通阿里云短信服务找到短信控制台面板(搜索)找到帮助文档添加短信模板短信具体内容等待审核通过(正当理由)添加签名公司名称等待审核通过(正当理由)编辑测试代码新建SpringBoot项目导入依赖 <!--控制短信--> &

2021-09-26 11:50:07 57

原创 SpringBoot自动装配原理

Springboot自动装配原理Springboot在启动的时候,从类路径下/META-INF/spring.factories获取指定的值将这些自动配置的类导入容器,自动配置就会生效,进行自动配置以前需要自动配置的东子,现在Springboot帮我们自动配置整合JavaEE,解决方案和自动配置的东西都下Spring-boot-autoconfigure-xxx.jar这个包下它会把所有需要导入的组件以类名的方式返回,这些组件就会被添加到容器容器中就有很多xxxxAutoConfigurati

2021-09-26 11:48:56 56

原创 mysql面试题学习

1、索引的基本原理索引用来快速的寻找哪些具有特定值的记录。如果没有索引,一般来说执行查询时遍历整张表。索引原理把创建了索引的列的内容进行排序对排序结果生成倒排表在倒排表内容上拼上数据地址链在查询的时候,先拿到倒排表内容,再取出数据地址链,从而拿到具体数据hash索引、b+树索引2、MySQL聚簇和非聚簇索引的区别都是B+树定义聚簇索引将数据存储与索引放到了一起,并且是按照一定顺序组织的,找到索引也就找到了数据,数据的物理存放顺序与索引顺序是一致的,即,

2021-09-26 11:48:02 54

原创 Mybatis查缺补漏

1、简介什么是Mybatis?MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。历史MyBatis 本是apache的一个开源项目iBatis,2010年这个项目由apache softwa

2021-09-09 22:51:45 222

原创 Spring学习

1、Spring1.1、简介SpringSpring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架目的解决企业级应用开发的复杂性功能使用基本的JavaBean代替EJB,并提供了更多的企业应用功能范围任何Java应用理念使现有技术更加容易使用SSM Struct2 + Spring + HibernateSSH SpringMvc + Spring + Mybatis1.2、Spring优点Spring是一个开源的免费

2021-09-09 22:50:28 120

原创 Spring面试题学习

Spring面试题学习1、Spring是什么?2、Spring的优缺点是什么?3、谈谈你对AOP的理解4、谈谈你对IOC的理解5、BeanFactory和ApplicationContext有什么区别?6、描述一下Spring Bean的生命周期7、解释下Spring支持的几种Bean的作用域8、Spring框架中的单例Bean是线程安全的么?9、Spring框架中都用到了哪些设计模式10、Spring事务的实现方式和原理以及隔离级别11、Spring事务传播机制12、Spring事务什么时候会失效13、什

2021-09-09 22:48:34 188

原创 多线程学习

1、线程创建方法继承Thread类实现Runable接口实现Callable接口线程池创建(推荐使用)3大方法,7大参数,4种拒绝策略最好不要使用Excutors创建线程,可能会出现OOM内存泄漏,有资源耗尽的风险,而是通过ThreadPoolExecutor的方式2、线程停止_stop/destorystop/destroy 不建议使用推荐使用外部标记位进行种植变量,让线程自己停下3、线程休眠_sleepsleep模拟网络延迟,放大异常发生性倒计

2021-09-02 21:31:10 54

原创 注解和多线程学习

1、注解Annotation是从JDK5.0开始引入的新技术Annotation的作用不是程序本身,可以对程序做出解释(这一点和注释(comment)没什么区别)可以被其他程序读取(比如: 编译器)Annotation的格式:注解是以"@注释名"在代码中存在的,还可以添加一些参数值Annotation在哪里使用?可以附加在package,class,method,field等上面,相当于给他们添加了额外的辅助信息,我们可以通过反射机制编程实现对这些元数据的访问

2021-09-02 21:30:09 111

原创 JUC学习

1、线程和进程线程、进程线程:一个程序一个进程往往包含很多线程,至少包含一个java默认有两个线程:main、GC线程:线程是进程中的实际运作单位,是操作系统能够进行运算调度的最小单位Java真的能开启线程吗?不能,java不能直接操作硬件Thread中的start方法是一个同步方法,调用时会将此线程加入线程组,然后调用start0方法,start0方法是一个本地方法//本地方法,调用底层的C++,Java运行在虚拟机,不能直接操作硬件priavte native

2021-09-02 21:29:29 370

原创 索引、视图、sql优化

索引、视图、sql优化数据库索引数据库视图sql优化数据库索引索引是为了提高数据的查询速度,相当于给数据进行编号,在查找数据的时候可以通过编号快速找到对应的数据,索引是帮助mysql高效获取数据的数据结构索引的分类主键索引(PRIMARY KEY)唯一的标识,主键不可重复,只能有一个列作为主键唯一索引(UNIQUE KEY)避免重复的列出现,可以重复,多个列都可以标识为唯一索引常规索引(KEY/INDEX)默认,index/key关键字全文索引(FULLTEXT)特定的数据库引擎下

2021-08-17 20:32:46 151

原创 面试题学习

面试题学习1. ArrayList和LinkedList的区别?2.说一下HashMap的Put方法3.介绍一下Spring,并说出大致流程1. ArrayList和LinkedList的区别?首先,他们的底层数据结构不同,ArrayList底层是基于数组实现的,LinkedList底层是基于链表实现的由于底层数据结构不同,他们所使用的场景也不同,ArrayList更适合随机查找,LinkedList更适合删除和添加,查询、添加、删除的时间复杂度不同另外ArrayList和LinkedList都是

2021-08-13 22:39:49 107

原创 微服务入门学习

1.微服务是什么2.为什么用微服务3.微服务的特点4.选用的框架

2021-07-29 21:56:11 223

原创 集合、映射

文章目录一、集合1. List2. Set二、泛型1. 泛型擦除(编译时期)2. 泛型上下限三、映射(Map一、集合顶级接口是Collection,子接口List、Set、Queue1. List有序、存储重复元素ArrayList—底层基于数组实现,默认初始容量为10,且每次扩容一半。增删效率低,查询效率高LinkedList—底层基于节点,通过地址值指向来维系节点。增删效率高,查询效率低Vector—最早的集合类,底层基于数组实现,初始容量为10,每次扩容默认翻倍。Stack—继承于V

2021-01-14 15:34:07 367 2

原创 查找不含有重复字符的最长子串的长度

给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。 public static int lengthOfLongestSubstring(String s) { int rs = 0; int[] last = new int[128]; for (int i = 0; i < 128; i++) { last[i] = -1; } int start = 0; for

2020-12-07 20:42:26 467

原创 (位移运算)两数相除

public int divide(int dividend, int divisor) { int rs = 0; if (dividend==0){ return 0; } if (dividend==Integer.MIN_VALUE&&divisor==-1){ return Integer.MAX_VALUE; } boolean flag

2020-12-02 22:32:13 180

原创 JAVA基础知识扫盲(三)

JAVA小白基础知识扫盲(三)文章目录JAVA小白基础知识扫盲(三)一、引用(变量 常量)?1. 概念2. 变量格式3. 常量格式二、数据类型1.基本数据类型八大数据类型(四类八种)2.引用数据类型(复杂数据类型)一、引用(变量 常量)?1. 概念可以通过一个自定义的名称来指向具体的数据值变量:引用可以发生变化的量常量:引用不可以发生变化的量Java是一门强类型的编程语言,对数据类型校验非常严格2. 变量格式数据类型 引用名(变量名) = 初始化值;int age = 16

2020-10-13 18:56:05 117

原创 JAVA基础知识扫盲(二)

JAVA小白基础知识扫盲(二)文章目录JAVA小白基础知识扫盲(二)一、码表?1. ASCII(最初期)2. GB2312(兼容ASCII码表)3. GBK(兼容ASCII码表 兼容GB2312)4.Unicode编码规则(兼容ASCII码表 几乎涵盖各个国家的字符码表)4. 乱码二、字面值1.数值型字面值2.字符型字面值3.字符串字面值4.布尔型字面值一、码表?在计算机中无论是存储数据还是计算都是基于二进制的;码表规定了字符和整数编号的映射关系1. ASCII(最初期)一个字节来存储字符

2020-09-28 20:47:41 117

原创 JAVA基础知识扫盲(一)

JAVA小白基础知识扫盲文章目录JAVA小白基础知识扫盲一、Java特点?二、跨平台?三、Java环境1.JVM、JRE、JDK2.下载JDK的安装包2.安装及其配置JDK一、Java特点?简单安全开源面向对象跨平台二、跨平台?平台操作系统看做一个平台Windows、Android、Mac、Linux、ios 问题使用不方便时间、人员、成本较高原因C语言不跨平台概念JAVA程序无需修改代码就可以在任意一个系统上运行原理jvm(java虚拟机)是跨平台的核心

2020-09-23 20:35:12 131

空空如也

空空如也

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

TA关注的人

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