【面试题解析】-- 20200206Java软件开发工程师面试题解析

1. 请谈谈Integer的缓存问题

在Java中为了保证程序性能,在程序初始化的时候就设置了区间为[-128 ,127]的Integer值缓存,当我们在声明Integer是如果我们的值在缓存值的区间里边那么如果我们通过==比较两个值大小的话是相等的,而如果我们声明的值不在范围中那么则会通过new Integer()的方式创建一个新对象,而这个对象如果使用 ==比较的话将返回false,在Java程序中所有上的包装类都应该通过equals()方法来比较值是否相等。

2. 谈谈什么是进程,什么是线程,并且说出线程的状态有哪些

定义方面:进程是程序在某个数据集合上的一次运行活动;线程是进程中的一个执行路径。
角色方面:在支持线程机制的系统中,进程是系统资源分配的单位,线程是系统调度的单位。
资源共享方面:进程之间不能共享资源,而线程共享在进程的地址空间和其他资源。同时线程还有自己的栈个和栈指针。
独立性方面:进程有自己独立的地址空间,而线程没有,线程必须依赖于进程而存在。

线程的状态有:创建、就绪、运行、挂起、结束

3. 谈谈Java中的泛型、注解以及反射机制分别是什么?

泛型用于指定集合的类型,注解用于告诉程序该如何运行,反射机制可以使得我们知道任何一个类的属性和方法,也可以调用任何一个类的属性和方法。

4. 谈谈动态代理与静态代理分别是什么?

动态代理指的就是在不改变源程序的情况下可以增加新的功能,静态代理需要由我们编写代码并且编译,也就是所我们在写其他代码的时候该类就已经存在了。

5. Java中包的作用是什么?
  • 便于程序中的类组成较小的程序单元。
  • 使我们能更方便的找到并使用相关类。
  • 能够解决命名空间冲突的问题。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值