自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 会话跟踪技术

会话:用户打开浏览器,访问web浏览器的资源,会话建立,直到有一方断开连接,会话结束。一次会话中可以包含多次请求和响应。客户端会话跟踪技术:Cookie服务端会话跟踪技术:Session。

2023-11-07 12:06:45 155

原创 Get请求和Post请求解决中文乱码问题

URLEncoding.encoder("要编码的字符串","字符集")URLdecode("要解码的字符串","字符集")此方法Post和Get请求都适用。Post请求中中文乱码的原因。

2023-11-06 10:33:31 1512

原创 实现文件上传和下载

MultipartConfig该注解表示这个servlet支持文件上传。multiple表示支持一次上传多个文件。

2023-10-29 18:32:48 346

原创 request、response请求转发和重定向

请求转发的实现方式:req.getRequestDispatcher("/路径").forward(req,resp);将数据存储到request域:req.setAttributes("data","hello");获取请求头数据(key:value):request.getHeader();请求参数的获取:get请求:request.getQueryString()根据key获取值:req.getSttribute("data");获取字符输出流:resp.getWriter().write()

2023-10-29 18:11:27 318

原创 Servlet入门

web是全球广域网,也称万维网,能够通过浏览器访问网站。JavaWeb就是用来解决相关web互联网领域的技术栈。

2023-10-29 16:30:51 108

原创 多线程总结

每个程序至少自动拥有一个线程,称为主线程,当程序加载到内存中时启动主线程,main()就是主线程的入口。线程是进程中执行运算的最小单位,一个进程执行过程中可以产生多个线程,线程必须在某个进程内执行。Java程序中至少包含两个线程:一个main()线程,另外一个是垃圾回收机制线程。进程:有独立的内存空间,进程中的数据存放空间(堆和栈)是独立的,至少有一个进程。一个进程中至少有一个线程,也可以有多个线程,这样的程序就称为多线程程序。线程:堆空间是共享的,栈空间是独立的,线程消耗的资源比进程小得多。

2023-09-24 18:32:05 93

原创 IO流内容总结

实现Cloneable接口必须要重写clone()方法,这个clone()是Object类的,如果是深拷贝要在clone()方法中进行额外的处理,就要递归的复制。缓存流底层有一个8kb的数组,读数据的时候会一次性把数组读满,然后每次从数组中拿数据,写数据的时候也会把数组写满,然后再从数组中取。因此,新对象和原始对象共享引用数据类型的引用,修改原始对象的值会影响复制之后的对象的值。序列化就是将对象的状态存储到特定存储介质中的过程,也就是将对象信息放到文本文件中,序列化后的对象时二进制状态。

2023-09-22 22:28:28 273

原创 字符集和File类

GBK字符集:兼容ASCII字符集,包含汉字,字母和数字占一个字节,汉字占两个字节。汉字的第一个字节的第一位必须是0,字母的第一个字节的第一位必须是0。将一个字符串转换为字节数组,使用指定的字符编码:String(byte[ ] bytes, String charsetName)StandardCharsets是Java标准库中的一个枚举类,提供了一些标准字符集常量,这些常量可以方便的引用。是一个表示字符集的类,提供了用于处理字符编码的工具和方法,是一个抽象类,可以用于字符编码和解码操作。

2023-09-14 11:56:37 81

原创 Java8新特性(Stream流)

Stream流是用于对数组和集合进行便捷操作的。

2023-09-13 11:21:02 121

原创 Map接口

Map接口是用于存储键值对映射关系的接口。Map接口提供了一种通过键来访问值的方式,Map中的每个键都是唯一的,值可以重复。Map接口常用实现类:HashMap、TreeMap,LinkedHashMap等。

2023-09-08 23:28:13 75

原创 泛型内容总结

将对象的类型作为参数,指定到其他类或者方法上,从而保证类型转换的安全性和稳定性。泛型的本质就是参数化类型。类型<E> 对象 = new 类型<E>();语法解析:<>是泛型的特征E表示某种数据类型,也可以用其他字母表示,在实际使用泛型时,需要用明确的类型替换E当 别 人 使 用 ArrayList 集 合 创 建 对 象 时 ,就 表 示 元 素 为 String 类 型 ,表示元素为Integer类型。泛型的作用、本质作用:在编译阶段避免出现一些非法的数据。

2023-09-08 22:51:30 120

原创 Set系列集合

Set集合是属于Collection下的一个分支。Set集合的特点:无序列,添加进去的顺序和取出来的顺不一样;不重复;无索引。HashSet:无序,不重复,无索引。LinkedHashSet:有序,不重复,无索引。TreeSet:排序,不重复,无索引。set.of( ):返回一个不可修改的集合,也就是不能再添加、删除元素,如果集合存放的元素是对象,那么对象的属性值可以修改。

2023-09-08 10:00:56 52

原创 集合入门知识

数组一旦初始化长度就定了,如果想要再放数据就得考虑扩容,java中针对数组的缺陷,提供了一种比数组灵活,使用方便的接口和类,称为集合框架。

2023-09-06 10:12:01 55

原创 设计模式简单介绍

设计模式数组针对软件发开发中经常遇到的一些设计问题,根据基本的设计原则,总结出来的一套使用的解决方案或者设计思路。创建型模式:工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。结构型模式:适配器模式,装饰者模式,代理模式,门面模式,桥接模式,组合模式,享元模式。行为型模式:策略模式,模板方法模式,观察者模式,迭代子模式,责任链模式,命令模式,备忘录模式,状态模式,访问者模式,中介者模式,解释器模式。

2023-09-05 22:35:27 76

原创 枚举的基本概念和使用

枚举是一种特殊的数据类型,用于定义一组命名的常量,枚举常用于表示一组相关的常量(月份,季节,星期几等),定义多个常量时用逗号隔开,最后一个常量加封号。所有的常量定义必须写在枚举第一行。也可以增加额外的属性和方法。

2023-09-05 22:14:14 81

原创 异常和异常处理

一个try可以有多个catch语句,如果产生异常就会和catch括号中的异常类型一个一个从上到下匹配(匹配是指catch所处理的异常类型与try块产生的异常类型完全一致或是它的父类),如果产生的异常是catch括号中声明了的就执行该catch中的语句,其他的catch不会被执行。try中的代码尽量少,try中只要遇到第一个异常,就会先去处理这个异常,后面的代码会被忽略,哪怕后面还有异常,也会被忽略。将可能产生的异常的类型放到catch后面的括号中,在catch里面写处理这个异常的代码。

2023-08-30 23:09:34 60

原创 内部类和接口

public interface 接口名{// 接口成员接口的访问权限是:public和缺省,和类的访问修饰符类似。一个接口可以继承其他接口,成为符接口,一个接口可以继承多个接口,与类继承不同,接口支持多继承。它将继承父接口中的常量和抽象方法。接口中的成员变量声明:[public] [static] [final] 数据类型 变量名 = 常量,接口中的变量默认都是public static final修饰的,所以这三个可以省略。

2023-08-29 23:11:07 78

原创 抽象类和抽象方法

抽象类的子类要么重写抽象类的所有抽象方法,要么本身就是抽象类。抽象方法只能出现在抽象类中,抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类。抽象类中除了有抽象方法也可以有其他方法。抽象类不能直接实例化,但是抽象类也有构造方法。抽象方法不能用private修饰,因为抽象方法没有方法体,是要子类继承之后重写抽象方法才能实现,但是用private修饰的方法子类无法继承,所以抽象方法不能用private修饰。抽象方法没有方法体,当一个方法被abstract修饰时,它只能在抽象类的子类重写的时候实现。

2023-08-29 22:55:12 47

原创 字符串基本内容2

Matcher.find():该方法用于在给定字符串中查找与正则表达式匹配的子序列,并返回一个布尔值。如果找到,可以用group()方法获取匹配的子序列。为了使基本数据类型也具有面向对象的特性,Java提供了包装类,包装类是一种特殊的类,用于将基本数据类型封装成对象,Java提供了8中包装类:除了Character,其他都是包装类都是对应的基本数据类型首字母大写。Float的构造方法:Float(double value),Float(int value),Float(String s)

2023-08-24 23:14:32 63

原创 字符串基本内容

字符串内部使用byte数组,在Java8之前是char数组来保存字符串的内容,数组中的每一位存放一个字符,byte数组的长度也就是字符串的长度。String stripIndent( ):去除每一行的空格,去除的是前置最少的空格数量,后面的都删除前置最少数量的空格,去除后面的所有。第一个参数是被格式化的字符串,第二个参数是替换格式符的字符串,第二个参数是可变长度参数,参数的个数有格式符的个数决定。对字符串进行连接、替换、截取等操作时,实际上是创建了一个新的字符串,而原始的字符串对象保持不变。

2023-08-23 23:03:30 97

原创 super关键字、Object类

super(参数列表)表示调用父类的构造方法,必须放在子类构造方法首行,如果表示调用父类的无参构造,super()可省略。使用instanceof时对象的类型必须和instanceof后面的参数所指定的类有继承关系,否则会编译报错,例如pet instanceof String。pet.toHospital()就会调用Dog类中的toHospital()方法,而不是调用父类Pet中的toHospital()方法。父类只能调用子类从父类中继承的方法或重写的方法,父类引用不能调用子类新增的方法。

2023-08-18 22:48:36 112

原创 继承内容总结

方法重写是发生在继承关系中的,子类和父类中方法名相同,参数列表相同,返回值类型一致(这里的一致指的是返回值类型一致,并不是要完全相同),访问修饰符权限子类大于等于父类,抛出异常子类小于等于父类。调用一个对象的被重写的方法的时候,实际上调用的是子类中重写之后的方法,而不是父类中的方法。子类的构造方法可以调用父类的构造方法,在子类的构造方法中使用super关键字调用,从而初始化父类的属性。如果父类没有写构造方法,子类无需调用父类的构造方法,如果父类写了构造方法,子类必须调用。这是子类自己的属性。

2023-08-17 23:07:40 48

原创 面向对象入门2

但是static成员只能访问static成员,因为static成员是优先于对象存在的,实例成员只能通过对象名.属性名的方法去调用,二此时还没有创建对象,所以无法访问。static修饰的变量和方法属于整个类,是类中所有对象共享的,没有使用static修饰的变量和方法知识属于某个对象所有。static成员是在类加载的时候一起加载的,是优先于对象存在的,实例成员是在创建对象的时候加载的,这也是为什么实例对象只能通过对象名.属性名的方式调用的原因。protected:受保护的,同类,同包的所有类都可以访问。

2023-08-16 22:51:26 49

原创 面向对象入门

new Student ( )在堆内存中创建一个对象,对象中包含学生的所有属性和属性值,系统会为这个Student对象分配一个地址值,这个地址值会赋值给栈内存中的s1这个变量,通过s1记录的地址值就可以找到这个对象。成员变量:定义在类里面,方法外面,可以选择在定义的时候进行初始化,可以为成员变量指定默认值(一般不会赋初始值,没有意义)。如果类中没有定义构造方法,在初始化对象时虚拟机会提供一个默认的无参构造方法,但是如果类中定义了无参或有参的任何一种构造方法,虚拟机将不再提供默认的无参构造方法。

2023-08-15 22:53:11 37

原创 方法内容总结

可变长度参数也称为可变参数或者不定参数,可以再方法声明中使用,用于接收不确定数量的参数。方法重载是指在同一个类中,方法名相同,参数列表不同的两个方法,参数列表不同可以是两个方法的参数个数、类型和顺序不同,不关心形参的名称,方法重载和方法的返回值没有关系。可变长度只能放在形参的最后一个位置上,而且该方法的重载方法不能再使用数组作为形式参数。使用递归时,递归一定要有出口,就是结束条件,不然递归会一直执行下去,无法停止。方法在类中没有先后顺序,只要方法不调用,方法就不会执行。

2023-08-14 22:38:08 34

原创 排序算法(选择排序,插入排序,冒泡排序)

【代码】排序算法(选择排序,插入排序,冒泡排序)

2023-08-11 23:12:05 30

原创 数组、方法练习题

6.现有一个整数数组,数组中的每个元素都是[0-9]之间的数字,从数组的最大索引位置开始到最小索引位置, 依次表示整数的个位、十位、百位。15.写一个简单的登录系统 ,系统预先设置一个用户名和密码,用户最多有3次输入机会。如果输入的用户名和密码与预设值匹配,则输出“登陆成功”,否则提示剩余尝试次数。5.给定一个整数数组,输入位置 n 和值 k。将值 k 插入到数组的第 n 位并输出新数组的每一个元素。7.给定一个整数数组,编写一个程序,移除数组中的重复元素,输出一个去重后的数组。

2023-08-11 22:49:58 114

原创 数组梳理总结

对于元素为123的整型数组arr,你知道有哪些种定义数组的方式?int[] arr;arr[0] = 1;arr[1] = 2;arr[2] = 3;arr[0] = 1;arr[1] = 2;arr[2] = 3;二维数组就是数组套数组,二维数组中的每一个元素又是一个一维数组。所以二维数组是一维数组的一维数组。

2023-08-11 17:04:41 24

原创 数组(学习第一天)

数组存储的是具有相同数据类型的一批数据,数组可以看成是一个容器,长度是固定的。数组的内存空间是连续的。

2023-08-07 22:48:15 32

原创 循环结构(for,while,do-while)

循环结构有:for循环,while循环,do-while循环。

2023-08-03 22:36:05 42

原创 流程控制语句(分支语句)

程序的流程控制分为三种:顺序,选择,循环。

2023-08-02 21:21:59 56

原创 Java运算符

:逻辑与,多个条件都是true,返回true,只要有一个为false,就返回false;^:逻辑异或,前后的条件结果相同,返回false,前后条件结果不同,返回true;^:按位异或,两个操作数相同时,结果为0,两个操作数不同时,结果为1。|:逻辑或,多个条件中只要有一个为true,就返回true;&&:短路与,如果左侧的为false,右侧的就不会执行。||:短路或,如果左侧的为true,右侧的就不会执行。|:按位或,两边操作数只要有一个为1,结果就是1。&:按位与,两边操作数都为1,时,结果为1。

2023-08-01 21:33:07 28 1

原创 git仓库上传文件

先在gitee中新建一个仓库,把私有的仓库改为开源。在需要上传的目录中打开Git Bash Here ,如下图:点击就会打开git的命令行窗口。

2023-08-01 17:01:55 300

原创 Java入门

本次安装使用的是免安装版,直接解压即可,配置环境变量时,由于电脑上以及安装了jdk1.8,所以需要在系统变量中新建一个path,然后把jdk17的bin目录的路径复制进去,再把这个新建的path移到最上面。命名规则:标识符由数字,下划线_,字母,美元符号组成的,不能以数字开头,阿里巴巴java开发手册中也规定不能以下划线和美元符号开头,所以最好使用字母开头。int a = (int)b)小驼峰命名:第一个单词首字母小写,后面的单词首字母大写,适用于方法名,参数名,变量名(成员变量,局部变量)。

2023-07-31 22:04:28 33 1

原创 SQL高级查询

select语句中嵌套select语句,称为子查询,也称为嵌套查询,相对于子查询来说,在外部直接执行的select语句叫做主查询。左外连接中left 左边的表是主表,右边的表是从表,主表当中的数据会全部显示,从表中不满足on条件的数据会过滤掉。右外连接中left 左边的表是主表,左边的表是从表,主表当中的数据会全部显示,从表中不满足on条件的数据会过滤掉。多表查询不仅可以在多个表之间进行,也可以在一个表中进行多表查询,就叫做自连接查询(一个表当做多个表使用)。多表之间的关系:一对一,一对多,多对多。

2023-07-28 17:35:39 33 1

原创 使用Docker

挂载后,宿主机的/var/lib/docker/volumes/html/_data目录就是nginx的网页目录了,在这个目录中创建网页就可用直接访问了。-v html:/usr/share/nginx/html:把html这个数据卷挂载到容器内的这个/usr/share/nginx/html目录中。可以看到,我们创建的html这个数据卷关联的宿主机目录为 /var/lib/docker/volumes/html/_data 目录。完成数据挂载后,对容器的一切操作都会作用在数据卷对应的宿主机目录了。

2023-07-28 10:33:47 29 1

原创 安装Docker

如果有旧版Docker,需要先卸载旧版本。

2023-07-28 10:26:54 46 1

原创 Mysql中的聚合函数

Mysql中内置的聚合函数:max,min,avg,count,sum。

2023-07-27 22:16:52 70 1

原创 Mysql中的约束

约束是作用于表中字段上的规则,用于限制存储在表中的数据。约束保证数据库中数据的正确性、完整性和有效性。约束的分类:主键约束(primary key),唯一约束(unique),默认约束(defalut),非空约束(not null),检查约束(check),外键约束(foreign key)。主键约束的显著特征是作为主键的值不能重复且不能为空,一个表只能有一个主键。

2023-07-27 22:05:46 41 1

原创 安装finalshell

1.直接运行finalshell,安装完成之后进入finalshell连接自己的服务器,选择SSH连接。安装finalshell,能够更方便的操作服务器,不用再打开阿里云控制台的服务器命令行。用户名和密码和阿里云控制台当中进行远程连接的用户名和密码一样。确定之后,点击myubuntu和服务器进行连接。之后就可以在finalshell中操作服务器。

2023-07-27 19:19:14 158 1

空空如也

空空如也

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

TA关注的人

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