java常见面试题汇总(三)

上一次更新的java面试题,很多小伙伴反应很简单,其实上一期更新的就是更偏基础的面试题,但这并不意味着,面试就这么简单,在java的学习中,有从Java基础、框架、设计模式等等都是重点学习的点。在本文的面试题分享中,我们循序渐进,尽量挑一些重点的内容来分享!

1、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

答:是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。

2、我们在web 应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?

答:public String translate(String str){

String tempStr = "";

try{

tempStr = new String(str.getBytes("ISO-8859-1"), "GBK");

tempStr = tempStr.trim();

}catch (Exception e){

System.err.println(e.getMessage());

}

return tempStr;

}

3、EJB 的角色和三个对象?

答:一个完整的基于EJB 的分布式计算结构由六个角色组成,这六个角色可以由不同的开发商提供,每个角色所作的工作必须遵循Sun 公司提供的EJB 规范,以保证彼此之间的兼容性。这六个角色分别是EJB 组件开发者(Enterprise BeanProvider) 、应用组合者(Application Assembler)、部署者(Deployer) 、EJB 服务器提供者(EJB Server Provider)、EJB 容器提供者(EJB ContainerProvider)、系统管理员(System Administrator),这里面,EJB 容器是EJB之所以能够运行的核心。EJB 容器管理着EJB 的创建,撤消,激活,去活,与数据库的连接等等重要的核心工作;三个对象是Remote(Local)接口、Home(LocalHome)接口,Bean 类。

4、有T1、T2、T3三个线程,如何怎样保证T2在T1执行完后执行,T3在T2执行完后执行?
    答:使用join方法。join方法的功能是使异步执行的线程变成同步执行。即调用线程实例的start方法后,该方法会立即返回,如果调用start方法后,需要使用一个由这个线程计算得到的值,就必须使用join方法。如果不使用join方法,就不能保证当执行到start方法后面的某条语句时,这个线程一定会执行完。而使用join方法后,直到这个线程退出,程序才会往下执行。

5、error 和exception 有什么区别?

答:error 表示系统级的错误和程序不必处理的异常,是恢复不是不可能但很困难的情况下的一种严重问题;比如内存溢出,不可能指望程序能处理这样的情况;exception 表示需要捕捉或者需要程序进行处理的异常,是一种设计或实现问题;也就是说,它表示如果程序运行正常,从不会发生的情况。

未完待续……欢迎持续关注获取更多的面试题,当然了如果有其他想要了解的欢迎评论留言!

原文地址:https://www.cnblogs.com/qf-dd/p/9990657.html

时间: 2024-10-10 00:56:17

java常见面试题汇总(三)的相关文章

java常见面试题汇总(四)

本期的java面试题是偏向数据库方面的,对相关技术知识匮乏的,或者对这方面不大自信的同学,面试之前可以参考一下这套题,这只是节选,试运营一下,如果不能满足你们的需求,可以直接评论留言! 1.视图的优缺点 答:优点: 1)对数据库的访问,因为视图可以有选择性的选取数据库里的一部分. 2 )用户通过简单的查询可以从复杂查询中得到结果. 3 )维护数据的独立性,试图可从多个表检索数据. 4 )对于相同的数据可产生不同的视图. 缺点: 性能:查询视图时,必须把视图的查询转化成对基本表的查询,如果这个视图

Java常见面试题汇总(六)

不知不觉中,已经将面试题更新到第六篇了,庞大的java面试题库,想要刷完似乎不大可能,需要一点一点的积累. 1.java 中会存在内存泄漏吗,请简单描述. 答:会:存在无用但可达的对象,这些对象不能被GC 回收,导致耗费内存资源. 2.静态变量和实例变量的区别? 答:静态变量也称为类变量,归全类共有,它不依赖于某个对象,可通过类名直接访问:而实例变量必须依存于某一实例,只能通过对象才能访问到它. 3.是否可以从一个static 方法内部发出对非static 方法的调用? 答:不可以,如果其中包含

Java常见面试题汇总(一)

1)什么是Java虚拟机?为什么Java被称作是"平台无关的编程语言"? Java虚拟机是一个可以执行Java字节码的虚拟机进程.Java源文件被编译成能被Java虚拟机执行的字节码文件. Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译.Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性. 2)JDK和JRE的区别是什么? Java运行时环境(JRE)是将要执行Java程序的Java虚拟机.它同时也包含了执行ap

PHP常见面试题汇总(二)

PHP常见面试题汇总(二) //第51题:统计一维数组中所有值出现的次数?返回一个数组,其元素的键名是原数组的值;键值是该值在原数组中出现的次数 $array=array(4,5,1,2,3,1,2,"a","a"); $ac=array_count_values($array); /** * 输出结果: * Array( *   [4] => 1 *   [5] => 1 *   [1] => 2 *   [2] => 2 *   [3] 

JAVA常见面试题及解答-java开发

JAVA常见面试题及解答 Java的垃圾回收总结  浅谈Java中的内部类 1)transient和volatile是java关键字吗? 如果用transient声明一个实例变量,当对象存储时,它的值不需要维持.例如: class T { transient int a;  //不需要维持 int b;  //需要维持 } 这里,如果T类的一个对象写入一个持久的存储区域,a的内容不被保存,但b的将被保存. volatile修饰符告诉编译器被volatile修饰的变量可以被程序的其他部分改变.在多

【转载】JAVA常见面试题及解答(精华)

JAVA常见面试题及解答(精华) 1)transient和volatile是java关键字吗?(瞬联) 如果用transient声明一个实例变量,当对象存储时,它的值不需要维持.例如: class T { transient int a;  //不需要维持 int b;  //需要维持 } 这里,如果T类的一个对象写入一个持久的存储区域,a的内容不被保存,但b的将被保存. volatile修饰符告诉编译器被volatile修饰的变量可以被程序的其他部分改变.在多线程程序中,有时两个或更多的线程共

java常见面试题——java笔试题总结

注:本文转载自http://www.cnblogs.com/huajiezh/p/5790928.html,版权归其所有! Java常见面试题总结 一.Java基础 1.String类为什么是final的. 2.HashMap的源码,实现原理,底层结构. 3.说说你知道的几个Java集合类:list.set.queue.map实现类咯... 4.描述一下ArrayList和LinkedList各自实现和区别 5.Java中的队列都有哪些,有什么区别. 6.反射中,Class.forName和cl

献给 2018 还在艰苦奋斗的 Java 程序员,Java 常见面试题及答案!

1.什么是Java虚拟机?为什么Java被称作是"平台无关的编程语言"? Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程.Java 源文件被编译成能被 Java 虚拟机执行的字节码文件. Java 被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译. Java 虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性. 2.JDK和JRE的区别是什么? JDK: java开发工具包,包含了JRE.编译器和其它工具(如:jav

Mybatis常见面试题汇总

Mybatis常见面试题汇总 最近在复习整理Mybatis的相关知识,针对面试中的典型问题,结合相关书籍和网上相关帖子,做如下整理. ================================================================= 1.#{}和${}的区别是什么? 答:${}是Properties文件中的变量占位符,它可以用于标签属性值和sql内部,属于静态文本替换,比如${driver}会被静态替换为com.mysql.jdbc.Driver.#{}是sql的