解答JAVA笔试题
1、在java中如果声明一个类为final,表示什么意思?
答:final是最终的意思,final可用于定义变量、方法和类但含义不同,声明为final的类不能被继承。
父类的构造方法是否可以被子类覆盖(重写)?
答:父类的构造方法不可以被子类覆盖,因为父类和子类的类名是不可能一样的。
2、请讲述String 和StringBuffer的区别。
答:String 类所定义的对象是用于存放”长度固定”的字符串。
StringBuffer类所定义的对象是用于存放”长度可变动”的字符串。
3、如果有两个类A、B(注意不是接口),你想同时使用这两个类的功能,那么你会如何编写这个C类呢?
答:因为类A、B不是接口,所以是不可以直接继承的,但可以将A、B类定义成父子类,那么C类就能实现A、B类的功能了。假如A为B的父类,B为C的父类,此时C就能实现A、B的功能。
4、谈谈你对抽象类和接口的理解。
答:定义抽象类的目的是提供可由其子类共享的一般形式、子类可以根据自身需要扩展抽象类、抽象类不能实例化、抽象方法没有函数体、抽象方法必须在子类中给出具体实现。他使用extends来继承。
接口:一个接口允许一个类从几个接口继承而来,Java 程序一次只能继承一个类但可以实现几个接口,接口不能有任何具体的方法,接口也可用来定义可由类使用的一组常量。其实现方式是interface来实现。
5、Java中什么是竞态条件?
答:竞态条件会导致程序在并发情况下出现一些bugs。多线程对一些资源的竞争的时候就会产生竞态条件,如果首先要执行的程序竞争失败排到后面执行了,那么整个程序就会出现一些不确定的bugs。这种bugs很难发现而且会重复出现,因为线程间的随机竞争。
6、Java中如何停止一个线程?
答:Java提供了很丰富的API但没有为停止线程提供API。JDK 1.0本来有一些像stop(), suspend() 和 resume()的控制方法但是由于潜在的死锁威胁因此在后续的JDK版本中他们被弃用了,之后Java API的设计者就没有提供一个兼容且线程安全的方法来停止一个线程。当run() 或者 call() 方法执行完的时候线程会自动结束,如果要手动结束一个线程,你可以用volatile 布尔变量来退出run()方法的循环或者是取消任务来中断线程。点击这里查看示例代码。
7、 一个线程运行时发生异常会怎样?
答: 简单的说,如果异常没有被捕获该线程将会停止执行。Thread.UncaughtExceptionHandler是用于处理未捕获异常造成线程突然中断情况的一个内嵌接口。当一个未捕获异常将造成线程中断的时候JVM会使用Thread.getUncaughtExceptionHandler()来查询线程的UncaughtExceptionHandler并将线程和异常作为参数传递给handler的uncaughtException()方法进行处理。
1.JSP、Servlet、JavaBean技术的出现给我们构建强大的企业应用系统提供了可能。但用这些技术构建的系统非常的繁乱,所以在此之上,我们需要一个规则、一个把这些技术组织起来的规则,这就是框架,Struts便应运而生。
经过长达五年的发展,Struts已经逐渐成长为一个稳定、成熟的框架,并且占有了MVC框架中最大的市场份额。但是Struts某些技术特性上已经落后于新兴的MVC框架。面对Spring MVC、Webwork2 这些设计更精密,扩展性更强的框架,Struts受到了前所未有的挑战。但站在产品开发的角度而言,Struts仍然是最稳妥的选择。
Struts2.0为其它框架提供了更好的集成。
使得与Spring的集成非常的容易。
2.Struts的工作流程:
在web应用启动时就会加载初始化ActionServlet,ActionServlet从
struts-config.xml文件中读取配置信息,把它们存放到各种配置对象
当ActionServlet接收到一个客户请求时,将执行如下流程.
-(1)检索和用户请求匹配的ActionMapping实例,如果不存在,就返回请求路径无效信息;
-(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中;
-(3)根据配置信息决定是否需要表单验证.如果需要验证,就调用ActionForm的validate()方法;
-(4)如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActuibErrors对象,就表示表单验证成功;
-(5)ActionServlet根据ActionMapping所包含的映射信息决定将请求转发给哪个Action,如果相应的Action实例不存在,就先创建这个实例,然后调用Action的execute()方法;
-(6)Action的execute()方法返回一个ActionForward对象,ActionServlet在把客户请求转发给ActionForward对象指向的JSP组件;
-(7)ActionForward对象指向JSP组件生成动态网页,返回给客户;
3.在struts配置文件中配置具体的错误提示,再在FormBean中的validate()方法具体调用。
4.(1) 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。
(2) Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作
(3)hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。
(4)hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。
5.原理:
(1).读取并解析配置文件
(2).读取并解析映射信息,创建SessionFactory
(3).打开Sesssion
(4).创建事务Transation
(5).持久化操作
(6).提交事务
(7).关闭Session
(8).关闭SesstionFactory
6.
Hibernate的最大的好处就是简化数据库的操作,允许你的代码以对象模式来访问数据库内容,
比如通常我们找一个User的资料需要select出所需要的资料,而通过hibnate我们可以把这个User的资料作为一个对象来看待
,通过User.getName()或者User.getId()等操作来获得,这样就完全统一了上层JAVA或者C#等OO语言中对于数据库的非OO操作的不和谐了.
另外对于复杂的表和表之间的关联我们也不用去使用复杂的Select等SQL来操作,而使用对象可以方便获得,
比如多对多关系某用户属于的部门的名称,虽然底层数据库使用了3个表的主键关联操作,
但是我们可以通过User.getDep().getName()来简单的获得,这个就是持久化对象的好处了
7.
(1)、spring能简化企业级开发, spring可以用简单的java bean来代替实现复杂的EJB。(大部分情况下)
(2)、spring是一个轻量级的IOC和AOP框架,可以spring的IOC实现松耦合,而作为一个AOP框架他又能分离系统服务,实现内聚开发
(3)、spring是非侵入式,基于spring的系统可以不依赖于spring的类。
良好的spring运用可以使程序代码清晰,容易维护,容易测试。
8.
Spring是个很不错的框架。内部最核心的就是IOC了,
动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射
反射其实就是在运行时动态的去创建、调用对象,Spring就是在运行时,跟xml Spring的配置
文件来动态的创建对象,和调用对象里的方法的 。
Spring还有一个核心就是AOP这个就是面向切面编程,可以为某一类对象 进行监督和控制(也就是
在调用这类对象的具体方法的前后去调用你指定的 模块)从而达到对一个模块扩充的功能。这些都是通过
配置类达到的。
Spring目的:就是让对象与对象(模块与模块)之间的关系没有通过代码来关联,都是通过配置类说明
管理的(Spring根据这些配置 内部通过反射去动态的组装对象)
要记住:Spring是一个容器,凡是在容器里的对象才会有Spring所提供的这些服务和功能。
Spring里用的最经典的一个设计模式就是:模板方法模式。(这里我都不介绍了,是一个很常用的设计模式)
Spring里的配置是很多的,很难都记住,但是Spring里的精华也无非就是以上的两点,把以上两点跟理解了
也就基本上掌握了Spring.
9.
(1).spring mvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。
(2).DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller.
(3).DispatcherServlet请请求提交到目标Controller
(4).Controller进行业务逻辑处理后,会返回一个ModelAndView
(5).Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象
(6).视图对象负责渲染返回给客户端。
如果你要这些基本的笔试题目
告诉我e-mail
我发给你
有很多基础的题目加上答案
我的e-mail:jcj1986@163.com
Java开发程序员该如何应对公司的笔试题?
这个程序在语法上有没有问题呢?这个题目考察的是Java程序员对“接口可以多扩展”这个概念的掌握,这个程序是没有语法问题的。再看一个例子:这个例子输出的结果是多少呢?输出的结果是322,这个例子考察的是对集合概念的理解,尤其是对Set应用的理解。再看一个例子:这个例子的运行结果是什么呢?答案是...
jJava方向综合笔试题1
1.A 2.正确答案:A 解析:原型不同于最终系统,它只实现所选择的部分功能,仅是为了试验或是演示而用,部分功能需求可以忽略或者模拟实现,因此适用于需求不确定性高的系统。3.正确答案:A 解析:本题考查变更控制的相关知识。变更控制是指在软件开发生命周期的整个过程中对变更的识别、评价和管理等工...
2018秋招科大讯飞java笔试题(附参考答案)
此外,Java中,与public int A()构成重载的选项可能包括(C)public void A(int n)或者(D)public static int A(),但题目并未给出完整选项。多选题中,确定二叉树的唯一方式是(A)后序和中序遍历序列,而分治法的前提包括最优子结构、相同求解方法和不包含公共子问题。Java的相关知识点中,构造函数...
java基础概念方面的练习题,加答案。
一、Java笔试题?单项选择题 1.Java是从()语言改进重新设计。A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确()A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确...
解答JAVA笔试题
解答JAVA笔试题 简答题1、Java语言的优点有哪些?。2、谈谈final,finally的区别。3、什么是方法的重载(overload)?什么叫方法的重写\/覆盖(override)?满足重载和重写的条件是什么?4、error和except... 简答题1、Java语言的优点有哪些?。 2、谈谈final, finally的区别。3、什么是方法的重载(overload)? 什么叫方法...
哪里有java笔试题
java面试不光有面试也会有笔试,整理了一些java笔试题及答案分享给大家,准备或将要参加java面试的朋友可以仔细阅读,争取一次通过,进去自己心仪的企业工作。想看更多面试问题请关注WeiXin工纵浩“浙江优就业”!一、九道选择题1.Java程序的种类有(BCD )A.类(Class) B.Applet C.Application D.Servlet2.下列说法正确的...
JAVA笔试题 求答案 详细越好 题在图片
1、选择第二个:构造函数就是与类名一样的函数,所以只有第二个语句 2、选择第四个:一个实例成员只会属于这个实例,只有静态成员才属于全部的类,即直接用类名调用的。3、选择第四个:在方法内部,只有赋予初始值后才可以对其进行操作。4、选择第四个:跟选项描述的一样,finally要放在catch语句的...
java 笔试题
答案是C(并不是一个)原因:内部类中是不能有static的方法或者成员的,且static的方法内部必须访问static的变量,但是d1不是static的,所以AB不是,接着抽象函数是不能有方法体的,E也错 D也错是因为在静态的类中访问了非静态的参数 所以答案只有一个!!
腾讯的JAVA笔试的问题帮忙回答下
1.请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句 答案:define max(a,b) (((long)((a)-(b)))&0x80000000)?b:a)若a > b ,则a-b的二进制最高位为0,与上任何数还是0,所以大数为a;否则,a-b为负数,二进制最高位为1,与上0x80000000(最高位为1其他为0)...
师永蕲蛇: 1 .java 2 编译 3 不执行 4 看不懂问题 5 main()方法 6 初始化(当然要声明之后再初始化) 7 char 8 顺序 循环 条件 9 flase 10 没有 11 90 abs是去绝对值的 12 true 13 静态 14 局部变量 15 Integer.parseInt(String a) 16 5 (a>b)?a:b的意思是判断括...
东昌府区13972044642: JAVA 笔试题目 - ?
师永蕲蛇: 1,s1=s1+1,左边是short型,右边是int型,需强制转换,而第二个可以 2,jsp是由servlet发展过来的,jsp显示页面的,servlet是控制页面的 3,通过所谓的数据高速缓存来实现对数据的高速运算与操作的 4,delete from table 是dml,truncate table 是...
东昌府区13972044642: 一道Java笔试题 - ?
师永蕲蛇: 首先,Comparable是一个接口(由interface就知道).题目中说的是java提供了这个接口供程序员自定义两个对象的比较规则,所以第一步解释要自己写一个类来实现这个接口,我写的实现类如下:class Ac implements Comparable { int ac; int ...
东昌府区13972044642: java 考试题 求解 - ?
师永蕲蛇: 编译有错,是不是代码没给全.我写了一个和你一样的例子,你看一下吧!public class Test {public static void main(String[] args){Object o = new Object(); System.out.println("o= "+o.toString());} }输出:o= java.lang.Object@de6ced但要注...
东昌府区13972044642: 某公司编程笔试题.java - ?
师永蕲蛇: public static void main(String[] args) throws IOException { int[] ary = new int[1000]; for (int i = 0; i < 1000; i++) { ary[i] = i; } ary[100] = 101;//把100换成别的变相于100被去掉 System.out.println(dare(ary, 0, ary.length)); } public static int dare...
东昌府区13972044642: java试题,求高手解答!小弟非常感谢!?
师永蕲蛇: public static void main(String args[]) { System.out.println("请输入一个大于6的偶数"); Scanner sc = new Scanner(System.in); int num = sc.nextInt(); for(int i=2;i<=num-i;i++) { if((sushu(i))&&(sushu(num-i))) System.out.println(num+"="+i+"+...
东昌府区13972044642: 简单的Java笔试题 - ?
师永蕲蛇: A的错误错在:调用本类的类方法应该用 类名.类方法 来调用 C的错误错在:不仅仅能调用本类的,如果是子类的话父类的类方法也能调用 我对于D的理解是这样的:静态的只能访问静态的,非静态的可以访问静态的,也就是说类方法中不能调用实例方法.非要说他错,是不是加了绝对二字.以上是我的理解,有不足的地方希望大家交流~
东昌府区13972044642: 这几道java笔试题目答案是什么呢? - ?
师永蕲蛇: 1、根据主键index判断数据是否存在,然后做插入操作2、${STR}或者<%= request.GetAttribute("STR")%>,忘记3、a=9、b=2、c=-64、题目不太明白5、Map m = new HashMap();String[] tem =STR.Split(';');for(int i=0;i<=tem.Size;i++) Size还是Length或者Count 没记住{String[] te=tem[i].Split(',');m.Add(te[0],te[1]);}6、处理页面请求、数据显示.回答的不是很好,这些问题很多都要翻书哈哈一般很少记这些东西,敲代码有提示呵呵.
东昌府区13972044642: 一道JAVA笔试题求解答,关于选字符串的? - ?
师永蕲蛇: 这题好,看你对string掌握得扎实不,如果扎实,很容易public class Test10097 { public static void main(String args[]) { String str = "abaaccddkkdjfjj"; String uniqueCarc = getFirstUniqueCharactre(str); System.out.println(uniqueCarc); } private ...
东昌府区13972044642: 请java高手帮我答两道笔试题谢谢 - ?
师永蕲蛇: 1.区别如下: 他们之间的作用域不同 public 能被所有类访问 protected 可以被本类和其子类访问, 同一包中的所有类访问 private 只能在本类中访问 不写时默认为 可以被本类和同一包中的的其他类访问 2.如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.将变量或方法声明为final,可以保证它们在使用中不被改变.被声明为final的方法也同样只能使用,不能重载. String类是final类 接口只可以定义static final成员变量