自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringCloud(Ribbon,Feign,Hystrix,Gateway,GlobalFilter)

一. 负载均衡Ribbon(理解记忆)在刚才的案例中,我们启动了一个springcloud_01_goods ,然后通过DiscoveryClient来获取服务实例信息,然后获取ip和端口来访问。但是实际环境中,往往会访问拥有很多个springcloud_01_goods 服务的集群。此时获取的服务列表中就会有多个,到底该访问哪一个呢?一般这种情况下就需要编写负载均衡算法,在多个实例列表中进行选择。不过Eureka中已经集成了负载均衡组件:Ribbon,简单配置即可使用。1.1 什么是Ribbon

2021-02-18 17:03:07 548

原创 MySQL--高级二(存储引擎,索引,锁,集群)

一、MySQL存储引擎1.MySQL体系结构体系结构的概念任何一套系统当中,每个部件都能起到一定的作用!MySQL的体系结构体系结构详解客户端连接支持接口:支持的客户端连接,例如C、Java、PHP等语言来连接MySQL数据库第一层:网络连接层连接池:管理、缓冲用户的连接,线程处理等需要缓存的需求。例如:当客户端发送一个请求连接,会从连接池中获取一个连接进行使用。第二层:核心服务层管理服务和工具:系统的管理和控制工具,例如备份恢复、复制、集群等。

2020-12-03 09:12:00 202

原创 MySQL--高级一(存储过程,存储函数,触发器,事务)

一、MySQL存储过程和函数1.存储过程和函数的概念存储过程和函数是 事先经过编译并存储在数据库中的一段 SQL 语句的集合2.存储过程和函数的好处存储过程和函数可以重复使用,减轻开发人员的工作量。类似于java中方法可以多次调用减少网络流量,存储过程和函数位于服务器上,调用的时候只需要传递名称和参数即可减少数据在数据库和应用服务器之间的传输,可以提高数据处理的效率将一些业务逻辑在数据库层面来实现,可以减少代码层面的业务处理3.存储过程和函数的区别函数必须有返回值存储过程没有

2020-12-03 09:11:45 139

原创 MYSQL--进阶(约束,多表,视图,备份,还原)

一、约束1.外键约束外键约束概念让表和表之间产生关系,从而保证数据的准确性!建表时添加外键约束为什么要有外键约束-- 创建db2数据库CREATE DATABASE db2;-- 使用db2数据库USE db2;-- 创建user用户表CREATE TABLE USER( id INT PRIMARY KEY AUTO_INCREMENT, -- id NAME VARCHAR(20) NOT NULL -- 姓名);-- 添加用

2020-12-03 09:11:24 106

原创 MySQL--基础(安装,sql语句,约束)

MySQL基础-01-授课笔记一、数据库的基本概念1.为什么要学数据库?之前我们如果想将一些数据实现永久化存储,可以怎么做呢?没错。使用IO流的技术将数据保存到本地文件中但是接下来我有这样一个需求:将下面的user.txt文件中的王五年龄修改为35张三 23 男李四 24 男王五 25 女赵六 26 女周七 27 男我们要如何实现呢?可以采用字符缓冲流,将每一行数据读取出来,封装为User对象。将多个User对象保存到集合中然后遍历集合,将王五对象的年龄修改为35,再重新将

2020-12-03 09:11:00 79

原创 Servlet--基本四(EL表达式,内置对象,JSTL,过滤器,监听器)

EL1. 相关概念表达式语言,可以很方便的获取数据,和jstl一起使用,消灭jsp页面中的<%2. 基本语法${表达式}3. 主要作用1,快速的获取域对象中的值 通用格式: ${键名} 获取数组,list集合的元素 ${键名[索引]} Map集合的元素 ${键名.key名称} 或者 ${键名["key的名称"]} 获取javaBean对象属性 ${键名.属性名} 或者 ${键名["属性名"]} 2,简单的运算 算术,关系,逻辑,三元 4. 1

2020-12-03 09:10:19 242

原创 Servlet--基本三(cookie,session,jsp)

会话技术什么是会话 一个用户,打开浏览器,浏览多个页面,在这个多个页面中进行切换,最后关闭浏览器,这个过程 这个过程中,其实是在访问同一个web应用.点击了多个超链接,发送了多个请求什么是会话技术 就是一个技术,这个技术可以实现会话过程中数据的共享有什么用 保存用户在会话过程中产生的数据 让用户在同一个会话过程中实现数据的共享分类 浏览器(cookie) 不太安全,可能会被清掉,服务器怎么知道浏览器里面有数据 ---每次访问服务器的时候把数据带过去 服务器(sessio

2020-12-03 09:09:53 77

原创 Servlet--基本二(请求对象,文件下载)

请求对象1. 获取请求行数据getMethod()获取请求方式getContextPath()获取虚拟目录2. 获取请求头数据getHeader(请求头) 获取指定的请求头中的数据3. 获取请求体数据必须是post请求才可以 getReader() 通过请求对象获取字符流对象(可以操作浏览器传过来的文本数据) getInputStream()通过请求对象获取字节流对象(可以操作浏览器传过来的所有数据)4. 获取表单提交的数据常用方法 request.getParameter(

2020-12-03 09:09:33 156 1

原创 Servlet--基本一(生命周期,线程安全)

Servlet实现方式1.实现Servlet接口 重新service方法2.继承GenericServlet抽象类 重新service方法3.继承HttpServlet抽象类(右键new一个Servlet) 重新doGet()和doPost()方法继承体系Servlet 接口 |GenericServlet 抽象类 与协议无关的servlet,父类 |HTTPServlet 抽象类 跟HTTP协议相关的(以后都是用的这个协议)生命周期出生 默认情况,第一次被访问的时

2020-12-03 09:08:59 75

原创 web核心,Tomcat,web项目发布,http协议,servlet基本

web核心概念1.资源的分类静态资源 html css js 拿过来动态资源 servlet jsp php 在线邮箱 本质就是一个数据库,根据用户名和密码去数据库中查询对应的记录,动态的生成html页面,发给浏览器去展示 浏览器只能解析静态的页面 2.软件的架构b/s:网页版qq,无需更新,数据都是从服务器过来的,服务器的压力比较大 c/s:桌面版qq,页面酷炫,和本地交互很方便,占用本地资源比较大3.通信三要素ip:设备在网络中的唯一标识端口:程序在设备中的唯一标识

2020-12-03 09:08:38 182

原创 html--二(核心标签,CSS选择器)

表单标签核心标签form 表单标签 定义表单要提交的范围和提交的地址 重要的属性 action 设置表单要提交的地址(默认提交到当前页面) method 设置表单的提交方式(默认是get方式) get:把数据拼接到地址栏后面,相对的不安全,只能提交量比较小的数据 post:把数据封装到请求体中,相对的安全,可以提交大量的数据 input 表单项标签 重要属性 type text 文本框 passwd 密码框 radio 单选框 checkbo

2020-12-03 09:07:54 109

原创 html--一(概念,语法,特点)

HTML概念超文本标记语言,主要用来描述一个页面操作思想网页中有很多数据,不同的数据需要不同的显示效果,这个时候就需要通过标签把要操作的数据包起来(封装)通过修改标签的属性值,实现标签内数据样式的改变一个标签就相当于一个容器,想要修改容器内数据的样式,只需要修改容器的属性值,就可以实现容器内数据样式的改变特点语法非常的宽松标签是不区分大小写(建议小写,html5标准建议小写)标签是预定义好的,每个标签都有特殊的含义语法标签 由尖括号包裹起来的关键字组成 <font&gt

2020-12-02 09:23:20 552

原创 linux命令大全

用户相关命令用户相关 创建用户:useradd 用户名 用户口令:passwd 用户名 修改用户:usermod 用户名 删除用户:userdel 用户名 彻底删除用户:userdel -r -f 用户名 用户组相关 创建用户组: groupadd 用户组名 修改用户组: groupmod 用户组名 查询用户所属组: groups 用户名 删除用户组: groupdel 用户组名 管理用户组内成员 gpasswd (可选项)组名 ⚫ -a:添加用户到组; ⚫ -d:从组删

2020-12-02 09:22:39 71

原创 javaSE-进阶十九(Git)

Git能够干什么Git是一个代码版本控制工具,有下面几个特点1.Git可以用于备份项目代码2.Git可以管理代码的各个版本3.Git可以方便大家协同工作4.Git可以方便代码追责Git和SVN对比SVN是集中式的版本控制系统,而Git是分布式的版本控制系统。Git本地仓库操作工作目录:代码存放的位置暂存区:代码提交之前的临时存储空间本地仓库:存放不同的版本代码Git常用命令git init 初始化,创建git仓库git status 查看git状态(文件是否进行了添加、

2020-12-02 09:21:59 74

原创 javaSE--进阶十八(junit,Log4j)

Junit单元测试Junit单元测试,它可以让方法独立执行。这样我们每写完一个方法,就可以使用Junit运行,检查方法的正确性。//运行在@Test直接之前@Beforepublic void before(){ System.out.println("运行在Test之前"); }//加上@Test注解的方法,可以独立执行。//绿色:表示正常执行//红色:执行出现问题@Testpublic void show(){ int a=10; int b=20;

2020-12-02 09:21:32 76

原创 javaSE--进阶十七(XML,枚举,注解)

XMl概述xml是可扩展的标记语言。它的标签都是自定义的,然后通过程序员写代码自己进行解析。html的标签是预定义好的,每一个标签都有特定含义,这些标签可以被浏览器直接识别。xml一般用来作为配置文件使用,它可以表示具有层次结构的数据。xml标签的规则1.标签都有由一对尖括号组成的2.标签一般都是成对出现的,开始标签和结束标签的名称是一样的 <student></student>3.标签可以是单独的一个标签,必须要有结束标签 <student/>4.标

2020-12-02 09:21:14 123

原创 javaSE--进阶十六(类加载器,反射)

类加载器的方法Properties pro=new Properties();//使用类加载器获取src目录下文件的输入流InputStream in = ClassLoader.getSystemClassLoader().getResourceAsStream("a.properties");//把配置文件中的键和值,加载到Properties集合pro.load(in);System.out.println(pro);反射反射可以在程序运行时,动态的获取每一个类的各个组成部分(成

2020-12-02 09:20:52 102

原创 javaSE--进阶十五(网络编程,TCP与UDP)

网络编程的三要素ip地址:ip地址网络中计算设备的唯一标识 ipv4: 占4个字节 ipv6: 占16个字节 ipconfig: 查看本机的ip地址 ping: 检测指定的ip是否能够连接通 注意:ip地址和域名是对应的,需要在工信部门进行备案 端口号:计算设备中连接网络的应用程序的标识(用一个整数表示 0~65535 ) 0~1023不建议使用,可能会被系统或者一些知名的软件占用。 80:连接互联网的默认端口号 协议:网络中数据传输的规则 UDP协议:面向无连接,不可靠的

2020-12-02 09:20:23 107

原创 javaSE--进阶十四(线程状态,线程池,JVM的内存模型)

线程的状态【理解】NEW(新建状态): 至今尚未启动的线程处于这种状态。 RUNNABLE(就绪状态):正在 Java 虚拟机中执行的线程处于这种状态。 BLOCKED(阻塞状态): 受阻塞并等待某个监视器锁的线程处于这种状态。 WAITING(等待状态): 无限期地等待另一个线程来执行某一特定操作的线程处于这种状态。 TIMED_WAITING(计时等待): 等待另一个线程来执行取决于指定等待时间的操作的线程处于这种状态。 TERMINATED(销毁状态):已退出的线程处于这种状态。

2020-12-02 09:20:00 93

原创 javaSE--进阶九(红黑树,hashSet,Map)

红黑树红黑树的规则: 1.每一个节点都是红色或者黑色 2.如果一个节点没有子节点,就称为叶子节点(Null),叶子节点都是黑色 3.根节点是黑色 4.对于一个红色节点,它的子节点都是黑色 5.对任意的节点,到其叶子节点的简单路径,包含相同的黑色节点数目。 红黑树添加元素:元素默认的颜色是红色如果添加元素破坏了红黑规则,可以如何恢复红黑规则?HashSetHashSet是属于Set集合的子类HashSet集合的特点 1.元素没有顺序 2.元素不能重复 3.元素没有索引Ha

2020-12-02 09:19:27 135

原创 javaSE--进阶八(泛型,二叉树)

泛型Java中如果在写代码的时候,不知道数据类是什么类型,那么就可以使用泛型。泛型其实就是任意的数据类型。泛型可以使用在哪些地方? 泛型类: 在类名后面<T>, 它表示在类中有一个不确定的数据类型。 泛型方法: 在方法的返回值前面<T>,它表示在方法中有一个不确定的数据类型 泛型接口:在接口名后面<T>,它表示在接口中有一个不确定的数据类型泛型类在类名后面<T>, 它表示在类中有一个不确定的数据类型、//定义一个盒子,用来装东西(什么东西,不

2020-12-02 09:19:01 118

原创 javaSE--进阶十三(多线程,线程安全问题,死锁,阻塞队列)

多线程概述1.多线程“同时”执行多件事情2.多线程需要硬件的支持并发与并行的区别并行:多个任务,同时执行并发:多个任务,交替执行进程和线程进程:表示正在运行的程序线程:进程中的一个执行路径,一个进程可以包含多个线程(多线程程序)线程的实现方式继承Thread方式继承Thread方式实现线程的步骤 1.写一个Thread的子类 2.复写run方法(run方法中是线程的执行代码) 3.创建Thread子类对象 4.调用start方法,启动线程注意的问题 1.为什

2020-12-01 10:18:13 237

原创 javaSE--进阶十二(IO流,序列化,Properties类)

字节流读取文本文件的问题当文本文件中存在汉字和字母的时候,由于汉字和字母占用的字节数不一样,再读取的时候就可能产生乱码的问题。假设有一个a.txt文件a你好bc使用下面的FileInputStream读取文件中的字节,把字节转成字符串就有乱码问题。FileInputStream fis=new FileInputStream("myModule12\\a.txt");//一次读取多个字节byte[] bs=new byte[2];int len; //记录每次读取的字节个数while (

2020-12-01 10:17:40 89

原创 javaSE--进阶十一(File类,路径,删除文件夹,IO流)

File类File类表示文件或者文件夹的路径。创建File对象创建File对象时,需要指定一个路径。这个路径可以存在,也可以不存在,可以是文件路径也可是文件夹路径。File f1=new File("C:\\a.txt");System.out.println(f1);File f2=new File("C:\\it\\aaa","a.txt");System.out.println(f2);File dir=new File("C:\\it\\aaa");File f3=new Fi

2020-12-01 10:16:58 119

原创 javaSE--进阶十(可变参数,Stream流)

可变参数可变参数用在方法的形式参数的位置,它可以看做是一个数组,可以接收多个实际参数。public static void main(String[] args){ int sum1=getSum(3,4,5); //求3,4,5的和 int sum2=getSum(1,2,3,4,5,6); //求1,2,3,4,5,65的和 int[] array={1,2,3,4,5,6}; int sum2=getSum(array); //求1,2,3,4,

2020-12-01 10:16:40 239

原创 javaSE--进阶七(集合,迭代器,增强for,数据结构)

数组和集合的区别1.数组的长度是固定的;数组元素类型可以是基本类型,也可以是引用类型2.集合的长度是可变的;集合元素类型只能是引用数据类型。 集合中如要想存储基本数据类型,需要转换为包装类 int-->Integer集合的体系结构Colletion接口:集合体系的根接口 -- List接口: 有索引、新增了一些对索引进行操作的方法 ArrayList类 LinkedList类 -- Set接口: 没有索引 HashSet类 TreeSet类 Collectio

2020-12-01 10:16:14 75

原创 javaSE--进阶六(时间类,异常类)

JDK7的日期时间类。Date类Date类表示时间,时间可以精确到毫秒。创建一个Date对象,其实就表示时间的对象。Date date1=new Date(); //当前系统时间Date date2=new Date(0L); //1970年1月1日8点0时0分 (中国)Date date3=new Date(1000L*60*60*24); //1970年1月2日8点0时0分 (中国)获取和设置时间Date date=new Date(); //当前系统时间//设置时间为da

2020-12-01 10:15:50 193

原创 javaSE--进阶五(Math类,System类,Object类,BigDegimal类,Arrays类,二分查找,冒泡排序,递归)

Math类Math类中包含一些对数据进行数学运算的方法,而该类中的方法全都是静态的。像这样的类称之为工具类public static int abs(int a) 对一个数据求绝对值public static double ceil(double n) 对一个小数向上取整 4.3 --> 5.0public static double floor(double n) 对一个小数向下取整 4.3 --> 4.0public static int round(d

2020-12-01 10:15:11 67

原创 javaSE--进阶四(内部类,lambda表达式)

内部类内部类它就是定义在类里面的类,但是根据在类中位置的不同,分为成员内部类,局部内部类。成员内部类成员内部类,写在类的成员位置public class Outer{ private int num=10; //Outer类的成员变量 //成员内部类 class Inner{ int num=20; public void show(){ int num=30; System.out.p

2020-12-01 10:14:46 93

原创 javaSE--进阶三(接口,多态)

接口接口中的方法全都是抽象方法,用来指定一些规则,让子类去重写。接口的作用主要体现在一下两点1.指定规则2.利用这些规则给类做功能扩展接口的定义和使用接口使用interface关键字来定义,使用implements来实现。//定义接口public interface Inter{ //接口中的抽象方法 public abstract void method();}//实现接口public class InterImpl implements Inter{ //

2020-12-01 10:13:45 69

原创 javaSE--进阶二(继承,抽象)

继承继承的格式继承它描述的是两个类之间的关系,如果一个子类继承父类,那么子类可以使用父类非私有的成员。public class 父类{ //成员变量 //成员方法}public class 子类1 extends 父类{ }public class 子类2 extends 父类{ }继承的好处和弊端1.提高了代码的复用性,可维护性2.增强了耦合性(类与类之间的关系过于紧密) 什么是时候使用继承? 类与类之间有共性的成员变量或者成员方

2020-12-01 10:13:34 55

原创 javaSE--进阶一(分包,学校管理系统)

分类(分层)思想把软件系统中要做的需求分成很多类,每个类做的事情是不一样的(分工协作)dao层(数据访问层):对数据进行管理的操作(增、删、改、查)。 数据库、数组、集合service层(业务层): 具体做一些业务操作controller(控制层): 用来接收用户的数据,交给业务层进行处理。domain层(实体类):用来封装数据的 JavaBean类有以下的规则: 1)私有化成员变量 2)要有空参数构造方法 3)要有get和set方法包的定义和导包1.包是什么? 包本质上是

2020-11-30 19:44:01 230

原创 javaSE--基础九(数组,集合,包装类)

数组和集合的区别数组:长度是固定的集合:长度随着元素的个数发生改变集合的创建和使用ArrayList是API中提供的一个类,用来表示集合。ArrayList底层也是数组来实现的,当往集合中存储元素时,会自动对底层的数组进行扩容的。//创建ArrayList集合对象//<String> 元素的类型为String类型ArrayList<String> list=new ArrayList<>();//添加元素list.add("hello");list

2020-11-30 19:29:40 79

原创 javaSE--基础八(API简介,字符串常见方法)

API概述Java官方给开发者已经写好了很多个类,类中有各种方法供开发者调用。我们学习Java语言更多的是学习官方给我们提供好的类和方法。 这些类和方法,我们就把它称之为APIJava API文档的使用步骤1.搜索需要的类 【显示】-->【索引】-->输入框输入要搜索的类 2.看类在哪个包中 java.lang包,使用该包下的类不用导包 非java.lang包,就需要导包 3.看类的描述信息 告诉你该类是干什么用的。4.看构造方法 用来创建对象的,如果有多个构造方法就

2020-11-30 19:25:54 132

原创 javaSE--基础七(面向对象)

面向对象思想1.面向过程 把需要完成的事情,自己一步一步的完成。 2.面向对象 找一个能帮你完成事情的对象,让对象帮你做事情。 面向对象的特点: 1) 对象是客观存在的事物,都可以看做对象(电脑、手机、人....) 万物皆对象 2) 把复杂的问题简单化 3) 把我们从执行者,变为指挥着类与对象的关系类:类是对同一类具有相同属性和行为的事物的统称 电脑类、人类...对象:对象是类的具体体现总结:类是对象的模板,同一个模板(类),可以创造出很多个对象。类的定义pub

2020-11-30 19:22:12 86

原创 javaSE--基础六(idea.debug,进制转换,二维数组)

Debug调试什么是Debug调试? Debug调试可以让我们看到程序的执行流程,和变量的变化情况如何完成Debug调试? 1.打断点 (程序执行时,会停在断点的位置) 在代码编辑区域的最左边,点一下即可 2.点击Debug 运行 (小虫子) 3.通过Debug的一些按钮来完成后续的调试操作 看下图进制【了解】进制指的是一种计数方式,常用的计数方式有 十进制、二进制、八进制、十六进制十进制: 由0、1、2、3....9 组成,逢10进1 例如: 100二进制:

2020-11-30 19:02:10 293

原创 javaSE--基础五(方法定义与调用)

方法简介方法是用来封装特定功能的代码块,为了提高代码的复用性。学习方法主要就学习两点 1.方法的定义 2.方法的调用方法的定义和调用public class MethodDemo{ //主方法 public static void main(String[] args){ hairCut(); //调用剪头发的方法 hairCut(); //调用剪头发的方法 } //自定义方法,剪头发方法 public s

2020-11-30 18:57:45 71

原创 javaSE--基础四(idea,数组)

IDEA的项目结构project(项目、工程) -- Module(模块) -- Package(包) -- Class(类) -- Class(类) -- Package(包) -- Class(类) -- Class(类) -- Module(模块) ...在使用IDEA来创建Java项目的时候,一定要满足上面的目录结构,否则代码跑不起来。IDEA创建项目1.创建项目 Crete New

2020-11-30 18:55:41 374

原创 javaSE--基础三(循环语句,随机数)

switch语句当需要在几个固定的值中,选择一个种情况来执行,这个时候可以选择switch语句int n=值; //n的值可能是下面的几种情况switch(n){ case 值1: 语句体; break; case 值2: 语句体; break; ... default: 语句体; break;}注意事项: 1)case后面的值不能重复 2)case后面的值只能是常

2020-11-30 18:48:26 384

原创 javaSE--基础二(类型转换,运算符,if语句)

数据类型转换1.隐式(自动)类型转换: 从数据类型小的到数据类型大的转换 byte < short, char< int < long < float < double 1)多种类型参与运算,小的数据类型会自动转换为大的数据类型 double a=3.14; int b=3; double c=a+b; 2)byte,short,char这三种之间不转换,在运算时会直接转换为int类型 byte x=3; byte y=4; int z=x+y;

2020-11-30 18:43:57 687

空空如也

空空如也

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

TA关注的人

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