10 2021 档案
摘要:SpringBoot自动配置篇 Tomcat是利用SPI加载META-INF\services目录下的接口对应的实现类的全限定类名;Tomcat是读取所有 而SpringBoot利用SPI机制来加载META-INF\spring.factories文件中的KEY-VALUE;而springboot并
阅读全文
摘要:SpringBoot之SpringMVC自动配置和静态资源设置 一、SpringMVC自动配置概览 Spring Boot provides auto-configuration for Spring MVC that works well with most applications.(大多场景我
阅读全文
摘要:SpringMVC注解解释 1、@RequestParam 这个注解只能够接收来自请求地址后缀中的值,而不能够接收到请求体中的参数的值: @PostMapping("/testRequestParam") public String testRequestParam(@RequestParam(va
阅读全文
摘要:JSON 1、简单介绍 查看json百度百科介绍: JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的
阅读全文
摘要:Collection集合 一、Collection集合概述 java中的集合类大概分为了单例和双列的。至于为什么不能有三列的或者是多列的,因为双列中已经满足了多例的使用方式。 首先看下单列的集合体系图 Collection集合类是一个父接口,里面定义了子类中一定要实现的方法。对于两个子接口:list
阅读全文
摘要:Lombok 1、简单概述 工作中大量重复毫无技术的去书写get()、set()方法,不推荐手写,也不推荐利用idea中的工具类等等操作 而是使用lombok中的注解来一套搞定。 既然lombok能够搞定,那么需要理解一下是如何来搞定这一切的。 lombok除了get/set,还有一些其他的可以使用
阅读全文
摘要:ThreadLocal 1、简单介绍 从Java官方文档中的描述:ThreadLocal类用来提供线程内部的局部变量。这种变量在多线程环境下访问(通过get和set方法访问)时能保证各个线程的变量相对独立于其他线程内的变量。ThreadLocal实例通常来说都是private static类型的,用
阅读全文
摘要:Mybatis-Plus 1、简单概述 mybatis-plus是一款Mybatis增强工具,用于简化开发,提高效率。下文使用缩写mp 来简化表示mybatis-plus ,本文主要介绍mp搭配SpringBoot的使用。 注:本文使用的mp版本是当前最新的3.4.2,早期版本的差异请自行查阅文档
阅读全文
摘要:lock锁中有一段代码: protected final boolean tryAcquire(int acquires) { final Thread current = Thread.currentThread(); int c = getState(); if (c == 0) { if (!
阅读全文
摘要:synchronized关键字 1、为什么需要同步器 多线程编程中,有可能会出现多个线程同时访问同一个共享、可变资源的情况,这个资源我们称之其为临界资源;这种资源可能是: 对象、变量、文件等。 共享:资源可以由多个线程同时访问 可变:资源可以在其生命周期内被修改 引出的问题: 由于线程执行的过程是不
阅读全文
摘要:JMM模型 1、java内存模型 java内存模型并非是真是存在的,而是一种抽象的概念,也可以理解成是一个接口规范,它定义了程序中的变量(实例字段、静态字段和构成数组对象的元素)的访问方式。 JVM中运行程序的实体是线程,而每个线程在被创建的时候,JVM都会为其单独分配一个工作内存(通常被理解成栈空
阅读全文
摘要:lock锁中有一段代码: protected final boolean tryAcquire(int acquires) { final Thread current = Thread.currentThread(); int c = getState(); if (c == 0) { if (!
阅读全文
摘要:限时等待 线程状态最后的一个状态:TIMED_WAITING(限时等待)。 1、定义 一个正在限时等待另一个线程执行一个动作的线程处于这一状态。 A thread that is waiting for another thread to perform an action for up to a
阅读全文
摘要:wait 在这一篇章里,我们来看另一个重要的状态:WAITING(等待)。 1、定义 一个正在无限期等待另一个线程执行一个特别的动作的线程处于这一状态。 A thread that is waiting indefinitely for another thread to perform a par
阅读全文
摘要:Block和IO阻塞 1、简单介绍 BLOCKED 状态跟 I/O 的阻塞是不同的,BLOCKED不是一般意义上的阻塞,而是特指被 synchronized 块阻塞,即是跟线程同步有关的一个状态。 2、BLOCK状态定义 一个正在阻塞等待一个监视器锁的线程处于这一状态。(A thread that
阅读全文
摘要:线程状态 1、简单介绍 线程是操作系统中的内容,java语言中也提供了对应的类来进行操作,即是Thread类。Java线程有6种状态。在某个给定时间点上,一个线程只能处于这6种状态中的一种。 需要注意的是java语言中的线程状态是虚拟机给我们展现出来的,而不是操作系统中真实的线程的展示。 这些状态是
阅读全文
摘要:多线程 1、简单介绍: 为什么需要多线程?在早期的设计当中,是没有多线程的存在的,甚至也没有进程。随着操作系统的发展,慢慢演化出来的进程和线程。 可以说线程就是迷你版的进程,但是对于一个进程来说,操作系统为其分配资源,而线程是在进程之中存在的,也就是说线程是在进程空间中的, 那么线程所能够利用进程的
阅读全文
摘要:所谓的文件上传,其实也就是两个计算机之间共享文件。 一个进行发送,一个进行接收,利用http协议将数据封装的时候,通常来说,会使用post方式来进行提交。 那么post方式会携带上两个特殊的头字段:上传的数据类型(Content-Dispostion)和上传的数据大小() Content-Dispo
阅读全文
摘要:String类分析 一:简述: 参考官方API来进行学习String类,String中文意思是字符串。 在java中,String是一个类,而并非是基本类型的数据类型。 String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc",“helloworld” )都作为此类的实例,可以
阅读全文
摘要:SpringUtils操作字符串 对字符串来进行处理的操作 第一个:hasLength // 这里传递的参数是String的父类CharSequence,这两个都没有针对" "这种类型来做判断 public static boolean hasLength(@Nullable CharSequenc
阅读全文
摘要:SpringMVC 1、简单概述 springmvc是用来做web的简化,web开发的底层是servlet,所以springmvc是在servlet的基础之上做了增强; 传统的web开发模式下,无非离不开servlet和fileter,以及对静态资源的访问。 其中利用filter来进行路径匹配拦截;
阅读全文
摘要:1、存储字长 存储字长:存储单元中的二进制代码(存储字)位数,存储字长可以是8位、16位、32位等。 早期计算机的存储字长一般和机器的指令字长与数据字长相等,故访问一次主存便可取一条指令或一个数据。随着计算机的应用范围的不断扩大,解题精度的不断提高,往往要求指令字长是可变的,数据字长也要求可变。为了
阅读全文
摘要:冯诺依曼体系的计算机核心8个字来进行概括:存储程序和程序控制 存储系统层次结构由Cache 、主存、辅助存储器三级体系构成 为了实现存储程序,必须要有主存;为了实现程序控制,必须要有CPU; 有CPU和主存构成的一个基本的冯诺依曼体系结构体系的计算机系统。在程序执行操作过程中,会执行下列操作: 存储
阅读全文