
JavaSE
文章平均质量分 65
java的基础知识
baixian110
这个作者很懒,什么都没留下…
展开
-
在配置类属性引用注解:@Value与@ConfigurationProperties的区别与具体应用场景
Value 和 @ConfigurationProperties 是 Spring Boot 中用于获取配置属性的两种主要方式,它们有一些区别,适用于不同的场景。原创 2024-01-03 10:59:28 · 594 阅读 · 0 评论 -
使用ThreadLocal.withIniti避免初始化为null问题
在上述例子中,counterThreadLocal 是一个 ThreadLocal 变量,初始值是一个 AtomicInteger 计数器。每个线程第一次访问 counterThreadLocal 时,都会调用 AtomicInteger::new 获取一个新的 AtomicInteger 实例作为初始值。每个线程都有自己独立的计数器,互不干扰。如果我们使用 new ThreadLocal();创建 ThreadLocal 实例,它的初始值将为 null。原创 2023-12-14 11:12:50 · 806 阅读 · 0 评论 -
java内部类详解
在外部类中,内部类定义位置与外部类成员所处的位置相同,因此称为成员内部类。原创 2023-08-20 12:15:37 · 219 阅读 · 0 评论 -
获取类对象的方法
java程序在计算机中运行有,三个主要的阶段,代码阶段/编译阶段,Class类阶段(加载阶段),runtime运行阶段。在不同的阶段我们可以通过不同的方法来获取class对象。转载 2023-08-15 21:20:50 · 480 阅读 · 0 评论 -
基本变量与引用变量的区别
在arr2赋值给arr1之后,arr1就指向arr2指向的那片数组了,所以其原本指向的那片数组空间{1,2,3,4,5}会被直接释放掉,系统会自动释放,不需要我们手动进行。在上述代码中,a、b、arr,都是函数内部的变量,因此其空间都在main方法对应的栈帧中分配。而引用数据类型创建的变量,一般称为对象的引用,其空间中存储的是对象所在空间的地址。基本数据类型创建的变量,称为基本变量,该变量空间中直接存放的是其所对应的值;a、b是内置类型的变量,因此其空间中保存的就是给该变量初始化的值。原创 2023-08-15 17:44:41 · 273 阅读 · 0 评论 -
java中对象的比较详解
我们先来看这样一个背景,如果有一个学生类,成员属性有姓名name(String),年龄age(int),分数score(double).那么我们如果想要比较相关学生的年龄该如何比较呢?如果想寻找分数相同的同学我们该如何去寻找呢?这就涉及到java里面对象的比较java中 == 、>、 或者 < 方式进行比较。 那为什么= =可以比较?因为:对于用户实现自定义类型,原创 2023-06-28 18:11:52 · 911 阅读 · 0 评论 -
java迭代器的基本使用方法
https://www.runoob.com/java/java-iterator.html?eqid=92072ef4000257d80000000664598c90转载 2023-06-28 06:49:11 · 75 阅读 · 0 评论 -
Java的String(字符串详解)
字符串1.字符串的常见构造方法主要有三种,一种是直接使用常量去构造,要么使用new String来构造,或者还可以使用字符数组的形式。String 类型本身并不存储数据,而是存储指向该字符串的引用,所以字符串类型是一个类,s1是一个引用,指向这个类。而这个类有两个成员变量,一个名称为value,这也是一个引用类型,指向一个字符数组,与C++类似,但是java中的字符数组是没有\0的。此外,字符串类型还有一个成员变量hash,这个暂时知道就行了。2.常见的String类的方法判断是不是空字符串。原创 2023-05-26 01:00:12 · 7761 阅读 · 0 评论 -
如何输出内部类的值
类名.方法(形参),这里面的我们往往的写代码的逻辑时形参指向的内容以及方法所执行的对象都必须全部包含在这个类名所引用的对象里,就像在设计这个代码的时候我总想初始化出合并后的。当我们在实现两个有序链表的合并的时候,需要返回合并后的链表的头结点,那么如何打印这个合并后的链表呢。,也就是这个链表对象,用这个链表对象调用display才对。在定义链表时,我们常常需要定义一个内部类用以表示结点。输出结果是不一样的,display的执行只与。两句执行结果是一摸一样的。原创 2023-05-24 09:53:09 · 91 阅读 · 0 评论 -
java异常总结
此时我们在处理用户名密码错误的时候可能就需要抛出两种异常. 我们可以基于已有的异常类进行扩展(继承), 创建和我们业务相关的异常类.自定义异常类,然后继承自Exception 或者 RunTimeException实现一个带有String类型参数的构造方法,参数含义:出现异常的原因如下面这个例子我们定义一个类继承Exception并且调用参数的构造方法用于提示造成异常的原因。原创 2023-05-12 18:13:33 · 1850 阅读 · 0 评论 -
java异常的声明、捕获、抛出、处理(throws、throw、try-catch详解)
此时我们在处理用户名密码错误的时候可能就需要抛出两种异常. 我们可以基于已有的异常类进行扩展(继承), 创建和我们业务相关的异常类.自定义异常类,然后继承自Exception 或者 RunTimeException实现一个带有String类型参数的构造方法,参数含义:出现异常的原因如下面这个例子我们定义一个类继承Exception并且调用参数的构造方法用于提示造成异常的原因。原创 2023-05-12 18:12:36 · 3169 阅读 · 0 评论 -
java异常的分类(常见的异常类型)
例如忘记写分号,这个也会出现下划线,但是这个不能称之为异常 此时编译过程中就会出错, 这是 “编译期” 出错。这表明在这个异常在编译时就会出错,前面几个异常源码写在IDEA里面是不会有下划线的所以前面的是运行时异常,而这个就是编译时异常,但是编译时异常是可以解决的,可以通过throws关键字解决。在程序编译期间发生的异常,称为编译时异常,也称为受检查异常(Checked Exception)在程序执行期间发生的异常,称为运行时异常,也称为非受检查异常(以及其子类对应的异常,都称为运行时异常。原创 2023-05-12 18:08:48 · 1209 阅读 · 0 评论 -
java字符串比大小(compare方法)
与equals不同的是,equals返回的是boolean类型,而compareTo返回的是int类型。String.java是这样重写compareTo函数的。方法:与compareTo方式相同,但是忽略大小写比较。原创 2023-05-09 21:13:16 · 1906 阅读 · 0 评论 -
java非静态代码块和静态代码块介绍
静态代码块与非静态代码块原创 2023-05-09 15:25:06 · 1429 阅读 · 0 评论 -
java字符大小写转换——toLowerCase方法
2.利用Java中String的原生方法去实现。原创 2023-05-09 10:49:58 · 1478 阅读 · 0 评论 -
java字符串中的字符替换(replace方法)
repalce方法原创 2023-05-08 22:12:43 · 3132 阅读 · 0 评论 -
java接口
实际上接口在干一件事情,以前我调用实现父类行为(方法)【这个父类方法是我自己叫的名字,便于理解】的时候都必须通过通过父类对象的引用类似于animal.run()之类的操作,但是现在接口就相当于把父类的方法也抽离出来,这样我在调用这个方法事不在拘泥于父类,可以直接在在测试类里使用函数去调用接口来实现该对象的行为。通过接口继承创建一个新的接口 IAmphibious 表示 “两栖的”. 此时实现接口创建的 Frog 类, 就继续要实现 run 方法, 也需要实现 swim 方法.5.接口中也不能有构造方法。原创 2023-04-27 12:21:46 · 985 阅读 · 0 评论 -
IDEA中如何打开一个.java文件的字节码文件
在out文件里面找到class后缀的文件(可能不止一个嵌套文件夹),这些class后缀的文件就是我们一个项目里面所有的字节码文件了 ,我要找的是Test类的字节码文件就要找到Tset.classwen文件所在的文件夹。输入命令为 javap -c 文件名;我这里是打开Test文件,所以是javap -c Test,然后回车。然后直接选中上面的文件路径,并输出cmd,回车,就直接进入dos环境这个文件路径底下。打开后就是我们的文件存储的位置,往回退一个文件,找到文件夹里面的out文件。点击Explorer。原创 2023-04-26 00:27:12 · 673 阅读 · 0 评论 -
java数组详解
这一句,系统在堆区开辟一块空间存的是10,11,12,假设首地址是0x24681012,然后将arr指向这片空间,此时就要注意了,这之后,arr的内容不再是0x12345678,而是新的0x24681012.所以后面打印时,打印的是10,11,12.然后fun1执行结束,栈区里面的arr出栈,也就是局部变量销毁,同时堆区里面的0x12345678这片空间释放。我们把整个过程顺一遍,首先在系统的堆区开辟两片连续内存空间,一片存1,2,3,4,5,一片存6,7,8,9,10。在内存中是一段连续的空间。原创 2023-04-25 14:14:03 · 530 阅读 · 0 评论 -
java 二维数组
时,系统先创建三个个一维数组arr2、{1,2,3}、{4,5,6},这个arr2有两个元素,这俩个元素都是地址,一个地址指向的是{1,2,3}这个数组,一个地址是指向{4,5,6}这个数组。java在二维数组上非常强调“二维数组是特殊的一维数组”,我们将aar2[0]打印出来就会发现打印出来的是一个地址,这个地址就是{1,2,3}这个一维数组的地址。在C语言中我们在定义二维数组时要求行下标可以省略,列下标不可以省略,这样就保证了C语言中创建的二维数组是先铺满一行再铺满一行这样的分布的。原创 2023-04-24 10:21:50 · 318 阅读 · 0 评论 -
java的方法重载
本质上是因为编译器正是通过参数列表不同来区别不同的方法入口的,一旦参数列表相同,那么就么有办法区别了。在自然语言中,一个词语如果有多重含义,那么就说该词语被重载了,具体代表什么含义需要结合具体的场景。报错:java: 已在类 helloworld中定义了方法 add(int,int)在Java中,如果多个方法的名字相同,参数列表不同,则称该几种方法被重载了。好了,java的方法重载就说到这里了。在Java中方法也是可以重载的。原创 2023-04-20 21:22:10 · 457 阅读 · 0 评论 -
java的常见运算符详解(包含与C不同的地方)
Java 中数据存储的最小单位是字节,而数据操作的最小单位是比特位. 字节是最小的存储单位,每个字节是由8个二进制比特位组成的,多个字节组合在一起可以表示各种不同的数据。位运算符主要有四个: & | ~ ^ ,除 ~ 是一元运算符外,其余都是二元运算符。特点:如果表达式1为真就不执行表达式2,这里就已经发生短路了,如果表达式1为假,就就继续执行表达式2,表达式2为真则整体为真。特点:先去执行表达式1,如果表示式1为真,则去执行表达式2,如果表达式2为真,则整体为真,表达式2为假,则整体为假。原创 2023-04-20 15:21:54 · 687 阅读 · 0 评论 -
猜数字小游戏——Java实现
【代码】猜数字小游戏——Java实现。原创 2023-04-20 08:20:54 · 180 阅读 · 0 评论 -
java常见的数据类型详解以及注意事项
java数据类型原创 2023-04-19 18:41:17 · 1237 阅读 · 0 评论