自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 B+树和B-树

1.简介B-树概述B-树,这里的 B 表示 balance( 平衡的意思)空间局部性原理:如果一个存储器的某个位置被访问,那么将它附近的位置也会被访问。我们从“迎合”磁盘的角度来看看B-树的设计。索引的效率依赖与磁盘 IO 的次数,快速索引需要有效的减少磁盘 IO 次数,如何快速索引呢?索引的原理其实是不断的缩小查找范围,就如我们平时用字典查单词一样,先找首字母缩小范围,再第二个字母等等。平衡二叉树是每次将范围分割为两个区间。为了更快,B-树每次将范围分割为多个区间,区间越多,定位数据越快越精确。

2021-11-02 10:10:37 1977 1

原创 SpringMVC

资源来自b站狂神说1、回顾MVC1.1、什么是MVCMVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。是将业务逻辑、数据、显示分离的方法来组织代码。MVC主要作用是降低了视图与业务逻辑间的双向偶合。MVC不是一种设计模式,MVC是一种架构模式。当然不同的MVC存在差异。Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Objec

2021-09-25 15:52:15 203

原创 JUC并发编程(狂神)

JUC并发编程什么是JUCJUC就是java.util.concurrent下面的类包,专门用于多线程的开发。2. 线程和进程进程是操作系统中的应用程序、是资源分配的基本单位,线程是用来执行具体的任务和功能,是CPU调度和分派的最小单位一个进程往往可以包含多个线程,至少包含一个1)进程一个程序,QQ.EXE Music.EXE;数据+代码+pcb一个进程可以包含多个线程,至少包含一个线程!Java默认有几个线程?2个线程! main线程、GC线程2)线程开了一个进程Typora,写

2021-09-19 15:29:49 264

原创 多线程笔记

学习视频参考链接:https://www.bilibili.com/video/BV1V4411p7EF?p=271、线程简介栈空间操作起来最快但是栈很小,通常大量的对象都是放在堆空间,栈和堆的大小都可以通过 JVM 的启动参数来进行调整,栈空间用光了会引发 StackOverflowError,而堆和常量池空间不足则会引发 OutOfMemoryError。String str = new String(“hello”);上面的语句中变量 str 放在栈上,用 new 创建出来的字符串对象放在堆上

2021-09-09 22:20:28 135

原创 注解和反射

注解Annotation不是程序本身,可以对程序作出解释(和注释相似)可以被其他程序(编译器等)读取可以通过反射机制编程实现对元数据的访问内置注解元注解,负责注解其他注解type类上定义自定义注解使用@interface自定义注解,自动继承java.lang.annotation.Annotation接口需要元注解标志,注解参数顺序无关public enum ElementType { /** Class, interface (including annotation

2021-09-06 14:17:11 78

原创 JDBC粗解

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。应用程序是不能直接使用数据库的,必须要通过相应的数据库驱动程序,通过驱动程序去和数据库打交道。其实也就是数据库厂商的JDBC接口实现,即对Connection等接口的实现类的jar文件。JDBC编写步骤加

2021-09-05 19:42:26 57

原创 Redis学习心得(狂神说)

一、Nosql概述为什么使用Nosql1、单机Mysql时代90年代,一个网站的访问量一般不会太大,单个数据库完全够用。随着用户增多,网站出现以下问题数据量增加到一定程度,单机数据库就放不下了数据的索引(B+ Tree),一个机器内存也存放不下访问量变大后(读写混合),一台服务器承受不住。2、Memcached(缓存) + Mysql + 垂直拆分(读写分离)网站80%的情况都是在读,每次都要去查询数据库的话就十分的麻烦!所以说我们希望减轻数据库的压力,我们可以使用缓存来保证效率!优化

2021-09-05 10:55:24 837

原创 SpringCloud

笔记整理来源 B站UP主狂神说https://www.bilibili.com/video/BV1jJ411S7xr一、微服务架构面临的四个核心问题?1.服务很多,客户端应该如何访问? API网关2.这么多服务?服务之间如何通信? HTTP,RPC通信3.这么多服务?如何治理? 服务注册与发现4.服务挂了怎么办?熔断机制二、解决方案Spring Cloud生态1.SpringCloud NetFlix :一站式解决方案api网关,zuul组件通信: Feign ----HttpCl

2021-08-06 17:04:58 147

原创 Git(狂神说)

版本控制版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。实现跨区域多人协同开发追踪和记载一个或者多个文件的历史记录组织和保护你的源代码和文档统计工作量并行开发、提高开发效率跟踪记录整个软件的开发过程减轻开发人员的负担,节省时间,同时降低人为错误简单说就是用于管理多人协同开发项目的技术。没有进行版本控制或者版本控制本身缺乏正确的流程管理,在软件开发过程中将会引入很

2021-07-29 10:38:15 378

原创 Mybatis(狂神说)

什么是MyBatisMyBatis 是一款优秀的持久层框架MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 实体类 【Plain Old Java Objects,普通的 Java对象】映射成数据库中的记录。MyBatis 本是apache的一个开源项目ibatis, 2010年这个项目由apache 迁移到了google code,并且改名为MyBatis 。2013年11

2021-07-28 16:30:48 358

原创 SpringBoot(十四)Dubbo和Zookeeper集成

什么是分布式系统?在《分布式系统原理与范型》一书中有如下定义:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”;分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。分布式系统(distributed system)是建立在网络之上的软件系统。首先需要明确的是,只有当单个节点的处理能力无法满足日益增长的计算、存储任务的

2021-07-27 09:22:52 82

原创 MybatisPlus

MyBatisPlus可以节省我们大量工作时间,所有的CRUD代码他都可以自动化完成!JPA、tk-mapper、MyBatisPlus偷懒的!简介是什么?MyBatis本来就是简化JDBC操作的!特性:无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作,BaseMapper强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大

2021-07-23 10:22:13 333

原创 SpringBoot(十三)异步、定时、邮件任务

异步任务1、创建一个service包2、创建一个类AsyncService异步处理还是非常常用的,比如我们在网站上发送邮件,后台会去发送邮件,此时前台会造成响应不动,直到邮件发送完毕,响应才会成功,所以我们一般会采用多线程的方式去处理这些任务。编写方法,假装正在处理数据,使用线程设置一些延时,模拟同步等待的情况;@Servicepublic class AsyncService { public void hello(){ try { Thread.s

2021-07-19 11:42:27 119

原创 SpringBoot(十一)Shiro

1、Shiro简介Apache Shiro 是 Java 的一个安全(权限)框架。Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在 JavaSE 环境,也可以用在 JavaEE 环境。Shiro 可以完成:认证、授权、加密、会话管理、与Web 集成、缓存等。下载地址官网:http://shiro.apache.org/github:https://github.com/apache/shiro功能Authentication:身份认证/登录,验证用户是不是拥有相应的身份A

2021-07-18 16:49:44 108

原创 SpringBoot(十二)集成Swagger

Swagger简介前后端分离前端 -> 前端控制层、视图层后端 -> 后端控制层、服务层、数据访问层前后端通过API进行交互前后端相对独立且松耦合产生的问题前后端集成,前端或者后端无法做到“及时协商,尽早解决”,最终导致问题集中爆发解决方案首先定义schema [ 计划的提纲 ],并实时跟踪最新的API,降低集成风险Swagger号称世界上最流行的API框架Restful Api 文档在线自动生成器 => API 文档 与API 定义同步更新直接运行,在线测试AP

2021-07-18 16:24:58 111

原创 SpringBoot(十)集成SpringSecurity

SpringSecuritySpring Security是一个功能强大且高度可定制的身份验证和访问控制框架。它实际上是保护基于spring的应用程序的标准。Spring Security是一个框架,侧重于为Java应用程序提供身份验证和授权。与所有Spring项目一样,Spring安全性的真正强大之处在于它可以轻松地扩展以满足定制需求从官网的介绍中可以知道这是一个权限框架。想我们之前做项目是没有使用框架是怎么控制权限的?对于权限 一般会细分为功能权限,访问权限,和菜单权限。代码会写的非常的繁琐,冗余

2021-07-16 11:47:54 100

原创 SpringBoot(九)整合mybatis

1、导入 MyBatis 所需要的依赖<!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-sp

2021-07-15 16:51:31 83

原创 SpringBoot(八)整合Druid

Druid简介Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控。Druid 可以很好的监控 DB 池连接和 SQL 的执行情况,天生就是针对监控而生的 DB 连接池。Spring Boot 2.0 以上默认使用 Hikari 数据源,可以说 Hikari 与 Driud 都是当前 Java Web 上最优秀的数据源,我们来重点介绍 Spring Boot 如何集成 Druid 数据源,如何实现数据库监控。1.配置数据源<

2021-07-15 10:33:04 293

原创 SpringBoot(七)整合JDBC

对于数据访问层,无论是 SQL(关系型数据库) 还是 NOSQL(非关系型数据库),Spring Boot 底层都是采用 Spring Data 的方式进行统一处理。Spring Boot 底层都是采用 Spring Data 的方式进行统一处理各种数据库,Spring Data 也是 Spring 中与 Spring Boot、Spring Cloud 等齐名的知名项目。新建application.yaml配置数据库连接spring: datasource: username: root

2021-07-14 21:52:42 76

原创 SpringBoot(六)员工系统

首页在主程序同级目录下新建config包用来存放自己的配置类在其中新建一个自己的配置类MyMvcConfig,进行视图跳转@Configurationpublic class MvcConfig implements WebMvcConfigurer { @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/".

2021-07-13 17:45:42 160

原创 JavaWeb

http请求get:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全,但高效post:请求能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全,但不高效。编写一个Servlet程序编写一个普通类实现Servlet接口,这里我们直接继承HttpServlet public class HelloServlet extends HttpServlet { //由于get或者post只是请求实现

2021-07-12 18:05:22 57

原创 SpringBoot(五)web开发

1.静态资源处理静态资源映射规则读一下源代码:比如所有的 /webjars/** , 都需要去 classpath:/META-INF/resources/webjars/ 找对应的资源;Webjars本质就是以jar包的方式引入我们的静态资源 , 我们以前要导入一个静态资源文件,直接导入即可。使用SpringBoot需要使用Webjars,我们可以去搜索一下:网站:https://www.webjars.org第二种静态资源映射规则那我们项目中要是使用自己的静态资源该怎么导入呢?我们

2021-07-11 19:59:56 100

原创 SpringBoot(四)自动配置原理

自动配置原理//表示这是一个配置类,和以前编写的配置文件一样,也可以给容器中添加组件;@Configuration//启动指定类的ConfigurationProperties功能;//进入这个HttpProperties查看,将配置文件中对应的值和HttpProperties绑定起来;//并把HttpProperties加入到ioc容器中@EnableConfigurationProperties({HttpProperties.class})//Spring底层@Conditional注解

2021-07-11 09:48:37 63

原创 SpringBoot学习心得(三)JSR303数据校验及多环境切换

yaml配置注入SpringBoot使用一个全局的配置文件 , 配置文件名称是固定的application.properties语法结构 :key=valueapplication.yml语法结构 :key:空格 value配置文件的作用 :修改SpringBoot自动配置的默认值,因为SpringBoot在底层都给我们自动配置好了;yaml概述YAML是 “YAML Ain’t a Markup Language” (YAML不是一种标记语言)的递归缩写。在开发的这种语言时,YAML

2021-07-10 10:54:30 302

原创 SpringBoot学习心得(二)原理初探

原理初探:自动配置pom.xmlspring-boot-dependencies:核心依赖在父工程中我们在写或者引入一些springboot依赖的时候,不需要指定版本,因为有这些版本仓库启动器<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId

2021-07-09 17:22:00 365

原创 SpringBoot学习心得(一)helloworld

言归正传,什么是SpringBoot呢,就是一个javaweb的开发框架,和SpringMVC类似,对比其他javaweb框架的好处,官方说是简化开发,约定大于配置, you can “just run”,能迅速的开发web应用,几行代码开发一个http接口。...

2021-07-09 14:24:41 1051

原创 HTML+CSS学习心得

1、初识HTMLHyperTextMarkupLanguage(超文本标记语言)< body >、< /body>等成对的标签,分别叫做开放标签和闭合标签,单独呈现的标签(空元素),如< hr/ >;意为用/来关闭空元素。html注释:< !–注释内容–>`<!--DOCTYPE:告诉浏览器使用什么规范(默认是html)--><!DOCTYPE html><!--语言 zh中文 en英文--><html

2021-07-08 22:40:50 736

原创 Vue学习心得

Vue:一款渐进式JavaScript框架,所谓渐进式就是逐步实现新特性的意思,如实现模块化开发、路由、状态管理等新特性。其特点是综合了Angular (模块化)和React (虚拟DOM)的优点;mvvm●Model:模型层,在这里表示JavaScript对象●View:视图层,在这里表示DOM (HTML操作的元素)●ViewModel:连接视图和数据的中间件,Vue.js就是MVVM中的ViewModel层的实现者在MVVM架构中,是不允许数据和视图直接通信的,只能通过ViewModel来通

2021-07-08 12:05:41 4322

空空如也

空空如也

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

TA关注的人

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