Java
文章平均质量分 87
一株禾
这个作者很懒,什么都没留下…
展开
-
Javaweb之Ajax
文章目录1、概述2、作用3、同步和异步4、快速入门4.1、服务端4.2、客户端5、axios5.1、基本使用5.2、请求方法别名6、JSON6.1、概述6.2、JSON基础语法6.2.1、定义格式6.3、代码示例6.3.1、前端页面中定义JSON字符串6.3.2、前端页面中获取JSON中的属性值6.4、发送异步请求携带参数6.5、JSON串和Java对象的相互转换6.5.1、Fastjson 概述6.5.2、Fastjson 使用6.5.3、代码示例1、概述AJAX (Asynchronous J原创 2022-05-20 19:15:49 · 2998 阅读 · 0 评论 -
Javaweb三大组件之Listener
文章目录1、概述2、 分类3、代码示例1、概述Listener 表示监听器,是 JavaWeb 三大组件(Servlet、Filter、Listener)之一。监听器可以监听就是在 application,session,request 三个对象创建、销毁或者往其中添加修改删除属性时自动执行代码的功能组件。application 是 ServletContext 类型的对象。ServletContext 代表整个web应用,在服务器启动的时候,tomcat会自动创建该对象。在服务原创 2022-05-20 11:55:38 · 197 阅读 · 0 评论 -
JavaWeb核心入门
文章目录1、Web概述2、JavaWeb技术栈2.1、B/S架构2.2、静态资源2.3、动态资源2.4、数据库2.5、HTTP协议2.6、Web服务器3、HTTP3.1、简介3.2、请求数据格式3.3、响应数据格式3.3.1、格式介绍3.3.2、响应状态码3.3.3、状态码大类4、Web服务器5、Servlet1、Web概述Web是全球广域网,也称为万维网(www),能够通过浏览器访问的网站。2、JavaWeb技术栈2.1、B/S架构B/S 架构: Browser/Server,浏览器/服务器原创 2022-05-18 17:21:39 · 795 阅读 · 0 评论 -
Java之JDBC
文章目录1、JDBC简介1.1、JDBC概述1.2、 JDBC本质1.3 JDBC好处2、JDBC快速入门2.1、 编写代码步骤2.2、IDEA导入驱动2.3、编写代码3、JDBC API详解3.1、DriverManager3.2、Connection3.2.1、获取执行对象3.2.2、 事务管理3.3、Statement3.3.1、概述3.3.2、代码实现3.4、ResultSet3.4.1、 概述3.4.2、 代码实现3.4.3、 ResultSet案例3.5、PreparedStatement3原创 2022-05-06 22:59:59 · 182 阅读 · 0 评论 -
Java之模块化
文章目录1、模块化概述2、模块的基本使用1、模块化概述Java语言伴随这些年的发展,越来越庞大,逐渐发发展成为一门“臃肿”的语言。无论是运行一个大型折软件系统,还是运行一个小的程序,即使程序只需要使用Java的部分核心功能,JVM也要加载整个JRE环境。为了给Java瘦身,让Java实现轻量化,Java9正式的推出了模块化系统。Java被拆分为N多个模块,并允许Java程序可以根据需要选择加载程序必须的Java模块,这样就可以让Java轻量化的方式运行。其实,Java7的时候已经提出了模块化的概念原创 2022-05-03 12:15:44 · 4039 阅读 · 1 评论 -
Java之反射
文章目录1、类加载器1.1、类加载2、反射1、类加载器1.1、类加载当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过类的加载、类的连接、类的初始化三个步骤来对类进行初始化。如果不出现意外情况,JVM将会连续完成这三个步骤,所以有时也把这三个步骤称为类加载或者类初始化。类的加载就是指将class文件读入内存,并为之创建一个java.lang.Class对象。任何类被使用时,系统都会为之建立一个java.lang.Class对象。类的连接验证阶段:用于检验被加载的类是否有正原创 2022-05-02 21:48:57 · 104 阅读 · 0 评论 -
Java之Stream流
1、体验Stream流需求:创建一个集合,存储多个字符串元素。把集合中所有以“张”开头的元素存储到一个新的集合。把“张开头的集合中的长度为3的元素存储到一个新的集合遍历上一步得到的集合package com.test15;import java.util.ArrayList;public class Demo { public static void main(String[] args) { ArrayList<String> list=new原创 2022-04-23 22:34:25 · 563 阅读 · 0 评论 -
Java之函数式接口
文章目录1、函数式接口概述1、函数式接口概述函数式接口: 有且仅有一个抽象方法的接口。Java中的函数式编程体现就是Lambda表达式。所以函数式接口即可以适用于Lambda使用的接口。如何检测一个接口是不是函数式接口?@FunctionalInterface放在接口定义的上方:如果接口是函数式接口,编译通过;如果不是,编译失败。package com.test8;@FunctionalInterfacepublic interface Inter { void sh原创 2022-04-22 22:11:47 · 14220 阅读 · 2 评论 -
Java之方法引用
文章目录1、体验方法引用2、方法引用符1、体验方法引用package com.test3;public interface Printable { void printString(String s);}package com.test3;public class Demo { public static void main(String[] args) { //Lambda表达式 usePrintable((s)-> System原创 2022-04-17 21:45:38 · 210 阅读 · 0 评论 -
Java之接口组成更新
文章目录1、接口组成更新概述2、接口中默认方法3、接口中静态方法4、接口中私有方法1、接口组成更新概述接口的组成:常量:public static final抽象方法:public abstract默认方法(Java8)静态方法(Java8)私有方法(Java9)2、接口中默认方法接口中默认方法的定义格式:格式:public default 返回值类型 方法名(参数列表){}范例:public default void show3(){}接口中默认方法的注意事项:默认方原创 2022-04-16 21:35:06 · 138 阅读 · 0 评论 -
Java之Lambda表达式
文章目录1、函数式编程思想概述2、体验Lambda表达式2、Lambda表达式的标准格式1、函数式编程思想概述在数学中,函数就是有输入量、输出量的一套计算方案,也就是“拿数据做操作”。面向对象思想强调“必须通过对象的形式来做事情”。函数式思想则尽量忽略面向对象的复杂语法:“强调做什么,而不是以什么形式去做”。Lambda表达式就是函数式思想的体现。2、体验Lambda表达式需求:启动一个线程,在控制台输出一句话。一、实现类的方式实现package com.test;public原创 2022-04-16 14:34:08 · 1175 阅读 · 2 评论 -
Java网络编程入门
文章目录1、网络编程入门1.1、网络编程概述1.2、网络编程三要素2、UDP通信程序3、TCP通信程序1、网络编程入门1.1、网络编程概述略1.2、网络编程三要素IP地址要想让网络中的计算机互相通信,必须为每台计算计指定一个标识号,即IP。端口网络的通信,本质上是两个应用程序之间的通信。端口号可以唯一标识设备中的应用程序。协议通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时要遵守一定的规则。在计算机网络中,这些连接和通信的规则被称为网络通信协原创 2022-04-14 21:50:31 · 419 阅读 · 0 评论 -
Java多线程入门
文章目录1、实现多线程1.1、进程1.2、线程1.3、多线程的实现方式1.4、设置和获取线程名称1.5、线程调度2、线程同步3、生产者消费者1、实现多线程1.1、进程进程: 是正在运行的程序。是系统进行资源分配和调用的独立单位。每一个进程都有它自己的内存空间和系统资源。1.2、线程线程: 是进程中的单个顺序控制流,是一条执行路径。单线程: 一个进程如果只有一条执行路径,则称为单线程程序。多线程: 一个进程如果有多条执行路径,则称为多线程程序。举例:单线程:记事本多线程:扫雷原创 2022-04-01 22:38:14 · 745 阅读 · 0 评论 -
Java之IO流
文章目录1、File1.1、File概述和构造方法1.2、File类创建功能1.3、File类判断和获取功能2、字节流3、字符流4、特殊操作流1、File1.1、File概述和构造方法File:它是文件和目录路径名的抽象表示。文件和目录是可以通过File封装成对象的。对于File而言,其封装的并不是一个真正存大的文件,仅仅是一个路径名。它可以是存在的,也可以是不存在的。方法名说明File(String pathname)通过将给定的路径名字符串转换为抽象路径名来创建新原创 2022-03-28 20:47:29 · 682 阅读 · 0 评论 -
Java入门进阶
文章目录1、常用API1.1、Math1.2、System1.3、Object1.4、Arrays1.5、基本类型包装类1.6、日期类1.7、String1.8、StringBuilder1.9、Scanef1.10、Random1.11、Scanner1、常用API1.1、Math方法名说明public static int abs(int a)返回参数的绝对值public static double ceil(double a)返回大于或等于参数的最小double的原创 2022-03-14 21:04:09 · 1096 阅读 · 0 评论 -
为什么需要重写hashCode和equals?
文章目录1、不重写hashCode和equals2、重写equals3、不重写hashCode4、重写hashCode1、不重写hashCode和equals定义一个People类,ID为一个People对象的唯一标识public class People { private String ID;//id编号唯一标识一个人,比如身份证号码 private String Name;//姓名 public People(String ID, String name) {原创 2022-03-05 15:03:24 · 697 阅读 · 0 评论 -
Java入门基础
文章目录123、JRE和JDK3.1、JRE(Java Runtime Environment)3.2、JDK(Java Development Kit)3.3、JDK、JRE和JVM的关系4、JDK的下载和安装4.1、JDK的下载4.2、JDK的安装4.3、JDK的安装目录4.4、Path环境变量的配置4、HelloWorld案例5、基本语法5.1、注释5.2、关键字5.3、常量5.3.1、常量概述5.3.2、常量分类5.4、数据类型5.4.1、计算机存储单元5.4.2、数据类型5.5、数据类型5.6、变原创 2022-02-26 21:40:03 · 714 阅读 · 0 评论 -
java类加public
加public表示全局类,该类可以import到任何类内。不加public默认为保留类,只能被同一个包内的其他类引用。原创 2019-11-23 21:23:28 · 347 阅读 · 0 评论 -
JAVA之模拟JDBC工作原理
相关英文参考文献如下:we just want to load the driver to jvm only, but not need to user the instance of driver,so call Class.forName(xxx.xx.xx) is enough, if you call Class.forName(xxx.xx.xx).newInstance(),the result will same as calling Class.forName(xxx.xx.xx原创 2018-10-09 16:34:25 · 285 阅读 · 0 评论 -
Java8增强工具类:Arrays的使用
int[] a=new int[]{3,14,5,16,9}; int[] a2=new int[]{3,4,5,6}; //a数组和a2数组的长度相等,每个元素依次相等,故输出true System.out.println("a数组和a2数组是否相等:"+Arrays.equals(a, a2)); //将a数组的前6个元素重新生成一个新的数组 int[] b=Arrays.原创 2018-01-13 14:40:39 · 235 阅读 · 0 评论 -
System类中arraycopy函数实现数组的复制
int[] a=new int[]{1,2,3,4,5,6};int[] b=new int[10];//将a数组,索引为1的元素开始,复制到// b数组,索引为2的元素开始,//共复制3个元素//前提是b数组要有足够的空间,接收从a数组复制的值,否则报错System.arraycopy(a, 1, b, 2, 3);System.out.println(Arrays.toStri原创 2018-01-13 14:58:52 · 909 阅读 · 0 评论 -
Java构造方法为private
class A{ public String name; //构造函数限定为private,不可以直接创建对象 private A() { } //需要创建对象实例时,调用此函数 public static A Instance() { return new A(); }}class B{原创 2018-01-22 15:23:34 · 8433 阅读 · 0 评论 -
Java中的可变参数
从JDK 1.5之后,Java允许定义形参个数可变的参数,从而允许为方法指定数量不确定的形参。如果在定义方法时,在最后一个形参的类型后增加三点(...),则表明该形参可以接受多个参数值,多个参数值被当成数组传入。public class Varargs{ public static void test(int a,String... books) { for(原创 2018-01-15 10:09:42 · 183 阅读 · 0 评论 -
Java的方法重载
Java程序中确定一个方法需要三个要素:调用者:也就是方法的所属者,既可以是类,也可以是对象。方法名形参列表方法重载的要求就是:两同一不同。调用者相同方法名相同形参列表不相同至于方法的其他部分,如方法返回值类型、修饰符等,与方法重载没有任何关系。为什么方法的返回值类型不能用于区分重载的方法?对于int f(){}和void f(){}两个原创 2018-01-17 16:29:27 · 196 阅读 · 0 评论 -
重载形参长度可变的方法
public class OverloadVarargs{ public void test(String msg) { System.out.println("只有一个字符参数的test方法"); } public void test(String...books) { System.out.println("形参长度可变的test方法"); } public sta原创 2018-01-17 16:55:33 · 198 阅读 · 0 评论 -
Java中的package语句
并不是只要把生成的class文件放在某个目录下,这个目录名就成了这个类的包名。这是一个错误的看法,不是有了目录结构,就等于有了包名。为Java类添加包必须在Java源文件中通过package语句指定,单靠目录名是没法指定的。Java的包机制需要两个方面保证:源文件里使用package语句指定包名class文件必须放在对应的路径下Java语法只要求包名是有效的标识符即可,但从可读性规范角度来看,包名原创 2018-01-18 10:17:30 · 3435 阅读 · 0 评论 -
import和import static
import语句中的星号(*)只能代表类,不能代表包。 例:import org.abc.*;上述代码只能代表org.abc包下的所有类,但不包含org.abc下子包中的类。 在一些极端情况下,import也无法让我们使用类的全名。 例:import java.sql.*;import java.util.*;接下来如果使用Date系统就会编译错误。因为这两个包中都原创 2018-01-18 12:47:14 · 437 阅读 · 0 评论 -
构造器的重载
package unit5;public class Apple{ private String name; private String color; private double weight; //两个参数的构造器A public Apple(String name,String color) { this.name=原创 2018-01-18 16:28:26 · 403 阅读 · 0 评论 -
super调用构造器和this调用构造器的区别
子类构造器中调用父类构造器使用super调用完成。在一个构造器中调用另一个重载的构造器使用this调用完成。super调用的是其父类的构造器,而this调用的是同一个类中重载的构造器。因此,使用super调用父类构造器也必须出现在子类构造器执行体的第一行,所以this调用和super调用不会同时出现。子类构造器用super显式调用父类构造器时,系统根据super调用里传入的实参列表调原创 2018-01-19 15:22:12 · 833 阅读 · 0 评论 -
Java中的多态
Java引用变量有两个类型:一个是编译时类型,一个是运行时类型。编译时类型由声明该变量时使用的类型决定。运行时类型由实际赋给该变量的对象决定。编译时类型和运行时类型不一致就会产生多态。Object obj=new Integer(5);obj是引用变量,他它有两个类型:编译时类型:Object运行时类型:Integer引用变量在编译阶段只能调用其编译时类型所原创 2018-01-19 17:10:00 · 179 阅读 · 0 评论 -
if语句后面不能直接声明语句的原因
下面的代码编译不通过if(true) String st="";下面的两段代码编译都可以通过if(true){ String st="";} String str; if(true) str="";第一段代码无法通过编译的原因: 主要原因是作用域的问题:String st="";因为该语句不原创 2018-01-19 18:08:38 · 2406 阅读 · 1 评论 -
final的用法:不可变类的成员变量类型是可变类的处理方法
不可变类:创建该类实例后,该实例的实例变量是不可改变的。 可变类:该类的实例变量是可变的。public class Name{ private String firstName; private String lastName; //不带参的构造函数 public Name() { } //带参的构造函数 pu...原创 2018-02-08 23:14:41 · 752 阅读 · 0 评论 -
JAVA中静态初始化块和非静态初始化块区别
众所周知在JAVA编程语言中有两种初始化块:静态初始化块非静态初始化块静态初始化块定义:static{}执行优先级高于非静态的初始化块。它会在对象装载到系统的时候执行一次,执行完成便销毁。它仅能初始化类变量,即static修饰的数据成员。非静态初始化块定义:{}执行的时候如果有静态初始化块,先执行静态初始化块再执行非静态初始化块。转载 2018-02-06 22:06:39 · 760 阅读 · 0 评论 -
Java中的final修饰符
final修饰变量时,表示该变量一旦获得了初始值就不可被改变。final可修饰成员变量(包括类变量和实例变量)final也可修局部变量、形参。final成员变量(包括类变量和实例变量)必须由程序员显式初始化final修饰成员变量类变量:初始值只能在以下两个地方之一指定:静态初始化块声明该类变量时实例变量初始值只能在以下三个地方之一指定:非静态初始化块原创 2018-02-06 23:28:43 · 167 阅读 · 0 评论 -
Java之jdbc
一、JDBC简介 JDBC是由java编程语言编写的类及接口组成,同时它为程序开发人员提供了一组用于实现对数据库访问的JDBC API,并支持SQL语言。利用JDBC可以将JAVA代码连接到oracle、DB2、SQLServer、MYSQL等数据库,从而实现对数据库中的数据操作的目的。 JDBC全称为:Java Data Base Connectivity (java数据库连接),可...原创 2018-09-08 22:51:53 · 273 阅读 · 0 评论 -
Java之读取properties文件信息
PropertiesTest.javapackage demo;import java.io.IOException;import java.io.InputStream;import java.util.Properties;public class PropertiesTest{ public static void main(String[] args)...原创 2018-09-12 23:11:15 · 169 阅读 · 0 评论 -
数组的初始化方式
数组的初始化有两种方式:静态始始化:初始化时由程序员显式指定每个数组元素,系统决定数组长度动态初始化:初始化时程序员只指定数组长度,由系统为数组元素分配初始值 //静态初始化,初始化数组时只指定数组元素的初始值,不指定数组长度 int a[]; a=new int[]{1,2,3}; //静态初始化,初始化数组时 //定义数组时所指定的数组元素类型的子类 //原创 2018-01-13 10:52:51 · 1319 阅读 · 0 评论