- 博客(56)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【Spring篇】Spring的三大特性
文章目录使用spring的好处spring的使用步骤Spring的三大特征反射动态代理的分类与区别Spring中的设计模式前置-环绕-最终-后置 通知(Spring的通知)声明式事务(Spring的事务)spring的注解有哪些BeanFactory 常用的实现类有哪些?Spring bean 的生命周期ApplicationContext 的实现类有哪些?BeanFa...
2020-12-15 09:37:27
19982
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【SSH拉取代码】使用SSH克隆代码那些事
1、首先,先要下载git的客户端。网盘下载:链接:https://pan.baidu.com/s/1WSkL293Y2sCill-DnMEE5Q提取码:u4ma官网下载:https://git-scm.com/downloads2、在桌面上任意位置右击鼠标,显示下图图片证明git安装成功。3、安装成功之后,如果想要按照SSH方式进行代码的拉取时,可以使用黑窗口按照下面步骤进行操作...
2020-01-31 12:58:07
4892
原创 【JVM篇】判断对象是否可回收
文章目录判断对象是否可回收的算法如何判断一个对象到底是生存还是死亡:元空间:引用:判断对象是否可回收的算法1、引用计数算法: 优点: 实现简单;判定效率高。 原理: 给对象添加一个引用计数器,有一个地方引用,计数器值加1;引用失效,计数器值减1。计数器值为0的对象不能使用。 问题: 很难解决对象之间相互循环引用的问题。(两个相互引用的对象,但都和其他对象都没有引用) 因为它们相互引用着对方,它们的引用计数都不为0,所以引用计数法无法回收它们。 2、可达性
2022-04-18 15:28:22
988
原创 【JVM篇】虚拟机对象的创建
文章目录创建对象:分配内存:两种分配方式:java堆是否规整:采用指针碰撞:采用空闲列表:需要考虑的问题:创建对象:虚拟机遇到一条字节码new指令时,先去检查这个指令的参数是否能在常量池中定位到一个类的符号引用;并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,必须先执行相应的类加载过程。类加载通过后,虚拟机将为新生对象分配内存。分配内存:两种分配方式:(1)指针碰撞: java堆中的内存绝对规整。 所有使用过的内存放在一边,所有未使用过的内存放在另一边;中间放一
2022-04-15 20:21:05
592
原创 【JVM篇】运行时数据区域
文章目录运行时数据区域:内存溢出和内存泄漏:运行时数据区域:1、程序计数器: 线程私有。 为了线程切换后,恢复到正确的执行位置。 不会出现OutOfMemoryError。2、虚拟机栈: 线程私有。 生命周期与线程相同。 服务于字节码文件。(.class文件) 会出现两种情况: 栈内存溢出StackOverFlowError: 发生于方法的无限递归调用。 内存溢出OutOfMemoryError: 程序在申请内存后,无法释放已申请的内存。3、本
2022-04-13 20:55:21
301
原创 【spring篇】对spring循环依赖的理解
文章目录spring循环依赖循环依赖的产生注入方式构造循环依赖解决思路构造循环依赖解决原理spring三级缓存哪三级缓存三级缓存都存放了哪些东西只有一级缓存只有二级缓存为什么需要三级缓存spring循环依赖循环依赖的产生(1) 在spring中,spring bean对象默认是一个单例对象。(2)bean的创建过程:创建、注入、初始化。(3)A对象中有个b属性,B对象中有个a属性。在创建A对象的时候,需要给b属性赋值;在创建B对象的时候,需要给a属性赋值。注入方式(1)set注入(sp
2022-03-29 23:00:22
402
原创 【volatile】volatile关键字的认识
volatile关键字的认识volatile关键字机器硬件CPUCPU Cache模型原因解决流程CPU缓存一致性问题问题复现:i++操作解决java内存模型并发编程的三个重要特性JMM如何保证三大特性原子性:可见性有序性volatile关键字的语义volatile的原理和实现机制可见性有序性volatile使用的场景volatile和synchronizedvolatile关键字只能修饰:类变量和实例变量。不能修饰:方法参数,局部变量,实例常量,类常量。机器硬件CPUCPU Cache模型
2021-09-07 15:58:20
207
1
原创 【redis】- 缓存击穿、缓存穿透、缓存雪崩
对缓存击穿、缓存穿透、缓存雪崩三者的区分缓存穿透概念后果解决方案方案一方案二缓存击穿概念后果解决方案缓存雪崩概念原因后果解决方案缓存穿透概念查询一个不存在的数据,缓存未查到之后就去数据库查询;查不到数据就不写入缓存,导致每次查询这个数据都会从数据库查。后果如果有些不怀好意的人,利用这个不存在的数据,频繁大量的访问你的数据库,产生大量的请求,极有可能导致你的数据库异常访问不了、数据库宕掉。解决方案方案一缓存空对象:缓存空对象导致的问题:1、空值做了缓存,意味着缓存层中存了更
2021-08-30 14:40:51
90
原创 【mysql】mysql索引简单小总结
索引:聚集索引,辅助索引。本质区别:叶子节点存放信息不一样。聚集索引叶子节点存档的是一整行的信息。辅助索引存放的是索引值信息。辅助索引查询的时候需要回表(覆盖索引的时候不需要回表)。哪些时候不走索引:(索引失效)模糊查询:%加在前面。or操作。in包含两个及以上(一个走索引)。order by 操作:排序的列同时也在where中。使用全表扫描比使用索引快。查询中没有用到联合索引的第一个字段。where条件:加not null。类型转换(需要查询的字段的类型为integer,但是whe
2021-07-28 13:20:22
74
原创 【SSM整合篇】Spring + SpringMVC + Mybatis
1、搭建整合环境2、Spring框架代码的编写3、Spring整合SpringMVC框架4、Spring整合MyBatis框架
2021-06-24 10:47:29
55
原创 【Spring MVC篇】对SpringMVC的小了解1
1、常用注解(RequestParam、RequestMapping、RequestBody、PathVariable、RequestHeader、CookieValue、ModelAttribute、SessionAttributes)2、请求参数的绑定3、响应数据和结果视图4、SpringMVC的异常处理
2021-05-24 22:42:39
83
原创 【Spring MVC篇】SpringMVC入门小案例
1、创建WEB工程,引入开发的jar包2、配置核心的控制器3、编写springmvc.xml的配置文件4、编写index.jsp和HelloController控制器类5、在WEB-INF目录下创建pages文件夹,编写success.jsp的成功页面6、启动Tomcat服务器,进行测试7、入门案例的执行过程分析...
2021-05-17 20:57:26
141
原创 【spring篇】聊聊spring那些事
文章目录聊聊对spring的理解spring的优缺点spring三大特征spring内使用的设计模式聊聊对spring的理解spring是一个开源的轻量级框架;以IOC(Inverse Of Control:控制反转)和AOP(Aspect Oriented ProGramming:面向切面编程)为内核的企业级应用框架。...
2021-04-06 20:56:06
49
原创 Oauth2授权码模式
Oauth2授权码模式Oauth2授权模式授权码授权流程申请授权码申请令牌资源服务授权资源服务授权流程资源服务授权配置资源服务授权测试解决swagger-ui无法访问Oauth2授权模式1、授权码模式Authorization Code;2、隐式授权模式Implicit;3、密码模式Resource Owner Password Credentials;4、客户端模式Client Credentials。授权码授权流程1、客户端请求第三方授权;2、用户(资源拥有者)同意给客户端授权;
2021-03-27 17:20:28
367
1
原创 单点登录与Oauth2协议
对单点登录与Oauth2协议的了解单点登录Oauth2认证协议单点登录1、单点登录简介:(1)用于分布式系统,一次登录即可访问多个系统。(2)分布式系统要实现单点登录,通常将认证系统独立抽取出来。(3)将用户的信息存储在单独的存储介质(如:redis、mysql.考虑性能要求,通常存储在redis中).2、单点登录的流程:(1)认证系统为一个单独的系统。负责用户的认证。(2)用户请求学习系统,学习系统请求认证系统,认证用户是否登录。(3)认证系统从redis中查询用户的信息是否存在
2021-03-13 17:51:04
370
原创 【案例】斗地主案例
斗地主案例有序排列斗地主案例:public static void main(String[] args) { //准备牌 //创建一个map集合,存储牌的索引和组装好的牌 HashMap<Integer,String> pocker = new HashMap<>(); //创建一个list集合,存储牌的索引 ArrayList<Integer> pockerIndex = new A
2021-02-25 14:35:43
142
原创 【MongoDB篇】MongoDB在Windows系统的安装
前言MongoDB的下载、安装与启动MongoDB客户端工具Studio3t的安装与使用前言首次接触MongoDB是在自己业余学习的时候了解到的。接触下来之后发现,MongoDB支持MongoDB的下载、安装与启动MongoDB客户端工具Studio3t的安装与使用...
2021-01-11 19:07:45
246
原创 【SpringBoot】对SpringBoot的小了解
SpringBootSpringBoot简介SpringBoot快速入门SpringBoot简介1、SpringBoot的优点:2、SpringBoot的缺点:3、SpringBoot的特点:4、SpringBoot的核心功能:SpringBoot快速入门1、SpringBoot代码实现:(1)实现步骤:1、通过idea创建简单的maven项目;2、在项目中添加springboot的起步依赖;3、并导入web的启动依赖。(2)代码操作:添加springboot起步依赖:.
2021-01-07 11:59:29
95
原创 SpringData JPA
文章目录1、常见的ORM框架。2、SpringData JPA概述。3、SpringData JPA的特性。4、SpringData JPA的快速入门。(1)需求说明(2)开发环境(3)整合SpringData JPA与spring。(4)使用JPA注解配置映射关系。(5)完成CRUD操作。5、SpringData JPA的内部原理剖析。6、SpringData JPA的查询方式。7、Specifications动态查询。8、多表设计。9、JPA中的一对多。10、JPA中的多
2021-01-06 16:12:57
77
原创 【RabbitMQ篇-3】对RabbitMQ工作模式的小了解
文章目录RabbitMQ有哪几种工作模式发布订阅模式(publish/subscribe)模式(Routing)(Topics)(Header)(RPC)RabbitMQ有哪几种工作模式发布订阅模式(publish/subscribe)模式(Routing)(Topics)(Header)(RPC)...
2021-01-06 11:33:48
54
原创 【MyBatis篇】MyBatis入门学习
文章目录MyBatis的环境搭建MyBatis环境搭建注意事项MyBatis的设计模式MyBatis的两种实现方式MyBatis的环境搭建1、创建maven工程并导入坐标;2、创建实体类和持久层(dao)接口;3、创建MyBatis的主配置文件:SqlMapConfig.xml4、创建映射配置文件:IUserDao.xmlMyBatis环境搭建注意事项MyBatis的设计模式My...
2020-12-12 15:44:10
76
原创 【Spring Security Oauth2】
这里写自定义目录标题1、用户认证需求分析2、用户认证技术方案3、Oauth2认证4、SpringSecurityOauth2研究5、认证接口开发
2020-12-09 08:58:56
40
原创 接口开发规范及测试工具的使用
接口测试工具swagger、postman接口开发规范SwaggerPostman接口开发规范SwaggerPostman
2020-12-08 12:11:33
69
原创 【ElasticSearch】ElasticSearch入门
1、ElasticSearch介绍2、原理与应用3、ElasticSearch安装4、ES入门5、IK分词器6、映射7、索引管理8、搜索管理9、集群管理
2020-12-08 11:59:39
58
原创 map去重代码实现
对map去重的了解代码实现代码实现public static void main(String[] arg){Map<String,String> map = new HashMap<>(); map.put("11","22"); map.put("22","22"); map.put("33","33"); map.put("44","44");System.out.println("去重前" + map.toString());Map<String,St
2020-11-16 16:03:46
356
原创 设计模式 -----【让设计模式真正帮到你】
文章目录设计模式的分类面试常问问题设计模式的分类(一共有23种设计模式)1、分类:设计模式可以分为:创建型、结构型、行为型。2、创建型:(1)工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式。(2)在遇到“创建对象”的需求时,可以根据场景合理的选用创建型设计模式。3、结构型:(1)适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。(2)在构建项目中模块之间的关系时,可以根据实际需求选用一种或者多种结构型模式,提升代码的可读性和可维护性。4、行为
2020-06-15 14:01:17
58
原创 【Object类、时间日期类、System类、StringBuilder类、包装类】
文章目录Object类Date类DateFormat类Calendar类System类StringBuilder类包装类Object类概念:java.lang.Object类是java语言中的根类,即所有类的父类。其中所有的方法在子类中都能使用。(小补充:lang包下的类,无需导包,可以直接使用)。Object类有哪些方法:(API文档下载:链接:https://pan.baidu.com/s/1-DWsOTEFt6mA5C77aDSWrg提取码:njig)(1)toStri
2020-05-26 23:23:07
202
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人