自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

辰伏的博客

小白上路

  • 博客(50)
  • 收藏
  • 关注

原创 Spring Cloud微服务架构

1. 微服务架构"微服务”一词源于 Martin Fowler的名为 Microservices的博文微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间一般通过 HTTP 的 RESTfuLAPI 进行通信协作。被拆分成的每一个小型服务都围绕着系统中的某一项或些耦合度较高的业务功能进行构建,并且每个服务都维护着自身的数据存储、业务开发自动化测试案例以及独立部署机制。由于有了轻量级的通信协作基础,所以这些微服务可以使用

2021-04-08 14:30:25 841

原创 FastDFS(分布式文件系统)

1. 简介概念FastDFS是阿里巴巴开源的一套轻量级的分布式文件系统,它对文件进行管理FastDFS的源代码由C语言开发,目前可运行在Linux,FreeBSD,Unix等类操作系统上使用 FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。解决问题FastDFS解决了大数据量文件存储和读写分离,备份容错,负载均衡,动态扩容等问题功能文件存储、文件同步、文件访问(文件上传、文件下载)等适用场景特别适合以文件为载体的在线服务,如相册网站、视频

2021-03-27 18:55:24 497

原创 JWT(跨域身份验证)

1. JWT概念常用的用户身份认证方法用户向服务器发送用户名和密码验证通过后,相关信息(用户角色,登录时间)保存到当前会话服务器向用户返回session_id,session信息写入用户Cookie用户的每个后续请求都会通过Cookie中取出的session_id传给服务器服务器收到session_id并对比之前保存数据,确认用户身份存在的缺陷和问题没有分布式架构,无法支持横向扩展如果使用一个服务器,该模式完全没有问题。但是,如果它是服务器群集或面向服务的跨域体系结构的话,则需要

2021-03-27 18:27:12 543

原创 MongoDB数据库

1. MongoDB简介MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。MongoDB最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

2021-03-27 18:08:00 180

原创 MyBatis-Plus(MyBatis的增强工具)

1. 概述MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。官网https://mybatis.plus/ 或 https://mp.baomidou.com/ 版本引入<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artif

2021-03-17 19:28:16 578

原创 Docker(应用容器引擎)

1. Docker介绍1.1 Docker概述Docker是一个开源的应用容器引擎诞生于2013年初,基于Go语言实现,dotCloud公司出品(后改名为Docket Inc)Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上容器是完全使用沙箱机制,相互隔离容器性能开销极低Docker从17.03版本之后分为CE(Community Edition:社区版)和EE(Enterprise Edition:企业版)1.2 安装D

2021-03-15 19:20:19 344

原创 RocketMQ(用来保护消息数据的队列)

1. MQ介绍1.1 MQ简介MQ(Message Queue)消息队列,是一种用来保存消息数据的队列队列数据结构的一种,特征为“先进先出”。消息可以理解为服务器间的业务请求原始架构服务器中的A功能需要调用B、C模块才能完成微服务架构服务器A向服务器B发送要执行的操作(视为消息)服务器A向服务器C发送要执行的操作(视为消息)1.2 MQ作用应用解耦系统的耦合性越高,容错性就越低。以电商应用为例,用户创建订单后,如果耦合调用库存系统、物流系统、

2021-03-13 19:25:31 385

原创 ElasticSearch(搜索服务器)

1. 概述1.1 基于数据库查询的问题使用数据库查询信息信息过多,数据库查询会全表扫描,性能低关系型数据库提供的查询,功能太弱,使用体验不好1.2 倒排索引将各个文档中的内容进行分词,形成词条,然后记录词条和数据的唯一标识(id)的对应关系,形成的产物。1.3 ES概念详解ElasticSearch是一个基于Lucene的搜索服务器,搜索即为查询是一个分布式、高扩展、高实时的搜索与数据分析引擎基于RESTful web接口ElasticSearch是用Java语言开发的

2021-03-10 19:00:49 401

原创 SpringBoot(快速使用Spring的方式)

1. SpringBoot概述SpringBoot概念SpringBoot提供了一种快速使用Spring的方式,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率SpringBoot功能自动配置Spring Boot的自动配置是一个运行时(更准确地说,是应用程序启动时)的过程,考虑了众多因素,才决定Spring配置应该用哪个,不该用哪个。该过程是SpringBoot自动完成的。起步依赖起步

2021-03-07 20:01:57 428

原创 Zookeeper、Curator

1. 初识Zookeeper1.1 Zookeeper概念Zookeeper是Apache Hadoop项目下的一个子项目,是一个树形目录服务Zookeeper翻译过来就是动物园管理员,它是用来管Hadoop(大象)、Hive(密封)、Pig(小猪)的管理员,简称ZKZookeeper是一个分布式的、开源的分布式应用程序的协调服务Zookeeper提供的主要功能包括配置管理分布式锁集群管理1.2 Zookeeper安装(linux)环境准备ZooKeeper服务器是

2021-03-07 11:00:10 611 1

原创 dubbo和dubbo-admin

1. 相关概念1.1 互联网项目架构特点用户多流量大,并发高海量数据易受攻击功能繁琐变更快传统项目和互联网项目的不同用户体验美观、功能、速度、稳定性衡量网站的性能指标响应时间:指执行一个请求从开始到最后收到响应数据所花费的总体时间。并发数:指系统同时能处理的请求数量。并发连接数:指的是客户端向服务器发起请求,并建立了TCP连接。每秒钟服务器连接的总TCP数量请求数:也称为QPS(Query Per Second)指每秒多少请求.并发用户数:单位时间内有多少

2021-03-04 19:42:15 530 1

原创 SpringMVC框架

1. 概述三层架构表现层:负责数据展示相关技术:Servlet、HTML、Spring、SpringMVC业务层:负责业务处理相关技术:Spring数据层:负责数据操作相关技术:JDBC、MyBatis、SpringMVC(Model View Controller),一种用于设计创建Web应用程序表现层的模式Model(模型):数据模型,用于封装数据View(视图):页面视图,用于展示数据jsphtmlController(控制器):处理用户交互

2021-02-28 19:25:11 120

原创 Spring框架

1. 简介1.1 框架介绍框架这个概念源自于建筑学,隶属土木工程,后发展到软件工程领域软件工程框架经过验证具有一定的功能半成品软件1.2 框架的作用提高开发效率增强可重用性提供编写规范节约维护成本解耦底层实现原理1.3 Spring简介Spring是分层的JavaSE/EE应用full-stack、轻量级、开源框架Spring体系结构底层是核心容器BeansCoreContextSpringEL表达式中间层技术AOPAspects

2021-02-24 20:07:14 256

原创 Maven(项目管理工具)

1. 简介概念Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM)Maven是用Java语言编写的。他管理的东西统统以面向对象的形式进行设计,最终他把一个项目看成一个对象,而这个对象叫做POM(project object model),即项目对象模型Maven的作用项目构建:提供标准的、跨平台的自动化项目构建方式依赖管理:方便快捷的管理项目依赖的资源(jar包),避免资源间的版本冲突问题统一开发结构:提供标准的、统一的项目结构如下各目录

2021-01-31 19:34:50 847

原创 Redis&Jedis

Redis1. NoSQL简介问题:海量用户,高并发罪魁祸首:关系型数据库性能瓶颈:磁盘IO性能低下扩展瓶颈:数据关系复杂,扩展性差,不便于大规模集群解决思路降低磁盘IO次数,越低越好---------内存存储去除数据间的关系,越简单越好—不存储关系,仅储存数据NoSQL(Not-Only SQL):泛指非关系型的数据库作为关系型数据库的补充作用应对基于海量用户和海量数据前提下的数据处理问题特征可扩容,可伸缩大数据量下高性能灵活的数据模型高可用

2021-01-29 20:35:56 186

原创 Vue和ElementUI

1. Vue1.1 Vue介绍Vue是一套构建用户界面的渐进式前端框架只关注视图层,并且非常容易学习,还可以很方便的与其他库或已有项目整合通过尽可能简单的API来实现响应数据的绑定和组合的视图组件特点易用:在有HTML CSS JavaScript的基础上,快速上手灵活:简单小巧的核心,渐进式技术栈,足以应付任何规模的应用性能:20kbmin + gzip运行大小、超快虚拟DOM、最省心的优化1.2 Vue快速入门下载和引入vue.js文件编写程序视图:负责页面渲染,主

2021-01-27 09:32:18 1760

原创 AJAX与JSON

1. AJAX介绍AJAX(Asynchronous JavaScript And XML):异步的 JavaScript 和 XML。AJAX是一种不需要刷新整个页面,进行局部刷新的技术。本身不是一种新技术,而是多个技术综合,用于快速创建动态网页的技术AJAX通过浏览器与服务器进行少量数据交换,就可以使网页实现异步更新,也就是在不重新加载整个页面的情况下,对网页的部分内容进行局部更新学习ajax,必须具备javascript技术的基础和xml技术的基础。后期已经使用json替换了xml进行网络

2021-01-25 18:54:15 99

原创 JQuery(基本语法、选择器、DOM)

1. JQuery介绍JQuery是一个JavaScript库所谓的库,就是一个js文件,里面封装了很多预定的函数,比如获取元素,执行隐藏、移动等,目的就是在使用的时候直接调用,不需要重新定义,这样就可以极大的简化了JavaScript的代码JQuery的官方网站:https://www.jquery.com2. 入门使用操作步骤编写HTML文档引入JQuery文件使用JQuery获取元素使用浏览器测试JQuery的核心语法$();代码示例<!DOCTYP

2021-01-24 16:33:25 106

原创 JavaScript(ECMAScript,DOM,BOM)

JavaScript1. 入门1.1 JavaScript介绍JavaScript是一种客户端脚本语言,运行在客户端浏览器中,每一个浏览器都具备解析JavaScript的引擎脚本语言:不需要编译,就可以被浏览器直接解析执行了核心功能就是增强用户和HTML页面的交互过程,让页面有一些动态效果,以次来增强用户的体验1995年,NetScape(网景)公司,开发的一门客户端脚本语言:LiveScript,后来,请SUN公司的专家来进行修改,后命名为:JavaScript1996年,微软抄袭Java

2021-01-20 19:48:09 159

原创 MyBatis框架(用于操作数据库)

MyBatis1. 入门1.1 框架介绍框架是一款半成品软件,我们可以基于这个半成品软件继续开发,来完成我们个性化的需求1.2 ORM介绍ORM(Object Relational Mapping):对象关系映射指的是持久化数据和实体对象的映射模式,为了解决面向对象与关系型数据库存在的互不匹配的现象的技术映射规则数据表——>类表中字段——>类中的属性表数据——>实体对象1.3 原始JDBC操作原始的JDBC的操作存在的问题频繁创建和销毁数据库的连

2021-01-17 20:50:10 806

原创 JDBC(数据库连接规范)

JDBC1. 概述概念JDBC(Java DataBase Connectivity java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系型数据库提供统一访问,它是由一组用Java语言编写的类和接口组成的本质其实就是java官方提供的一套规范(接口),用于帮助开发人员快速实现不同关系型数据库的连接驱动就是各个数据库厂商针对JDBC提供的实现类使用使用肯定是使用的实现类,也就是驱动,但学习的是接口2. 入门案例导入jar包mys

2021-01-13 19:01:45 480 1

原创 MySQL数据库(详解)

MySQL1. 基础1.1 数据库概念学习数据库是为了更方便的对开发中的数据进行管理用于存储和管理数据的仓库英文单词为DataBase,简称DB它的存储空间很大,可以存放百万条、千万条、上亿条数据使用一种统一的方式操作数据库——SQL1.2 MySQL介绍MySQL是一个最流行的关系型数据库管理系统之一,由瑞典MySQL AB公司开发,后被Oracle公司收购关系型数据库是将数据保存在不同的数据表中,而不是将所有数据放在一个大仓库内,而且表与表之间还可以有关联关系,这样就提高了访问

2021-01-10 19:05:03 1783 1

原创 EL表达式、JSTL标签库、过滤器(Filter)、监听器(Listener)

1. EL表达式1.1 介绍EL(Expression Lannguage):表达式语言在JSP2.0规范中加入的内容,也是Servlet规范的一部分作用在JSP页面获取数据,让我们的JSP脱离Java代码块和JSP表达式不需要关心是哪个对象,只需要关心名称就行了语法${表达式的内容}只能从域对象中获取,即四大域对象1.2 入门案例<head> <title>el快速入门</title></head><b

2021-01-06 19:22:18 477

原创 客户端会话技术(Cookie)、服务端会话技术(Session)、页面技术(JSP)

1. 会话技术1.1 会话介绍会话:浏览器客户端和服务器之间的多次请求和响应为了实现一些功能,客户端和服务器之间可能会产生多次的请求和响应,从浏览器访问服务器开始,到访问服务器结束(关闭浏览器),这期间产生的多次请求和响应加在一起就称之为浏览器和服务器的一次会话会话过程中所产生的一些数据,可以通过会话技术保存1.2 客户端会话技术(Cookie)1.2.1 概述把要共享的数据保存到客户端名称和值是必须属性它是客户端浏览器的缓存文件,里面记录了客户浏览器访问网站的一些内容。同时,也是H

2021-01-03 19:18:19 539 1

原创 响应对象(Response)和请求对象(Request)

request对象将请求部分封装的对象功能请求行String getMethod()String getReqeustURI()请求头String getHeader(String key)请求体ServletInputStream getInputStream()BufferedReader()通过内省的方式封装数据属性:对应的setter和getter方法,去掉set和get,然后首字母小写使用请求域request域:可以在一次请求范围内进行共享数据请求对象操作共享

2021-01-02 20:26:40 2461 1

原创 Servlet、ServletConfig、ServletContext

1. Servlet1.1 Servlet概述Servlet是SUN公司提供的一套规范,名称就叫Servlet规范,它也是JavaEE规范之一。我们可以像学习Java基础一样,通过API来学习Servlet。这里需要注意的是,在我们之前JDK的API中是没有Servlet规范的相关内容,需要使用JavaEE的API。目前在Oracle官网中的最新版本是JavaEE8,该网址中介绍了JavaEE8的一些新特性。当然,我们可以通过访问官方API,学习和查阅里面的内容。打开官方API网址,在左上部分找到j

2020-12-30 11:00:50 126

原创 Tomcat的下载安装和资源发布以及HTTP协议

1. 企业开发1.1 JavaEE规范JavaEE(Java Enterprise Edition):Java企业版它是由SUN公司领导、各个厂家共同制定并得到广泛认可的工业标准JavaEE早期叫做J2EE,但是没有继续采用其命名规则,J2EE的版本从1.0开始到1.4结束,而JavaEE版本是从JavaEE5版本开始,目前最新的版本是JavaEE8JavaEE规范是很多Java开发技术的总称,一共包括了13种规范例如:jsp/servlet,jndi,jaxp,jdbc,jni,ja

2020-12-29 18:18:54 274

原创 Linux下载安装、常用命令、shell

Linux1. 概述Linux其实就是一款操作系统,和Windows,mac-os都是同一种类型的产品。就是操作系统软件。Linux主要应用服务器,作为服务器系统软件进行运行。服务器划分方式硬件的划分即使一台计算机,这台计算机的配置要比普通的pc(个人电脑)机要高的多软件的划分在硬件服务器去安装一个数据库,那么这个服务器我们常常将其称之为数据服务器在硬件服务器上去安装一个应用服务器(tomcat),那么这个服务器我们常常将其称之为应用服务器在硬件服务器上去安装一个负载均衡的软件

2020-12-26 21:13:24 3027

原创 CSS基本语法、选择器和Nginx服务器

CSS1. 初识CSS1.1 概述虽然标签的属性可以调整一些样式,但是效果不够理想,而我们更愿意把样式编写在<style> 标签中,让页面设计更美观更丰富,实际上,这是通过CSS实现的。那么什么是CSS呢?如果说,HTML是网页的"素颜",那么CSS就是页面的"美妆师",它就是让网页的外观更漂亮!CSS (层叠样式表——Cascading Style Sheets,缩写为 CSS),简单的说,它是用于设置和布局网页的计算机语言。会告知浏览器如何渲染页面元素。例如,调整内容的字体

2020-12-26 19:53:12 125 1

原创 HTML入门学习和简单使用

html1. 网页网页的构成html :编写网页css :美化网页javascript :动态效果2. html概述超文本标记语言标签属性3. 基本语法3.1 标签3.2 嵌套3.32.1 文本相关2.2 图片2.3 超链接2.4 表单标签

2020-12-25 19:45:13 680 1

原创 Git(下载安装、分支与协同工作、idea中集成Git)

Git1. 介绍版本控制无论是代码备份很重要版本控制很重要协同工作很重要责任追溯很重要要解决以上的问题,就需要使用版本控制工具常见的版本控制工具:CVS,SVN,GITGIT的创始人Linux创始人,Linus Torvalds2. 下载和安装官网下载地址:https://git-scm.com/安装傻瓜式安装在使用git的时候存在两个方式使用git提供的命令借助于git所提供的图形界面化工具注:但是git所提供的图形界面化工具功能并不是很强大,因此一

2020-12-21 16:53:00 126 1

原创 类加载器、反射、xml、枚举、注解、单元测试、日志

1. 类加载器1.1 作用之前写的Java代码,属于源代码,后期要进行运行,首先需要将这个源代码进行编译,编译完成之后会形成一个.class文件,这个.class文件就是字节码文件,后期进行运行的时候,就需要将这个字节码文件加载到内存中,要把这个字节码文件加载到内存中就需要类加载器来完成,1.2 类的加载时机问题一个类什么时候被加载到内存?1.3 类的加载过程一个类通过类加载器,将其加载到内存是需要经过很多个阶段的。大致可以分为:加载,连接,初始化连接可以细分为:验证,准备,解析1.3.1

2020-12-20 20:01:33 132

原创 Windows系统快捷键分类说明

主键盘按键作用Esc 键:escape退出键Tab 键:tabulator key跳格键,在文本编辑软件中可以增加四个空格,在Windows中可用于切换屏幕上的焦点Ctrl 键:control控制键Shift 键上档键Alt 键换档键Caps Lock 键大写锁定键,用于切换系统大写锁定Windows 键键盘上画着一个Windows视窗图标的键。按这个键可以打开开始菜单BackSpace 键退格键,用于删除当前光标前的字符;在W

2020-12-17 18:57:08 936

原创 关于Windows+R的快捷指令

按住Windows+R,弹出框中输入以下快捷指令,可以做到快捷操作快捷指令作用cmdDOS命令窗口compmgmt.msc打开计算机管理器lusrmgr.msc设置用户的权限等信息devmgmt.msc计算机的硬件设备以及安装的驱动管理diskmgmt.msc可以看到磁盘的分区等信息,也可以自己开辟分区services.msc有些程序只有开启了相关的服务才能运行,就在这里设置perfmon.msc性能监视器,作用不大eventvw

2020-12-17 17:27:00 1694 1

原创 网络编程、UDP和TCP通信

1. 网络编程入门1.1 网络编程概述计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统网络编程在网络通信协议下,不同计算机上运行的程序,可以进行数据传输1.2 网络编程三要素IP地址要想让网络中的计算机能够互相通信,必须为每台计算机指定一个标识号,通过这个标识号来指定要接收数据的计算机和识别发送的计算机,而IP地址就是这个标识号。也就是设备

2020-12-16 19:16:49 121

原创 关于多线程、线程池、线程安全问题

多线程1、基础概念1.1 多线程技术的效果同时执行多个任务需要进行硬件的支持1.2 并发和并行并行在同一时刻,有多个指令在多个CPU上同时进行并发在同一时刻,有多个指令在单个CPU上交替进行1.3 进程和线程进程:是正在运行的软件,进程是操作系统调度的最小单元,且一个进程最少包括一个线程独立性:进程是一个可以独立运行的基本单位动态性:并发性:线程:是进程中的单个顺序控制流,是一条执行路径,线程是依赖于进程的,一个进程可以存在很多任务,每一个任务就是一个线

2020-12-15 20:25:31 231 2

原创 IO流和其中常用的几个类,详细案例说明

IO流1、结构体系#mermaid-svg-FF7FKVT4MZcWhaQj .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-FF7FKVT4MZcWhaQj .label text{fill:#333}#mermaid-svg-FF7FKVT4MZcWhaQj .node rect,#mermaid-svg

2020-12-12 18:04:03 458

原创 关于泛型,Stream流和可变参数

1. 泛型1.1泛型概述泛型的介绍泛型是JDK5中引入的特性,它提供了编译时类型安全检测机制泛型的好处把运行时期的问题提前到了编译期间避免了强制类型转换泛型的定义格式<类型>: 指定一种类型的格式.尖括号里面可以任意书写,一般只写一个字母.例如: <类型1,类型2…>: 指定多种类型的格式,多种类型之间用逗号隔开.例如: <E,T> <K,V>1.2泛型类定义格式修饰符 class 类名<类型> {

2020-12-06 15:08:55 683 2

原创 关于数据结构(内容太多太复杂,后续添加更新)

数据结构1. 数据结构逻辑图#mermaid-svg-wXi6kekFk4z9I6Hs .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-wXi6kekFk4z9I6Hs .label text{fill:#333}#mermaid-svg-wXi6kekFk4z9I6Hs .node rect,#mermai

2020-12-06 14:03:57 169

原创 关于集合,案例说明(相关其他知识在其他作品里)

集合1. 集合类的体系结构#mermaid-svg-c0BnHyQkUNcJPdWt .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-c0BnHyQkUNcJPdWt .label text{fill:#333}#mermaid-svg-c0BnHyQkUNcJPdWt .node rect,#mermaid

2020-12-05 19:39:58 130

空空如也

空空如也

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

TA关注的人

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