自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 .NET6-Asp.Net Core webapi -从零开始的webapi项目

本项目为本人22年毕设项目,后续会不断更新本篇文章,全部内容都会写在这一篇文章里,喜欢的请持续关注。一、如何创建Asp.Net Core webapi 项目二、如何使用 EntityFrameWorkCore DbFirst:需要用到的程序包:1.数据库创建好表2.程序包管理器控制台-执行命令Scaffold-DbContext "server=localhost;port=3306;user=root;password=a.1234;database=lrms;P...

2021-12-19 17:55:38 1485

原创 Elasticsearch学习笔记4:Springboot整合ES

//面向对象来操作@Autowired@Qualifier("restHighLevelclient")private RestHighLevelClient client;//测试索引的创建Request PUT kuang_index@Testvoid testCreatelndex() throws IOException {1/1、创建索引请求CreateIndexRequest request = new CreateIndexRequest ("kuang_index");1.

2021-06-26 21:14:59 185

原创 Elasticsearch学习笔记3:关于索引、文档的CRUD操作(kibana)

一、环境:ES 7.6.x 、kibana一、关于索引的基本操作1.创建一个索引PUT /索引/~类型名/文档idput /test1/user/1{ "name":"xiaoyi", "age":3]2.指定字段类型put /test1{ "mappings": { "properties": { "name": { "type": "text" ..

2021-06-26 17:40:44 183

原创 Elasticsearch学习笔记2:ES核心概念 -- 索引、倒排索引、类型、文档

一、ES和关系型数据库的对比Elasticsearch Relational DB 索引(index) 数据库(database) 类型(types) 表(tables) 文档(documents) 行(rows) fields 字段(columns) Elasticsearch(集群)中可以包含多个索引(数据库),每个索引中可以包含多个类型(表0,贝格类型下又包含多个文档(行),每个文档中又包含多个字段(列)。1.Elasticsearch的物理设

2021-06-26 15:51:27 1278

原创 Elasticsearch学习笔记1:Elasticsearch是什么?就是做搜索的!

一、Elasticsearch是什么?Elasticsearch:弹性搜索Elaticsearch ,简称为es , es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好可以扩展到上百台服务器,处理PB级别(大数据时代)的数据。es也使用ava开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。据国际权威的数据库产品评测机...

2021-06-26 10:39:20 217

原创 Redis学习笔记10:Redis缓存穿透和雪崩

Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据的一致性要求很高,那么就不能使用缓存。另外的一些典型问题就是,缓存穿透、缓存雪崩和缓存击穿。目前,业界也都有比较流行的解决方案。一、什么是缓存穿透?缓存穿透的概念很简单,用户想要查询一个数据,发现redis内存数据库没有,也就是缓存没有命中,于是向持久层数据库查询。发...

2021-06-24 13:47:38 90

原创 Redis学习笔记9:主从复制

一、主从复制是什么? 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master/leader),后者称为从节点(slave/follower);数据的复制是单向的,只能由主节点到从节点。Master以写为主,Slave以读为主。默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。主从复制的作用主要包括:1、数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余...

2021-06-24 11:26:25 361 1

原创 Redis学习笔记8:Redis发布订阅(pub/sub)

一、什么是Redis发布订阅?Redis发布订阅(pub/sub)是一种消息通信模式:发送者pub发送消息,订阅者sub接收消息。Redis客户端可以订阅任意数量的频道。二、发布订阅原理Redis是使用C实现的,通过分析Redis源码里的pubsub.c文件,了解发布和订阅机制的底层实现,籍此加深对Redis的理解。Redis 通过 PUBLISH、SUBSCRIBE和PSUBSCRIBE等命令实现发布和订阅功能。通过SUBSCRIBE命令订阅某频道后...

2021-06-24 10:56:46 364

原创 Redis学习笔记7:Redis持久化-RDB、AOF

一、什么是RDB?1.Redis DataBase在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。Redis会单独创建(fork )一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行任何10操作的。这就确保了极高的性能。如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那RDB方式要比AOF方式更加的高...

2021-06-23 23:17:43 137 1

原创 Redis学习笔记6:Redis.config详解

一、单位units are case insensitive :单位不区分大小写1k => 1000 bytes1kb => 1024 bytes1m => 1000000 bytes1mb => 1024*1024 bytes1g => 1000 000 000 bytes1gb => 1024*1024*1024 bytes二、网络bind 127.0.0.1 #绑定的ipprotected-mode yes #保护模式

2021-06-23 22:18:26 218

原创 Redis学习笔记5:Jedis、RedisTemplate

一、Jedis是什么?Jedis是Redis官方推荐的Java连接开发工具。要在Java开发中使用好Redis中间件,必须对Jedis熟悉才能写成漂亮的代码。详细了解:https://www.jianshu.com/p/a1038eed6d44二、RedisTemplate是什么?RedisTemplate是SpringDataRedis中对JedisApi的高度封装。详细了解:https://www.cnblogs.com/myitnews/p/12297815.html三、spr

2021-06-23 21:00:38 926

原创 Redis学习笔记4:Redis事务

事务:要么同时成功,要么同时失败。--->原子性Redis事务:单条命令保证原子性,但其事务不保证。(即在整一个事务中,正确的命令依然执行,错误的不执行。)1.正常开启Redis事务步骤:开启事务(multi) 命令入队(。。。。。。) 执行事务(exec)127.0.0.1:6379> multi #开启事务ок#命令入队127.0.0.1:6379> set k1 v1 #设置值QUEUED127.0.0.1:6379> set k2 v2QU.

2021-06-23 16:44:05 83

原创 Redis学习笔记3:五大数据类型(String、List、Set、Hash、Zset)和三种特殊数据类型(geospatial、Hyperloglog、Bitmaps)

介绍: Redis是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件MQ,它支持多种类型的数据结构,如字符串( strings ) ,散列(hashes ) ,列表( lists ) ,集合(sets ) ,有序集合(sorted sets)与范围查询,bitmaps, hyperloglogs和地理空间( geospatial )索引半径查询. Redis内置了复制( replication ) , LUA脚本(Lua scripting ) , L...

2021-06-23 15:41:09 378

原创 Redis学习笔记2:了解 Redis 入门

1、Redis是什么?(Remote Dictionary Server 远程字典服务)Redis是现在最受欢迎的NoSQL数据库之一,Redis是一个使用ANSI C编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库,其具备如下特性:基于内存运行,性能高效 支持分布式,理论上可以无限扩展 key-value存储系统 开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API相比于其

2021-06-22 21:38:09 136

原创 Redis学习笔记1:NoSQL是什么?

一、什么是Nosql?1.NoSQL=Not Only SQLNoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在处理web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,出现了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,特别是大数据应用难题。2.为什么要用Nosql?互联网架构的发展:https://www.cn

2021-06-22 17:12:32 119

原创 RabbitMQ学习笔记5:RabbitMQ高级

一、TTL队列过期时间过期时间TTL表示可以对消息设置预期的时间,在这个时间内都可以被消费者接收获取;过了之后消息将自动被删除。RabbitMQ可以对消息和队列设置TTL,目前有两种方法可以设置·第一种方法是通过队列属性设置,队列中所有消息都有相同的过期时间。·第二种方法是对消息进行单独设置,每条消息TTL可以不同。如果上述两种方法同时使用,则消息的过期时间以两者之间TTL较小的那个数值为准。消息在队列的生存时间一旦超过设置的TTL值,就称为dead message被投递到死信队列,消费者将无

2021-06-19 17:11:23 115

原创 RabbitMQ学习笔记4:消息模式

一、Springboot整合RabbitMQ1.添加依赖配置yml@Co'n'fi'gu'ra配置交换机和队列

2021-06-19 15:35:54 135

原创 RabbitMQ学习笔记3:RabbitMQ快速入门、消息模式

一、什么是RabbitMQ?(是基于AMQP协议的实现者,用Erlang语言写的。支持多种语言,用于在分布式系统中存储消息、转发消息,具有高可用、高可扩、易用性等特性)

2021-06-19 11:02:47 134

原创 RabbitMQ学习笔记2:消息队列核心组成部分--协议、持久化、分发策略、高可用、高可靠

一、什么是协议?1.什么是协议?1:计t算机底层操作系统和应用程序通讯时共同遵守的一组约定,只有遵循共同的约定和规范,系统和底层操作系统之间才能相互交流。2:和一般的网络应用程序的不同它主要负责数据的接受和传递,所以性能比较的高3:协议对数据格式和计算机之间交换数据都必须严格遵守规范...

2021-06-18 23:22:33 292 1

原创 RabbitMQ学习笔记1:什么是中间件?

1.什么是中间件?

2021-06-18 17:48:51 193

原创 SpringCloud学习笔记3:Spring Cloud Netflix 组件(五大神兽)

一、Spring Cloud Netflix有哪些组件?eureka (提供服务注册与发现功能) ribbon(提供负载均衡功能) Feign(整合了ribbon和Hystrix,具有负载均衡和熔断限流等功能) Hystrix (提供了熔断限流,合并请求等功能) Zuul (提供了智能路由的功能) Hystrix Dashboard (提供了服务监控的功能,提供了数据监控和友好的图形化界面) Hystrix Turbine (Hystrix Turbine将每个服务Hystrix Dashb

2021-06-15 13:50:58 762

转载 SpringCloud学习笔记2:Rest学习环境搭建之认识Rest风格

一、Rest是什么?(一种软件架构风格)一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。百度百科:REST即表述性状态传递(英文:Representational State Transfer,简称REST,别名RESTful)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提

2021-06-14 23:03:15 157

原创 SpringCloud学习笔记1:什么是SpringCloud

一、什么是微服务?微服务是一种架构模式,叫微服务架构更合理,就是把一个系统中的各个功能点都拆开为一个个的小应用然后单独部署,同时因为这些小应用多,所以需要一些办法来管理这些小应用。二、什么是SpringCloud?SpringCloud是基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,除了基于NetFlix的开源组件做高度抽象封装之外,还有一些选型中立的开源组件。 SpringCloud利用SpringBoot的开发

2021-06-14 22:28:42 97

原创 springboot学习笔记11:分布式、微服务、springcloud概念区分

一、什么是分布式?分布式系统(distributed system)是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。二、什么是微服务?微服务:微服务是一种架构模式,叫微服务架构更合理,就是把一个系统中的各个功能点都拆开为一个个的小应用然后单独部署,同时因为这些小应用多,所以需要一些办法来管理这些小应用。三、什么是SpringCloud?S

2021-06-12 16:57:33 513

转载 springboot学习笔记10:Dubbo、Zookeeper

一、什么是分布式系统?1.分布式系统(distributed system)是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。2.什么时候用分布式系统?首先需要明确的是,只有当单个节点的处理能力无法满足日益增长的计算、存储任务的时候,且硬件的提升(加内存、加磁盘、使用更好的CPU)高昂到得不偿失的时候,应用程序也不能进一步优化的时候,我们才需要

2021-06-12 16:22:26 104

原创 JVM面试题学习笔记1:

1.谈谈你对JVM的理解?答:Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。 Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。我们写的java文件到通过编译器编译成java字节码文件(.class文件),这个过程是java编译过程;而我们的java虚拟机执行的就是字节码文件。(即一堆16进制的字节)

2021-06-11 21:50:48 1200

转载 JVM学习笔记4:JVM基本参数调优

一、虚拟机参数配置什么是虚拟机参数配置在虚拟机运行的过程中,如果可以跟踪系统的运行状态,那么对于问题的故障排查会有一定的帮助,为此,在虚拟机提供了一些跟踪系统状态的参数,使用给定的参数执行Java虚拟机,就可以在系统运行时打印相关日志,用于分析实际问题。我们进行虚拟机参数配置,其实就是围绕着堆、栈、方法区、进行配置,而最多的就是关于堆内存中新生代和老年代的参数配置,堆的参数配置-XX:+PrintGC 每次触发GC的时候打印相关日志-XX:+UseSerialGC 串行回收-XX:+Pr

2021-06-11 21:41:12 62

原创 JVM学习笔记3:内存溢出的十个场景

内存溢出的十个场景JVM运行时首先需要类加载器(classLoader)加载所需类的字节码文件。加载完毕交由执行引擎执行,在执行过程中需要一段空间来存储数据(类比CPU与主存)。这段内存空间的分配和释放过程正是我们需要关心的运行时数据区。内存溢出的情况就是从类加载器加载的时候开始出现的,内存溢出分为两大类:OutOfMemoryError和StackOverflowError。以下举出10个内存溢出的情况,并通过实例代码的方式讲解了是如何出现内存溢出的。1.java堆内存溢出当出现java.la

2021-06-11 21:16:52 1079

转载 JVM学习笔记2:垃圾回收算法及垃圾回收器原理解读及特性对比详解

一、什么是垃圾回收? 程序的运行必然需要申请内存资源,无效的对象资源如果不及时处理就会一直占有内存资源,最终将导致内存溢出,所以对内存资源的管理是非常重要了。1.1 C/C++语言的垃圾回收在C/C++语言中,没有自动垃圾回收机制,是通过new关键字申请内存资源,通过delete关键字释放内存资源。如果,程序员在某些位置没有写delete进行释放,那么申请的对象将一直占用内存资源,最终可能会导致内存溢出。1.2 Java语言的垃圾回收为了让程序员更专注于代码的实现,而不用过多的...

2021-06-11 17:28:08 275

原创 JVM学习笔记1:JVM架构及其原理

一、什么是JVM?JVM(Java Virtual Machine,Java虚拟机) 虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。简单来说JVM是用来解析和运行Java程序的。 Java语言的一个非常重...

2021-06-10 17:20:03 191

原创 Springboot学习笔记8:Thymeleaf 模板引擎

一、Thymeleaf模板引擎是什么?Thymeleaf是一个现代服务器端Java模板引擎,适用于Web和独立环境,能够处理HTML,XML,JavaScript,CSS甚至纯文本。为什么要使用Thymeleaf?Spring 官方放弃 JSP 是暂时没有好的解决方案,因为 JSP 需要本地空间保存 JSP 引擎动态生成的 Servlet 类,而 Spring Boot 程序往往是以 Jar 的形式脱离容器独立运行,这就需要设置额外的地址去保存,会有安全上的问题,背离了 Spring Boot

2021-05-21 15:47:00 195 1

原创 Springboot学习笔记7:整合Mybatis

一、什么是Mybatis?MyBatis是一款优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。二、配置Mybatis1.导入依赖<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-star

2021-05-21 13:39:51 115

转载 Springboot学习笔记6:整合Druid

一、什么是Druid?Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控。可以很好的监控 DB 池连接和 SQL 的执行情况,天生就是针对监控而生的 DB 连接池。二、配置数据源1.添加依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId>

2021-05-20 23:47:15 82

原创 Springboot学习笔记5:整合JDBC

一、什么是JDBC?在web开发中,不可避免的地要使用数据库来存储和管理数据。为了在java语言中提供数据库访问的支持,Sun公司于1996年提供了一套访问数据的标准Java类库,即JDBC。JDBC的全称是Java数据库连接(Java Database connect),它是一套用于执行SQL语句的Java API。(API: application programming interface,应用程序编程接口。在不同场合,这个编程接口的含义不同。)应用程序可通过这套API连接到关系数据库,并使用

2021-05-20 22:10:43 560 4

原创 Springboot学习笔记3:properties、yml配置注入

一、全局配置文件定义:YAML=YAML Ain't Markup Language,YAML 是一种简洁的非标记语言。YAML以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁易读。多用于api接口的定义。作用 :修改SpringBoot自动配置的默认值注意:配置文件名称是固定的application.properties 语法结构 :key=value application.yml 语法结构 :key:空格 value 二、yaml基础语法规则1、大小写

2021-05-19 17:12:50 139

原创 Springboot学习笔记2:springboot项目运行、自动装配原理

一、了解依赖 pom.xml分析1.父依赖:管理项目的资源过滤及插件。2.点<relativePath>进去显示的父依赖:SpringBoot的版本控制中心。3.启动器 spring-boot-starterspringboot-boot-starter-xxx:就是spring-boot的场景启动器;spring-boot-starter-web:帮我们导入了web模块正常运行所依赖的组件;SpringBoot将所有的功能场景都抽取出来,做成一个个的s...

2021-05-19 16:16:28 111 1

原创 Springboot学习笔记1:springboot概述

一、什么是springboot?SpringBoot:是一个框架,一种全新的编程规范,他的产生简化了框架的使用,所谓简化是指简化了Spring众多框架中所需的大量且繁琐的配置文件,所以 SpringBoot是一个服务于框架的框架,服务范围是简化配置文件。目的:为了让大家更容易的使用 Spring 、更容易的集成各种常用的中间件、开源软件。优点:为所有Spring开发者更快的入门 开箱即用,提供各种默认配置来简化项目配置 内嵌式容器简化Web项目 没有冗余代码生成和XML配置的要求..

2021-05-19 15:52:14 210

转载 SpringMVC学习笔记7:拦截器

一、拦截器用于对处理器进行预处理和后处理。过滤器与拦截器的区别:拦截器是AOP思想的具体应用。过滤器servlet规范中的一部分,任何java web工程都可以使用 在url-pattern中配置了/*之后,可以对所有要访问的资源进行拦截拦截器拦截器是SpringMVC框架自己的,只有使用了SpringMVC框架的工程才能使用 拦截器只会拦截访问的控制器方法, 如果访问的是jsp/html/css/image/js是不会进行拦截的利用拦截器验证用户是否登录1.页面&l.

2021-05-18 20:55:06 81

转载 如何创建SSM项目、ssm框架整合、简单开发

一、环境开发搭建1.IDEA、Mysql 5.7.19、Tomcat 9、Maven 3.62.Mysql数据库3.新建Maven项目,pom.xml 导入依赖<dependencies> <!--Junit Java单元测试框架--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId&g

2021-05-18 18:04:26 206

原创 SpringMVC学习笔记6:Ajax初识

一、Ajax是什么?AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。二、Ajax应用1.原始的HttpServletResponse处理 1.编写AjaxController@Controllerpublic class AjaxContr.

2021-05-12 17:51:54 86

空空如也

空空如也

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

TA关注的人

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