JavaEE
文章平均质量分 60
xiaobai___1
这个作者很懒,什么都没留下…
展开
-
Java是如何实现跨平台的
总的来说,Java的跨平台能力是通过编译成与平台无关的字节码,然后在运行时由JVM将字节码转换成特定平台的机器码来实现的。这种设计使得Java成为一个广泛应用于多种不同类型设备和操作系统的语言。原创 2024-04-15 23:14:56 · 305 阅读 · 1 评论 -
JDK1.8 有哪些新特性
JDK 1.8引入了多个新特性,显著改善了Java语言的函数式编程能力、集合操作和日期时间处理。以下是一些主要的新特性。原创 2024-04-05 23:33:08 · 209 阅读 · 0 评论 -
MySQL Explain 优化参数详细介绍
Explain是MySQL提供的一个非常有用的工具,它能够帮助数据库管理员和开发者理解SQL查询是如何被数据库执行的。通过在SELECT语句前加上EXPLAIN关键字,我们可以获取关于查询执行计划的信息。原创 2024-03-26 23:17:59 · 867 阅读 · 0 评论 -
String StringBuffer StringBuilder StringJoiner区别
总的来说,对于不需要改变内容的字符串,应使用String;对于需要频繁修改且可能涉及多线程的字符串,应使用StringBuffer;而对于需要频繁修改但只在单线程中使用的字符串,应使用StringBuilder。而当需要构建由分隔符分隔的字符串时,应考虑使用StringJoiner。原创 2024-03-08 23:57:29 · 421 阅读 · 0 评论 -
String类的常用方法并附代码举例
length():返回字符串的长度。charAt(int index):返回指定索引处的字符。原创 2024-03-08 23:49:10 · 338 阅读 · 0 评论 -
Serialiable接口 , 序列化相关问题
在反序列化时,java虚拟机会通过二进制流中的serialVersionUID与本地的对应的实体类进行比较,如果相同就认为是一致的,可以进行反序列化,正确获得信息,否则抛出序列化版本不一致的异常。例如,我们可以将序列化对象写入文件后,再次从文件中读取它并反序列化成对象,也就是说,可以使用表示对象及其数据的类型信息和字节在内存中重新创建对象。一个对象序列化的接口,一个类只有实现了Serializable接口,它的对象才能被序列化。包中定义的、用于实现Java类的序列化操作而提供的一个语义级别的接口。原创 2024-01-27 20:30:17 · 335 阅读 · 1 评论 -
Java 创建对象有哪几种方式
使用Class类的newInstance方法(反射)这种方法通过反射机制来创建对象。newInstance方法会调用无参的构造函数来创建对象。这种方法通过反射机制来创建对象。newInstance方法会调用无参的构造函数来创建对象。原创 2024-03-02 23:27:49 · 476 阅读 · 0 评论 -
为什么重写equals 时必须重写 HashCode 方法?
一致性要求:当两个对象通过equals方法比较相等时,它们的hashCode方法必须返回相同的值。这是因为散列数据结构,如HashSet和HashMap,依赖于对象的哈希值来确定对象的位置。如果两个相等的对象返回不同的哈希值,它们可能会被错误地存储在集合的不同位置,导致错误的判断和数据不一致。因此,equals 方法被覆盖过,则hashCode 方法也必须覆盖原创 2024-03-02 22:36:01 · 362 阅读 · 0 评论 -
final关键字有什么作用
被 final 修饰的类不可以被继承被 final 修饰的方法不可以被重写被 final 修饰的变量不可变,被 final 修饰的变量必须被显式第指定初始值,还得注意的是,这里的不可变指的是变量的引用不可变,不是引用指向的内容的不可变。原创 2024-03-02 22:02:43 · 421 阅读 · 0 评论 -
反射详解-获取构造方法-动态代理
获取字节码文件对象的三种方式原创 2024-03-01 02:05:59 · 835 阅读 · 0 评论 -
多线程万字详解
线程池是一种用于管理线程的资源池,它可以显著提高多线程程序的性能和可靠性。线程池的实现基于生产者-消费者模式,任务提交方作为生产者将任务放入线程池,而线程池中的工作线程作为消费者来执行这些任务。以下是线程池的一些关键特点:原创 2024-02-29 22:22:42 · 962 阅读 · 0 评论 -
Stream流详解
简化代码:Stream API允许开发者通过声明性方式处理数据,这意味着可以通过更少的代码实现相同的功能,从而提高代码的简洁性和可读性。提高可维护性:由于Stream流的代码更加简洁,因此也更容易维护。当业务逻辑复杂时,使用Stream可以减少出错的机会,并且使得代码更加清晰。函数式编程:Stream流基于函数式编程的思想,这使得它能够很好地支持抽象思维和函数式操作,有助于解决复杂的业务逻辑问题。原创 2024-02-29 00:09:53 · 1028 阅读 · 0 评论 -
集合详解-迭代器遍历-增强for-List集合-List五种遍历方式-Set集合-排序规则Comparable-双列集合
Collection集合数组和集合的区别相同点都是容器,可以存储多个数据不同点数组的长度是不可变的,集合的长度是可变的数组可以存基本数据类型和引用数据类型集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类原创 2024-02-28 17:52:49 · 1036 阅读 · 0 评论 -
包装类详解
Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类,如下:原创 2024-02-26 22:58:52 · 864 阅读 · 0 评论 -
内部类详解
类的五大成员 : 属性,方法,构造方法,代码块,内部类什么是内部类将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类。可以把内部类理解成寄生,外部类理解成宿主。原创 2024-02-26 22:23:10 · 1183 阅读 · 0 评论 -
String类-equals和==的区别-遍历-SubString()-StringBuilder-StringJoiner-打乱字符串
String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的实例。也就是说,Java 程序中所有的双引号字符串,都是 String 类的对象。String 类在 java.lang 包下,所以使用的时候不需要导包!原创 2024-02-25 23:15:02 · 458 阅读 · 1 评论 -
键盘录入 Scanner 详解
键盘录入得到的字符串是new出来的1)next()、nextLine()可以接受任意数据,但是都会返回一个字符串。比如:键盘录入abc,那么会把abc看做字符串返回。键盘录入123,那么会把123看做字符串返回。原创 2024-02-25 18:42:06 · 402 阅读 · 0 评论 -
方法详解-方法重载-复制数组-找质数-开发验证码
方法的重载在同一个类中,定义了多个重名的方法,这些同名的方法具有同种的功能每个方法具有不同的参数类型或者参数个数,这些同名的方法,就构成了重载关系简单记 : 同一个类中,方法名相同,参数不同的方法,与返回值无关参数不同:个数不同,类型不同,顺序不同原创 2024-02-25 18:01:59 · 319 阅读 · 0 评论 -
数组详解-格式定义-遍历-求最值-遍历求和-打乱数组中的数据
完整格式-静态初始化数据类型[]数组名=new 数据类型[]{元素1,元素2,元素3...}原创 2024-02-25 16:58:41 · 344 阅读 · 0 评论 -
三元运算符求两个数的最大值,最小值
【代码】三元运算符求两个数的最大值,最小值。原创 2024-02-25 13:26:16 · 520 阅读 · 0 评论 -
回文数详解 Java实现
需要注意的是,负数通常不被认为是回文数,因为负号的存在会破坏数的对称性。例如,-121 虽然正读和反读都是 -121,但由于有负号,它不被视为回文数。Debug查看运行状态。原创 2023-06-28 22:06:45 · 36 阅读 · 1 评论 -
Java 计算1-100偶数和奇数和
/计算1 ~ 100之间偶数和。//计算1 ~ 100之间奇数和。原创 2024-02-25 00:10:51 · 597 阅读 · 0 评论 -
break和continue区别
总的来说,break是用来完全退出一个循环的,而continue则是用来跳过当前循环的剩余部分,直接进入下一次循环。在实际编程中,根据需要控制循环流程的不同场景选择合适的语句非常重要。break和continue都是循环控制语句,但它们在循环中的作用不同。原创 2024-02-24 23:58:06 · 357 阅读 · 0 评论