- 博客(25)
- 资源 (1)
- 收藏
- 关注

原创 Cookie与Session的简单原理!
什么是Cookie?是服务器通知客户端保存键值对的一种技术。客户端有了cookie后每次请求都会发送给服务器。每个cookie的大小不能超过4kb.
2020-08-05 15:52:05
432

原创 Java理论基础&&个别常见面试题基础^^
******理论基础***java语言的特点是什么? 面向对象,跨平台性,安全性,垃圾回收机制1、java虚拟机机制:jvm是一个虚拟的计算机,负责执行指令,管理数据内存,寄存器对于不同的平台有不同的虚拟机java虚拟机屏蔽了底层运行平台的差别,实现了‘一次编译,到处运行’。2、垃圾回收(收集)机制不再使用的 内存空间 应该被 回收1在...
2020-03-29 17:31:49
592
原创 Redis应用问题解决(必看!
1.缓存穿透:描述:解决方案:2.缓存击穿描述某一Key对应的数据存在,但在Redis中过期,此时若有大量并发请求过来,这些请求发现缓存过期一般会从后端数据库加载数据并回设到缓存,这个时候大并发的请求可能会瞬间吧数据库压垮。解决方案:使用锁 肯定会降低效率3.缓存雪崩:问题描述:在极少时间段内,大量key的集中过期解决方案:...
2021-06-01 16:58:30
182
原创 Redis6主从复制(简洁版
Redis6的主从复制:主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,master以写为主,slaver以读为主.配置一主多从:
2021-05-30 21:59:41
229
原创 Redis持久化操作
Redis提供了2个不同形式的持久化操作1.RDB如何执行的?:save与bgsave:flushall:会产生dump.rdb文件,但里面是空的 无意义Fork:RDB的备份:RDB的优势:劣势:2.AOFAOF即(append only file)AOF持久化流程:AOF默认不开启若RDB与AOF同时开启,系统默认取AOF的数据(数据不会存在丢失)AOF的恢复异常恢复:AOF同步频率设置:Rewrite压缩:重写流程:AOF
2021-05-28 17:00:47
129
原创 Redis事务操作和锁机制
什么是Redis的事务:Multi, Exec, discard:解决事务冲突问题:悲观锁:乐观锁:例如抢票问题watch KeyunwatchRedis事务的三特性:
2021-05-28 15:32:15
181
原创 Redis入门详解(必看)!!!
NoSQL可以减少CPU以及IO的压力,直接通过内存进行读取NoSQL作为缓存使用,提高访问速度,减少IO的读操作
2021-05-22 09:54:15
92
原创 Swagger入门基础(必看)
什么是Swagger?:Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步优势:Swagger主要项目:Swagger-tools:提供各种与Swagger进行集成和交互的工具。例如模式检验、Swagger 1.2文档转换成Swagger 2.0文档等功能。Swagger-core: 用于Java
2021-05-09 11:12:59
610
原创 初识JWT(JSON Web Token)
什么是JWT?:JSON Web Token (JWT)是一个开放标准(RFC7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任,因为它是数字签名的优点:1 因为json的通用性,所以JWT是可以进行跨语言支持的,像JAVA,JavaScript,NodeJS,PHP等很多语言都可以使用。2 因为有了payload部分,所以JWT可以在自身存储一些其他业务逻辑所必要的非敏感信息。3 便于传输,jwt的构成非常简单,字节占用很小
2021-05-07 10:24:52
133
原创 Java的IO机制
输入流:只能从中读数据输出流:只能向文件中写数据字节流和字符流的用法几乎完成全一样,区别在于字节流和字符流所操作的数据单元不同,字节流操作的单元是数据单元是8位的字节,字符流操作的是数据单元为16位的字符。BIO:交互的方式是同步、阻塞方式,也就是说在读入输入流或者输出流时,在读写动作完成之前,线程会一直阻塞在那里,它们之间的调用时可靠的线性顺序。它的有点就是代码比较简单、直观;缺点就是 IO 的效率和扩展性很低,容易成为应用性能瓶颈。NIO:可以构建多路复用的、同步非阻塞 IO 程序,
2021-04-14 17:13:25
143
原创 Linux基础及 实用指令(常用)
指定运行级别:一共七个运行级别,0:关机1:单用户(找回丢失的密码)2: 多用户无网络服务3: 多用户有网络服务4:保留5:图形界面6:重启运行级别配置文件/etc/inittab指令:init X(0,1,2 ,3,5,6)帮助指令:当我们对某个指令不熟悉时,可以使用帮助指令,文件目录类:...
2021-01-14 21:10:21
330
1
原创 SpringBoot精简二(日志)
市面上的日志框架:JUL,JCl,Jboss-logging,logback,log4j,log4j2,slf4j…
2020-11-24 16:49:03
199
原创 SpringBoot精简一(配置)
1.简化Spring应用开发的一个框架2.整个Spring技术栈的一个整合3.JavaEE一站式解决方案优点:微服务简介:一个应用应该是一组小型服务;可以通过HTTP的方式进行互通每一个功能元素最终都是一个可独立替换和独立升级的软件单元...
2020-11-20 10:40:01
553
2
原创 !!MyBatis(基础)!!
表现层业务层持久层Mybatis:是java的持久层框架,用java编写。它封装了jdbc的很多细节,使开发者只用关注SQL语句本身,而无需关注注册驱动,创建连接等繁杂过程它使用了ORM思想实现了结果集的封装ORM:对象关系映射,即把数据库中的表和实体类,实体类的属性对应起来使我们可以通过操作实体类就实现操作数据库。Mybatis环境搭建:...
2020-08-22 15:21:57
126
原创 Filter!ThreadLocal!
1.是JAVAWEB的三大组件之一:Servlet程序,listener监听器,Filter过滤器.2.Filter过滤器是JAVAEE的规范,也就是接口。3.Filter过滤器它的作用是:拦截请求,过滤响应。拦截请求的常用应用场景:1权限检查,2日记操作,3事务管理等等。...
2020-08-13 11:00:24
314
原创 HashMap的底层实现!!!
JDK7:HashMap map=new HashMap();在实例化之后,底层创建了长度为为16的Entry[ ] table。map.put(key1,value1);首先,调用key1所在类的hashcode()方法得出key1的哈希值,此哈希值经过某种算法运算获得在Entry数组中的存放位置。如果此位置为空,此时Entry添加成功。如果此位置不为空(意味着此位置上有一个或多个数据(以链表形式存在)),比较key1与当前位置上数据的哈希值,如果1:key1的哈希值与已经存在数据的哈希值都
2020-05-10 16:05:22
206
原创 Map接口理论
Map中的Key是无序的,不可重复的,使用Set存储所有的Key。Map中的value是无序的,可重复的,使用collection存储所有的value。一个键值对构成了一个(key-value)—>Entry对象Map中的Entry是无序的,不可重复的,用Set存储...
2020-05-09 15:37:37
215
原创 Set接口知识点
无序性 :不等于随机性,存储数据在底层中并非按照数组的索引的顺序添加,而是根据数据的哈希值的决定的。不可重复性: 相同的元素只能添加一个HashSet的底层是数组+链表的形式,底层即为HashMap散列码即为哈希值对于频繁的遍历操作,使用LinkedHashSet比HashSet效率要高向TreeSet中添加的数据要求是同一个类的对象...
2020-05-09 12:13:39
177
原创 ArrayList&&Linked&&Vector的底层源码分析
ArrayList:JDK7中其底层数据的存储是由Object[]数组实现的,默认的elementData数组容量为10,如果超过10,则会进行扩容为原1.5倍,数据会copy到扩容完的数组中。JDK8中才开始,elementData初始化为{ },并没有创建长度为10的数组,而在第一次调用list.add()方法时才创建了长度为10的数组,其后与JDK7无异JDK7的对象的创建类似于单...
2020-05-07 10:44:58
187
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人