java
奥尔良的少女
这个作者很懒,什么都没留下…
展开
-
HTTP协议及Servlet类笔记
什么是http?客户端和服务器之间发送的数据,需要遵守的规则。http协议中的数据又叫做报文。客户端给服务器发送数据叫请求,服务器给客户端回传数据叫响应。请求又分为GET、POST协议1、GET请求1.1请求行(1)请求的方式(“GET”)(2)请求的资源路径(+?+请求参数)(3)请求的协议和版本号(HTTP/1.1)1.2请求头key:value 组成 不同的键值对表示不同的含义2、POST请求2.1请求行(1)请求的方式(“GET”)(2)请求的资源路径(+原创 2022-06-27 18:40:01 · 621 阅读 · 0 评论 -
JavaWeb
xml:可扩展的标记性语言xml的作用?1、用来保存数据,而且这些数据具有自我描述性2、它还可以作为项目或模块的配置文件3、还可以作为网络传输数据的格式(现在以Json为主)JavaWeb?所有通过Java语言编写的,可以通过浏览器访问的程序的总称。JavaWeb是基于请求和响应开发的请求是客户端给服务器端发送数据。响应是指服务器给客户端回传数据。WEB资源的分类web资源按实现的技术和呈现的效果不同,分为静态资源和动态资源静态资源:html、 css、 js、 txt、 mp4、jpg图原创 2022-06-23 11:38:50 · 108 阅读 · 0 评论 -
String练习题
package com.xt.exer;/** * ClassName: String_Count * Description: * date: 2022/4/18 17:22 * * @author tongy * @since JDK 1.8 */public class String_Count { public static void main(String[] args) { String str="abkkcadkabkebfkabkskab";原创 2022-04-18 21:59:18 · 210 阅读 · 0 评论 -
解决线程安全问题的两种办法
package com.xt.java;/** * 创建3个窗口卖票,总票数为100张 使用实现Runnable接口的方式 * 问题一:买票过程中,出现了重票、错票-->出现了线程安全问题 * 问题出现的原因:当某个线程操作车票的过程中,尚未操作完成时,其它线程参与进来,也操作车票 * 如何解决:当一个线程a在操作ticket时,其它线程不能参与进来。直到a操作完ticket后,其它线程才 * 开始操作ticket。这种情况即使线程a出现了阻塞,也不能被改变。 * 在原创 2022-04-10 20:58:04 · 145 阅读 · 0 评论 -
多线程引发的死锁问题
package com.xt.java;import static java.lang.Thread.sleep;/** * 演示线程的死锁问题 * 1、死锁的理解:不同的进程分别占用对方需要的同步资源不放弃,都在等待对方放弃自己需要的同步资源,就形成了线程的死锁 * 2、说明: * 1)出现死锁后,不会报错,不会出现异常,不会有提示,只是所有线程都出于阻塞状态,无法继续。 * 2)我们使用同步时,要避免出现死锁 * @author tyl * @creat 2022-04原创 2022-04-10 20:56:25 · 254 阅读 · 0 评论 -
JAVA多线程
多线程的创建方式一:extends Threadpackage com.xt;/** * 多线程的创建,方式1:继承于Thread类的方式 * 1.创建一个继承于Thread类的子类 * 2.子类重写Thread类中的run() -->将此线程执行的操作声明在run()中 * 3.创建Thread类的子类的对象 * 4.通过该对象调用Thread类的start() * * 例子:遍历100以内的所有的偶数 * * @author tyl * @creat 2022-03-26原创 2022-04-10 15:07:35 · 59 阅读 · 0 评论 -
常见异常的举例
package yichang01;import java.io.File;import java.io.FileInputStream;import java.util.Scanner;import org.junit.Test;/* * 一、异常的体系结构 * java.lang.Throwable * |---->java.lang.Error:一般不编写针对性的代码进行处理 * |---->java.lang.Exception:可以进行异常处理 *原创 2022-01-06 14:27:36 · 47 阅读 · 0 评论 -
JDK8新特性
package JDK8;/* * JDK8:除了定义全局常量和抽象方法之外,还可以定义静态方法、默认方法 */public interface CompareA { //静态方法 public static void method1() { System.out.println("CompareA:xian"); } //默认方法 public default void method2() { System.out.println("CompareA:hangzhou"); }原创 2021-12-25 20:25:12 · 268 阅读 · 0 评论 -
抽象的匿名子类
package Abstract;/* * 抽象的匿名子类 */public class PersonTest { public static void main(String[] args) { // TODO Auto-generated method stub method(new Student("xt",23)); //匿名对象 Worker w=new Worker(); method1(w); //非匿名对象、非匿名类 method1(new Worker()原创 2021-11-27 18:55:29 · 150 阅读 · 0 评论 -
abstract关键字
package Abstract;/* * abstract关键字 * 1.abstract可以修饰的结构:类、方法 * 2.abstract修饰类:抽象类 * >此类不能实例化 * >抽象类中一定有构造器,便于子类实例化对象时调用(涉及:子类对象实例化的全过程) * >开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作 * 3.abstract修饰方法:抽象方法 * >抽象方法只有方法声明,没有方法体 * >包含抽象方法的类原创 2021-11-27 11:41:25 · 48 阅读 · 0 评论 -
JAVA重写
package overWrite;/** * 方法重写: * 格式:权限修饰符 返回值类型 方法名称 (形参列表) * 重写的规定: * 方法的声明:权限修饰符 返回值类型 方法名(形参列表) throws 异常的类型{ * //方法体 * } * 注意: * 1.子类重写的方法名与形参列表与父类被重写的方法名与形参列表必须一样 * 2.子类重写的方法的权限修饰符不小于父类被重写方法的权限修饰符 * >特殊:子类不能重写父类中priv原创 2021-11-27 11:34:44 · 154 阅读 · 0 评论 -
JAVA代码块
package BlockDemo;/* * 类的成员之四--代码块(初始化块) * 1.代码块的作用:用来初始化类或对象 * 2.代码块如果有修饰的话,只能用static修饰 * 3.分类:静态代码块 vs 非静态代码块 * 4.静态代码块 * >内部可以有输出语句 * >随着类的加载而执行,而且只执行一次 * >初始化类的信息 * >如果一个类中定义了多个静态代码块,则按照声明的先后顺序执行 * >静态代码块要优先于非静态代码块执行原创 2021-11-25 14:59:29 · 160 阅读 · 0 评论 -
类变量、实例变量的内存解析
类变量、实例变量的内存解析原创 2021-11-23 15:11:02 · 234 阅读 · 0 评论 -
包装类的使用与一些面试
package Object;/** * 包装类的使用: * 1.java提供了8种基本数据类型对应的包装类,使得基本数据类型的变量具有类的特征 * 2.基本数据类型、包装类、String三者之间的相互转换 * @author tongy * */import org.junit.Test;public class WrapperTest { //基本数据类型->包装类:调用包装类的构造器 @Test public void test1() { int num=10;原创 2021-11-22 19:53:43 · 42 阅读 · 0 评论 -
JAVA继承
package ext;/** * 面向对象特征二之:继承性 * 一、继承性的优点: * 1.减少了代码的冗余,提高了代码的复用性 * 2.便于功能的扩展 * 3.为之后的多态性的使用提供前提 * 二、继承性的体现 * 注意:一旦A继承了B,子类A就获取了父类B中声明的所有属性和方法 * 特别地,父类B中声明的私有的属性和方法,子类A继承以后,仍然认为获取了B中的私有的结构。 * 只是由于封装性的影响,使得子类不可以直接调用私有结构 * 三、Java中原创 2021-11-15 19:47:10 · 378 阅读 · 0 评论 -
super关键字
package superTest;/** * super关键字的使用 * 1.super可以理解为:父类的 * 2.super可以用来调用属性、方法、构造器 * 3.super的使用: * 3.1 我们可以在子类的方法或构造器中,通过使用super.属性或super.方法的方式显式调用 * 父类中的声明的属性。通常情况下省略"super" * 3.2 特殊情况:当子类定义了和父类同名的属性时,当我们想调用父类的属性时,super不能省略 * 3.3 特殊情况:当子类重写原创 2021-11-15 19:46:03 · 40 阅读 · 0 评论 -
权限修饰符在继承中应用
package test02;//权限修饰符在继承中注意事项import test01.Order;public class subOrder extends Order { public void test() { protectedData=1; publicData=2; protectedMethod(); publicMethod(); //同一个包的其它类中不能调用Order的私有属性和方法 //不同包的子类中,不能调用Order类中的private和defau原创 2021-11-15 19:44:13 · 210 阅读 · 0 评论 -
JAVA面向对象内存解析
1、内存2、对象的内存解析原创 2021-11-11 16:47:28 · 85 阅读 · 0 评论 -
import_package应用
package importPackage;import java.lang.reflect.Field;import exer2.Account;/* * 一、package关键字的使用 * 1.为了更好地实现项目中类的管理,提供包的概念 * 2.使用package声明类或接口所属的包,声明在源文件首行 * 3.包,属于标识符,遵循标识符的规则、规范(xxxyyyzzz)见名知意 * 4.每.一次,就代表一层文件目录 * 补充:同一个包下,不能命名同名的接口、类 * 不同原创 2021-11-11 16:46:19 · 145 阅读 · 0 评论 -
javaBean
package constructor;/* * JavaBean是一种Java语言写成的可重用组件 * 所谓javaBean,是具有如下特点的Java类 * >类是公共的 * >有一个无参的公共的构造器 * >有属性,且有对应的get、set方法 */public class javaBean { String name; int age; public javaBean() { } public String getName() { return原创 2021-11-09 20:00:52 · 46 阅读 · 0 评论 -
JAVA构造器
package constructor;/* * 类的结构3:构造器 * 一、构造器的作用: * 1、创建对象 * 2、初始化对象的属性 * 二、说明: * 1、如果没有显式地定义构造器的话,则系统默认的提供一个空参的构造器 * 2、定义构造器的格式:权限修饰符 类名(形参列表){} * 3、一个类中定义的多个构造器,彼此构成重载 * 4、一旦我们显式地定义了构造器,系统便不会再提供空参构造器了 * 5、一个类中,至少会有一个构造器 * 三、属性赋值的先后顺序 * 1、默认初始化原创 2021-11-09 19:07:26 · 144 阅读 · 0 评论 -
JAVA重载
package overLoad;/* * 可变个数形参 * 格式:参数类型...变量名 * 可变个数形参的方法与本类中的方法名相同,形参类型也相同的数组之间不构成重载 * 可变个数形参在方法的形参中,必须声明在末尾,并且最多只能声明一个可变形参 * * 如果变量是基本数据类型,此时赋值的是变量所保存的数据值 * 如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值 */public class demo02 { public static void main(String原创 2021-11-09 19:06:01 · 50 阅读 · 0 评论 -
JAVA封装
package fengzhuang;/* * 一、封装与隐藏 * 当我们创建一个类的对象以后,可以通过“对象.属性”的方式对对象的属性赋值。而赋值操作要受到属性的数据类型 * 和存储范围的制约。但是在实际问题中,我们往往需要给属性赋值加入额外限制条件,而这种限制条件不能在属性定 * 义时体现,我们只能通过方法进行限制条件添加。同时,我们需要避免用户使用“对象.属性”的方式进行赋值,则需 * 要将属性声明为private类型。 * 此时,针对属性就体现了封装性 * 二、封装的体现 * 我们原创 2021-11-09 19:05:14 · 55 阅读 · 0 评论 -
java01
1.jdk,jre,jvm关系JDK=JRE+java开发工具(javac.exe(编译),java.exe(解释运行)javadoc.exe(生成网页文档))JRE=JVM+JAVA的核心类库2.java数据类型3.switch中的表达式只能是以下六种数据类型:byte,short,char,int,string,枚举类型。...原创 2021-11-05 18:14:29 · 45 阅读 · 0 评论 -
java数组
1、数组是一种引用数据类型的变量。2、引用数据类型有3种:类(包括String)、数组、接口。3、数组一旦初始化完成,其长度必然已确定。4、数组默认初始值:整形(short/byte/int/long)都是默认0;数组元素是浮点型为0.0;数组是char型:默认是0,是\u’0000’,而非‘0’.数组元素是布尔型,默认是false,引用数据类型默认是null。5、一维数组内存结构:例:6、二维数组内存解析:6、练习package arry;import java.util.Ite原创 2021-11-05 18:14:06 · 47 阅读 · 0 评论 -
查找1-1000内的完数
完数是除本身之外的因子之和等于该数package test;public class wanshu { public static void main(String[] args) { int factor=0; for(int i=1;i<=1000;i++) { for(int j=1;j<=i/2;j++) { if(i%j==0) { factor+=j; } } if(i==factor) { System.out.原创 2021-08-15 08:58:51 · 85 阅读 · 0 评论 -
java实现账本记录
这是一个关于账本记录的程序,其中实现了收入和支出记录以及每笔收支的明细,主要用到的知识包括分支与循环。在这个程序里,我学会了将各个功能模块化,从而使得程序更加清晰。该程序包括2个java文件,一个是Utility.java文件,该文件实现了判断从键盘读取数据是否正确。如下:package hello;import java.util.Scanner;public class Utility { private static Scanner scanner=new Scanner(System.i原创 2021-08-14 20:49:34 · 469 阅读 · 0 评论 -
java质数练习
//输出2-100之间的质数public class h { public static void main(String[] args) { boolean flag=true; //标识i是否被j除尽,一旦除尽,修改其值 for(int i=2;i<=100;i++) { for(int j=2;j<i;j++) { if(i%j==0) { //i被除尽,不是质数 flag=false; } } if(flag==true) {原创 2021-08-11 21:44:51 · 65 阅读 · 0 评论 -
2021-08-11
/*计算某年某月某日是该年的第几天public static void main(String[] args) { int sum=0; Scanner sc=new Scanner(System.in); System.out.println("请输入year:"); int year=sc.nextInt(); System.out.println("请输入month:"); int month=sc.nextInt(); System.out原创 2021-08-11 14:11:57 · 59 阅读 · 0 评论