JAVA面试题集锦

1、Java跨平台的原理?

不同的操作系统是有自己的一套代码运行的环境的,而java为了使得java代码能在不同版本的操作系统上运行,java提供了应对不同版本的操作系统的JVM,来实现java接口,这样这样就屏蔽了不同操作系统之间的差异,使得Java程序能在任意平台上运行。

2、简单搭建一个java运行环境?

运行一个java,首先我们需要配置好jdk,然后对“JAVA_HOME” 进行配置。

再接下来是对编译软件的配置,一般情况下,我们采用eclipse(myeclipse)、IDEA来编译java程序,这个过程只有基本操作。

再然后就是配置tomcat,对于tomcat我们只需要和JAVA_HOME关联起来即可。

3、java中各个基本类型所占的位数、范围、默认值?

java中有8大基本数据类型:分别是byte、short、char、int、double、float、long、boolean。

数据类型         所占位数         范围                         默认值

    byte                    8             -128~127                       0

    short                  16              -2**15~2**15-1            0

     char                16                 \u0000~\uFFFF         null       一个16机制占4位

    float                 32              -2**31~2**31-1             0.0

     double           64               -2**63~2**63-1              0.0

     long               64               -2**63~2**63-1             0.0

boolean              1                  true/false                 false        

 

4、java面向对象的几大特征?

javamian面向对象有4大特征:抽象、继承、封装、多态。

抽象:就是对现实中的某一类事物进行归类,以计算机语言的形式表象出来。 比如人是一类,我们就可以用class定义人这个lei类型。

继承:java中是单继承,不同与c++,继承是一个类衍生出很多子类,子类能获取父类的所有成员变量和方法但是不同的是,对于父类的private修饰的变量,子类不能直接访问,必须通过super来访问。这个过程就像儿子继承了父亲的全部东西,但是银行里的钱,必须通过父亲才能取,儿子不能自己去取。

封装:对一个对象进行高度自治的封装,它的行为都由它自己来决定。比如小明是一个个体,他所操作的事情他自己来决定。

多态:多态是对于实现接口而言的,不同的实现类都可以用接口来向上转型。

 

5、拆箱和装箱

拆箱和装箱对于封装类而言,既然有了基本数据类型,为什么还要要包装类型呢?

这是因为基本数据类型无法对很多操作进行满足,比如最大值,最小值的获取。

封装类有有8个对应基本数据类型   分别是Byte  ,Long,Double,Charset,Boolean,Float,Short,Integer,这些都是引用数据类型。

这个8个包装类型的缓存范围:

boolean:true和false

byte:-128~127

char:0~127

short:-128~127

int:-128~127

long:-128~127

Integer a = 1;

Integer b = 1;

a==b    true

Integer c = 666;

Integer d =666;

c==d false

 

比较一下int和Integer的区别;

int 的默认值为   0,而Integer 的默认值null,这样,我们在操作数据库的时候,我们尽可能的使用Integer类型来操作。

int是基本数据类型,Integer引用类型。

 

在JDK 1.5之后,装箱和拆箱已经不需要人来完成了。

 比如说Integer   a = 1;   这个就是自己装箱的过程,它实际上是Integer a = Integer.ValueOf(1);

int b = a ,这就是自动拆的过程,相当与int b = a.IntValue();

 

 

6、equals和==的区别

首先说说 ==  ,对于基本数据类型而言, == 就是直接比较两个值是否相等。对于引用类型而言, == 比较的是内存中引用的首地址是否相等。

equals 用来判断两个对象特征是否相同。equals在Object中有定义,我们平常所用的equals是在Object的基础上重写了equals方法。

 

全部评论

相关推荐

不愿透露姓名的神秘牛友
今天 16:41
妈妈,我被应届生身份压得喘不过气,真的好想你们。我不知道该往哪走,也不知道该怎么努力,甚至开始怀疑是不是自己根本就不够聪明。从小,大家都说我是个笨小孩,只有拼尽全力才能读好书。我很少像其他孩子那样肆意玩耍,因为转学到乡村小学,连方言都不会说,别人说什么我都傻乎乎地相信。但我一直努力着,从乡村小学到初中尖子生,考上重点高中,选择文科,进入 985 高校,再到转专业,参加演出、担任学生干部。本想努力保研,却被疫情打乱计划,那段日子,我仿佛被黑暗笼罩,花了好久才走出来。后来我积极参加比赛、大创项目,大量阅读,还以为自己有文学天赋,于是决定考研。我想去上海,想去看看更大的世界,想用自己的文字为那些真诚...
wuwuwuoow:工作可以慢慢找,因为急也没用。根据我的经验,工作主要还是看运气,慢慢来吧。比起找工作,我觉得更重要的是调整下心态。我就直说吧,你目前状态肯定找不到工作,感觉处于崩溃边缘了。 现在有两种选择:一种是找不到工作每天又很焦虑,一种是找不到工作但每天很开心。你选择哪个呢? 可能会觉得奇怪,没工作怎么会开心呢?至少对我而言,工作很重要,但绝对不是生活的全部。你有摄影和画画的兴趣爱好,这点已经要比绝大部分人强了。很多人虽然有工作,或者在读硕士博士,但他们唯一的“兴趣爱好”就是玩手机。你的精神世界至少比我要丰富,我每天只会玩手机。我也想学画画,但又不想动手去学,哈哈。 我相信你一开始学摄影和画画,不是为了赚钱才去学的,而是因为自己喜欢才去学的。所以没有必要这么功利,非得从兴趣爱好里赚钱。因为和钱相关的事情,不叫兴趣爱好,这叫工作,工作怎么会让人快乐?所以纯粹点,把兴趣爱好当成兴趣爱好本身,作为一种休闲娱乐的方式,不要想着从里面赚钱。就像我前面所说的一样,工作不是生活的全部。 平时的话,可以多陪妈妈聊聊天,妈妈肯定不指望你赚大钱,只希望你每天开开心心。就像最后只能回家当老师,又有什么不好的呢,可以多花时间陪陪家人。 也可以多试试冥想,闭上眼,专注呼吸,学会“活在当下”。没必要对过去的事情后悔,没必要对未来没发生的事情焦虑。因为你没法改变他们,你只能专注眼前的事情。 新疆的教育资源不算好,你能考上 985 足以证明你比大部分学习能力强了,所以你很聪明,你根本就不笨。只是你需要试试接纳自己,接纳自己是个普通人,接纳自己不可能什么都会,接纳自己也会犯错,也要接纳比自己更强的人存在。这才是实实在在的你。 所以,我建议你可以给自己休息一个月,调整一下心情。旅游,冥想,运动,规律作息。等心情好了,再来烦恼下工作的事情,好吗? 加油哦
点赞 评论 收藏
分享
挣K存W养DOG:我记得好多人说这个公司就是白嫖方案的,现在有大体方案要让你给他展示实现细节了,也是无敌了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务