自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第304天学习打卡(知识点回顾 队列和栈)

知识点回顾队列队列是一种先进先出的数据结构,数组和链表都可以生成队列。栈栈是操作系统在建立某个进程或者线程(在支持多线程的操作系统中是线程),该区域是后进先出。队列和栈是描述数据存取方式的概念,队列是先进先出,而堆栈是后进先出;队列和栈都可以使用数组或者链表实现...

2021-11-08 22:34:16 418

原创 第303天学习打卡(知识点回顾 jvm)

知识点回顾JVMJVM: Java虚拟机JVM运行程序的实体是线程,而每个线程创建时JVM都会为其创建一个工作内存,工作内存是每个线程的私有数据区域,而java内存模型中规定所有变量都存储在主内存中,主内存是共享内存区域,所有线程都可以访问,但线程对变量的操作(读取赋值)必须在工作内存中进行,首先要将变量从主内存拷贝到自己的工作内存区间,然后对变量进行操作,操作完成后再将变量写会主内存,不能直接操作主内存中的变量,各个线程中的工作内存中存储着主内存中的变量副本拷贝。因此不同线程无法访问对方工作内存,线

2021-11-07 22:39:38 275

原创 第302天学习打卡(知识点回顾 arraylist 和 linkedlist 区别)

知识点回顾ArrayList 和 LinkedList区别ArrayList 是基于动态数组实现的,LinkedList是基于双向链表实现的ArrayList支持随机访问,查询速度快,LinkedList访问数据的平均效率低,需要对链表进行遍历ArrayList删除和插入非尾部元素时候代价高,需要移动大量元素,LinkedList的删除和插入只需要改变指针...

2021-11-06 22:30:59 274

原创 第301天学习打卡(知识点回顾 DNS解析域名过程)

知识点回顾DNS解析域名过程当根域名服务器收到本地域名服务器发出的查询请求报文时,要么给出所要查询的IP地址,要么告诉本地服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地服务器进行后续的查询。根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地服务器下一步应当向哪一个权限域名服务器进行查询。最后,知道了所要解析的IP地址或报错,然后把这个结果

2021-11-05 22:39:17 765

原创 第300天学习打卡(知识点回顾 hashmap如何实现线程安全)

知识点回顾hashmap如何实现线程安全使用hashtable类使用concurrenthashmap使用Collections.synchronizedMap()

2021-11-04 22:26:48 84

原创 第299天打卡(知识点回顾 Mybatis中的 ${ } 和 #{ }的区别)

知识点回顾Mybatis中的 ${ } 和 #{ }的区别#是将传入的值当做字符串的形式, 使用#可以很大程度上防止sql注入。(语句的拼接)$是将传入的数据直接显示生成sql语句

2021-11-03 22:37:00 71

原创 第298天学习打卡(知识点回顾 springboot核心注解 spring bean的生命周期)

知识点回顾springboot的核心注解@springbootApplication,它是Spring Boot的核心注解,主要包含以下三个注解SpringBootConfiguration: 组合了@Configuration注解,实现配置文件的功能@EnableAutoConfiguration:打开了自动配置的功能@ComponentScan:spring 组件扫描Spring bean的生命周期实例化Instantiation属性赋值 Populate初始化Initializ

2021-11-02 22:39:36 115

原创 第297天学习打卡(知识点回顾 输入一个网址到展示过程)

知识点回顾输入一个网址到展示的过程输入网址缓存解析: 浏览器获取这个地址,查看缓存(浏览器缓存,系统缓存,路由器缓存)中查看,如果缓存中有,就显示页面域名解析:缓存中没有,就进行DNS解析建立tcp连接:域名解析后,浏览器向服务器发起http请求,建立tcp连接。建立连接之后,浏览器就向服务器发送http请求服务器收到请求:收到浏览器请求,返回响应页面渲染...

2021-11-01 22:31:49 113

原创 第296天学习打卡(知识点回顾 TCP 和UDP)

知识点回顾TCP 和UDPTCP:传输控制协议,是面向连接的,提供可靠的支付,有流量控制,拥塞控制,提供全双工通信,面向字节流(把应用层传下来的报文看成字节流,把字节流组织成大小不等的数据块),每一条TCP连接只能点对点。UDP:用户数据报协议,无连接,尽最大可能交互,没有拥塞控制,面向报文(对于应用程序传下来的报文并不拆分,只添加UDP首部),支持一对一,一对多和多对多的交互通信。...

2021-10-31 22:42:14 74

原创 第295天学习打卡(知识点回顾 二叉树 二叉搜索树)

知识点回顾二叉树二叉树_百度百科 (baidu.com)二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个结点最多只能有两棵子树,且有左右之分 [1] 。二叉树是n个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成,是有序树。当集合为空时,称该二叉树为空二叉树

2021-10-30 22:29:12 82

原创 第294天学习打卡(知识点回顾 java基础知识)

知识点回顾java基础知识点java集合遍历方式最基础的遍历方式: for循环较为简洁的方式:使用foreach使用迭代器iterator遍历JDK和JREJDK: java Development Kit 开发工具包JRE: 运行环境

2021-10-29 22:41:35 85

原创 第293天学习打卡(知识点回顾 restTemplate)

知识点回顾RestTemplate提供了多种便捷式访问远程Http服务的方法,是一种便捷的访问restful服务模板类,是spring提供的用于访问Rest服务的客户端模板工具类。使用:使用restTemplate访问restful接口非常的简单。(url, requestMap, ResponseBean.class)这三个参数分别代表REST请求地址,请求参数,HTTP响应转换背转换成的对象类型。尚硅谷SpringCloud框架开发教程(SpringCloudAlibaba微服务分布式架构丨

2021-10-28 22:30:11 94

原创 第292天学习打卡(知识点回顾 java运行时数据区)

知识点回顾java 运行时数据区程序计数器 :程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。java虚拟机栈:与程序计数器一样,Java 虚拟机栈(Java Virtual Machine Stacks)也是线程私有的,它的生命周期与线程相同。本地方法栈 :本地方法栈(Native Method Stack)与虚拟机栈所发挥的作用是非常相似的,它们之间的区别不过是虚拟机栈为虚拟机执行 Java 方法(也

2021-10-27 22:03:15 59

原创 第291天学习打卡(知识点回顾 LRU算法)

知识点回顾LRULRU是最近最少使用,是一种常用的页面置换算法,选择最近最近未使用的数据予以淘汰。public class LRUCache{ private int capacity; private Map<Integer, ListNode>map; private ListNode head; private ListNode tail; public LRUCache(int capacity){ this.capaci

2021-10-26 22:40:26 70

原创 第290天学习打卡(知识点回顾 springboot 微服务模块的构建)

知识点回顾springboot知识点回顾微服务模块建module改pom主启动业务类建表SQLentitiesdaoservicecontroller尚硅谷SpringCloud框架开发教程(SpringCloudAlibaba微服务分布式架构丨Spring Cloud)_哔哩哔哩_bilibili...

2021-10-25 22:36:53 85

原创 第289天学习打卡(知识点回顾 SpringCloud dependencyMangement)

知识点回顾SpringCloud dependencyMangementMaven使用dependencyManagement元素来提供了一种管理依赖版本号的方式。通常会在一个组织或者项目的最顶层的父POM中看到dependencyMangement元素。使用pom.xml中的dependencyManagement元素能让所有在子项目中引用一个依赖而不显示的列出版本号。Maven会沿着父子层次向上走,直到找到一个拥有dependencyManagement元素的项目,然后它就会使用这个depe

2021-10-24 22:18:44 182

原创 第288天学习打卡(知识点回顾 java创建对象的方式 Hashtable和ConcurrentHashMap的区别 )

知识点回顾java 创建对象的方式使用new关键字使用Class 的newInstance方法使用Constructor类的newInstance方法使用clone方法使用反序列化Hashtable和ConcurrentHashMap的区别hashtable 采用synchronized类锁,效率第, concurrenthashmap 采用cas和synchronized,锁住的只是当前的bucket,不影响其他线程对递推bucket发操作,效率高hashtable使用的是数组+链

2021-10-23 22:34:40 87

原创 第287天学习打卡(知识点回顾 springcloud)

知识点回顾springcloud微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间相互协调,相互配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务之间采用轻量级机制互相协作(通常是基于HTTP协议的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应当尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言,工具对其进行构建。服务注册与发现---- 配置中心管理

2021-10-22 22:39:04 85

原创 第286天学习打卡(知识点回顾 springboot 指标监控(springboot Actuator))

知识点回顾springboot 指标监控(springboot Actuator)未来每一个微服务在云上部署以后,我们都需要对其进行监控,追踪,审计,控制等。SpringBoot就抽取了Actuator场景,使得我们每个微服务快速引用即可获取生产级别的应用监控、审计等功能。springboot Actuator 1.x支持springmvc基于继承方式进行扩展层级Metrics配置自定义Metrics收集默认较少的安全策略springboot Actuator 2.x支持sprin

2021-10-21 22:40:19 113

原创 第285天学习打卡(知识点回顾 springboot junit迁移指南 )

知识点回顾springboot 迁移指南在进行迁移的时候需要注意如下变化:注解在org.junit.jupiter.api包中,断言在org.junit.jupiter.api.Assertions类中,前置条件在org.junit.jupiter.api.Assumptions类中把@Before和@After替换成@BeforeEach和@AfterEach把@BeforeClass和@AfterClass替换成@BeforeAll和@AfterAll把@Category替换成@Disa

2021-10-20 22:40:49 77

原创 第284天学习打卡(知识点回顾 springboot Junit5 参数化测试特性)

知识点回顾springboot Junit5 参数化测试特性参数化测试是Junit5很重要的一个特性,它使得不同的参数多次运行测试成为了可能,也为我们的单元测试带来了许多便利。利用@ValueSource等注解,指定入参,我们将可以使用不同的参数进行多次单元测试,而不需要每新增一个参数就新增一个单元测试,省去了很多冗余代码。@ValueSource为参数化测试指定入参来源,支持八大基础类以及String类型和Class类型@NullSource:表示为参数化测试提供一个null的入参@EnumS

2021-10-19 22:38:13 107

原创 第283天学习打卡(知识点回顾 SQL优化的一般步骤)

知识点回顾SQL优化的一般步骤1.分析Mysql服务器当前的状态信息2.定位执行效率比较低的SQL语句慢查询日志查看执行中的任务3.通过Desc或者explain命令查看执行计划4.确定问题并采用相应的优化措施...

2021-10-18 22:31:23 44

原创 第282天学习打卡(知识点回顾 springboot JUnit5的特性)

知识点回顾springboot JUnit5的特性前置条件(assumptions)JUnit5中的前置条件(assumptions【假设】)类似于断言,不同之处在于不满足的断言会使得测试方法失败,而不满足的前置条件只会使得测试方法的执行终止。前置条件可以看成是测试方法执行的前提,当该前提不满足时,就没有继续执行的必要。assumeTrue和assumFalse确保给定的条件为true或false,不满足条件会使得测试执行终止。assumingThat的参数是表示条件的布尔值和对应的Executa

2021-10-17 22:20:13 67

原创 第281天学习打卡(知识点回顾, springboot 断言)

知识点回顾springboot 断言(assertions)断言(assertions)是测试方法中的核心部分,用来对测试需要满足的条件进行验证。这些断言方法都是org.junit.jupiter.api,Assertions的静态方法。JUnit 5内置的断言可以分成如下几类。简单断言用来对单个值进行简单的验证。如:assertEquals 判断两个对象或两个原始类型是否相等assertNotEquals 判断两个对象或两个原始类型是否相等assertSame 判断两个对象是否指

2021-10-16 22:03:16 184

原创 第280天学习打卡(知识点回顾 volatile和synchronized的区别)

知识点回顾volatile 和synchronized的区别volatile 是告诉jvm当前变量在寄存器(工作内存)中的值是不确定的,需要去主内存中读取;synchronized则是锁定当前变量,只有当前线程可以访问该变量,其他线程被阻塞volatile仅能使用在变量级别;synchronized则可以使用在变量、方法和类级别volatile仅能使用在变量的修改可见性,不保证原子性;synchronized可以使用在变量、方法和类级别volatile不会造成线程阻塞;synchronized可

2021-10-15 22:42:09 41

原创 第279天学习打卡(知识点回顾 springboot JUnit5常用注解)

知识点回顾springboot JUnit5常用注解@Test:表示方法是测试方法。但是与JUnit4的@Test不同。他的职责非常单一但不能声明任何属性,拓展的测试将会由Jupiter提供额外测试@ParameterizedTest:表示方法是参数化测试@RepeatedTest:表示方法可重复执行@DisplayName:为测试类或者测试方法设置展示名称@BeforeEach:表示每个单元测试之前执行@AfterEach:表示在每个单元测试之后执行@Tag:表示单元测试类别,类似于JU

2021-10-14 22:28:54 68

原创 第278学习打卡(知识点回顾 springboot junit5的变化)

知识点回顾springboot junit5的变化Springboot 2.2.0版本开始引入JUnit5作为单元测试默认库作为最新版本的JUnit框架,JUnit5与之前版本的Junit框架有很大的不同。由三个不同子项目的几个不同模块组成JUnit5 = JUnit Jupiter + JUnit Jupiter + JUnit VintageJUnit Platform: Junit Platform 是在JVM上启动测试框架的基础,不仅支持Junit自制的测试引擎,其他测试引擎也

2021-10-13 22:36:21 54

原创 第277天学习打卡(知识点回顾, springboot redis自动配置)

知识点回顾springboot redis自动配置自动配置RedisAutoConfiguration自动配置类。RedisProperties属性类— 》spring.redis.xxx是对redis的配置连接工厂是准备好的。LettuceConnectionConfiguration,JedisConnectionConfiguration自动注入了RedisTemplate<Object, Object>: xxxTemplate;自动注入了StringRedisTem

2021-10-12 22:33:03 89

原创 第276天学习打卡(知识点回顾 springboot整合mybatis-plus)

知识点回顾springboot整合Mybatis-plus自动配置MyBatisPlusAutoConfiguration配置类,MyBatisPlusProperties配置项绑定。mybatis-plus:xxx就是对mybatis-plus的定制SqlSessionFactory自动配置好,底层是容器中默认的数据源mapperLocations自动配置好的。有默认值。classpath* :/mapper/* * / *.xml;任意包的类路径下的所有mapper文件夹下任意路径下的所有x

2021-10-11 22:30:24 51

原创 第275天学习打卡(知识点回顾 springboot整合MyBatis操作)

知识点回顾springboot整合MyBatis操作1.配置模式全局配置文件SqlSessionFactory:自动配置好了SqlSession:自动配置了SqlSessionTemplate组合了SqlSession@Import(AutoConfiguredMapperScannerRegistrar.class)Mapper:只要我们写的操作MyBatis的接口标注了@Mapper就会被自动扫描进来配置了private Configuration configuration;

2021-10-10 22:39:17 55

原创 第274天学习打卡(知识点回顾 springboot 定制化原理)

知识点回顾springboot定制化原理1.定制化的常见方式修改配置文件xxxxCustomizer编写自定义的配置类 xxxConfiguration + @Bean 替换、增加容器中默认组件:视图解析器Web应用编写一个配置类实现WebMvcConfiguration即可定制化web功能, + @Bean给容器中再扩展一些组件@Configurationpublic class AdminWebConfi implements WebMvcConfigurer@EnableWe

2021-10-09 22:32:18 71

原创 第273天学习打卡(知识点回顾 springboot 嵌入式Servlet容器)

知识点回顾springboot嵌入式Servlet容器默认支持的webServerTomcat,Jetty, or UndertowServletWebServerApplicationContext容器启动寻找ServletWebServerFactory并引导创建服务器切换服务器JettyWebServerNettyWebServerTomcatWebServerUndertowWebServer原理SpringBoot应用启动发现当前是Web应用,web场景包导入

2021-10-08 22:36:38 124

原创 第272天学习打卡(知识点回顾springboot异常处理步骤流程)

知识点回顾springboot 异常处理步骤流程1、执行目标方法,目标方法运行期间没有任何异常都会被catch,而且当请求结束,并且用dispatchException2、进入视图解析流程processDispatchResult(processedRequest,response,mappedHandler,mv,dispatchException);3、mv = processHandlerException处理handler发生的异常,处理完成返回ModelAndView遍历所有的ha

2021-10-07 22:40:26 73

原创 第271天学习打卡(知识点回顾 springboot 异常处理自动配置原理)

知识点回顾springboot异常处理自动配置原理ErrorMvcAutoConfiguration 自动配置异常处理规则容器中的组件:类型:DefaultErroAttributes id errorAttributespublic class DefaultErroAttributes implements ErrorAttributes, HandlerExceptionResolverDefaultErrorAttributes:定义错误页面中可以包含哪些数据容器中的组

2021-10-06 22:40:09 65

原创 第270天学习打卡(知识点回顾 springboot拦截器原理)

知识点回顾springboot拦截器原理1.根据当前请求,找到HandlerExecutionChain【可以处理请求的handler以及handler的所以拦截器】2.先来顺序执行所有的preHandle方法如果当前拦截器prehandle返回true,则执行下一个拦截器的preHandle如果当前拦截器返回false。直接倒序执行已经执行了的拦截器afterCompletion;3.如果任何一个拦截器返回false。直接跳出不执行目标方法4.所有拦截器都返回true。执行目标方法5.

2021-10-05 22:09:06 85

原创 第269天学习打卡(知识点回顾 springboot视图解析原理流程)

知识点回顾springboot 视图解析原理流程1.目标方法处理的过程中,所有数据都会被放在ModelAndViewContainer里面,包括数据和视图地址2.方法的参数是一个自定义类型对象(从请求参数中确定),把他重新放在ModelAndViewContainer3.任何目标方法执行完成以后都会返回ModelAndView(数据和视图地址)4.processDispatchResult处理派发结果(页面改如何响应)1.render(mv, request, response)进行页面渲染逻

2021-10-04 22:39:27 132

原创 第268天学习打卡(知识点回顾 springboot视图解析和模板引擎)

知识点回顾视图解析与模板引擎视图解析: SpringBoot默认不支持JSP,需要引入第三方模板引擎技术实现页面渲染1.视图解析:视图处理方式:转发重定向自定义视图2.模板引擎-Thymeleaf现代化,服务端Java模板引擎基本语法表达式名语法用途变量取值${…}获取请求域、session域,对象等选择变量*{…}获取上下文对象值取消#{…}获取国际化等值链接@{…}生成链接片段表达式~{…}jsp:inclu

2021-10-03 22:28:11 84

原创 第267天学习打卡(知识点回顾 springboot返回值解析器原理)

知识点回顾springboot返回值解析器原理HandlerMethodReturnValueHandler handlerReturnValue handlerReturnType1.返回值处理器判断是否支持这种类型返回值supportsReturnType2.返回值处理器调用handleReturnValue进行处理3.RequestResponseBodyMethodProcessor可以处理返回值标了@ResponseBody注解的利用MessageConverte

2021-10-02 21:58:17 121

原创 第266天学习打卡(知识点回顾 springmvc支持的返回值)

知识点回顾springmvc支持的返回值ModelAndViewModelViewResponseEntityResponseBodyEmitterStreamingResponseBodyHttpHeadersCallableDeferredResultListenableFutureCompletionStageCompletionStageWebAsyncTasj有@ModelAttribute@ResponseBody注解—>RequestResponseBo

2021-10-01 12:18:24 62

原创 第265天学习打卡(知识点回顾 springboot 复杂参数)

知识点回顾springboot复杂参数Map、Model(map, model里面的数据会被放在request的请求域 request.setAttribute)、Errors/BindingResult、RedirectAttributes(重定向携带数据),ServletResponse(response) , SessionStatus、 UriComponentsBuilderMap<String, Object> map, Model model, HttpServletRequ

2021-09-30 22:37:24 94

空空如也

空空如也

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

TA关注的人

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