JAVA基础(各种类)

news2024/12/26 21:21:51

Object类

1、Object类中有许多方法是用native修饰的,这些方法是本地方法,用C语言实现。

2、Object类的一些方法:

clone()方法:需要继承Clonable接口,并覆写clone(),修改为public权限,原来为protected

equals()方法:

 finalize()方法:当垃圾收集器认为这个对象没有引用了,就会调用该对象的此方法

 3、clone()方法详解:深拷贝和浅拷贝,深拷贝会将引用类型(指的是有其他定义的类,例如学术类、学校类等)一同克隆,但浅拷贝并不会。简单类型(简单类型即只包含基本类,Integer、String等)的类不区分深拷贝和浅拷贝。

Math类(final类)

1、floor()方法:将double类型的小数部分变为0了。例:num=10.36;Math.floor(num) 为10.0

2、ceil()方法:同样,向上取整

日期的操作类:Date类、SimpleDataFormat类、Calendar类

StringBuffer类(线程安全)

线程安全、和String类比较,内容可变。

重要方法:

public StringBuffer append():追加字符串

public StringBuffer delete(int start ,int end ):删除字符串,[start,end)【原字符串有影响】

public StringBuffer substring( int start ):截取字符串,start开始截取下标。【原字符串没有影响】

public StringBuffer substring(int start ,int end)  【原字符串没有影响】

StringBuilder类(线程不安全)

提供了和StringBuffer一样的方法,单线程中替换StringBuffer类的,在单线程情况下,优先使用StringBuilder,因为运行速度更快。

StringBuffer中的方法都是使用同步关键字修饰,synchronized

重点面试题:

Runtime类

只能通过getRuntime()方法来获取运行环境对象,因为其构造方法是private修饰的,不允许直接调用,只能通过getRuntime()来返回。方法如下:

(1) getRuntime():该方法用于返回当前应用程序的运行环境对象。

(2) exec(String command):该方法用于根据指定的路径执行对应的可执行文件。

public class Demo7 {
	public static void main(String[] args) throws IOException, InterruptedException {
		Runtime runtime = Runtime.getRuntime();
		Process process = runtime.exec("C:\\Windows\\notepad.exe");//打开记事本程序,并返回一个进程
		Thread.sleep(3000); //让当前程序停止3秒。
		process.destroy();
	}
}

(3) freeMemory():该方法用于返回Java虚拟机中的空闲内存量,以字节为单位。
(4) maxMemory():该方法用于返回Java虚拟机试图使用的最大内存量。

(5) totalMemory():该方法用于返回Java虚拟机中的内存总量。

public class Demo8 {
	public static void main(String[] args) throws IOException{
		Runtime runtime = Runtime.getRuntime();
		System.out.println("Java虚拟机中的空闲内存量:"+runtime.freeMemory());
		System.out.println("Java 虚拟机试图使用的最大内存量:"+ runtime.maxMemory());
		System.out.println("返回 Java 虚拟机中的内存总量:"+ runtime.totalMemory());
	}
}

Comparable接口

该接口用来实现对象的排序比较,有一个实现方法compareTo(),排序规则在这个方法中自定义

String类为什么可以支持字符串的比较,是因为String类实现的了Comparable接口,并在compareTo()方法中实现了字典序的排序规则。

枚举类

关键字:enum ,以这个定义的枚举类都是Enum的子类

 

 

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

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

相关文章

Halcon中从两组点的对应关系生成仿射矩阵,及思考原理和代码实现

有几个算子有点类似,看了下区别 1.vector_to_rigid( : : Px, Py, Qx, Qy : HomMat2D) 2.vector_to_similarity( : : Px, Py, Qx, Qy : HomMat2D) 3.vector_to_aniso( : : Px, Py, Qx, Qy : HomMat2D) vector_to_rigid 这个是刚性变换, 只有旋转和平移…

参考企业微信日程 通过vue+elementUi编写一个按月统计会议的日程计划组件

这个组件的话 需要三个第三方依赖 npm install --save chinese-lunar-calendar sass sass-loader element-uisass因为我这里 还是习惯写sass样式 毕竟真的方便啊 chinese-lunar-calendar 是一款将日期转为农历的工具 element-ui主要是表格真的方便 在 项目src下的main.js入口…

如何学好人工智能?

“在主流的视频直播教学之外,直接与老师在课件上互动能够更快地让我进入学习状态。” 大家的时间都很宝贵,当我们好不容易下定决心要学习一门新知识时,各种影响学习的噪声会在本不富裕的耐心上大打折扣,万事开头难变成了真理。特别…

[技术分享]Android平台实时音视频录像模块设计之道

实现背景 录像有什么难的?无非就是数据过来,编码保存mp4而已,这可能是好多开发者在做录像模块的时候的思考输出。是的,确实不难,但是做好,或者和其他模块有非常好的逻辑配合,确实不容易。 好多…

考研复试第十六天:合并果子 【哈佛曼树】

前置知识 哈佛曼树:我们先来复习一下啥叫做哈佛曼树 1.背景 我们有下面这样一个字符串需要编码,就是将下面的字符转为二进制。我们采用的方法是前缀编码,用一颗树的叶节点来放字符。 2.前缀编码 编码是咋样的呢?看下面这个例子…

BurpSuite—Project options模块(项目选择)

本文主要BurpSuite—Project options模块(项目选择)介绍的相关内容 关于BurpSuite的安装可以看一下之前这篇文章: http://t.csdn.cn/cavWt 一、简介 Project options主要用来对Project的一些设置。 二、模块说明 Project options主要由五个模块组成: 1.Connect…

Zabbix“专家坐诊”第192期问答汇总

问题一 Q:请问下,客户机snmptrap发告警为啥server web收不到,关键是snmptrap日志已经收到,zabbix server配置以及开启snmptrap1 snmptrapvar log snmptrap snmptrap.log? A:有配置trap的监控项吗&#xff…

Install ELK+Filebeat on Kubernetes Cluster with Helm

目录 Node & Software & Docker Images Lists Prerequisites Install ELK Manually Deploying ElasticSearch Create deployment Expose deployment Deploying Kibana Create deployment Accessing the Kibana UI Deploying Logstash Create ConfigMap and…

快手上市后首次盈利,直播电商业务成造血利器

5月22日盘前,快手业绩还没有发布,股价却先涨为敬,中信证券、彭博、中金公司等多家机构给出超预期业绩的预测。盘后公布的业绩确实超过市场的一致预期,市场在今天也给出正面回应,股价再次上扬,最高点达57.10…

revit窗族的平面出图设置,revit快速创建幕墙

一、revit窗族的平面出图设置 在平面视图中,为了满足出图的需要,我们经常要修改在不同的详细程度的可见性设置。 例如我们的窗在没有进行设置时在粗略/中等/精细的详细程度中都可以看到清晰的窗体构件。那么要使窗在精细程度中才可以看见详细的窗体结构&…

Sentinel如何实现对分布式系统的高可用性和流量控制?我们通过源码一起学习

前言:大家好,我是小威,24届毕业生,在一家满意的公司实习。本篇文章将详细介绍Sentinel源码实现对分布式系统高可用性和流量控制,后续文章将详细介绍Sentinel的其他知识。 如果文章有什么需要改进的地方还请大佬不吝赐教…

蓝桥杯单片机DS18b20单总线测温模块常见问题解决

蓝桥杯单片机DS18b20单总线测温模块常见问题解决 有道是:“溪水声声留我住,梅花朵朵唤人回” DS18b20测温模块作为一个比较简单、稳定的蓝桥杯单片机外设模块, 使用时却经常出现各种问题,总是让我们不禁三番多次回顾其基础知识…

再获认可!腾讯连续三年被Gartner列为CWPP供应商之一

随着云的快速发展,企业的工作负载已经从服务器发展到虚拟机、容器、serverless等,部署的模式也日益复杂,包括公有云、混合云和多云等。在此背景下,传统的主机安全防护已无法满足需求,CWPP(云工作负载保护平…

飞鹤乳业携手用友,重塑财务价值,开创财务共享服务新局面

在这个数字化时代,企业需要不断地面对各种变革和挑战,而数字化财务共享服务正是帮助企业应对挑战和实现数字化转型的有效手段之一。飞鹤乳业携手用友,以数字化财务共享服务平台为契机,旨在整合财务资源,优化财务流程&a…

小白必看!数据库自学入门教程,免费的SQL认证课程

在数据库国产化浪潮下,你是否想尽快更新你的知识体系?好程序员整理了免费的SQL认证教程,方便大家按需选择学习,证明自己的实力,获得更多职场机会! 1.SQL数据分析- Udacity 2.SQL入i]- Codecademy 3.SQL Ser…

从零实现一个数据库(DataBase) Go语言实现版 4.B树实现(Part1))

英文源地址 本章将使用Go语言实现一个不可变地B树.这是一个最小实现, 因此很容易理解. Node节点的格式 我们的B树最终将被持久化到磁盘上, 因此我们首先需要为b树节点设计数据格式.如果没有这种格式, 我们将无法知道节点的大小以及何时拆分节点. 一个节点包含: 一个固定大小…

Bug可以说是一种缺陷吗?

我叫缺陷,从被创建至关闭,到最后做缺陷分析,这是我的完整生命周期。我的整个生命周期贯穿着整个项目的项目周期,因此,掌握我的生命周期,不止是测试人员必修的课程,也是测试人员的灵魂。 缺陷的…

Android 动态加载资源

资源文件分类 1.android资源文件分为两类: 第一类是res目录下存放的可编译资源文件,编译时,系统会自动在R.java中生成资源文件的十六进制值,如下所示: public final class R {public static final class id {public …

从注解@EventListener和@TransactionalEventListener掌握Spring的事件机制原理

文章目录 Spring事件监听机制Spring事件监听机制概述Spring事件监听机制介绍Spring事件相关的几个类使用硬编码简单还原Spring事件机制 Spring事件机制正确的使用方式Spring事件创建Spring事件发布方式Spring事件监听方式面向接口的方式面向注解的方式EventListenerTransaction…

SpringBoot开发实用篇2---与数据层技术有关的替换和整合

四、数据层解决方案 1.SQL 现有数据层解决方案技术选型:DruidMyBatis-plusMySQL 数据源:DruidDataSource 持久化技术:MyBatis-plus/MyBatis 数据库:MySql 内置数据源: SpringBoot提供了3种内嵌的数据源对象供开发者选…