Java基础-一文一答系列

文章目录

  • Java 中应该使用什么数据类型来代表价格?
  • 怎么将 byte 转换为 String
  • Java 中怎样将 bytes 转换为 long 类型?
  • Java 中 ++ 操作符是线程安全的吗?
  • a = a + b 与 a += b 的区别
  • 3 * 0.1 == 0.3 将会返回什么? true 还是 false?
  • Int 和 Integer 哪个会占用更多的内存?
  • 为什么 Java 中的 String 是不可变的(Immutable)?
  • Java 中的构造器链是什么?
  • 枚举类
  • 有没有可能两个不相等的对象有相同的 hashcode
  • 两个相同的对象会有不同的 hash code 吗?
  • Java 中,Comparator 与 Comparable 有什么不同?
  • 为什么在重写-equals-方法的时候需要重写-hashcode-方法
  • a==b和a.equals(b)有什么区别
  • 异常
  • Java语言的鲁棒性

Java 中应该使用什么数据类型来代表价格?

答:BigDecimal,相比于 Double ,Folat,BigDecimal 的精度大,准确度高,优点是准确率高,缺点是在数据比较大精度的时候计算比较慢。

怎么将 byte 转换为 String

使用 String 的构造器

Java 中怎样将 bytes 转换为 long 类型?

  1. 先使用 String 构造器创建字符串。
  2. 再用Long.parseLong 的方法

Java 中 ++ 操作符是线程安全的吗?

++ 是不安全,它不是原子性的操作,分为读取值,加法操作,赋值,三步操作。

a = a + b 与 a += b 的区别

a = a + b 不会进行类型转化,比如 bype a = 123,bype b = 122,两者相加需要类型为 Int 的接收,使用 a = a + b 的话不会类型转化,会报错。

a += b 会进行类型转化,比如 bype a = 123,bype b = 122,两者相加需要类型为 Int 的接收,使用 a += b 的话会类型转化,不会报错。此时 a 的类型为 Int。

3 * 0.1 == 0.3 将会返回什么? true 还是 false?

false,因为浮点数会存在精度的丢失。

Int 和 Integer 哪个会占用更多的内存?

Integer 会占用更多内存,因为它是包装类型,里面有一些方法。

为什么 Java 中的 String 是不可变的(Immutable)?

因为 String 字符串在网络中经常被当作参数传输,为了提高网络的安全性,使得 String 是不可变的,保证网络传输 String 的准确性。

Java 中的构造器链是什么?

在构造方法内调用其余类的构造方法,这样就形成了构造器链。

枚举类

一般用于规范参数的使用,比如规范异常返回的码,规范业务逻辑参数。

有没有可能两个不相等的对象有相同的 hashcode

有可能,这就是所谓的 hash 冲突

两个相同的对象会有不同的 hash code 吗?

不可能,相同的对象 HashCode 一定相同,HashCode 相同的不一定对象相等。

Java 中,Comparator 与 Comparable 有什么不同?

ComParable,是迭代器接口,用户只能实现一个迭代器接口。

ComParator,是用户自定义的迭代器,可以制定多个。

为什么在重写-equals-方法的时候需要重写-hashcode-方法

这是一种规范,例如我们在使用 HashMap的时候,也是先计算元素的 HashCode,相同的话再进行 equals 的比较。

a==b和a.equals(b)有什么区别

在没有重写equals方法的时候,两者是一样的,都是在比较元素的内存地址是否相同,但是如果我们重写了equals方法,在比较对象的时候,就可以将对象原本比较内存地址的改为对象之间的逻辑内存的对比。

异常

异常分为编译时异常与运行时异常,编译时异常我们可以通过在方法上 throws 异常来处理,常见的有 IO异常。

运行时异常是程序在编译运行的时候才会出现,比如:空指针异常,数组角标越界异常。

#序列化与反序列化

序列化:将对象压制成二进制的数据进行网络之间的传输。提高传输效率以及安全性。

反序列化:将二进制的数据反序列化为对象,随后进行业务的处理。

Java语言的鲁棒性

鲁棒性:Java 语言在运行的时候有异常处理,有保证其稳定且有正确的处理方法的能力。

  1. 垃圾回收算法, 便于内存的使用与回收,用户不用担心内存的使用异常与管理。
  2. 异常处理,Java 有try-catch-finally 来补抓异常,处理异常。
  3. 扩平台性,依赖于 JVM 虚拟机实现。
  4. 健壮的库,有集合等等库,都是经过大量的测试实践的。

等等~~

大家好,我是小辉,持续分享。地点:家中 时间:20240609 状态:应届找工作中。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/25202.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于智慧校园建设的几点建议

随着科技的迅猛发展,智慧校园建设已成为现代教育的重要组成部分,对于提升教育质量、改善学生学习环境具有重要意义。为此,我提出以下几点建议,以帮助智慧校园建设更加有效和可持续。 首先,应注重基础设施建设。智慧校园…

Anaconda3 下载安装卸载

1、下载 官网链接:Download Now | Anaconda Step1:进入官网 Anaconda | The Operating System for AI Step2:进入下载页面,选择要Anaconda软件安装包 2、安装 Step1: 点击 Anaconda3-2024.02-1-Windows-x86_64.exe 安装包进行安…

线控转向 0 -- 线控转向介绍和专栏规划

一、线控转向介绍 高阶自动驾驶核心部件:英创汇智线控转向解决方案 _北京英创汇智科技有限公司 (trinova-tech.com) 线控转向的系统组成详细介绍大家可以看上面这个链接;我这里也只从里面截取一些图片,简单说明。 1、结构组成 线控转向分为…

数据交换平台_08_activatemq 如何集成其他系统或应用

如何集成其他系统或应用 目录概述需求:设计思路实现思路分析1. **使用ActiveMQ的JMS API**:2.使用ActiveMQ的REST API拓展实现参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make a bette…

如何打造不一样的景区文旅VR体验馆项目?

近年来影院类产品迅速火爆,市面上的产品越来越多,投资者可以说是挑花了眼。为了助力投资者实现持续盈利,今天来给大家分析目前普乐蛙大爆新品悬空球幕飞行影院与其他5D/7D影院有哪些区别,给大家的创业投资之路避避雷~ 那我们正式开…

vue26:vue的环境搭建

vue环境安装配置 在点击上方链接前,注意!!!!!!!! 下方的红字!!!!!!!!&am…

计算机网络--应用层

计算机网络–计算机网络概念 计算机网络–物理层 计算机网络–数据链路层 计算机网络–网络层 计算机网络–传输层 计算机网络–应用层 1. 概述 因为不同的网络应用之间需要有一个确定的通信规则。 1.1 两种常用的网络应用模型 1.1.1 客户/服务器模型(Client/Se…

【产品研发】NPDP价值作用概述

导读:本文结合个人实践和思考对NPDP的价值和作用做了概述说明,对于产品经理而言掌握NPDP的知识体系并且应用到实际工作中,这是非常有必要的。走出以往狭隘的产品研发工作认知,以开放心态学习国际化产品创新开发流程将极大提升产品…

【大学物理】期末复习双语笔记

3 vectors and scalar 20 damped harmonic motion,forced harmonic motion, superposition of SHM damped harmonic motion underdamped motion:欠阻尼 critical damped零界阻尼 over damped过阻尼 energy of damped harmonic motion application of damped oscillation:减震器…

5.组件间通信-$attrs(祖孙组件通信)

组件间通信-$attrs(祖孙组件通信) 父组件&#xff1a; <template><div class"father"><h3>父组件</h3><h4>a&#xff1a;{{a}}</h4><h4>b&#xff1a;{{b}}</h4><h4>c&#xff1a;{{c}}</h4><h4>…

链表翻转,写法和交换类似,但是需要pre cur 还有一个临时变量nxt记录下一个结点

递归反转单链表&#xff08;头插法反转部分链表 要弄pre cur 还有nxt&#xff08;临时变量保存下一个结点 P0指到需要修改的链表的前一个结点 class Solution {public ListNode reverseBetween(ListNode head, int left, int right) {ListNode dummynew ListNode(-1,head);L…

打造智慧校园信息系统,提升学校科技实力

在如今数字化的时代&#xff0c;打造智慧校园信息系统已成为提升学校科技实力的关键。随着科技的迅猛发展&#xff0c;学校需要跟上时代步伐&#xff0c;利用先进技术建设一个高效、智能的信息系统&#xff0c;为学生、教师和管理人员提供更好的学习和工作环境。 智慧校园信息系…

数字化那点事:一文读懂智慧城市

一、智慧城市的定义 一个城市信息化发展历程主要包括数字城市、信息城市、智慧城市、互联城市等阶段&#xff0c;现就我们当前所处的智慧城市阶段做个简要介绍。 智慧城市是利用先进的信息和通信技术&#xff08;ICT&#xff09;、物联网&#xff08;IoT&#xff09;、大数据分…

vue27:脚手架详细介绍main.js

在 Vue.js 中&#xff0c;render 函数是一个可选的选项&#xff0c;它允许你自定义组件的渲染逻辑。 如果你没有在 Vue 实例中提供 render 函数&#xff0c;Vue 将使用模板&#xff08;template&#xff09;来生成虚拟 DOM。 以下是render / template 两种方式的比较&#…

力扣hot100:739. 每日温度/54. 螺旋矩阵

文章目录 一、 739. 每日温度二、54. 螺旋矩阵1、模拟螺旋矩阵的路径2、按层模拟 一、 739. 每日温度 LeetCode&#xff1a;739. 每日温度 经典单调栈问题&#xff0c;求下一个更大的数。 使用单调递减栈&#xff0c;一个元素A出栈&#xff0c;当且仅当它第一次出现比它更大…

Linux进程替换 自主shell程序

本篇将要讲解有关进程中最后一个知识点——进程替换&#xff0c;其中主要介绍有关进程替换的六个函数&#xff0c;直接从函数层面来理解进程替换&#xff08;在使用函数的过程中&#xff0c;也会对进行替换进行解释&#xff09;。本篇主要围绕如下的进程替换函数&#xff1a; 以…

一个管理全局实例的python框架

一个管理全局实例的框架&#xff0c;利用元类&#xff08;metaclass&#xff09;和混合类&#xff08;mixin&#xff09; 。 1 代码实现 这段代码通过元类和混合类的机制提供了一个可以全局访问且线程安全的单例模式框架。这种设计模式在多线程应用程序中非常有用&#xff0c…

QT系列教程(9) 主窗口学习

简介 任何界面应用都有一个主窗口&#xff0c;今天我们谈谈主窗口相关知识。一个主窗口包括菜单栏&#xff0c;工具栏&#xff0c;状态栏&#xff0c;以及中心区域等部分。我们先从菜单栏说起 菜单栏 我们创建一个主窗口应用程序, 在ui文件里的菜单栏里有“在这里输入”的一个…

windows安装conda

1 Conda简介 Conda 是一个开源的软件包管理系统和环境管理系统&#xff0c;用于安装多个版本的软件包及其依赖关系&#xff0c;并在它们之间轻松切换。Conda 是为 Python 程序创建的&#xff0c;适用于 Linux&#xff0c;OS X 和Windows&#xff0c;也可以打包和分发其他软…

Web前端放图片位置:深入探索与最佳实践

Web前端放图片位置&#xff1a;深入探索与最佳实践 在Web前端开发中&#xff0c;图片作为重要的视觉元素&#xff0c;其放置位置往往影响着网页的整体布局和用户体验。然而&#xff0c;如何合理地放置图片&#xff0c;以最大化其视觉效果并提升用户体验&#xff0c;却是一个颇…