自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springboot - 面试必问

springboot整合redis的两种连接方式:jedis:多线程下,非线程安全,所以使用连接池(不支持异步操作),适用springboot1.xlettuce:多线程下,线程安全,基于Netty支持异步操作,适用springboot2.x@SpringBootApplication 由哪几个注解组成:@SpringBootConfiguration里面就只有一个@Configuration主要注解 @EnableAutoConfiguration是由@AutoConfiguratio.

2021-08-21 15:26:50 72

原创 redis - 面试必问

Redis数据结构string : 一般常用在需要计数的场景,比如用户的访问次数、热点文章的点赞转发数量等等。list : 双向链表,发布与订阅或者说消息队列、慢查询。set : 无序不重复集合hash : 存储对象...

2021-08-21 15:22:48 58

原创 Mysql - 面试必问

Mysql什么情况下不走索引?SELECT `sname` FROM `stu` WHERE `age`+10=30;-- 不会使用索引,因为所有索引列参与了计算 like '%abc' 或者 like‘%abc%’ select * from dept where dname='xxx' or loc='xx' or deptno=45 --如果条件中有or,即使其中有条件带索引也不会使用 字符类型的字段与数字比较Note:例如 or 、in | not in 、is null | is n.

2021-08-21 15:19:38 58

原创 Java - 必问面试题 - 基础

Java 常用集合类有哪些?Map接口和Collection接口是所有集合框架的父接口:Collection接口的子接口包括:Set接口和List接口Set接口的实现类主要有:HashSet、TreeSet、LinkedHashSet等List接口的实现类主要有:ArrayList、LinkedLis等Map接口的实现类主要有:HashMap、TreeMap、Hashtable、ConcurrentHashMap等java 常见异常 : 空指针,数...

2021-08-21 15:11:55 63

原创 计算机网络 - 基础知识汇总

应用层:主机中正在运行的程序间的通信和交互规则。运输层:向两台主机进程之间的通信提供通用的数据传输服务。通用:多种应用程序使用同一个运输层服务。 复用:多个应用程序可以同时使用下面运输层的服务分用:运输层把收到的信息分别交付上面应用层中的相应进程传输控制协议 TCP :面向连接,可靠数据传输服务用户数据协议UDP:无连接,不可靠网络层:选择合适的网间路由和交换节点,确保数据及时传送,把运输层产生的报文段封装成分组和...

2021-08-18 10:00:27 63

原创 RabbitMq - 实战

应用场景:一些无需即时返回且耗时的操作提取出来,进行异步处理,节约服务器响应时间,提高系统的吞吐量。(例:发送邮件)邮件发送系统实战简化:导入maven依赖:<dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>5.0.0</vers.

2021-08-17 17:45:44 111

原创 Mysql 重点知识归纳总结 - 面试必备

三范式的好处:数据不会有冗余,更新操作只需要单表操作第一范式(1NF):列是原子的,不能再拆分成其他几列第二范式 (2NF):必须有一个主键,包含在主键中列必须完全依赖于主键,不能只依赖于主键的一部分。第三范式 (3NF): 非主键列必须直接依赖于主键,不能存在传递依赖。即不能存在:非主键列 A 依赖于非主键列 B,非主键列 B 依赖于主键的情况事务(ACID):一组操作,要么都执行,要么都不执行。原子性,一致性,隔离性,持久性InnoDB事务实现原理:Redo log(重.

2021-08-16 19:37:21 80

原创 java 容器,集合 - 知识点归纳

数组:固定长度,存储的数据有序,可重复,单一集合:用于存储数据的容器,灵活,存储不同类型对象List的存储顺序是按照存入的顺序来的,而Set是根据哈希值来的如何保证 HashMap 的安全:1. HashTable ; 2. ConcurrentHashMapList :有序,可重复ArrayList : Object [] 数组,支持随机访问,查询快,增删慢,线程不安全LinkedList : 双向链表,查询慢,增删快,线程不安全Set ...

2021-08-14 17:27:45 81

原创 Redis 基础知识汇总

事物四大特性:原子性(Atomicity):事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用; 隔离性(Isolation):并发访问数据库时,一个用户的事务不被其他事务所干扰,各并发事务之间数据库是独立的; 持久性(Durability):一个事务被提交之后。它对数据库中数据的改变是持久的,即使数据库发生故障也不应该对其有任何影响。 一致性(Consistency):执行事务前后,数据保持一致,多个事务对同一个数据读取的结果是相同的;Redis 是不...

2021-08-12 14:53:40 57

原创 linux 知识汇总 - 详解

操作系统:管理计算机硬件与软件资源的程序,操作系统内核负责系统的内存管理,硬件设备管理,文件系统的管理以及应用程序的管理。系统调用:用户态(user mode): 用户态运行的进程或可以直接读取用户程序的数据。系统态(kernel mode): 可以简单的理解系统态运行的进程或程序几乎可以访问计算机的任何资源,不受限制。运行用户程序中,凡是与系统态级别的资源有关的操作(如文件管理,进程控制,内存管理等),都必须通过系统调用方式向操作系统提出服务请求,并由操作系统代为完成。Linux ..

2021-08-11 14:52:19 71

原创 GO 基础,难点 - 详解

var f string = "Runoob" 简写为 f := "Runoob"变量 f 之前未被声明过,只能用在函数体内,不可用于全局变量的声明与赋值Go函数可以返回多个值 : return 1,2如果接口只包含一个方法,接口名字要以er结尾。例:type Matcher interface{}同一个目录下的所有.go文件必须声明同一个包名Import 编译器先在GO的安装目录找(标准库源),然后才在GOPATH变量目录找(个人工作空间);其中一个满足就停止继续查找。方.

2021-08-09 20:17:09 212

原创 JVM - 垃圾回收 详解

Java 堆是垃圾收集器管理的主要区域,也叫GC堆。现在收集器基本都采用分代垃圾收集算法,所以 Java 堆还可以细分为:新生代和老年代:再细致一点有:Eden 空间、From Survivor、To Survivor 空间判断对象已经死亡:引用计数法:不常用,弊端 两对象互相引用,与其他对象无任何引用,导致计数器不为0. 可达性分析算法:当一个对象到 GC Roots 没有任何引用链相连的话,则证明此对象是不可用的。强引用:必不可少,即使内存不足,垃圾回收器也不会随意回收。

2021-07-29 14:02:13 82

原创 JAVA - 内存区域 - 详解

程序计数器:代码流程控制(顺序,选择,循环);线程切换时标记当前线程执行位置。Java虚拟机栈:存放局部变量,对象引用,每次方法调用的数据都是通过栈传递;随着线程创建而创建,随着线程死亡而死亡。本地方法栈:存放本地方法的局部变量,操作数栈等,与虚拟机栈类似。堆:存放对象实例以及数组。垃圾收集器管理的主要区域。对象都会首先在 Eden 区域分配,在一次新生代垃圾回收后,如果对象还存活,则会进入 s0 或者 s1,并且对象的年龄还会加 1(Eden 区->Survivor...

2021-07-28 14:49:15 45

原创 I/O模型 详解

根据冯.诺依曼结构,计算机结构分为 5 大部分:运算器、控制器、存储器、输入设备、输出设备。用户空间 ---> 操作系统 ---> 内核空间IO 模型一共有 5 种:同步阻塞 I/O、同步非阻塞 I/O、I/O 多路复用、信号驱动 I/O和异步 I/O。java 中的 I/0 : BIO , NIO , AIO同步阻塞IO模型:应用程序发起 read 调用后,会一直阻塞,直到在内核把数据拷贝到用户空间。(客户端连接数了不高的情况下使用)同步非阻塞IO模型:...

2021-07-27 11:29:42 217

原创 java - 多线程 详解

进程:操作系统资源调度的基本单位(独立地址空间,资源)线程:任务调度执行的基本单位(cpu调度和分派的基本单位)并发:同一时间段,多个任务都在执行(单位时间内不一定同时执行)并行:单位时间内多个任务同时执行。为什么使用多线程:多核CPU意味着多个线程可以同时运行,减少线程上下文切换的开销。线程同步: 当一个线程对内存操作时,其他线程不可以对这个内存地址操作,直到该线程完成操作。加锁:synchronized(使用场景:代码块和方法),解决的是多个线程之间访问资源的同步性.

2021-07-26 15:28:58 63

原创 java - 注解 + AOP 保存操作记录

定义注解@Target({ElementType.PARAMETER, ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface OperationLog { /** * 方法描述,可使用占位符获取参数:{{tel}} */ String detail() default ""; /** * 日志等级:自己定,此处分为1-9

2021-07-23 15:18:46 282 3

原创 Shiro整合Spring boot

shiro是一个轻量级用户角色,权限管理框架(根据路径管理),功能简单,配置简单。导入依赖<!-- Shiro整合Spring --><dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.5.3</version></depend

2021-07-22 16:20:35 44

原创 java == 和 equals 详解

对于基本数据类型来说,==比较的是值。对于引用数据类型来说,==比较的是对象的内存地址。因为 Java 只有值传递,所以,对于 == 来说,不管是比较基本数据类型,还是引用数据类型的变量,其本质比较的都是值,只是引用类型变量存的值是对象的地址。equals()作用不能用于判断基本数据类型的变量,只能用来判断两个对象是否相等String中的equals方法是被重写过的,因为Object的equals方法是比较的对象的内存地址,而String的equals方法比较的是对象的值...

2021-07-21 16:59:51 132

空空如也

空空如也

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

TA关注的人

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