java面试题练习
Javaxiaobaismc
这个作者很懒,什么都没留下…
展开
-
java面试每日十题(三)
21、描述一下JVM加载class文件的原理机制?答:在java中,类加载器把一个类装入jvm中,要经过三个步骤:装载、连接和初始化,其中连接又可以分为检查、准备 、解析。装载:查找和导入类或接口的二进制数据,即class文件;连接:执行下面的三个步骤,其中解析是可以选择的;检查:检查装载进来的class文件是否正确;准备:为类的静态变量分配存储空间;解析:将符号引用转换成...原创 2018-09-25 08:58:12 · 327 阅读 · 0 评论 -
Java面试每日十题(十五)
141、MyBatis中的动态SQL是什么意思?答:对于一些复杂的查询,我们可能会指定多个查询条件,但是这些条件可能存在也可能不存在,例如在58同城上面找房子,我们可能会指定面积、楼层和所在位置来查找房源,也可能会指定面积、价格、户型和所在位置来查找房源,此时就需要根据用户指定的条件动态生成SQL语句。如果不使用持久层框架我们可能需要自己拼装SQL语句,还好MyBatis提供了动态SQL的功能...原创 2018-10-09 09:10:15 · 348 阅读 · 0 评论 -
Java面试每日十题(十一)
101、实现会话跟踪的技术有哪些?答:会话跟踪是对同一个用户对服务器的连续的请求和接受响应的监视。(将用户与同一用户发出的不同请求之间关联,为了数据共享)。a) URL重写:URL(统一资源定位符)是Web上特定页面的地址,URL地址重写的原理是将该用户Session的id信息重写 到URL地址中,以便在服务器端进行识别不同的用户。URL重写能够在客户端停用cookies或者不支持coo...原创 2018-09-30 09:26:54 · 339 阅读 · 0 评论 -
Java面试每日十题(十)
91、用Java写一个折半查找。答:折半查找,也称二分查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组已经为空,则表示找不到指定的元素。这种搜索算法每一次比较都使搜索范围缩...原创 2018-09-29 20:24:25 · 348 阅读 · 0 评论 -
Java面试每日十题(十四)
131、阐述实体对象的三种状态以及转换关系。答:瞬时态:当new一个实体对象后,这个对象处于瞬时态,即这个对象只是一个保存临时数据的内存区域,如果没有变量引用这个对象,则会被JVM的垃圾回收机制回收。这个对象所保存的数据与数据库没有任何关系,除非通过Session的save()、saveOrUpdate()、persist()、merge()方法把瞬时态对象与数据库关联,并把数据插入或者更新到...原创 2018-10-08 14:40:14 · 242 阅读 · 0 评论 -
java面试每日十题(九)
81、获得一个类的类对象有哪些方式?答:有四种方式:第一种,通过类本身来获得对象。第二种,通过子类的实例获取父类对象。第三种,通过类名加.class获取对象。第四种,通过类名的字符串获取对象。 82、如何通过反射创建对象?答:通过反射来生成对象有两种方式:1、通过Class对象的newInstance()方法来创建Class对象对应类的实例。这...原创 2018-09-28 22:32:40 · 249 阅读 · 0 评论 -
Java面试每日十题(十三)
121、介绍一下你了解的Java领域的Web Service框架。答:Java领域的Web Service框架很多,包括Axis2(Axis的升级版本)、Jersey(RESTful的Web Service框架)、CXF(XFire的延续版本)、Hessian、Turmeric、JBoss SOA等,其中绝大多数都是开源框架。 122、什么是ORM?答:对象关系映射(Object-...原创 2018-10-07 14:51:02 · 201 阅读 · 0 评论 -
java面试每日十题(八)
71、阐述JDBC操作数据库的步骤。答: 1. 注册驱动。常用的有3种方式:1) 直接注册驱动:DriverManager.registerDriver(com.mysql.jdbc.Driver);这种方式要求程序首先要引入驱动包,否则无法通过编译。而且它可能会造成DriverManager中产生两个一样的驱动,并对具体的驱动类产生依赖,所以不推荐使用。2) 键值对方式:System...原创 2018-09-28 09:49:28 · 391 阅读 · 0 评论 -
Java面试每日十题(十二)
111、如何在基于Java的Web项目中实现文件上传和下载?答:在Sevlet 3 以前,Servlet API中没有支持上传功能的API,因此要实现上传功能需要引入第三方工具从POST请求中获得上传的附件或者通过自行处理输入流来获得上传的文件,我们推荐使用Apache的commons-fileupload。从Servlet 3开始,文件上传变得无比简单,相信看看下面的例子一切都清楚了。...原创 2018-10-06 08:54:10 · 691 阅读 · 0 评论 -
java面试每日十题(二)
11、switch 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上?答:switch可以作用于icsb(i see sb)上,即int、char、short、byte和他们的包装类;不可作用于fdlb(伏地捞逼)上,即float、double、long、boolean和他们的包装类;也可以作用于字符串类型,jdk1.7之后可以作用在String上。 ...原创 2018-09-23 10:01:56 · 315 阅读 · 0 评论 -
java面试每日十题(一)
1、面向对象的特征有哪些方面?答:抽象、封装、继承和多态。抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。继承:继承是一种联结类的层次模型,允许和鼓励类的重用,它提供了一种明确表述共性的方法。多态:...原创 2018-09-22 20:40:54 · 927 阅读 · 0 评论 -
java面试每日十题(七)
61、启动一个线程是调用run()还是start()方法?答:启动线程用的是start()方法。当调用start()方法启动一个线程时,线程进入就绪状态,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行而不是这个线程就会立即运行。当CPU分配给它时间时,才开始执行run()方法,run()方法中包含的是线程的主体,必须要重写的,无返回值。 62、什么是线程池(t...原创 2018-09-27 17:36:25 · 292 阅读 · 0 评论 -
java面试每日十题(六)
51、Collection和Collections的区别?答:Collection是最基本的集合接口,其子接口有List和Set,提供了对集合对象进行基本操作的通用接口方法;Collections是集合类的一个工具类,提供了一系列静态方法对集合中元素进行排序、搜索和线程安全等操作。 52、List、Map、Set三个接口存取元素时,各有什么特点?答:List存放元素是有序的且可以重...原创 2018-09-26 20:40:57 · 240 阅读 · 0 评论 -
Java面试每日十题(十七)
161. 大型网站在架构上应当考虑哪些问题?答:- 分层:分层是处理任何复杂系统最常见的手段之一,将系统横向切分成若干个层面,每个层面只承担单一的职责,然后通过下层为上层提供的基础设施和服务以及上层对下层的调用来形成一个完整的复杂的系统。计算机网络的开放系统互联参考模型(OSI/RM)和Internet的TCP/IP模型都是分层结构,大型网站的软件系统也可以使用分层的理念将其分为持久层(提供数...原创 2018-10-11 14:35:34 · 468 阅读 · 0 评论 -
java面试每日十题(五)
41、什么时候用断言(assert)?答:断言在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。一般来说,断言用于保证程序最基本、关键的正确性。断言检查通常在开发和测试时开启。为了保证程序的执行效率,在软件发布后断言检查通常是关闭的。断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为true;如果表达式的值为false,那么系统会报告一个AssertionError。...原创 2018-09-26 10:26:23 · 292 阅读 · 0 评论 -
java面试每日十题(四)
31、接口是否可继承(extends)接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concrete class)?答:接口可以继承一个或多个接口,抽象类可以继承一个类或实现多个接口,抽象类也可以继承具体类。32、一个".java"源文件中是否可以包含多个类(不是内部类)?有什么限制?答:可以的。但是只允许有一个public类,并且类名必须和文件名一...原创 2018-09-25 21:38:50 · 320 阅读 · 0 评论 -
Java面试每日十题(十六)
151、如何在Web项目中配置Spring MVC?答:要使用Spring MVC需要在Web项目配置文件中配置其前端控制器DispatcherServlet,如下所示: 152、Spring MVC的工作原理是怎样的?答:① 客户端的所有请求都交给前端控制器DispatcherServlet来处理,它会负责调用系统的其他模块来真正处理用户的请求。② DispatcherS...原创 2018-10-10 09:10:20 · 403 阅读 · 0 评论