自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 请求转发与重定向

【代码】请求转发与重定向。

2022-12-18 15:46:54 172 2

原创 HTML

基础 标签 <!--标题标签--> <h*></h*> <!--换行标签--> <br> <!--水平线标签--> <hr> <!--段落标签--> <p></p> 文本格式化标签 <!--加粗--> <b></b> <strong></strong> <!--下划线--> <u></u&

2022-12-13 11:31:11 117 1

原创 Servlet生命周期

当Servlet类中编写一个有参数的构造方法,没有手动编写无参数构造方法时会出现啥问题。服务器启动的时候会解析web.xml文件,并不会实例化对象。传入变量是一个非负整数,数字越小优先级越高。无参数构造方法不能代替init方法。如何让Tomcat启动时创建对象。Servlet生命周期。

2022-12-13 11:21:52 135 1

原创 HTTP协议

都规定了数据的具体格式。

2022-12-13 11:19:39 116 1

原创 HttpServletRequest

ServletRequest里的资源是不共享的,范围比较小。

2022-12-12 01:36:50 157 1

原创 设置欢迎界面

【代码】设置欢迎界面。

2022-12-12 01:35:53 159 1

原创 模板方法设计模式

模板设计模式

2022-12-12 01:34:52 69 1

原创 ServletContext

【代码】ServletContext。

2022-12-12 01:33:48 91 1

原创 ServletConfig

【代码】ServletConfig。

2022-12-12 01:32:25 100 1

原创 适配器原理

当实现接口时,为了使所用的类中只实现需要的方法,使代码更加简洁,可以定义一个抽象类实现接口,将所需要的方法定义为 抽象方法,然后让类继承此抽象方法即可。Servlet规范已经包含完善的GenericServlet。改进GenericServlet。

2022-12-12 01:30:55 110 1

原创 API分析

ResultSet stmt.executeQuery(sql):执行DQL语句,返回ResultSet对象。int executeUpdate(sql):执行DML、DDL语句。ResultSet excuteQuery(sql):执行DQL语句。返回值:DML语句影响的行数,DDL执行成功后,也有可能返回0。返回值:ResultSet结果集对象。MySQL默认自动提交事务。封装了DQL查询语句的结果。

2022-12-12 01:30:16 205 1

原创 数据库连接池

数据库连接池是一个容器,负责分配管理数据库连接允许程序重复使用一个现有的数据库连接,而不是重新建立一个释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。

2022-12-12 01:28:25 139 1

原创 Servlet入门

【代码】Servlet入门。

2022-12-12 01:27:12 180 1

原创 MySQL基本概念和SQL最基本语法

关系型数据库:建立在关系概念模型上,由多张相互连接的二维表组成的数据库。MySQL 数据库的SQL语句不区分大小写,关键字建议使用大写。DCL:数据控制语言,用来建立数据库用户、控制数据库的访问权限。DDL:数据定义语言:用来定义数据库对象(数据库,表,字段)DML:数据操作语言,用来对数据库表中的数据进行增删改。注释,单行使用--或者#,多行:/* 注释内容*/DQL:数据查询语言,用来查询数据库中表的记录。特点:使用表结构存储数据,格式统一,便于维护。使用SQL语言操作,标准统一,使用方便。

2022-11-23 19:30:55 290 1

原创 第一个mybatis

想获取SqlSession对象,需要先获取SqlSessionFactory对象,通过SqlSessionFactory工厂对象生产SqlSession对象。在mybatis中专门执行SQL语句的那个对象是SqlSession,这个对象专门执行Sql语句,是java程序与数据库的一次对话。一个是:mybatis-config.xml,这是核心配置文件,主要配置连接数据库的信息等(仅一个)另一个是XxxxMapper.xml,这是专门用来编写sql语句的文件(一个表一个)1.打包方式设置为jar。

2022-11-23 19:27:53 181 1

原创 反射机制学习

绝对路径,返回String:Thread.currentThread().getContextClassLoader().getResource("文件相对路径").getPath();代码执行前,会将所需类加载到JVM中,先加载启动类加载器(父),加载不到时再加载扩展类加载器(母),再加载不到时再加载应用类加载器。java.lang.reflect.Constructor :代表字节码中的构造方法字节码。java.lang.reflect.Method :代表字节码中的方法字节码。

2022-11-13 08:21:05 123 1

原创 线程学习

先启动JVM,JVM就是一个进程,JVM再启动主线程调用main方法,同时启动一个垃圾回收线程负责看护,回收垃圾。在main方法创建Thread对象,传入类的对象,将其封装成Thread对象,再调用start方法。static void yield() 让位方法:暂停当前正在执行的线程对象,并执行其他线程。类继承Thread类,重写run方法,再main方法中创建类的对象,调用start方法。wait:使对象上的线程进入无限期等待,并且立即放弃抓住的锁。线程排队执行,不能并发,这种机制叫线程同步机制。

2022-11-09 16:47:02 97 1

原创 IO学习

所有输出流都实现了java.io.Flushable,都是可刷新的,都有flush方法,在输出流输出完成要flush(),是将管道内未输出的数据强行输出完,刷新的作用就是清空管道,没有flush可能导致丢失数据。FileOutputStream有不同的构造方法,加ture在文章末尾写入,不加ture会清空原文,若是写入时原文件不存在,则会新建文件。可传入字符流的参数,关闭Buffered时会自动关闭节点流,传入的是节点流,外部的是包装流。java.io.Writer 字符输出流。

2022-11-03 21:39:49 148 1

原创 集合类学习

集合类关系继承图:SortedSet:虽然无序不可重复,但是放在该集合的元素自动按照大小排序Hashtable底层式哈希表数据结构,所有方法带有synchronized关键字,因此线程安全,但效率低Hashtable的key和value不允许null集合初始化容量为11自动扩为机制:新容量大小=原容量大小*2+1SortedMap的key存储元素的特点:无序不可重复,放在SortesMap集合key部分元素会自动按照大小进行排序集合都可使用迭代器遍历Iterator。

2022-10-31 20:31:32 165 1

原创 equals与双等号

双等号比较数据时,如果数据是八种基本类型之一,比较值本身,如果比较引用类型则比较内存地址,由于java只存在值传递,基本数据类型的值是值本身,引用类型的值是内存地址,本质上还是比较值。由源码可知,equals底层使用双等号返回结果,若不重写,equals等价于双等号。

2022-10-28 04:37:10 418

原创 Tomcat安装及说明

xxx.sh文件是Linux专用的,无法在windows中执行,在Linux中执行shell命令,大量的shell命令编写在shell文件中,然后可以在shell文件中批量地执行shell命令。xxx.bat文件是windows操作系统专用的,bat文件是批处理文件,这种文件可以编写大量的windows的dos命令,然后执行bat文件就相当于批量的执行dos命令。lib:Tomcat服务器的核心程序目录,因为Tomcat是java编写的,因此这里的jar包里面都是class文件。

2022-09-21 20:14:19 209 1

原创 B/S系统通信原理

2.域名解析器进行解析,例如www.baidu.com解析为。7.浏览器接受到来自服务器的代码(HTML、CSS、JS)8.浏览器渲染、执行代码,展示效果。1.用户输入网址(URL)(URL:统一资源定位符)WEB通信原理,通信步骤。

2022-09-20 20:37:37 276 1

原创 B/S架构和C/S架构

2.B/S是一个特殊的C/S架构,Client是一个固定不变的浏览器。升级维护麻烦(每个客户端软件都需要升级,某些软件不容易安装)开发B/S架构的系统,实际就是开发网站,开发一个web系统。(绝大部分数据在客户端,只需要从服务器传输极少的数据)1.Browser/Server(浏览器/服务器)界面酷炫(专门的实现界面,更加灵活)安全(服务器发生问题,无关本地数据)B/S架构(数据大部分储存在服务器)不需要安装特点的客户端软件,极其方便。

2022-09-20 20:36:28 550 1

原创 快速排序

排序原理: 首先设定一个分界值,通过该分界值将数组分为左右两部分 将小于该分界值的元素置于左边,大于的元素置于右边 左右两边独立排序 重复此操作,知道两两排序后返回 public class quick { //交换 public static void exch(Comparable[] a,int i,int j) { Comparable temp; temp=a[i]; a[i]=a[j...

2021-12-08 23:47:19 327 1

原创 归并排序

排序原理 尽可能将数组拆分成两个元素数目相同的子组,对每个子组继续拆分,直至每个组元素为一 将相邻的两个子组合并成一个有序的大组 不断重复步骤2,直至剩下一个组 public class merge { private static Comparable[] assist; private static void exch(Comparable[] x,int a,int b){ Comparable temp; temp=x[...

2021-12-08 23:46:15 56 1

原创 希尔排序

排序原理 选定一个增长量h,按照增长量h作为数据分组的依据,对数据进行分组 对选好的每一组数据完成插入排序 减小增长量,最小值为1,重复第二步操作 h=(array.length+1)/2 public class Shell { public static void sort(Integer[] a) { int h=1; while (h< a.length/2) { ...

2021-12-08 23:44:38 162 1

原创 插入排序

排序原理 将所有的元素分为两组,已排序的和未排序的 找到未排序的元素的第一个,向已排序的组进行插入 倒叙已经排序的数组,与待插入的数组进行比较,知道找到小于待插入元素的元素,那么就把此元素放在这,之后的元素后移一位 public class Insertion { public static void sort(Integer[] a) { for (int i =1; i < a.length; i++) { i...

2021-12-08 23:43:22 61 1

原创 选择排序

排序原理 每一次遍历的过程中,假定第一个元素为最小值,将第一个元素和之后每一个元素作比较,一直到最后,可以找出最小值 交换位置 public class Selection { public static void sort(Integer[] a) { for (int i =0; i < a.length; i++) { int minindex=i; for (int j = i; j <...

2021-12-08 23:41:47 147 1

原创 冒泡排序

排序原理: 比较相邻的元素,如果前一个元素比后一个大,就交换两个元素的位置 对每一对相邻的元素做同样的工作,从开始第一对元素到结尾的最后一对元素,最终最后位置的元素就是最大值 public class Bubble { public static void sort(Integer[] a) { for (int i = a.length; i >=0; i--) { for (int j = 0; j < i-1; ...

2021-12-08 23:40:20 158 1

原创 Compareble接口

测试类: public class studentTest { public static void main(String[] args) { Student s1=new Student(); s1.setUserName("张三"); s1.setAge(100); Student s2=new Student(); s2.setUserName("李四"); ...

2021-12-08 23:05:46 286 1

原创 内部类

内部类 public class Application { public static void main(String[] args) { Outer outer = new Outer(); outer.out(); Outer.Inner inner= outer.new Inner(); outer.getID(); inner.in(); inner.getID(); fr...

2021-11-30 13:01:46 64 1

原创 异常

异常 什么是异常: 程序运行过程中不期而至的各种状况:文件找不到,网络连接失败,非法参数 异常发生在程序运行期间,它影响了正常的程序执行流程 检查性异常: 最具代表性的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的,例如打开一个不存在的文件,一个异常就产生了,这些异常在编译时不能被简单忽略 运行时异常: 运行时异常是可能被程序员避免的异常,与检查性异常相反,运行时异常可以在编译时被忽略 错误: 错误不是异常,而是脱离程序员控制的问题,错误在代码中通常被忽略,例如,但栈溢出时,一

2021-11-30 13:00:20 80 1

原创 接口interface

接口: 普通类:只有具体实现 抽象类:具体实现和规范(抽象方法)都有! 接口:只有规范!无法写方法~~专业的约束,约束和实现分类:面向接口编程 接口就是规范,定义一组规则 接口的本质是契约 oo的精髓,是对对象的抽象,最能体现这一点的是接口 //用intetface修饰符修饰,接口 public interface test { ​ //定义属性,默认public static final:常量 int age=99; ​ void ad...

2021-11-30 12:59:28 249 1

原创 抽象类

抽象类:使用abstract修饰符修饰的类 //用abstract修饰符修饰,抽象类,抽象类是类,可以使用extends,只有单继承,JAVA没有多继承,但是接口可以多继承 public abstract class test { //抽象方法,只有方法名,没有方法的实现 public abstract void dosomething(); public abstract void niuma(); ​ public static void main(String[] ...

2021-11-30 12:58:01 77 1

原创 static

static package Husky.JAVA.method; public class b10 { public static void eat(){ System.out.println("eat"); // run(); 静态方法不能直接调用非静态方法,因为静态随类生成,最开始的 } public void run(){ System.out.pri...

2021-11-30 12:57:07 49 1

原创 instanceof

instanceof Object s1=new Chinese(); System.out.println(s1 instanceof People); System.out.println(s1 instanceof Chinese); System.out.println(s1 instanceof Object); System.out.println(s1 instanceof Americas); System.out....

2021-11-30 12:56:22 58 1

原创 多态

多态: 即同一方法可以根据发送对象的不同采用多种不同的行为方式 一个对象的类型是确定的,但可以指向对象的引用的类型有很多 多态存在的条件 有继承关系 子类重写父类的方法 父类引用指向子类对象 public static void main(String[] args) { //一个对象的实际类型是确定的 //可以指向的引用类型不确定,父类的引用指向子类 Chinese s1 = new Chinese(...

2021-11-30 12:55:20 62 1

原创 this与super

super super调用父类的构造方法,必须在构造方法的第一个 super必须只能出现在子类或者子类的构造方法中 super和this不能同时调用构造方法 this代表本身

2021-11-30 12:54:23 55 1

原创 面向对象基础

概念: 共同特性的方法和数学变成类 描述复杂的事物,为了从宏观上把握,需要用面向对象的思路分析整个系统,但是,具体到微观操作,仍需要要面向过程的思路处理 面向对象编程:以类的方式组织代码,以对象组织(封装)数据 三大特性: 封装 继承 多态 从认识论角度考虑,先有对象后有类,对象是具体事物,类是抽象的,对对象的抽象 从代码运行角度考虑,先有类后有对象,类是对象的模板 //学生类 public class Student { //属性 .

2021-11-30 12:52:30 51 1

原创 多维数组

多维数组可看成数组的数组 二维数组 int a[][]=new int[2][5]; 以上二维数组可看成两行五列的数组 package Husky.JAVA.array; //二维数组 public class Demo04 { public static void main(String[] args) { int[][] a={{4,2},{3,-1},{1,2,3},{-87,127}}; primary(a[0]); //利...

2021-11-30 12:50:43 42 1

空空如也

空空如也

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

TA关注的人

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