Java基础练习题

1.JDK和JRE有什么区别?

JDK是Java软件开发工具包,提供了Java开发环境和运行环境

包含了Java开发工具,基础开发库,基础开发库的源码

基本组件: 编译器,打包工具,文档生成器以及查错工具

JRE是Java的最小运行环境

其中JDK中包含JRE,如果只是运行Java只需安装JRE,想要编译Java程序则需要安装JDK

2.== 与equals的区别?

== 比较的是值是否相同

equals 比较的是引用是否相同(本质上是==)

String 和 Integer 重写equals方法 比较的是值是否相同

3.hashCode()相同,equals()是否一定为true?

不对,因为在散列表中,hashCode()相等即两个键值对的哈希值相等,但是哈希值相等不能一定得出键值相等

如遇到哈希碰撞,计算的哈希值相等,但哈希值位置上的有值时,相等的哈希值会形成链表的方式将值放在该值后面.

4.final在Java中的作用?

被final修饰的类不能被继承,为最终类;

final修饰的方法不能被重写;

final修饰的变量为常量,常量必须初始化,初始化后值不能被改变;

5.this能修饰哪些?

this能修饰属性,方法,构造器,不能修饰类;

6.Java分哪几种类型?

1.基本类型: byte(1字节) Boolean(1字节) char(2字节) short(2字节) int(4字节) long(8字节) float(4字节) double(8字节) (8中基本类型)

2.引用类型;

7.Java中操作字符串都有哪些类?之间有什么区别?

有String StringBuilder StringBuffer

String是一个封装char[]数组的对象,字符串不可变,每次操作都会生成新的String对象,然后再将指针指向新的String对象;

StringBuilder StringBuffer 则是可变的字符序列,提供了一组可以修改字符内容的方法,平常连接字符串用append()方法代替'+';

内部初始容量为字符串长度加16 (str.length()+16),新数组扩容为原来的2倍加2,如果还不够则扩充到需要的容量;

StringBuilder 与 StringBuffer之间区别 StringBuilder 线程不安全 StringBuffer线程安全

8.普通类与抽象类有哪些区别?

普通类不能包含抽象方法,抽象类可以包含普通方法;(抽象类用abstract关键字声明)

抽象类不能被实例化,普通类可以直接实例化;

补充:抽象类中不一定要有抽象方法、抽象类不能被final修饰、抽象方法没有方法体;

9.接口与抽象类有什么区别?

实现:抽象类的子类使用extends来继承;

接口必须使用implement来实现接口。

构造方法:抽象类可以有构造方法;接口不能有。

main方法:抽象类可以有main方法,可以运行;接口中不能有;

实现数量:类可以实现很多接口;但是子类只能继承一个抽象类。

访问修饰符:接口中的方法默认访问修饰符为public;

抽象类中的方法可以任意访问修饰符。

10.Java中的IO流分为几种?

功能分:输入流(input)、输出流(output)。

类型分:字节流(8位传输以字节位单位)、字符流(16位传输以字符为单位);

11.局部变量和成员变量有什么区别?

位置:局部变量方法里或者局部代码块中;(必须手动初始化分配内存)

成员变量类里方法外;(可不被初始化,默认初始化)

作用域:局部变量方法运行完内存就被释放;

成员变量存在整个类中,类消失了,变量才会被释放。

12.BIO、NIO、AIO有什么区别?

BIO:Block IO 同步阻塞式IO,就是我们平常使用的传统IO,特点是模式简单使用方便,并发能力低。

NIO:New IO 同步非阻塞IO,传统IO的升级,客户端和服务器端通过Channel(通道)通讯,实现多路复用。

AIO: Asynchronous IO ,NIO的升级,也叫NIO2,实现了异步非阻塞IO,异步IO的操作基于事件和回调机制。

13.继承与聚合的区别在哪?

继承:指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以 增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系;在Java中此类关系 通过关键字extends明确标识,在设计时一般没有争议性;

聚合:是关联关系的一种特例,他体现的是整体与部分、拥有的关系,即has-a的关系,此时整体与 部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个 整体对象共享;比如计算机与CPU、公司与员工的关系等;表现在代码层面,和关联关系是一致 的,只能从语义级别来区分;

"sgmediation.zip" 是一个包含 UCLA(加利福尼亚大学洛杉矶分校)开发的 sgmediation 插件的压缩包。该插件专为统计分析软件 Stata 设计,用于进行中介效应分析。在社会科学、心理学、市场营销等领域,中介效应分析是一种关键的统计方法,它帮助研究人员探究变量之间的因果关系,尤其是中间变量如何影响因变量与自变量之间的关系。Stata 是一款广泛使用的统计分析软件,具备众多命令和用户编写的程序来拓展其功能,sgmediation 插件便是其中之一。它能让用户在 Stata 中轻松开展中介效应分析,无需编写复杂代码。 下载并解压 "sgmediation.zip" 后,需将解压得到的 "sgmediation" 文件移至 Stata 的 ado 目录结构中。ado(ado 目录并非“adolescent data organization”缩写,而是 Stata 的自定义命令存放目录)目录是 Stata 存放自定义命令的地方,应将文件放置于 "ado\base\s" 子目录下。这样,Stata 启动时会自动加载该目录下的所有 ado 文件,使 "sgmediation" 命令在 Stata 命令行中可用。 使用 sgmediation 插件的步骤如下:1. 安装插件:将解压后的 "sgmediation" 文件放入 Stata 的 ado 目录。如果 Stata 安装路径是 C:\Program Files\Stata\ado\base,则需将文件复制到 C:\Program Files\Stata\ado\base\s。2. 启动 Stata:打开 Stata,确保软件已更新至最新版本,以便识别新添加的 ado 文件。3. 加载插件:启动 Stata 后,在命令行输入 ado update sgmediation,以确保插件已加载并更新至最新版本。4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值