JAVA基础题
文章平均质量分 79
与JAVA相关的八股文题,结合业务、项目进行理解
28岁青春痘老男孩
own the situation
展开
-
对IO流原理及、分类及IO模型的一个大概认识【Java基础题】
IO模型:IO模型决定了数据如何在应用程序和网络间传输。IO模型是系统底层的支持,不同语言和框架对这些模型的支持和实现方式可能会有所不同。虽然IO模型最初是针对网络IO操作来描述的,但它们的基本原则和方法同样适用于本地IO操作。BIO:BlockingIO,传统IO模型,同步阻塞IO--->可以大概对应的实现是java中java.io包应用程序执行IO操作时,如果数据未准备好,它将一直等待数据准备完毕。一旦数据准备好了,再将数据从内核空间拷贝到用户空间,此过程中应用程序是阻塞的。原创 2024-03-18 15:17:51 · 794 阅读 · 0 评论 -
谈谈在项目中用到的File类和处理文件的流【Java基础题】
这行代码通常用在`while`循环的条件部分,意味着“只要`readLine()`方法返回的不是`null`(即,只要没有到达文件末尾),就继续执行循环体内的操作”。= null`整个表达式的意思是,将`reader.readLine()`的返回值赋值给`line`,然后检查`line`是否不等于`null`。- `line = reader.readLine()`这部分将`readLine()`方法返回的字符串(可能是文件中的一行文本或者`null`)赋值给变量`line`。原创 2024-03-13 18:54:16 · 842 阅读 · 0 评论 -
简单聊一聊项目中用反射来做过啥【Java基础题】
反射允许(在运行时动态地)对封装类的字段、方法、构造函数的信息进行编程访问在我们的代码中,使用构造器直接生成对象、直接访问对象、对象的成员等方式,是清晰直观的。但在有些场景中,需要在运行时动态地操作这些成员,比如在运行时根据数据库中提供的类名或方法名,或者基于字符串变量,来动态实例化对象或调用方法时,直接访问的方式就不再适用了。反射机制恰好提供了解决这类需求的能力,其关键在于一个特殊的对象,我们称之为类对象--->。反射是Java编程中一个强大的工具,允许运行时的动态类型查询和操作。原创 2024-03-13 02:13:59 · 1431 阅读 · 0 评论 -
结合项目理解super关键字的用法【Java基础题】
通过为创建和更新操作定义不同的DTO类,可以明确区分这两种操作的数据要求。虽然在很多情况下,创建和更新操作所需的数据字段可能大致相同,但也可能存在一些差异,例如在更新操作中可能需要一个明确的ID,而创建操作则不需要。通过使用继承,可以在保持代码整洁的同时,灵活地为不同的操作定义不同的数据要求。这样的设计允许开发者清晰地分离和管理不同操作(如创建和更新)所需的数据结构,同时通过继承机制来实现代码复用和功能扩展。原创 2024-03-04 04:50:57 · 827 阅读 · 0 评论 -
java基础05:浅拷贝和深拷贝
关于深拷贝与浅拷贝的概念解释,以及如何实现深浅拷贝原创 2023-02-26 18:45:41 · 1405 阅读 · 0 评论 -
java基础01:==与equals
例如:String本身已经重写了equals方法:把字符串里的每一个字符取出来看是否相等,这个被复写的equals方法其实是比较两个字符串的内容。equals:object中默认也是采用==比较,通常会重写。不重写的话是没有太大的差别.==对比的是栈中的值,基本数据类型是变量值,引用类型是堆中内存对象的地址;基础类型是直接在栈中分配的,引用类型是引用了堆中的内存地址。java中两个重要的内存:栈、堆;原创 2023-02-10 00:16:06 · 89 阅读 · 0 评论 -
java基础03:final
因此使用final修饰局部变量时,即可以在定义时指定默认值(后面的代码不能对变量再赋值》,也可以不指定默认值,而在后面的代码中对final变量赋初值(仅一次)---〉使用前要赋值,也就是不能为空?,是为了解决外部类被回收后,变量也跟着消失了,此时内部类就拿不到变量了,但是如果拷贝一份,外部变量变化感知不到,就会出现差异,所以限制内部类只能使用final修饰的变量。声明 final 方法的主要目的是防止该方法的内容被修改),但是可以重载(在一个类中)是java的一个关键字,是最终的意思。原创 2023-02-20 14:34:48 · 85 阅读 · 0 评论 -
Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?---业务中对数值精度的处理
在数值计算中,经常需要对结果进行舍入以达到特定的精度要求,`RoundingMode` 枚举类提供了一组常见的舍入模式,用于指示如何进行舍入操作。与基本数据类型(如 `double` 或 `float`)不同,`BigDecimal` 可以表示任意大或小的数,而不会丢失精度。`compareTo` 是 Java 中 `BigDecimal` 类的方法之一,用于比较两个 `BigDecimal` 对象的大小关系。6. `HALF_DOWN`:向最接近的整数舍入,如果距离两个最接近的整数相等,则向下舍入。原创 2024-03-01 10:21:46 · 971 阅读 · 0 评论 -
用最有效率的方法计算 2 乘以 8---位移运算的使用扩展
因此,对于任何正整数m,m乘以8(即m * 8)最快的运算方式是将m左移3位(即m << 3)。因此,3乘以8的最快运算方式也是将3左移3位,即3 << 3。(2)加密算法工具类中,结果往往要以十六进制字符串的形式来表示,能够提高数据的可读性、传输性和兼容性,使得加密结果更易于处理和使用。搜索了一下自己的项目里,业务中的处理直接用到了位移运算的好像没有看到,倒是在一些工具类中看到了位移运算的使用。答案:2 << 3(左移 3 位相当于乘以 2 的 3 次方,右移 3 位相当于除以 2 的 3 次方)原创 2024-03-01 02:07:32 · 832 阅读 · 0 评论 -
Java基础02:重载与重写
中,子类重写父类的方法,方法名相同,参数列表也相同,返回值小于等于父类,抛出的异常范围小于等于父类、访问修饰符范围大于等于父类、如果父类方法访问修饰符为private,子类不可以重写。中,方法名相同,参数列表不一样,个数不同,顺序不同,与方法返回值和修饰符没有关系(也就是不可以不同?),发生在编译-->重载和方法返回值没有关系?原创 2023-02-16 17:01:33 · 130 阅读 · 1 评论