- 博客(112)
- 收藏
- 关注
原创 java测验错题集合
在 Java 中,各种基本数据类型的大小是固定的,不依赖于具体的操作系统或硬件架构。byteshortintlongfloatdoublechar:Java 的char类型使用 Unicode 编码,占用 2 字节,支持所有语言的字符表示。booleantruefalsebooleantruefalsebyteshortintlongfloatdoublecharbooleantruefalseString5. java中实例变量不需要初始化,局部变量必须初始化在 Java 中,局部变量。
2024-12-25 16:43:48
846
原创 线程池相关知识
问题2:队列中的线程就是在等待吗 等核心线程任务执行完释放出来然后队列中的任务执行。被核心线程取出并开始执行时,任务队列就会变为空,也就是。核心线程会从队列中取出下一个任务并开始执行。的原则,即最早进入队列的任务会最先被执行。:线程池中只有3个核心线程处于等待状态。新提交的任务会进入任务队列(问题3:场景三中的实例不太明白。,任务队列不再有排队的任务。"已被消耗完"的意思是。,即任务被拿出来处理。
2024-12-24 15:03:40
1126
原创 反射知识学习
反射可以破坏封装性(原本正常一行代码就可以创建对象,但是如果他是private的,就无法在外部创建,这时候通过反射技术,先获取类,然后获取构造器,遇到权限不够还可以申请打开权限来创建)反射作用之一:绕过编译阶段为集合添加数据,可以在int类型的arraylist中加入String等别的数据类型。3:Class c = Class.forName("类名");2:Class c = 对象名.getClass();1:Class c = 类名.class;第三步:获取成员变量。第四步:获取方法对象。
2024-12-11 14:46:52
221
原创 单元测试
junit5中五个方法为:Test、BeforeEach(修饰实例方法,在测试方法开始之前执行)、AfterEach(修饰实例方法,在测试方法完成之后开始执行)、BeforeAll(修饰静态static方法,在测试类开始之前执行)、AfterAll(修饰静态static方法,在测试类执行完毕之前开始执行)before:可以用来初始化操作,比如测试方法中需要用到io文件流,就可以在before和after中初始化操作和关闭操作。
2024-12-11 10:08:19
517
1
原创 不可变集合、stream流、异常处理等
**目标:自定义异常(了解)引入:Java已经为开发中可能出现的异常都设计了一个类来代表.但是实际开发中,异常可能有无数种情况,Java无法为这个世界上所有的异常都定义一个代表类。假如一个企业如果想为自己认为的某种业务问题定义成一个异常就需要自己来自定义异常类.需求:认为年龄小于0岁,大于200岁就是一个异常。自定义异常:自定义编译时异常.a.定义一个异常类继承Exception.b.重写构造器。c.在出现异常的地方用throw new 自定义对象抛出!
2024-11-15 12:33:33
276
原创 Map集合
TreeMap判定重复是按照排序的原则处理的,只要两个对象的排序规则里面的属性一下,则判定为重复(例如排序规则是按苹果的重量排序,如果两种不同品种的苹果重量相同,则被认为重复)
2024-11-12 12:58:10
273
原创 多态与内部类
同类型的对象,执行同一个行为,会表现出不同的动作。方法调用:编译看左边,运行看右边。变量调用:编译看左边,运行也看左边。(多态看重)多态情况下不能访问子类独有的方法,只能访问重写了父类的方法。(所以需要用到引用类型转换)多态的实现方式:1.重写;2.接口;3.抽象类和抽象方法。
2024-10-11 16:55:33
261
原创 JSON知识
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它是以字符串形式表示数据的结构化格式。JSON 使用一组规则来构建对象和数组,这使其成为一种人类可读的文本格式。在 Java 中,JSON 通常表现为字符串。例如,当你有一个 JSON 对象或数组时,它在代码中会被表示为一个字符串值。在代码中,这些 JSON 数据将以字符串的形式存在,因此我们可以说 JSON 是一种字符串格式,但它的结构遵循一定的语法规则。
2024-09-20 14:23:23
521
原创 字节操作工具类(字节数组和int、long、double、float等数字类型转换)
【代码】字节操作工具类(字节数组和int、long、double、float等数字类型转换)
2024-09-20 11:06:55
584
原创 数据类型转换工具类(字符串和int、double、long等数字类型互相转换)
【代码】数据类型转换工具类(字符串和int、double、long等数字类型互相转换)
2024-09-20 11:06:22
367
原创 Java :数组array和 Arrays
数组是 Java 中用于存储同类型数据的基本数据结构,而Arrays是一个工具类,提供了对数组的常用操作方法。理解这两者的区别和联系有助于在 Java 编程中更有效地管理和操作数据。
2024-09-20 10:57:03
683
原创 字节数组相关知识
ByteBuffer是处理原始字节数据的强大工具,提供了多种方法以支持各种数据类型的存取,为 Java 程序在高性能 I/O 操作中提供了灵活性和简便性。选择直接缓冲区或非直接缓冲区主要取决于应用的性能需求和内存管理策略。在需要高效的 I/O 操作时,直接缓冲区是更好的选择;而在其他常规内存操作时,非直接缓冲区可能更为简单和方便。大端(Big Endian):高位字节在前,低位字节在后,适合人类阅读顺序。小端(Little Endian):低位字节在前,高位字节在后,适合一些特定计算机架构。
2024-09-20 10:54:14
791
原创 Java练习-----时间工具类(JDK8之前)
SimpleDateFormat简单日期格式化类:代表简单日期格式化,可以用来把日期对象、时间毫秒值格式化成我们想要的形式。Calender类:calender是可变对象,一旦修改后其对象本身表示的时间将产生变化。
2024-09-19 11:11:32
327
原创 Java学习第八天
把成员变量设置成静态成员变量,并给其提供get、set方法。成员变量和局部变量区别常用APIString类定义的变量可用于存储字符串,同时String类提供了很多操作字符串的功能,我们可以直接调用。字符串内容比较不适合用“==”,要用equals方法。
2024-09-18 14:17:12
386
原创 Java学习第八天
垃圾回收机制:当堆内存中的类对象或者数组对象,没有被任何变量引用或者指向时候,就会被判定为内存中的“垃圾”。子类通过this(...)去调用本类的其他构造器,本类其他构造器会通过super去手动调用父类的构造器,最终还是会调用父类构造器的。因为子类在初始化的时候,有可能会使用到父类中的数据,如果父类没有完成初始化,子类将无法使用父类的数据。子类中的所有的构造器默认都会先访问父类中无参的构造器,再执行自己。子类初始化之前,一定要调用父类构造器先完成父类数据空间的初始化。
2024-09-10 10:29:27
279
原创 Java学习第七天
成员方法分类:静态成员方法(有static修饰 属于类)建议用类名访问,也可以用对象访问实例成员方法(无static修饰 属于对象)只能用对象出发访问使用static来定义一些工具类工具类直接使用类名.方法调用即可,将构造器私有化,不要对外产生对象。
2024-09-04 17:02:19
521
1
原创 win10 +git配置+学习笔记
4.合并分支(首先要切换到你需要合并到的分支上来,例如分支1想要合并分支2,必须先切换到分支1,然后执行merge命令)然后新建一个文件夹,在目录中右键点击git bash就打开了命令行。每个开发人员都是建立新分支在新分支上进行修改然后合并到主分支上面。初始化仓库(在现有目录中初始化 Git 仓库)配置完之后可以查看绑定信息。
2024-09-03 16:30:59
580
原创 Java学习第六天
静态成员变量(有static修饰,属于类,内存中加载一次):如在线人数信息等需要被共享的信息,可以被共享访问。实例成员变量(无static修饰,存在于每个对象中):常表示姓名name、年龄age等属于每个对象的信息。static:是静态的意思,可以修饰成员变量,表示该成员变量在内存中只存储一份,可以被共享访问。静态成员变量属于内,与类一同加载,保存到堆内存,类保存在方法区,方法在栈内存。static修饰成员变量的内存原理。
2024-09-02 17:11:07
249
原创 Java学习第五天(续)
方法重载作用:可读性好,方法名称相同提示是同一类型的功能,通过形参不同实现功能差异化的选择,这是一种专业的代码设计。引用类型的参数传递(本质也是值传递,注意区分不同点,因为引用类型的值是地址,相当于传递了地址)方法是一种语法结构,它可以把一段代码封装成一个功能,以方便重复调用。方法重载:同一类中,名称相同但形参列表不同,那么这些方法就是重载方法。主要分析返回值和形参,只要确定这两个就可以定义方法。方法调用完之后就从栈内存清除走了;return关键字单独使用。值传递:不改变实参的值。
2024-09-02 09:42:28
183
原创 Java学习第五天
通过这个比较,我们可以清楚地看到两段代码的区别在于对数组引用的操作不同,从而导致了不同的结果。注意左边和右边的区别,一个是改变数组的值,另一个是改变地址相当于,右侧的局部变量被销毁了。注意:数组变量名中存储的是数组在内存中的地址,数组是引用类型。new出来的都是在堆内存中的,方法都在栈内存中。数组适合做一批同类型数据的存储。1.越界异常(超出最大索引)2.空指针异常(null)
2024-08-30 15:17:21
387
原创 Java学习第三天
强制类型转换可能造成数据丢失或者溢出;浮点型强转成整型,会丢失小数部分,保留整数部分返回。类型范围小的可以直接转换给类型范围大的变量;例如int类型可以直接赋值为long型。总体三部分内容:数据类型转换、运算符使用、调用Java提供的程序。char字符型在计算机底层是一个数字 可以自动转换成int。加号符+作连接符(能算则算,不能算就连在一起)大范围变量赋值给小范围变量时需要强制类型转换。注意a*1.0/2 就可以变成小数了。赋值运算符:(基本赋值和扩展赋值)2.表达式的自动类型转换。
2024-08-28 17:03:10
177
原创 Java学习第二天
Java程序开发三步骤:编写代码(后缀为.java文件,文件命名规则:驼峰模式) 编译代码(使用javac编译,编译完之后生成一个.class文件) 运行代码(使用java运行class文件)Java代码编写要求:1文件名称的后缀必须是java结尾;或者新建一个模块将别人src文件夹下的代码copy到新建的模块中的src文件夹中(建议使用这种)注意字符:必须使用单引号,有且仅能有一个字符(\n 换行符 \t 空格)删除模块(一般先从idea中删除,然后再从磁盘文件夹中删除)
2024-08-27 16:15:48
214
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅