自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 String和StringBuffer

这个描述也是错误的。String 是不可变的,每次修改字符串都会创建新的 String 对象。而 StringBuffer 是可变的,允许在不创建新对象的情况下修改内容。因此,在需要频繁修改字符串时,StringBuffer 的效率通常比 String 高。StringBuffer 和 String 是不同的类型,不能直接用 String 初始化 StringBuffer 对象。在 Java 中,String 是一个对象。在 Java 中,字符串的处理有不同的类和方法,每个都有其特定的用法和效率特点。

2024-08-20 19:57:07 139

原创 super关键字 java

2.调用父类中被重写的方法:当子类重写了父类的方法时,可以使用super来调用父类的版本的方法,常用于在子类中扩展父类的行为。1.访问父类被隐藏的非私有成员变量:当子类定义了一个与父类中同名的变量时,super可以用来访问父类中的那个变量。调用父类的构造函数:在子类构造函数中,可以使用super()调用父类的构造函数,以确保父类部分正确初始化。定义一个子类来继承父类,super.num指向的是父类中定义的num。定义一个子类来继承这个父类,重写show()方法 ,super调用。

2024-08-20 19:35:38 196

原创 工厂模式 java

工厂模式是一种创建对象的设计模式,它将对象的创建过程封装在一个工厂类中,而不是在客户端代码中直接创建对象。这样可以将对象的创建与使用解耦,使得代码更加灵活和易于维护。定义一个B类实现Product接口,并重写其中的use方法。定义一个A类实现Product接口,并重写其中的use方法。定义一个工厂类,在其中定义一个方法实现获得不同的货物。1. 工厂模式(Factory Pattern)定义一个Product接口。

2024-08-20 19:04:45 307

原创 迭代器 java

通过调用 iterator() 方法获取 Iterator 对象,用于遍历 ArrayList。if ("Banana".equals(element)):检查当前元素是否是 "Banana"。while (iterator.hasNext()):循环检查是否还有更多元素可以遍历。:删除当前元素(即 "Banana")。

2024-08-20 18:56:47 227

转载 笔试小结__

1、跳出多重循环,或者指定循环。2、数据结构的连通图。3、数据结构的二叉树。

2024-08-20 18:50:50 23

原创 java:collection接口

在 Java 中,Collection 接口是 Java Collections Framework 的根接口之一。它是所有集合类的父接口,为各种集合类提供了基本的方法和操作。Collection 接口位于 java.util 包中,并且它定义了集合类应该支持的基本操作。

2024-08-20 18:35:03 392

原创 static关键字

如下 :x 和y属于类中的静态变量,是合法的,z是定义在方法中的变量 ,不能用static关键字修饰。static用于定义静态方法和和类中的静态变量,不能用于定义在方法中的变量。在类中static关键字修饰的方法。

2024-08-20 18:29:07 163

原创 java中数组有没有length()这个方法? String有没有length()这个方法

例如,如果你有一个整型数组int[] arr,可以使用arr.length来获取数组的长度。注意,length是一个字段,而不是方法,因此不需要括号。String类有一个length()方法,用于获取字符串的长度。这个方法是实例方法,因此需要在String对象上调用。例如,如果你有一个字符串String str,可以使用str.length()来获取字符串的长度。对于String对象,使用length()方法来获取长度(需要括号)。对于数组,使用length字段来获取长度(没有括号)。

2024-08-20 09:05:05 483

原创 算法练习4:并查集/连通图 1:知识点梳理

按秩合并:在 union 方法中,通过比较两个根节点的秩,将较小的树合并到较大的树下,从而保持树的平衡,进一步提升操作效率。路径压缩:在 find 方法中,通过递归更新每个节点的父节点到根节点,从而减少树的高度,使后续的查询更快。并查集(Union-Find)是一种数据结构,用于处理不交集的合并和查询问题。下面是一个 Java 实现的并查集数据结构,包含路径压缩和按秩合并的优化:java。这种实现的时间复杂度接近于常数(α(n)),其中 α 是阿克曼函数的逆,非常高效。

2024-08-19 19:01:22 220

原创 Vue.js (1)

Vue.js 是一个流行的 JavaScript 框架,用于构建用户界面和单页应用程序。它的核心理念是通过声明式的数据绑定和组件化的开发方式,使得前端开发变得更加高效和灵活。

2024-08-19 15:47:19 262

原创 算法练习3:希尔排序(java)

1.选择间隔,选n/2的间隔,n是length。3.缩小间隔直至2,重复以上步骤。

2024-08-19 15:14:10 106

原创 希尔排序 java

希尔排序(Shell Sort)是一种插入排序的改进版,它通过将整个待排序的数组分成若干个子数组来进行排序,从而提高了排序的效率。希尔排序的主要思想是对插入排序进行优化,通过“间隔”来减少元素的移动距离,进而提高排序效率。

2024-08-19 15:13:56 527

原创 java 二分查找

注意:如果偏大 那么left=mid+1。如果偏小right=mid-1。单调递增,递减的数列。

2024-08-19 14:42:51 144

原创 算法练习1:插入排序(java)

要么就是在中间,那么a[j]这个时候比a[i]小 a[j+2]=a[j+1]比a[i]大,那么a[i]去覆盖a[j+1]的值即可。前面的都有序,如果a[i]大那么就顺势往后派 不进入while循环。小的话,要么找到J已经等于0,那么就排在1的位置。

2024-08-19 14:22:27 89

原创 vue 拦截器

if (config.method === "post" || config.method === "put"): 这个条件检查请求的方法是否是 POST 或 PUT。Axios.interceptors.request.use()来拦截所有的请求,对请求做相应护理后再放行搭配后端,这也是全局的,每个请求中无需自己处理。目的: 这个拦截器在 POST 和 PUT 请求时,将请求数据转换为 URL 编码的字符串格式,这是如果服务器期望这种格式的数据时非常有用的。第二个函数 处理请求配置过程中的任何错误。

2024-08-19 11:35:22 437

原创 面试题:== 和 === 这两个操作符区别

= (宽松相等运算符): 比较两个值时,首先会进行类型转换,然后再进行比较。这意味着 == 会在比较之前将操作数转换为相同的类型。=== (严格相等运算符): 比较两个值时,既不进行类型转换,也不做隐式转换。如果两个值的类型不同,=== 将直接返回 false。在编程中,== 和 === 这两个操作符用于比较两个值,但它们的行为略有不同,具体取决于使用的编程语言。在 JavaScript 中。

2024-08-19 11:19:55 129

原创 java队列

在 Java 中,队列(Queue)是一种常用的数据结构,属于 java.util 包。Queue 接口继承自 Collection 接口,定义了一些基本操作,如入队、出队、查看队列头部等。Java 提供了多种实现 Queue 接口的类,这些类可以满足不同的使用需求。

2024-08-19 10:24:32 814

原创 java字符串操作函数

在Java中,String类提供了许多方法来操作字符串。

2024-08-19 09:35:15 624

原创 笔试题:JAVA程序的main方法

在一个Java类中,你可以有多个重载的方法名为main的方法(即,具有不同参数列表的方法)。但是,只有签名为public static void main(String[] args)的main方法才是Java虚拟机(JVM)识别并执行的程序入口点。main方法的签名是 public static void main(String[] args),其中public和static是修饰符,void是返回类型,main是方法名,String[] args是参数列表。main方法必须在类里面。

2024-08-19 09:20:24 265

原创 sleep() 和 wait() 的区别

sleep() 和 wait() 是 Java 中用于控制线程执行的两个方法,它们有不同的用途和行为。

2024-08-19 09:19:04 390

原创 substring 函数java

在Java中,substring()方法用于从字符串中提取子字符串。你可以使用它从字符串中获取一个部分。substring()方法有两个重载版本:substring(int beginIndex):从指定的beginIndex位置到字符串的末尾提取子字符串。substring(int beginIndex, int endIndex):从beginIndex位置到endIndex位置(不包括endIndex)提取子字符串。endIndex 是不包含在结果中的。beginIndex 是从0开始的。

2024-08-19 09:16:13 128

原创 抽象类和接口区别

抽象类是一种特殊的类,不能直接实例化,主要用于作为其他类的基类。它可以包含抽象方法(没有实现的方法)和具体方法(有实现的方法)。抽象类可以有字段、构造函数和方法。子类必须实现所有抽象方法,才能实例化该子类。它允许你在基类中定义共通的行为和状态,同时强制子类提供具体的实现。在Java中,接口是一种特殊的引用类型,用于定义类应遵循的契约。接口只能包含方法签名和常量,不能包含字段(除了常量)或构造函数。自Java 8起,接口可以有默认实现的方法(使用default关键字),这使得接口可以包含具体的方法实现。

2024-08-18 18:00:52 431

原创 函数的重载

函数重载是指在同一个类中,函数名相同但参数列表不同(参数类型、数量或顺序不同)的多个函数。重载函数可以具有不同的返回类型和访问修饰符,但它们必须具有不同的参数列表。这个函数名相同,但参数列表不同(一个 int 参数)。虽然返回类型不同,但由于参数列表不同,这也是一个有效的重载函数。虽然访问修饰符不同,但由于参数列表没有变化,它不是重载函数。这个函数名相同,但参数列表不同(两个参数 int 和 float)。由于参数列表没有变化,它不是重载函数。二要不同,函数的参数列表中的参数类型、顺序、个数要不同。

2024-08-16 19:46:37 201

原创 Java 中的continue关键字

它会跳过当前循环的剩余部分,并立即开始下一次循环的迭代。continue 关键字是控制循环执行流的一种方式,它帮助跳过当前循环的剩余部分并进入下一次迭代。跳过当前循环迭代的剩余部分: 当 continue 被执行时,循环会立即跳过当前迭代的剩余部分,重新判断循环条件并开始下一次迭代。常用于跳过某些不需要执行的循环体部分: 例如,在处理数据时,可能会遇到需要跳过的情况,continue 可以帮助简化代码逻辑。在 do-while 循环中,continue 的行为与在 for 和 while 循环中相同。

2024-08-16 19:35:56 563

原创 java二维数组声明方式

正确的声明方式应该是 int[][] b = new int[10][10];,而且 new int[][] 需要指定数组的大小。它声明了一个二维数组 d 并初始化为一个 10x10 的整型数组。这种写法在语法上与选项 C 等效,只是数组的声明顺序不同。你必须在 new int[][] 后面指定数组的大小,例如 new int[10][10]。它声明了一个二维数组 c 并初始化为一个 10x10 的整型数组。这是 Java 中常见的二维数组声明方式。选项 C 和 D 都是正确的声明方式。

2024-08-16 19:32:13 312

原创 构造函数的触发和时机

要确定代码片段的输出结果,我们需要逐步分析类的初始化过程和构造函数的执行顺序。在执行 X 的构造函数之前,X 的成员变量(即 Y b = new Y();Z 类的成员变量(即 Y y = new Y();X 的成员变量初始化(Y b = new Y();成员变量初始化时会触发成员变量的构造函数。Y(来自 X 类的成员变量初始化)Y(来自 Z 类的成员变量初始化)这会再次触发 Y 类的构造函数。成员变量初始化在构造函数之前。这会触发 Y 类的构造函数。Y 的构造函数输出 "Y"。Y 的构造函数输出 "Y"。

2024-08-16 19:27:25 141

原创 抽象类面试题

这告诉编译器该类不能被实例化,并且可能包含抽象方法(虽然不是强制的)。抽象类可以不包含任何抽象方法。抽象类的定义本身并不要求必须包含抽象方法,但如果一个类中包含抽象方法,则该类必须被声明为抽象类。抽象类不能被直接实例化。它的主要作用是作为其他类的基类,以便这些子类可以继承抽象类的属性和方法并实现其抽象方法。尽管不能实例化抽象类,但构造方法仍然可以用于初始化其子类对象时的继承部分。在面向对象编程中,抽象类是一个用于创建其他类的模板的特殊类。C. 抽象类的声明必须包含 abstract 关键字 是正确的叙述。

2024-08-16 19:20:04 82

原创 java子类与父类方法的关系

子类自动继承父类的公有和受保护的方法。私有方法在子类中不可见和不可继承。子类可以覆盖父类的方法,但静态方法只会被隐藏,不会真正覆盖。继承提供了一种代码重用的机制,允许子类在继承父类的基础上进行扩展和修改。

2024-08-16 19:14:11 224

原创 this关键字 静态方法

①this 关键字是一个指向当前对象的引用,用于在类的实例方法或构造函数中引用当前对象。②this 关键字只能用来引用当前类的对象,不能用于引用其他类的对象。如果需要引用其他类的对象,你必须使用该对象的引用变量。③在构造函数中,this 关键字可以用来调用同一个类中的其他构造函数(重载的构造函数),这种调用必须是构造函数的第一行代码。例如:javathis 关键字不能用于静态方法中。静态方法属于类而不是对象,因此没有 this 对象的概念。在静态方法中不能引用实例变量或调用实例方法。

2024-08-16 19:06:35 482

原创 java构造函数的描述

如果一个类没有显式地声明任何构造函数,Java 编译器会自动提供一个无参的默认构造函数。因此,并不需要在类定义中声明至少一个构造函数,虽然你可以声明一个或多个构造函数以满足特定的初始化需求。构造函数可以使用 return 语句,但它不能返回任何值,因为构造函数没有返回类型。当你使用 new 关键字创建一个对象时,Java 虚拟机会自动调用构造函数来初始化新创建的对象。构造函数的名称必须与类名完全相同,并且没有返回类型(包括 void)。选项 C: 我们在定义一个类时,必须要声明至少一个构造函数。

2024-08-16 18:57:27 195

原创 Java 将字符串转换为 int 类型的常见方法

在 Java 中,将字符串转换为 int 类型有几种常见的方法,主要使用 Integer 类提供的静态方法。

2024-08-16 18:53:41 895

原创 Java 中 Integer 类的比较行为

在 Java 中,Integer 类的比较行为有其特定的规则,这些规则涉及到缓存和对象比较。让我们分析一下你提供的代码:java。

2024-08-16 18:51:35 315

原创 parseLong

异常处理:如果传入的字符串无法被解析为有效的长整型数值,将抛出 NumberFormatException。因此,通常建议在调用 parseLong 时使用 try-catch 进行异常处理。parseLong 是一个常用于将字符串转换为长整型(long)数值的方法。在 Java 中,通常使用 Long.parseLong(String s) 方法来实现这一功能。进制支持:Long.parseLong 还可以接受第二个参数,用于指定数字的进制(例如,二进制、八进制、十六进制等)。

2024-08-16 14:00:04 273

原创 POW ()

POW 通常指的是数学中的幂运算,即计算一个数的另一个数次方。在编程中,不同语言对幂运算有不同的实现方式。Java:使用 Math.pow(base, exponent) 方法。

2024-08-15 18:01:40 108

原创 charAt(i)

charAt(i) 是 String 类中的一个方法,用于返回指定索引位置的字符。i 是字符的位置索引,基于 0 的索引系统,即第一个字符的索引是 0,第二个是 1,以此类推。如果 i 超出了字符串的长度范围,将抛出 StringIndexOutOfBoundsException 异常。text.charAt(7):获取 text 字符串中索引为 7 的字符,即 'w'。这个方法在需要访问字符串中某个特定字符时非常有用。

2024-08-15 18:00:00 219

原创 过滤器实验

注意:不需要和java包写的过滤器搞什么请求转发,geturl什么乱七八糟的,Test1.html通过超链接跳转到test2.html。首先写两个页面之间能够互相跳转。下面这个类会直接在后端拦截的。

2024-08-14 10:00:00 217

原创 工厂模式(Factory Pattern)

在 Java 编程中,工厂模式(Factory Pattern)是一种创建对象的设计模式。工厂模式主要用于将对象的创建逻辑从使用对象的代码中分离出来,这样可以减少系统中的耦合度,提高代码的灵活性和可维护性。简单工厂模式通过一个工厂类来创建对象,而不是直接在客户端代码中实例化对象。工厂类根据传入的信息决定创建哪个类的实例。工厂模式有几种常见的变体:简单工厂模式、工厂方法模式和抽象工厂模式。抽象工厂模式提供了一个接口,用于创建一系列相关或依赖的对象,而无需指定它们具体的类。它通常用于创建产品族。

2024-08-13 16:01:37 692

原创 多线程(1)

是Java中的一个接口,用于表示可以通过线程执行的任务。它定义了一个单一的抽象方法 run(),该方法在实现了该接口的类中被重写,用来包含任务的具体逻辑。通过实现Runnable接口,可以将任务与线程执行分离,使得代码更加清晰和灵活。

2024-08-12 19:15:00 1166

原创 基于Java Servlet编写用户登陆,实现功能,不能通过输入main.html直接跳转

代码解析:以上代码是一个基于Java Servlet的简单示例,它展示了如何使用Servlet处理HTTP请求,并根据请求路径(path)执行相应的业务逻辑。让我逐步解释这段代码的功能和结构。@WebServlet注解:java@WebServlet(value = "*.category") 注解指定了Servlet的映射路径,表示该Servlet会处理所有以 .category 结尾的URL请求。CategoryServlet类:继承自HttpServlet类,因此可以处理HTTP请求。

2024-08-12 10:45:00 479

原创 多线程(2)

是程序执行流的最小单元。在多线程编程中,一个进程可以包含多个并发执行的线程,每个线程都是独立的、能够独立运行的子任务。主要特点和概念:并发执行:多线程使得多个任务可以同时执行,提高了程序的效率和资源利用率。独立性:每个线程拥有自己的程序计数器(Program Counter)、栈(Stack)、寄存器集合等,线程之间不会直接干扰彼此的状态信息。共享资源:多线程可以共享同一个进程的资源,如堆内存和静态方法。线程调度:线程的执行是由操作系统的调度算法决定的,程序员无法精确控制线程的执行顺序。

2024-08-12 05:00:00 2194

空空如也

空空如也

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

TA关注的人

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