自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Struts2

文章目录一、Struts2入门struts2概述struts2入门案例struts2底层执行过程struts2相关配置struts2的核心配置文件struts.xmlstruts2常量配置分模块开发struts2的action创建action的编写方式struts2的action方法访问(重点)二、Struts2数据操作结果页面的配置在action获取表单提交的数据struts2提供获取表单数据方式(减少了代码,替代了上面的方式例如:ServletActionContext)struts2获取数据封装到集合

2021-05-12 10:59:34 192

原创 Zookeeper学习之旅

public class Demo3 {CuratorFramework cf = ZkUtil.cf();@Testpublic void listen() throws Exception { //1. 创建NodeCache对象,指定要监听的znode NodeCache nodeCache = new NodeCache(cf,"/qf"); nodeCache.start(); //2. 添加一个监听器 nodeCache.getListenab

2021-01-19 23:14:37 106

原创 分布式处理方案

Author:EricVersion:9.0.0文章目录一、引言二、分布式锁介绍三、分布式锁解决方案【`重点`】3.1 搭建环境3.2 Zookeeper实现分布式锁原理3.3 Zookeeper实现分布式互斥锁3.4 Redis实现分布式锁原理3.5 Redis实现分布式锁四、分布式任务介绍五、分布式任务解决方案【`重点`】5.1 Elastic-Job介绍5.2 Elastic-Job实现分布式任务六、分布式事务介绍6.1分布式事务介绍6.2 Base理论七、分布式事务解决方案【`重点`】7...

2021-01-19 22:58:59 176

原创 SpringCloud学习之旅

Author:EricVersion:9.0.0文章目录一、SpringCloud介绍1.1 微服务架构1.2 SpringCloud介绍二、服务的注册与发现-Eureka【`重点`】2.1 引言2.2 Eureka的快速入门2.2.1 创建EurekaServer2.2.2 创建EurekaClient2.2.3 测试Eureka2.3 Eureka的安全性2.4 Eureka的高可用2.5 Eureka的细节三、服务间的负载均衡-Ribbon【`重点`】3.1 引言3.2 Ribbon的快速入..

2020-12-24 12:21:18 491

原创 架构演进

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MA76HJ0o-1608560174392)(Pictures/1589079298185.png)]Author:EricVersion:9.0.0文章目录一、开发环境&生产环境1.1 开发环境1.2 生产环境二、Web1.0&Web2.0阶段2.1 Web1.0阶段2.2 Web2.0阶段2.3 搭建集群后发生的问题.三、垂直架构四、分布式架构五、分布式架构常见问题5.1 服务之间的异步通讯5.2

2020-12-21 22:17:14 368 2

原创 MySQL高级

MySQL核心配置文件查看本机MySQL配置文件所在位置[mysqld]# socket=MYSQL# The TCP/IP Port the MySQL Server will listen onport=3306# Path to installation directory. All paths are usually resolved relative to this.# basedir="C:/Program Files/MySQL/MySQL Server 5.6/"#

2020-12-21 22:16:23 75

原创 MQ2

死信队列什么是死信队列一般来说,producer将消息投递到queue中,consumer从queue取出消息进行消费,但某些时候由于特定的原因导致queue中的某些消息无法被消费,这样的消息如果没有后续的处理,就变成了死信(Dead Letter),所有的死信都会放到死信队列中。“死信”消息会被RabbitMQ进行特殊处理,如果配置了死信队列信息,那么该消息将会被丢进死信队列中,如果没有配置,则该消息将会被丢弃。消费者消费消息​ 1)正常消费–>手动ack–>MQ从队列中删除消息

2020-12-17 13:14:43 1375

原创 RabbitMQ学习之旅

Author:EricVersion:9.0.0文章目录一、引言二、RabbitMQ介绍三、RabbitMQ安装四、RabbitMQ架构【`重点`】4.1 官方的简单架构图4.2 RabbitMQ的完整架构图4.3 查看图形化界面并创建一个Virtual Host五、RabbitMQ的使用【`重点`】5.1 RabbitMQ的通讯方式5.2 Java连接RabbitMQ5.2.1 创建maven项目5.2.2 导入依赖5.2.3 创建工具类连接RabbitMQ5.3 Hello-World5.4 ..

2020-12-16 22:11:53 177

原创 SpringBoot学习之旅

Author:EricVersion:9.0.0文章目录一、引言1.1 初始化配置1.2 整合第三方框架1.3 后期维护1.4 部署工程1.5 敏捷式开发二、SpringBoot介绍三、SpringBoot快速入门【`重点`】3.1 快速构建SpringBoot3.1.1 选择构建项目的类型3.1.2 项目的描述3.1.3 指定SpringBoot版本和需要的依赖3.1.4 导入依赖3.1.5 编写了Controller3.1.6 测试3.2 SpringBoot的目录结构3.2.1 pom.xm..

2020-12-16 22:06:29 196

原创 JDBC

JDBC核心技术第1章:JDBC概述1.1 数据的持久化持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数据库来完成。持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中。1.2 Java中的数据存储技术在Java中,数据库存取技术可分为如下几类:JDBC直接访问数据库JDO

2020-12-11 09:04:25 124

原创 MySQL基础

数据库的好处1.持久化数据到本地2.可以实现结构化查询,方便管理数据库相关概念1、DB:数据库,保存一组有组织的数据的容器2、DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据3、SQL:结构化查询语言,用于和DBMS通信的语言数据库存储数据的特点1、将数据放到表中,表再放到库中2、一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性。3、表具有一些特性,这些特性定义了数据在表中如何存储,类似java中 “类”的设计。4、表由列组成,我们也

2020-12-07 11:33:27 81

原创 ElasticSearch学习之旅

Author:EricVersion:9.0.0文章目录一、引言1.1 海量数据1.2 高亮显示二、ES概述2.1 ES的介绍2.2 ES的由来2.3 ES和Solr2.4 倒排索引三、 ElasticSearch安装3.1 安装ES&Kibana3.2 安装IK分词器四、 ElasticSearch基本操作4.1 ES的结构4.1.1 索引Index,分片和备份4.1.2 类型 Type4.1.3 文档 Doc4.1.4 属性 Field4.2 操作ES的RESTful语法4.3 索引的..

2020-12-07 11:07:41 258

原创 Redis学习之旅

Author:EricVersion:9.0.1文章目录一、引言1.1 数据库压力过大1.2 数据不同步1.3 传统锁失效二、Redis介绍2.1 NoSQL介绍2.2 Redis介绍三、Redis安装3.1 安装Redis3.2 使用redis-cli连接Redis3.3 使用图形化界面连接Redis四、Redis常用命令4.1 Redis存储数据的结构4.2 string常用命令4.3 hash常用命令4.4 list常用命令4.5 set常用命令4.6 zset的常用命令4.7 key常用命..

2020-12-06 17:12:00 212

原创 JavaSE(十六)--枚举、注解、Java8新特性

枚举枚举类型数据类型的值是固定.1:枚举类型的作用:限定变量的取值.2:枚举优点:方便,安全性好.3:枚举类型特点:是一种引用数据类型,继承自java.lang.Enum,是终止类,它的值是静态常量.4:声明枚举类型语法:public enum 类型名{ 值1,值2,值3...; //声明普通方法 访问修饰符 返回值类型 方法名(形参列表){ 方法体; [return 结果;] } //声明静态方法

2020-12-05 22:10:17 305

原创 JavaSE(十五)--反射、设计模式

反射1.反射机制Java的反射机制是指在运行状态中,对于任何一个类,都可以知道这个类所有属性和方法,对于任何一个对象,都可以用这个对象调用所有方法和属性,这种动态获取数据和操作对象的方法和属性的能力叫反射机制.2.反射将java类中所有成员属性,方法,构造方法映射成一个个对象.反射是所有框架的灵魂.属性->映射成->Field的对象方法->映射成->Method的对象构造方法->映射成->Constructor的对象3.反射对象(类对象)当程序运行,第

2020-12-05 21:31:56 148

原创 JavaSE(十四)--网络编程

网络编程1.计算机网络将分布在不同区域不同地方的多台计算机和网络设备通过线程连接起来组成一套大型系统,来实现计算机之间的信息传递和资源共享的设备.2.网络编程编写一个程序来实现计算机之间的信息传递和资源共享.网络编程实现技术:IO流+多线程+网络编程3.网络编程三要素:1:IP:是计算机在网络中唯一标识.在同一个网络不能有相同IP,在不同的网络中可以有相同的IP.本机回环地址:127.0.0.1,指代本机.查看IP:cmd->ipconfigping ip:cmd->p

2020-12-05 21:14:53 162

原创 网页解析

在网络爬虫的系统框架中,主过程由控制,解析,资源库三部分组成。解析是负责网络爬虫的一个部分,其负责的工作主要有:下载网页的功能,对网页的文本进行处理,如过滤功能,抽取特殊HTML标签的功能,分析数据功能。1. 网页解析:是来自某些网站搜集来的资料,这些资料包含编号,名称,图片,链接等等元素,在这里只是将信息从标签中提取出来获取请求返回的页面信息,筛选出我们想要的数据就可以了,有时候我们需要去一些网站上抓取数据,要想抓取数据,就必须先了解网页结构,根据具体的网页结构,编写对应的程序对数据进行采集2.

2020-12-04 08:49:04 4200

原创 Nginx学习之旅

Author:Ericversion:9.0.1文章目录一、引言1.1 代理问题1.2 负载均衡问题1.3 资源优化1.4 Nginx处理二、Nginx概述三、Nginx的安装3.1 安装Nginx3.2 Nginx的配置文件3.3 修改docker-compose文件四、Nginx的反向代理【`重点`】4.1 正向代理和反向代理介绍4.2 基于Nginx实现反向代理4.3 关于Nginx的location路径映射五、Nginx负载均衡【`重点`】5.1 轮询5.2 权重5.3 ip_hash5...

2020-12-02 08:49:28 99

原创 Linux学习之旅

Author:EricVersion:9.0.1文章目录一、引言1.1 开发环境1.2 生产环境1.3 测试环境1.4 操作系统的选择二、Linux介绍2.1 Linux介绍2.2 Linux的版本2.3 Linux和Windows区别三、Linux安装3.1 安装VMware3.2 安装Xterm3.3 在VMware中安装Linux3.3.1 选择安装方式3.3.2 指定镜像方式3.3.3 选择操作系统类型3.3.4 指定虚拟机名称3.3.5 磁盘存储方式3.3.6 指定虚拟机配置3.3.7 ..

2020-12-02 08:38:25 287

原创 JavaSE(十三)--File类和流

File类1.File类文件和目录路径名的抽象表示。2.路径绝对路径:带盘符的路径.相对路径:相对某个文件或目录来描述的路径.当相对的文件或目录与当前描述的文件或目录不在同一个盘符下时,绝对路径=相对路径.在大部分情况情况下, 绝对路径!=相对路径.3.file类常用方法:public static void main(String[] args) { //创建一个文件对象 //File f=new File("d:\\a.txt"); File f=new File("d:"

2020-12-02 00:26:26 165

原创 Docker学习之旅

一、引言1.1 环境不一致我本地运行没问题啊:由于环境不一致,导致相同的程序,运行结果却不一致。1.2 隔离性哪个哥们又写死循环了,怎么这么卡:在多用户的操作系统下,会因为其他用户的操作失误影响到你自己编些的程序。1.3 弹性伸缩淘宝在双11的时候,用户量暴增:需要很多很多的运维人员去增加部署的服务器,运维成本过高的问题。1.4 学习成本学习一门技术,得先安装啊:学习每一门技术都要先安装响应的软件,但是还有他所依赖的各种环境,安装软件成本快高过学习成本啦。二、Docker

2020-12-01 10:15:53 106

原创 JavaSE(十二)--线程

一、线程基础1.进程系统进行资源分配和调用独立单元.每个进程都有自己系统资源的内存空间.(正在运行的程序)2.线程进程中一条执行线路.一个线程执行一个任务.3.进程与线程的关系一个进程中可以1到多个线程.一个线程只属于一个进程.一个进程中多个线程之间是互抢资源竞争关系.4.实现线程有三种实现方式,前两种公司常用,第三种基本不用.第一种实现线程的方式:继承Thread类public class MyThread extends Thread{ /** * 重写线程类的任务

2020-12-01 00:13:07 93

原创 JavaSE(十一)--异常

1.异常程序在运行过程中遇到了特殊情况使程序意外中断,不再执行叫异常.2.异常的根类java.lang.Throwable,它的下面两个子类2.1:java.lang.Error由于JVM底层出问题面导致的异常,开发人员无法解决.2.2:java.lang.Exception由于程序设计不合理或者是偶然的外界因素导致的异常.2.2.1:运行时异常由于程序设计不合理而导至的异常.常见运行时异常有:空指针异常、类型转换异常、算术异常、数组越界异常....2.2.2:检查异常(非运行时异常)

2020-11-27 00:13:13 90

原创 JavaSE(十)--集合

1.集合存多个引用数据类型的数据的集合.它的长度可变.(动态)2.集合中常用概念:有序性:按照添加顺序来排列.可排序性:按照一定规则来排序(eg:数字由小到大,或由大到小来排序)唯一性:只有一个,不可重复.集合家族系谱图:3 List3.1:Collection接口存储无序,可重复的单一对象.3.1.1 List接口存储有序,可重复的单一对象.ArrayList类:存储有序,可重复的单一对象.底层采用Object[]存值.LinkedList类:存储有序,可

2020-11-26 23:58:33 158

原创 JavaSE(九)--接口、常用类

1.接口是一种特殊抽象类.也是一种引用数据类型.1.1接口的本质是一种约定,一种标准.表示是一种扩展功能.1.2:接口的关键字:声明接口:interface实现接口:implements1.3:接口的特征:1:接口不能实例化,接口中没有构造方法.2:接口中方法全是抽象方法.(注意:在JDK1.8之后,接口中可以有静态方法和default修饰的方法必须有方法体)接口中变量全是静态常量.3:接口中所有抽象方法不用abstract修饰,系统会默认给接口中方法加public abstrac

2020-11-26 23:11:40 185

原创 JavaSE(八)--abstract、static、final

1.abstract扩展修饰符,抽象的.1.1:抽象类用abstract修饰的类叫抽象类.1.1.1:抽象类特点:抽象类不能实例化(不能创建对象),但是抽象类有构造方法,作用:供子类调用.抽象类中可以有0到多个抽象方法,也可以有0到多个普通方法.1.1.2:抽象类适用场景:当一个类创建对象时没有意义,就可以将这个类定为抽象类;当一个类中有一个方法为抽象方法时,这个类必须定为抽象类.1.1.3:抽象类的作用让子类继承,从而实现代码复用;规定子类必须拥有的行为.1.2:抽象方

2020-11-24 21:00:10 135

原创 JavaSE(七)--三大特性

三大特性:封装、继承、多态1.封装隐藏事物的内部细节,提供对外访问的方法.作用:保证数据安全性;简化代码实现复用.对功能的封装:将功能声明为一个方法.作用:简化代码,实现代码复用.对属性的封装:将属性私有化,给它提供公有的获得属性get方法和设置属性set方法.作用:保护数据的安全性.自动生成get和set方法:选中类的空白地方->鼠标右键Source->Generate getters and setters->勾选你要生成get和set方法的属性->点击Gener

2020-11-23 23:21:19 161

原创 JavaSE(六)--面向对象

1.面向过程将一件分成若干步骤,自己一步一步亲力亲为去完成.解决简单问题.面向对象:将做一件事所有参与者找出事业,自己调用这些参与协同将这件事完成.解决复杂问题.面向过程和面向对象是一种相辅相成,互为补充的关系. 我要吃小龙虾 面向过程:自己去超市买龙虾,自己清洗龙虾,自己做龙虾,自己剥壳,自己吃,自己收拾好. 面向对象:自己点龙虾外卖,收到外卖吃,吃完后发动室友去收拾好.2.三大特性Java是一种纯面向对象的语言.面向对象语言都有三大特性:封装,继承,多态.3.对象用

2020-11-23 19:14:26 107

原创 JavaSE(五)--数组

1.数组:在内存内开辟一组连续空间来存值叫数组.1.1 数组也是一种变量,也是一种引用数据类型.1.2 数组由四个组成部分数组名,数据类型,元素,索引(下标).1.3 类型同一个数组中,元素的数据类型相同的;不同的数组数据类型可以是java中任意类型.1.4 索引数组的索引从0开始.1.5 访问数组中某个空间元素数组名[索引].1.6 空间数组一但分配了空间,它的长度是固定的.1.7长度数组的长度:数组名.length1.8 范围数组的索引范围在:0~数组名.lengt

2020-11-22 21:49:54 749

原创 JavaSE(四)--方法和递归

方法1.方法作用:减少代码,实现代码复用;方便后期维护.2.方法实现特定功能的一段独立代码块.3.方法的声明3.1:语法访问修饰符 扩展修饰符[static/abstract/final] 返回值类型 方法名 (数据类型1 参数1,数据类型2 参数2...){ 方法体(代码块); return 结果;}3.2:访问修饰符[public/protected/default/private],一般用public修饰符.作用限制方法 使用权限.3.3:返回值类型方法

2020-11-22 21:00:27 113

原创 JavaSE(三)--选择结构与循环结构

选择结构1.变量的比较2.Java中三种结构:3.基本if选择结构:3.1:语法:3.2:执行流程:4.if-else结构:4.1:语法:4.2:执行流程:5.多重if选择结构:5.1:语法:5.2:执行流程:5.3:多重if结构特点:6.嵌套选择结构:7.switch选择结构:7.1:语法:1.变量的比较基本数据类型(byte,short,int,long,float,double,char,boolean)的变量,用==表比较.引用数据类型(String)的变量,用字符串1.equals(字符串

2020-11-22 13:35:59 140

原创 JavaSE(二)--基本语法

Java的基本语法1.变量:2.java中常用数据类型2.1:基本数据类型:2.2:引用数据类型:2.3:char存储3.转义字符:4.数据类型转换4.1:自动类型转换:语法:4.1.1:两种类型要兼容.4.1.2:目标类型大于原类型(小转大)4.2:强制类型转换 语法:4.2.1:两种类型要兼容.4.2.2:目标类型小于原类型(大转小)4.3:int与char之间转换:(原因就ascii码和unicode码)4.3.1:char转换为int4.3.2:在码表范围内int类型转换为char类型,要进行强制类

2020-11-22 13:08:03 91

原创 JavaSE(一)--概述与环境

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2020-11-21 11:37:05 441 2

空空如也

空空如也

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

TA关注的人

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