java题库练习

2021/11/09

目录

1 Java语言的安全性?

3 多线程

4 字符界面下接受用户从键盘输入,需要import的包是

5 类与接口关系

6 Integer String ==

7 JDK中提供的java、javac、jar等开发工具也是用Java编写的。

8 实现多态

9 多线程和多进程


1 Java语言的安全性?

java的安全性体现在多个层次上

java特有的机制是其安全性的保障,同时去除了C++中易于造成错误的指针,增加了自动内存管理等措施,保证了java程序运行的可靠性。

java通过所谓的沙箱安全机制保证了其安全性。

组成沙箱的基本组件例如以下:

1.类装载器结构;

2.class文件检验器;

3.内置于java虚拟机(及语言)的安全特性;

4.安全管理器及java API。

java安全性语言 - mfrbuaa - 博客园 (cnblogs.com)icon-default.png?t=LA46https://www.cnblogs.com/mfrbuaa/p/4687195.html

LinkedeList和ArrayList都实现了List接口

Arraylist的内存结构是数组,当超出数组大小时创建一个新的数组,把原数组中元素拷贝过去。其本质是顺序存储的线性表,插入和删除操作会引发后续元素移动,效率低,但是随机访问效率高

LinkedList的内存结构是用双向链表存储的,链式存储结构插入和删除效率高,不需要移动。但是随机访问效率低,需要从头开始向后依次访问

3 多线程

在java多线程中实现多线程的方式有两种①extends Thread ②implements Runnable

4 字符界面下接受用户从键盘输入,需要import的包是

多线程

5 类与接口关系

1.类与类之间的关系为继承,只能单继承,但可以多层继承。

2.类与接口之间的关系为实现,既可以单实现,也可以多实现。

3.接口与接口之间的关系为继承,既可以单继承,也可以多继承。

6 Integer String ==

 Interger 赋予的int数值

-128 - 127的时候,直接从***中获取,这些***引用对Integer对象地址是不变的,

但是不在这个范围内的数字,则new Integer(i) 这个地址是新的地址,不可能一样的.

String s = "abc":通过字面量赋值创建字符串。则将栈中的引用直接指向该字符串,不存在,则在常量池中生成一个字符串,再将栈中的引用指向该字符串

String s = “a”+“bc”:编译阶段会直接将“a”和“bc”结合成“abc”,这时如果方法区已存在“abc”,则将s的引用指向该字符串,不存在,则在方法区中生成字符串“abc”对象,然后再将s的引用指向该字符串

String s = "a" + new String("bc"):栈中先创建一个"a"字符串常量,再创建一个"bc"字符串常量,编译阶段不会进行拼接,在运行阶段拼接成"abc"字符串常量并将s的引用指向它,效果相当于String s = new String("abc"),只有'+'两边都是字符串常量才会在编译阶段优化

public class EqualsString {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String s1 = "abc";
		String s2 = "abc";
		String s3 = "a"+"bc";
		String s4 = "a"+new String("bc");
		String s5 = new String("abc");
		System. out.println( s1 == s2);//true
		System. out.println( s1 == s3);//true
		System. out.println( s1 == s4);//false
		System. out.println( s1 == s5);//false
		
		System. out.println( s2.equals(s1));//true
		System. out.println( s4.equals(s1));//true
		
	}

}

7 JDK中提供的java、javac、jar等开发工具也是用Java编写的。

8 实现多态

Java通过方法重写和方法重载实现多态

方法重写是指子类重写了父类的同名方法

方法重载是指在同一个类中,方法的名字相同,但是参数列表不同

9 多线程和多进程

A.子进程得到的是除了代码段是与父进程共享以外,其他所有的都是得到父进程的一个副本,子进程的所有资源都继承父进程,得到父进程资源的副本,子进程可获得父进程的所有堆和栈的数据,但二者并不共享地址空间。两个是单独的进程,继承了以后二者就没有什么关联了,子进程单独运行;进程的线程之间共享由进程获得的资源,但线程拥有属于自己的一小部分资源,就是栈空间,保存其运行状态和局部自动变量的。

B.线程之间共享进程获得的数据资源,所以开销小,但不利于资源的管理和保护;而进程执行开销大,但是能够很好的进行资源管理和保护。

C.线程的通信速度更快,切换更快,因为他们共享同一进程的地址空间。

D.一个进程可以有多个线程,线程是进程的一个实体,是CPU调度的基本单位。

1、一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程(通常说的主线程)。
2、资源分配给进程,同一进程的所有线程共享该进程的所有资源。
3、线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。
4、处理机分给线程,即真正在处理机上运行的是线程。
5、线程是指进程内的一个执行单元,也是进程内的可调度实体

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值