上一次更新的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 表示需要捕捉或者需要程序进行处理的异常,是一种设计或实现问题;也就是说,它表示如果程序运行正常,从不会发生的情况。
未完待续……欢迎持续关注获取更多的面试题,当然了如果有其他想要了解的欢迎评论留言!