- 博客(32)
- 收藏
- 关注
原创 Dubbo
1、分布式基础分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统。RPC:实质:通过socket建立网络连接核心:序列化与反序列化效率通信效率。
2022-06-14 18:04:18
380
1
原创 SpringBoot框架
1、SpringBoot框架SpringBoot简化了Spring应用的搭建和开发过程,去除了大量的XML配置文件,简化了复杂的依赖管理。Spring Boot 提供了大量开箱即用(out-of-the-box)的依赖模块,例如 spring-boot-starter-redis、spring-boot-starter-data-mongodb 和 spring-boot-starter-data-elasticsearch 等。...
2022-06-14 18:01:49
2353
原创 类的关系有哪些?
UML(Unified Modeling Language),统一建模语言,是用来设计软件蓝图的可视化建模语言。它的特点是简单,统一,图形化,能表达软件设计中的动态与静态信息。UML从目标系统的不同角度出发,定义了9种图,分别为:用例图,类图,对象图,状态图,活动图,时序图,协作图,构件图,部署图。...
2022-06-14 18:00:47
3978
原创 MongoDB
一、MongoDBMongoDB 4.2:MongoDB是一个文档数据库,旨在简化开发和扩展。MongoDB中的记录是一个文档,它是由字段和值对组成的数据结构。MongoDB文档类似于JSON对象,字段的值可以包括其他文档,数组和文档数组。1、介绍使用文档的优点是: 文档(即对象)对应于许多编程语言中的本机数据类型; 嵌入式文档和数组减少了对昂贵连接的需求; 动态模式支持流畅的多态性。 集合/视图/按需实例化视图MongoDB将文档存储在集合中,集合类似于数
2022-04-14 12:07:20
770
原创 RabbitMQ
MQ,本质是个队列,FIFO先进先出。三大功能:流量削峰、应用解耦、异步处理。erlang语言编写。1、RabbitMQ基础(1)MQ四大核心概念 生产者 交换机(1) 队列(n) 消费者 (2)安装rpm -ivh erlang-21.3-1.el7.x86_64.rpmyum install socat -yrpm -ivh rabbitmq-server-3.8.8-1.el7.noarch.rpm(3)启动// 开机启动c
2022-03-10 20:49:08
1462
原创 ActiveMQ
MQ消息中间件MQ = Message Queue,消息中间件MQ的种类:Kafka(java/scala)、RabbitMQ(erlang)、RocketMQ(java)、ActiveMQ(java)1、ActiveMQ入门两大默认端口:61616,81611、api发送和接收2、MQ的高可用性3、MQ的集群和容错配置4、MQ的持久化5、延时发送/定时投递6、签收机制7、Spring整合8、编程语言:Java2、安装:1、官网下载;2、上传到/o
2022-03-04 19:12:17
2628
原创 Zookeeper
一、入门1、概述Zookeeper=文件系统+通知机制Zookeeper是开源的分布式的,为分布式应用提供协调服务的Apache项目。Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就会负责通知已经在Zookeeper上注册的那些观察者做出相应的反应。步骤:(1)服务端启动时去注册信息(创建都是临时节点);(2)获取到当前在线列表,并且注册监
2022-02-17 14:28:35
958
原创 Mybatis Plus
1、特性 无侵入:只做增强不做改变,引入它不会对现有工程产生影响; 损耗小:启动即会自动注入基本CRUD,性能基本无损耗,直接面向对象操作; 强大的CRUD操作:内置通用Mapper、通用Service,仅仅通过少量配置即可实现表单大部分CRUD操作,更有强大的条件构造器,满足各类使用需求; 支持Lambda形式调用:通过Lambda表达式,方便的编写各类查询条件,无需再担心字段写错; 支持主键自动生成:支持多达4种主键策略(内含分布式唯一ID生成器-Seque
2022-02-16 18:23:09
722
原创 Spring Cloud
Spring Cloud是分布式微服务架构的一站式解决方案,它提供了一套简单易用的编程模型,使我们能在Spring Boot的基础上轻松地实现微服务系统的构建。Spring Cloud被称为构建分布式微服务系统的“全家桶”,它并不是某一门技术,而是一系列微服务解决方案或框架的有序集合。它提供了服务治理、服务网关、智能路由、负载均衡、断路器、监控跟踪、分布式消息队列、配置管理等领域的解决方案。Spring Cloud是一套微服务规范,共有两代实现: Spring Cloud Netflix 是第
2022-02-11 14:09:31
774
原创 Redis
1、Redis是什么Redis(Remote Dictionary Server)译为“远程字典服务”,它是一款基于内存实现的键值型NoSQL(非关系型)数据库,通常也被称为数据结构服务器,这是因为它可以存储多种数据类型,比如String(字符串),hash(哈希散列),list(列表),set(集合),和sorted set(有序集合)等,Redis自带16(0-15)个数据库,在同一个库中,key是唯一存在的,不允许重复的,理论上Redis的每一个key和value的大小不超过512MB。(1)
2022-02-07 16:17:51
866
原创 Spring MVC框架——Web开发框架
1、MVC设计模式一般指MVC框架,M(Model)数据模型层,V(View)视图层,C(Controller)控制层。Controller层:获取用户的请求,处理相关业务逻辑,并成功跳转页面,负责前后台的交互。Model层:封装用户信息的实体类,封装实体类。View层:跳转的结果页面。两种Web应用程序的的开发模式:JSP+JavaBean和Servlet+JSP+JavaBeanJSP+JavaBean:JSP:用于处理用户请求,JavaBean:用于封装和处理数据。Serv
2022-01-20 09:33:12
640
原创 Git、GitHub、Gitee、GitLab
Git——分布式版本控制1、介绍免费的、开源的分布式版本控制系统个人开发过渡到团队协作集中式版本控制工具:SVN(Subversion),使用同一个中央服务器(存放代码)分布式版本控制工具:Git(1)本地库:有历史记录(2)远程库:工作机制:(1)工作区:存放代码的位置;(2)暂存区:把工作区的代码add到Git的暂存区,临时存储;(3)本地库:暂存区commit到本地库,生成历史版本,删不掉代码;(4)远程库=代码托管中心 push命令2、安装Ba
2022-01-09 19:38:49
565
原创 Spring MVC框架——Web开发框架
1、MVC设计模式一般指MVC框架,M(Model)数据模型层,V(View)视图层,C(Controller)控制层。Controller层:获取用户的请求,处理相关业务逻辑,并成功跳转页面,负责前后台的交互。Model层:封装用户信息的实体类,封装实体类。View层:跳转的结果页面。两种Web应用程序的的开发模式:JSP+JavaBean和Servlet+JSP+JavaBeanJSP+JavaBean:JSP:用于处理用户请求,JavaBean:用于封装和处理数据。Servle
2021-12-27 16:44:59
612
原创 初学Spring框架(二)
一、Spring IoC容器IoC(Inverse of Control)控制反转,将对象的创建以及对象依赖关系反转给Spring容器,程序本身不进行维护。Spring通过IoC容器来管理对象的实例化和初始化,以及对象从创建到销毁的整个生命周期。Spring提供的2种不同类型的IoC容器,BeanFactory和ApplicationContext容器:1、BeanFactory容器:由org.springframework.beans.factory.BeanFactory接口定义,采用懒加载
2021-11-29 23:52:30
266
原创 初学Spring框架 (一)
一、spring简介spring是一个使用java语言编写的轻量级开源框架,解决了项目中的一些通用问题,例如依赖注入、切面织入等,同时还提供了项目中各种技术的一站式的解决、整合方案。spring的基础功能:控制反转(IOC)和面向切面(AOP)。spring的基础核心项目:Spring Framework二、spring优势1、容器性质,方便解耦,简化开发(核心):IOC容器管理对象间的依赖关系;2、AOP编程的支持(核心):使用AOP功能,方便进行面向切面的编程;3、声明式事务
2021-11-26 00:36:21
562
原创 Redis的命令大全
Redis中主要通过命令来对key和value进行操作:一、key1、del命令:用于删除已存在的键,不存在的key会被忽略;2、exists命令:用于检查给定key是否存在;3、expire命令:用于设置key的过期时间,key过期后将不再可用;4、expireat命令:用于以时间戳(unix timestamp)格式设置key的过期时间,key过期将不可用;5、pexpireat命令:用于设置key的过期时间,单位是毫秒,key过期将不再可用;6、persist命令:用于移除
2021-11-19 23:39:42
960
原创 初学Redis(历史、优势、数据类型)
一、简史Redis是Salvatore Sanfilippokai开发的,它是一个开源的、使用C语言编写的、基于内存的、也可以持久化的日志型、key-value数据库,并提供多种语言的API的内存高速缓存数据库。它支持丰富的数据类型,如:String、hash、list、set、zset。二、优点1、性能极高:Redis读的速度是110000次/s,写的速度是81000次/s;2、丰富的数据类型:Redis支持二进制的String、Hash、List、Set、Ordered Set等数据类型
2021-11-18 22:31:01
219
原创 mybatis动态sql的标签
已知有resultMap:<resultMap type="com.briup.oneToMany.Course" id="coursesResult"> <id property="courseId" column="course_id"/> <result property="name" column="name"/> <result property="description" column="description"/> <
2021-11-10 21:25:36
694
原创 MyBatis中的三种映射方法(2)
三、多对多映射:1、先在数据库里创建student表、course表、student_course桥表(里面存放student的id和course的id)create table course (id number primary key,course_code varchar2(30) not null,course_name varchar2(30) not null);create table student (id number primary key,name varcha
2021-11-10 15:30:36
911
原创 MyBatis中的三种映射方法(1)
一、一对一映射:1、先在数据库里边建两张表,学生表和地址表(规定一个学生只能有一个家庭地址,一个家庭地址只能对应一个学生),并插入一些数据信息;2、在sts中创建实体类,Student和Address,并且Student中有一个Address属性;3、创建映射接口StudentMapper,创建查询数据的方法;public interface StudentMapper { //查询所有学生,地址 List<Student> findStudentsWithAddress(
2021-11-09 15:43:57
7509
原创 利用MyBatis框架调用方法的方式
以下方法都是向数据库中修改数据的操作:第一种,直接使用路径来调用映射文件的SQL语句:1、先在映射文件里面写:把数据库中的数据根据序号来修改名字2、在测试方法里直接采用路径来调用SQL语句:把序号为1的数据的名字改成tom第二种方法:通过获得映射接口的对象来调用方法1、先在映射文件里面写:把数据库中的数据根据序号来修改名字2、在映射接口里面里面定义方法3、在测试方法中直接创建对象来调用方法:把序号为1的数据的名字改成jack到此方法的调用的设置结...
2021-11-08 17:09:06
830
原创 servlet的上传和下载
上传:客户端浏览器选择一个文件通过post方法发送给服务器端,然后服务器端把文件通过IO流保存某个位置。下载:就是通过服务器端把一个文件不停的读,同时通过输出流不停的写给服务器端。...
2021-11-04 21:41:27
94
原创 会话追踪技术
常用的会话追踪技术有cookie和URL重写两种:cookie是客户端浏览器用来存储信息的一种本地文件,当客户端第一次向服务器端发送请求时,响应头中会携带Set-Cookie(JSESSIONID值),根据服务器地址,当客户端再次向服务器端发送请求时,请求头中会携带Cookie(有JSESSIONID值)。cookie对象和session对象的区别:session是保存在服务器端的对象,cookie是客户端(浏览器)保存在本地文件中的对象。URL重写技术是在cookie被禁用之后,将需要进行
2021-11-02 11:24:36
141
原创 服务器内部跳转和客户端重定向
服务器内部跳转,指的就是当服务器端接收到一个请求的时候,可以将此请求转发给服务器内部的另一个资源,如果这个资源是一个html页面,那么Tomcat就会自动读取这个页面并写回给浏览器。服务器内部跳转的特点:1、需要request对象来完成;2、服务器内部跳转期间,其实是将request对象和response对象转发给下一个资源,所以在整个请求过程中,使用的都是同一个request对象和response对象;3、服务器内部跳转,浏览器地址栏的地址不会改变,因为只发出了一个请求。客戶端重定向,
2021-10-29 15:24:11
1063
原创 Servlet的生命周期及调用方法
Servlet的生命周期包括:创建、初始化、执行、销毁四大阶段。1、创建:在启动Tomcat的过程中,会根据配置文件来决定Servlet实例何时创建,默认在第一次被访问时创建,可以通过配置web.xml中的<load-on-startup>标签或者是@WebServlet注释中的loadOnStartup的值,调用Servlet实现类的构造器进行创建;2、初始化:首先调用init(ServletConfig config),然后创建ServletConfig实力对象调用getServle
2021-10-28 17:16:34
4177
1
原创 编写Servlet程序的3种方法
1、实现Servlet接口,并重写Servlet接口中的5种方法;2、继承GenericServlet抽象类,并重写GenericServlet抽象类中的service方法;3、继承HttpServlet抽象类,HttpServlet类中没有抽象方法,可以根据请求类型的不同来重写相对应的doXXX方法。其中HttpServlet抽象类继承了GenericServlet抽象类,GenericServlet抽象类实现了Servlet接口。...
2021-10-28 17:06:13
699
原创 创建Dynamic Web Project的三种方式
1、在桌面新建文件夹MyServlet,在MyServlet文件夹下新建WEB-INF文件夹和src文件夹,其中src文件下存放java源代码,WEB-INF文件下新建classes文件夹(存放src文件夹下编译生成的字节码文件)、lib文件夹(存放servlet-api.jar包)和新建文件web.xml。然后我们把MyServer文件夹放到Tomcat安装目录的webapps目录下即可。2、在开发工具sts3中创建Dynamic Web Project项目dtest在WEB-INF目录下创建w.
2021-10-27 13:27:25
7994
原创 JavaEE、Servlet、Jsp、Web Container、Tomcat之间的关系
JavaEE是sun公司为企业级应用开发推出的标准平台,是一种企业级应用开发规范,是多种技术的集合。Servlet和Jsp是JavaEE多种技术中的其中的两个核心技术,这两个的运行需要在Web Container(web容器)中运行。Tomcat就是web服务器,其中内嵌了web容器,所以可以处理静态资源和动态资源。...
2021-10-27 10:55:51
460
原创 面向对象思想
1.面向对象思想把构成问题的各种事物,抽象成各个对象,这些对象具有解决很多类似问题的行为(方法)。把具有相同属性和行为的某一类事物抽象成一个类,然后用类来创建对象。2.类与对象类是对一类事物的描述,而对象是类的一个具体的实例,类是对象的模板,对象是类的具体表现。3.成员变量和局部变量成员变量和局部变量的区别:(1)生命周期不同:成员变量的生命周期是从(创建对象之后)声明开始,局部变量的声明周期是存在的方法中;(2)作用范围不同:成员变量的作用范围是对象创建之后,局部变量的作用
2021-10-26 16:50:18
53
原创 Java关键字
Java的关键字:abstract assert boolean break byte case catch char class const continue default do double else enum extends final finally float for goto if implements import instanceof int
2021-10-25 22:07:44
73
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人