JAVA面试题

1.优化软件的方式?

a)以时间换空间,以空间换时间
b)空间相当于内存或者缓存;

2.队列和栈的区别?

a)队列是先进先出:就像一条路,有一个入口和一个出口,先进去的就可以先出去;
b)栈就像一个箱子,后放的在上边,所以后进先出。

3.用过哪些数据库?

a)Oracle,mysql

4.Oracle和mysql的区别?

a)mysql以表级锁为主,对资源锁定的粒度很大;
b)mysql是免费开源的/oracle 是商业付费的;
c)oracle使用行级锁,对资源锁定的粒度要小很多,只是锁定sql需要的资源,并且加锁是在数据库中的数据行上,不依赖与索引。所以oracle对并发性的支持要好很多。
d)提交方式:oracle默认不自动提交,需要用户手动提交。mysql默认是自动提交。
e)sql语句的扩展和灵活性:mysql对sql语句有很多非常实用而方便的扩展,比如limit功能,insert可以一次插入多行数据,select某些管理数据可以不加from。oracle在这方面感觉更加稳重传统一些。
f)分区表和分区索引:oracle的分区表和分区索引功能很成熟,可以提高用户访问db的体验。mysql的分区表还不太成熟稳定。
g)Oracle优点主要用于高并发和大数据量的处理;

5.Oracle和mysql事务方面的处理?

a)提交方式:oracle默认不自动提交,需要用户手动提交。mysql默认是自动提交。

6.Mysql有哪几种引擎?

a)Myiasm引擎:非事务安全,适用于查询,表级锁, 粒度大,可以全文检索;
b)Innodb引擎(默认该引擎):事务安全,适用于增加,修改,行级锁,不可以全文检索;

7.数据库设计三大范式?

a)第一范式,字段必须具有原子性,不可再分;
b)第二范式建立在第一范式之上,非码属性必须完全依赖于候选码;
c)第三范式建立在第二范式之上, 任何非主属性不依赖于其他非主属性;

8.多线程有哪些状态?

a)新建状态: 当用new操作符创建一个线程时;
b)就绪状态: 要执行线程,必须调用线程的start()方法;
c)运行状态: 当线程获得CPU时间后,它才进入运行状态,真正开始执行run()方法。;
d)阻塞状态: 线程运行过程中,可能由于各种原因进入阻塞状态, 阻塞状态是正在运行的线程没有运行结束,暂时让出CPU,这时其他处于就绪状态的线程就可以获得CPU时间,进入运行状态。;
e)死亡状态: 有两个原因会导致线程死亡:(1.正常结束正常死亡;2.一个未捕获的异常终止了run()导致线程猝死);

9.多线程有什么作用?

a)让CPU负载均衡,提高CPU的利用率,充分利用CPU的资源;
b)充分使用CPU空闲的能力,CPU是单线程的,java支持多线程,
c)多核CPU,充分利用他的性能;
d)提高计算机的资源利用率,解决CPU的负载均衡;
e)应对并发访问,降低资源的开销;

10.多线程是怎么实现的?

a)继承了thread,重写run();
b)实现Runnable接口,重写run();
1.建议使用实现该接口,创建线程,因为这样
c)通过线程池创建线程;
d)通过Callable和FutureTask创建线程

11.Final,finally,finalize各是什么?

a)Final修饰一个类是不可被继承的,修饰一个方法是不可被,修饰一个变量是不可被更改的常量;

12.Mybatis的优点,为什么使用mybatis而不使用原生的JDBC?

a)与JDBC相比,减少了50%以上的代码量;
b)Mybatis的是最简单的持久层框架;
c)MyBatis相当灵活,不会对应用程序或者数据库的现有设计强加任何影响,SQL写在XML里,从程序代码中彻底分离,降低耦合度,便于统一管理和优化,并可重用。
d)提供XML标签,支持编写动态SQL语句。
e)提供映射标签,支持对象与数据库的ORM字段关系映射。

13.接口是什么?有哪些接口?

a)Runnable接口(实现多线程)
b)HTTPServlet
c)HttpRequest
d)Serialization 序列化接口

14.序列化接口有什么用?

a)序列化分为序列化和反序列
b)序列化把数据分解成字节流,存储在文件中或者在网络中传输;
c)反序列就是打开字节流重构成对象;

15.数据库的设计方式?

a)1.需求分析
b)2.概念结构设计
c)3.逻辑结构设计
d)4.物理结构设计
e)5.数据库实施
f)6.数据库的运行和维护

16.接口和抽象类的使用场景?

a)一个类只能继承一个抽象类,但是可以实现多个接口;
b) 接口强调特定功能的实现,而抽象类强调所属关系。
c)接口有利于代码的复用,扩展性好,便于维护, 抽象类更利于代码的维护和重用;
d)接口类就是多个类遵守同一个规范;

17.转发和重定向的区别?

a)转发是服务器行为,重定向是客户端行为。
b)转发是内部转发,会带参数在地址后面,但是重定向不会带参;

18.Web的九大内置对象?

a)Request response session
b)Page pagecontext application
c)Out config exception

19.Session和cookie的区别?

a)cookie数据保存在客户端,session数据保存在服务器端。
b)session是一次会话,cookie可以长期保存在客户端;
c)session用来保存重要的信息,cookie用来保存不重要的信息;
d)cookie保存的是字符串,session保存的是对象;

20.Java中常用的接口?

a)Runnable
b)序列化接口
c)HttpServelt
d)HttpRequest

21.java如何连接数据库?

a)加载数据库驱动
b)建立连接
c)发送SQL语句,得到返回结果
d)处理返回结果
e)关闭资源

22.为什么需要数据库驱动包?

a)就如同你打开电脑需要先打开通电开关一样
b)没有驱动java环境无法与数据库产生连接的;
c)因为驱动封装了底层的实现代码,简化了java的连接难度;

23.有多少种数据库语言(数据操作语言)?

a)数据定义语言:create/drop;
b)数据操作语言:update/insert/delete;
c)数据查询语言:query;
d)数据控制语言:grant/revoke;
e)事务控制语言:commit/rollback;

24.在java过程中,虚拟机的作用是什么?

a)Java可以跨平台,就是因为虚拟机可以把源码转换成计算机可以识别的字节码;
b)java虚拟机就是想象中的机器,在实际的计算机上通过软件模拟来实现;
c)虚拟机是在计算机当中的一个虚拟软件,在计算机当中安装一个java虚拟机,那么就可以在当前这台计算机上面运行java,用来编译可以让计算机解析的一种软件;

25.大数据对于软件行业的一些影响,带来的变化是什么?

a)数量大,速度快,多样化
b)提高运营商的客户洞察
c)改变运行商的盈利格局
d)改变运营商的业务构架

26.Http协议是什么?

a)HTTP 协议定义服务器端和客户端之间文件传输的沟通方式;
b)请求头,请求行,消息主体;
c)转发头,转发行,消息主体;

27.数据库用来计算金钱的数据类型?

a)Decimail;

28.get和post的区别?

a) GET传送的数据量较小,不能大于2KB。POST传送的数据量较大,一般默认为不受限制。

29.简述一下MVC的模式?结合SSM?

a)Springmvc将所有请求转发交给dispatcherServlet去处理;
b)dispatcherServlet查询一个或者多个handleMapping,找到对应的controller;
c)dispatcherServlet把请求交给controller,controller进行业务处理之后,返回一个ModelAndView;
d)dispatcherServlet查询一个或者多个ViewResolve视图解析器,找到ModelAndView对应的视图对象;
e)视图对象渲染之后返回给客户端;

30.Spring的优势是什么?

a)Spring是一个开源的容器框架;
b)Spring降低组件之间的耦合度,实现各层之间的解耦合;
c)spring提供了众多辅助类,使这些类能够加快企业的开发;
d)spring提供了单例模式支持,开发人员不需要再去编写代码实现;
e)spring提供了AOP技术,利用它我们可以很容易实现如权限拦截等功能;
f)spring提供了众多服务,事务管理服务,消息服务等;
g)spring对于主流的应用框架提供了的集成支持;

31.进程和线程的区别?

a)进程是多对多,同一时刻,可以多个指令运行多个处理器;
b)线程是一对多,同一个处理器处理多个任务;
32.hashMap和hashTable的区别?
a)hashMap是重速度,轻安全,非同步的,多个线程同时访问时非安全,允许一个空键值,
b)hashTable是重安全轻速度的,同步的,不允许空键值

33.如何对数据库优化?

a)表名和列名大写
b)preparedStatement比statement效率要高
c)表中允许适当冗余
d)外键影响插入和删除性能
e)简历索引提高查询速度

34.如何解决前端和后台乱码的问题?

a)使用过滤器,
b)或者使用response.setcharacter

35.创建javascript里面创建对象的方式?

a)使用var obj=new Object();
b)使用构造方法创建
c)使用工厂方法创建

36.Hibernate的优点和缺点?

a)优点:
1.程序更加面对对象;
2.提高了生产率;
3.方便移植;
4.无侵入性;
b)缺点:
1.效率比JDBC差;
2.不适合批量操作;

37.Hibernate的三种状态?

a)临时状态:刚刚使用new语句创建,还没有被持久化,不处于Session的缓存中。处于临时状态的状态的Java对象被称为临时对象。
b) 持久化状态:已经被持久化,加入到Session的缓存中。处于持久化状态的Java对象被称为持久化对象。
c) 游离状态:已经被持久化,但不处于session的缓存中。处于游离状态的Java对象被称为游离对象。

38.Hibernate的缓存机制?

a) Session 的缓存被称为hibernate的第一级缓存。SessionFactory的外置缓存称为hibernate 的二级缓存。这两个缓存都位于持久层,它们存放的都是数据库数据的拷贝。SessionFactory的内置缓存 存放元数据和预定义SQL, SessionFactory的内置缓存是只读缓存。
b)Session 缓存的三大作用:
c)1,减少数据库的访问频率,提高访问性能。
d)2,保证缓存中的对象与数据库同步,位于缓存中的对象称为持久化对象。
e)3,当持久化对象之间存在关联时,Session 保证不出现对象图的死锁。
f)* hibernate有了一级缓存,为什么还要有二级缓存?
g)* 一级缓存只对当前的session有效
h)* 二级缓存里的数据可以跨多个session,可以被多个session共享
i)* 缓存的时间更久,不会像一级缓存那样,一旦session销毁就销毁;

39.Sleep()和wait()的区别?

a)Sleep()是Thread类,wait()是object;
b)Sleep()没有释放锁,wait()释放了锁;
c)Sleep()必须捕获异常,wait可以不捕获异常;
d)Sleep()在任何地方都可以使用,但是wait只能在同步控制块和同步控制方法里面使用;
e)注意:sleep()是一个静态方法;

40.什么是并发什么是并行?

a)处理器就是CPU;
b)并发是指一个处理器同时处理多个任务。(多个妈妈,一个孩子)
c)并行是指在同一时刻,有多条指令在多个处理器上同时执行。(一个妈妈,三个孩子)
d)就好像两个人各拿一把铁锨在挖坑,一小时后,每人一个大坑。所以无论从微观还是从宏观来看,二者都是一起执行的。

41.Delete和drop的区别是什么?

a)一个是数据定义语言,一个是数据操作语言
b)Delete是删除表中信息,drop删除的是表结构;

42.面向对象中的特性?

a)封装:把一个事务包装起来,尽可能的隐藏内部实现细节;
b)继承:子类自动共享父类的数据和方法的机制;
c)多态:父类中的方法在不同的子类中有不同的实现方式,但是他们对外的接口是一样的;

43.对于敏感数据怎么处理?

a)一般我们是采用加密的方式来处理,像MD5啊,或者自己写加密算法,或者第三方的加密方式;

44.什么是json?

a)Json是一种轻量级的数据交换格式;
b)一种规范的传递数据的方式;

45.Json和xml的不同之处?

a)JSON是存储和交换文本信息的语法,类似XML
b)JSON比XML更小、更快、更易解析;
c)Json和xml都可以用来传递数据;
d)前后端交互,某些时候使用json,某些时候使用xml;
e)微信公众号就是使用xml交互的;

46.如何把String数据转换成byte类型的数据?

a)String s = “fs123fdsa”;//“fs123fdsa”是输入的string变量
b)byte b[] = s.getBytes();//String转换为byte[]
c)String t = new String(b);//bytep[]转换为String

47.Servlet的生命周期?

a)加载servlet
b)Init 实例化
c)Service服务
d)Destroy销毁

48.String和StringBuffer以及StringBulider的区别?

a)String是不可修改的字符串;
b)Buffer和builder是可以修改的字符串;
c)Buffer是同步的,效率低于builder,builder是不同步的,效率高于buffer;

49.Jquery有哪几种选择器?

a)基本选择器
b)属性选择器
i. ( " [ h r e f ] " ) 选 取 所 有 带 有 h r e f 属 性 的 元 素 。 i i . ("[href]") 选取所有带有 href 属性的元素。 ii. ("[href]")hrefii.("[href=’#’]") 选取所有带有 href 值等于 “#” 的元素。
iii.KaTeX parse error: Expected 'EOF', got '#' at position 11: ("[href!='#̲']") 选取所有带有 hre…("[href = ′ . j p g ′ ] " ) 选 取 所 有 h r e f 值 以 " . j p g " 结 尾 的 元 素 c ) 元 素 选 择 器 i . ='.jpg']") 选取所有 href 值以 ".jpg" 结尾的元素 c)元素选择器 i. =.jpg]")href".jpg"c)i.(“p”) 选取

元素。
ii. ( &quot; p . i n t r o &quot; ) 选 取 所 有 c l a s s = &quot; i n t r o &quot; 的 &lt; p &gt; 元 素 。 i i i . (&quot;p.intro&quot;) 选取所有 class=&quot;intro&quot; 的 &lt;p&gt; 元素。 iii. ("p.intro")class="intro"<p>iii.(“p#demo”) 选取所有 id=“demo” 的

元素。

50.连接JDBC的步骤?

a)加载数据库驱动;
b)建立连接;
c)发送SQL语句,得到返回结果;
d)处理返回结果;
e)关闭资源;

51.Int和Integer的区别?

a)Int是基本数据类型,Integer是包装类型;
b)Int初始化是0;integer初始化是null;
c)Integer可以区分0和null的区别;
d)Integer还有很多方法:Integer.pasInt()解析字符串;valueof()把int转换成包装类型integer;

52.Struts2的工作原理是什么?

a)Struts设计的第一目标就是使MVC模式应用于web程序设计

53.静态inculde和动态inculde的区别?

a)动态inculde适应于动态页面,可以带参,而且它总是会检查所含文件中的变化;
b)静态inculde则不会检查文件中的变化,适用于静态页面;

54.有哪些注解?

a)Controller:标识当前是表示层;
b)Service:标识当前是业务逻辑层;
c)Autowired:根据类型装配对象(默认是类型装配);
i.@Autowired
ii.private UserDao userDao; // 用于字段上
d)
e)RequestMapping: 是一个用来处理请求地址映射的注解;
f)requestParam:请求参数;
g)resource:自动装配(默认根据名字自动装配);
i.@Resource(name=“userDao”)
ii.private UserDao userDao; // 用于字段

55.ajax用什么传递数据?

a)使用流xmlHttpRequest,原生ajax;
b)Get和post只是一种方式;

56.值栈是什么?

a)值栈是个桶,下面是轻,上面是重的,如果一个对象进来,那么就会来到最下面,以此类推;

57.Java是如何通过跨平台实现的?

a)通过java虚拟机;
b)Java虚拟机是做一个解释和运行

58.Spring的两大核心是什么?

a)IOC依赖注入:把对象和对象之间的依赖关系交给外部容器去管理;
b)AOP面向切面:实现权限拦截等;

59.什么情况下会用到spring的注解?

a)依赖注入对象
b)Autowired:按类型自动装配;
c)Resource:按名称自动装配;
d)在日志方面,异常处理方面,性能方面都可以用到,实现业务分离;

60.Servlet和jsp的区别是什么?

a)Servlet业务逻辑控制;
b)Jsp页面显示;
c)JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类。

61.Session和cookie的区别?

a)Session保存的是对象,cookie保存的是字符串;
b)Session保存在服务端,cookie保存在客户端;
c)Cookie保存不重要的信息,session保存重要信息;
d)Cookie可以长期保存在客户端.session是一次会话,会话关闭就销毁了;

62.跟踪会话技术?

a)Hidden隐藏域
b)url重写
c)session的sessionId
d)cookie的sessionId

63.存储过程和函数有什么区别?

a)存储过程(procedure)/函数function语法不一样;
b)存储过程就是一组为了完成特定功能的SQL语句集,经过预编译之后存储在数据库中;
c)函数中有返回值,且必须有返回值,存储过程没有返回值;
d)过程没有返回值,不能直接将结果赋值给变量;
e)函数可以直接在select中使用,存储过程不可以;

64.存储过程的优点和缺点?

a)优点:
1.模块化设计;
2.具有良好的安全性;
3.执行速度快,效率高;
4.减少网络流量;
b)缺点:
1.移植性差,因为数据库端的代码和具体数据库是相关的;
2.可读性差;
3.调试比较麻烦;

65.游标分为哪些类别?

a)显示游标:要手动创建游标,适用于查询,返回多条记录时,使用显示游标逐行读取;
b)隐式游标:自动创建,适用于增删改;
c)声明游标,打开游标,提取游标,关闭游标;

66.Java的反射机制是什么?

a)Java反射机制就是运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;
b)对于任意一个对象,都可以调用它所有的属性和方法;

67.你对反射机制的了解?(自己的框架对反射机制要求非常高)

a) Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。

68.Map是什么?

a)map是保存键值对的容器,常用的有put和get方法就好了
b)map的是将key,value封装成map.entity存储在bucket中的
c)bucket以列表形式存在
d)任何put进入map的对象都会首先比较他们的hashcode是否相等,如果他们的hashcode相等则继续equals他们的两个对象是否相等,如果相等就替换,不相等则可以追加在bucket中

69.map中key是否可以为null?

a)Hashmap可以允许一个空键值对
b)Hashtable不允许空的键值对

70.Equals和hashcode的区别?

a)hashcode就类似于一个索引
b)而queal就是索引中的内容
c)Hashcode相等的两个对象,equals不一定相等,但是两个对象equals相等,他们的hashcode就一定相等;
d)hashcode相等的两个对象不一定equal,而equal的两个对象一定相等;
e)equal的两个对象的hashcode一定相等
f)比如要输入:“我”
g)wo 就是hashcode
h)然后下面的,我,喔,窝都是对象
i)我,喔,窝三个不同的对象有相同的hashcode
j)但是只有
k)我,equal 我

71.重写equals为啥一定要重写hashcode?

a)特定需求的时候才会进行重写
b)Equals的底层代码是hashcode算法编写的
c)Equals默认是比较地址的,重写了的话就会比较值

72.hashMap的put方法,它是如何保证key的唯一性的?

a)使用hashcode

73.事务具有哪些特性?

a)原子性:事务是一个完整的操作,要么都执行,要么都不执行;
b)一致性:遵循数据库原有的完整性约束;
c)持久性:数据一旦提交到数据库,;
d)隔离性:每个事务之间都是独立的,彼此;

74.如果有相同的hashcode但是不equal的两个key,put到一个hashmap中,hashmap时怎么处理的?

a)可以保存到hashmap当中

75.hashMap的put方法,它是如何保证key的唯一性的?

a)使用hashcode

76.Where子句和having子句区别?

a)Where是条件查询,having只能用在函数的后面

77.什么是泛型,泛型的优势是什么?

a)限制类型输入;
b)消除强制转换

78.内存中,栈和堆的区别?

a)对象保存在堆中
b)基本数据类型保存在栈中

79.Spring的注入方式?

a)属性注入
b)构造方法注入

80.什么是集群?

a)集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源;

81.Jsp的内置对象和作用?

a)Page是当前页对象
b)Pagecontext 当前上下文
c)Session 当前会话
d)Request 请求
e)Response 转发
f)Config 配置
g)Out 输出对象
h)Exception 异常对象
i)Application 全局对象

82.接口和抽象类的使用场景?

a)接口利于代码扩展和维护,继承利于代码扩展;
b)接口偏向于特定功能的实现,继承强调所属关系;
c)可以实现多个接口,只能继承一个抽象类;

83.接口和抽象类的区别?

a)可以实现多个接口,但只能继承一个抽象类;
b)接口中没有构造方法,抽象类中有构造方法;
c)接口中没有普通变量,抽象类中有普通变量;
d)接口中没有普通方法,抽象类中可以有普通方法;
e)接口中没有静态方法,抽象类中有静态方法;
f)接口中的常量只能是public static final,抽象类中的常量可以是任意类型;
g)接口中抽象方法只能是public类型,抽象类可以是public protected 或者default类型(不建议);

84.在内存循环如何调出外出循环?

a)使用标记,或者break;

85.在jsp中如何实现页面跳转?

a)Window.location.href=” ”
b)超链接
c)表单
d)Request
e)Response

86.EJB是什么?

a)很庞大的一个spring框架;
b)功能比spring更高;
c)模块化设计;

87.什么是session机制?

a)会话的跟踪就是session机制,session机制是服务器端的一种机制,它使用一种类似于散列表(hashtable)的方式来保存信息,主要作用于在请求会话中共享数据;
b)1.当程序需要为某个客户端创建session的时候,会在这个客户端的请求中检索是否有session标识,就是sessionid;
c)2.如果这个请求中保存一个sessionid,服务器就会根据这个sessionid去检索出来使用,如果检索不到,服务器就会创建一个session对象和此session关联的sessionId;
d)3.如果这个客户端的请求中没有sessionid,那么服务器端就会创建一个session对象和session相关联的sessionid;

88.Session的传递方式有两种?

a)Cookie:服务器分配的sessionid将作为cookie发送到浏览器,浏览器保存这个cookie,当再次发送请求的时候,浏览器会将cookie和请求一起发送,服务器从请求对象中获取sessionid,再根据sessionid找到对应的httpsession对象;
b)url重写:当cookie被禁止的时候,可以使用url重写的方式来传递sessionid,把它放在url路径的后面,重写的方式有2种,一种是作为url路径的附加信息,一种是作为url路径的查询字符串信息;

89.Ajax的原理?

a)异步请求
b)主线程处理该处理的事情,开辟了一个小线程去做其他的事情;
c)主线程做该做的事情,分线程要该做的事情,再渲染到

90.JRE,JVM,JDK,JIT区别?

a)JRE运行环境,支持java环境的基本运行;
b)Jdk是开发包,程序员运行程序的;
c)Jvm是java虚拟机,运行java程序
d)Jit不太了解;

91.哈希值有什么作用?

a)有一个哈希算法,可以用来标识这个对象的唯一编号,如果两个对象的哈希值一样,那么它们的两个对象是一样的;
92.Mybatis的动态sql关键字?
a)Where
b)If
c)Set
d)Trim

93.Web的四大作用域?

a)Page 当前页面作用域
b)Request 一次请求作用域
c)Session 一次会话作用域
d)Application 整个web作用域

94.Mvc的特点?

a)把显示和数据分离,提高代码的可重用性;

95.Mvc的执行原理?

a)控制器接收所有的请求,查询一个或者多个;

96.Mvc设计模式的优缺点?

a)优点:
1.各司其职,互不干涉;
2.利于开发中的分工,组建的重用;
b)缺点:
1.不适用于小型和中小型项目;
2.系统实现和结构复杂;
3.视图和控制器过于紧密;

97.Jsp是什么?

a)动态网页技术标准

98.Jsp的特点是什么?

a)跨平台,易维护,易管理;

99.Jsp的执行过程?

a)翻译阶段:Web服务器将jsp文件进行编译成JVM可以识别的java源代码,
b)编译阶段:经过翻译后的jsp文件相当于我们的java源文件,web容器将它在编译成字节码;
c)执行阶段:此时已经生成了可被执行的二进制字节码文件,此时进入执行阶段,执行结束后,会得到处理请求结果,web容器又会把生成的结果页面返回到客户端用户面前显示;

100.Servlet的声明周期?

a)加载或者启动服务器就已经初始化了;
b)Init 初始化
c)Service 服务
d)Destroy 销毁

101.Final有什么用?

a)Final可以用在类,方法,变量的后面;

102.代理模式是什么?

a)不直接调用一个类的属性或数据,而是通过一个代理类来访问;

103.动态代理是什么?

a)不直接使用对象,而是直接使用对象的代理对象;
b)通过代理对象去真实对象来访问;
c)好处就是不会对真实对象造成影响,更加灵活;

104.说出java中常用的包?

a)Net/socket
b)Sql/sql语句
c)Util/工具包
d)Io/流
e)Lang/核心包

105.说出Java中常用的类?

a)Thread
b)String
c)System
d)stringBuilder
e)arrayList
f)linkedList
g)math
h)hashset
i)hashmap
j)date
k)file
l)Object
m)Exception
n)driverManne

106.说出java中常用的接口?

a)List
b)Map
c)Set
d)序列化
e)Runnable
f)httpRequest
g)HTTPServlet
h)HttpResponse

107.说出你常见到的运行时异常?

a)Classnotfound;/文件未找到;
b)ClasscastException;/异常转换错误;
c)ArrayIndexOutOfBoundsException;/数组越界;
d)nullpointException;空指针异常;
e)illegalArgumentException/(in ni ge I )非法参数异常;
f)InputMismatchException;/输入参数不匹配;
108.Runtimeexception和error继承哪个类?
a)Throwable-error
b)Throwable-exception-runtimeexception

109.运行时异常和受检异常?

a)运行时异常是在程序运行过程中出现的非严重性错误;(程序员可以解决的错误)
b)受检异常就是error,程序员解决不了的错误,例如:内存溢出;

110.数组和集合的区别?

a)数组可以存储基础数据类型和对象;集合只能存储对象;
b)数组只能得到实际存储的长度;集合可以得到具体存储元素的个数;
c)数组的长度是固定的,集合的长度是可以动态改变的;
d)集合以类或者接口的方式的存在,具有继承封装多态的区别;
e)数组和对象的应用场合不同,数组是采用连续分配的空间的方式存储数据;

111.List和set的区别?

a)List和set都是继承于conncetion接口的
b)List是有序不唯一的,/Set是无序唯一的;

112.Hashmap和hashtable的区别?

a)Hashmap是重速度,轻安全的,多个线程同时访问它的时候,是不安全的,允许一个为null的键值对,效率高于hashtable;
b)Hashtable是重安全,轻速度的,是同步的,不允许一个为null的键值对;

113.Arraylist和vector的区别?

a)Arraylist动态增加存储数量的时候是以50%增加的,vector默认是以1倍增加的;
b)Arraylist是不同步的,vector是同步的;

114.谈谈你对GC/垃圾回收期的理解(finallize)?

a)Finallize也是一种垃圾回收机制(回收内存的空闲资源);
b)Sysyem.gc去调用垃圾回收器,例如回收内存空间,但是不保证一定会执行,只是通知GC去执行,但不保证一定会执行;
c)没有被虚拟机引用的对象,都将被垃圾回收,属于一个概念;

115.什么是单例?

a)只实例化一个对象;

116.Springmvc是单例吗?为什么?

a)自带单例,默认单例,节约空间;

117.项目怎么优化?

a)从架构上,文件读写通过文件服务器;
b)数据库读写通过数据库服务器;
c)大数据量,通过
d)大量的读少量的写,换引擎myiasm;
e)项目调优,应用缓存;
f)应用消息队列;

118.同步锁是什么?

a)让当前线程享有当前内存的操作权利,其他线程拒之门外;

119.Link和import的区别?

a)Import,先导入文档对象,再导入样式(样式导入慢);
b)Link文档对象和样式全部导入完毕,才会显示,一般用link;

120.Session失效的方式?

a)关闭浏览器;
b)设置它的失效时间;
c)调用它的失效方法,setmaxinativeinterval;

121.Java中的作用域?

a)Public 当前类 当前包 当前子孙类
b)Protected 当前类 当前包 当前子孙类
c)Default 当前类 当前包
d)Private 当前类

122.面向对象的原则?

a)封装:把一个事务包装起来,尽可能的隐藏内部实现细节;
b)继承:子类自动共享父类的数据;
c)多态:在父类的方法中,不同的子类有不同的实现方式,但是他们对外的接口是一样的;

123.说出你知道的jar包的作用?

a)Io 输入输出流
b)Log4j 写日志
c)Slf4j 应用日志;有一些框架可能依赖到它,日志门面系统
d)Connection 连接数据库
e)Commos/io java.io的一个扩展
f)Commos/fileupload java文件上传
g)Commons/pool 连接池技术数据库dbcp连接池
h)Json包
i)框架的包
j)Mysql-connector
k)Ojdbc oracle连接数据库驱动
l)Jstl.jar
m)Quartz 时间调度器

124.Javascript中常用的函数及作用?

a)三种弹窗:alert prompt confirm
b)Open close
c)setTimeout setInterval
d)pasInter解析字符串返回成整数类型 pasFolat解析成字符串返回浮点数类型 isNaN判断是否是数字,不是数字返回true,是数字返回false

125.setTimeout和setInterval的作用?

a)setTimeout只执行一次,setInterval会循环执行;

126.Dom常用的对象及方法?

a)Document.getelementbyId/id选择器;
b)Document.getelementByName/类选择器;
c)Document.getelementByTagName/标签选择器;
d)Location.replace(替换)/reload(重新加载)/
e)history(浏览过的url列表) forword前进 go前进和后退 back后退;

127.怎么设置页面元素的显示和隐藏?

a)Visibility:visible显示,hidden隐藏
b)Display:block显示,none隐藏;
128.Wisible和display?
a)Visibility设置元素不可见的时候,该元素仍然占据页面上的空间,display不占空间;

129.进程和线程的区别?

a)进程是最小单元,线程是具体的执行序列;
b)线程共享进程的资源,线程执行进程的任务;

130.什么时候用到多线程?

a)主线程在做一件事情的时候,要新建一个分线程去执行其他事情,但是主线程仍然在做这件事情;

131.Jsp的指令?

a)Page taglib include

132.Jsp如何实现页面跳转?

a)超链接
b)表单
c)转发和重定向
d)Window.location.href

133.什么是session?

a)Session是一次会话,随着会话的关闭而结束;
b)Session四大跟踪技术的一种,是一种服务器端的机制;
c)主要用在整个请求过程中共享数据;

134.Web应用作用域?

a)Page 当前页
b)Session 一次会话
c)Reques 一次请求
d)Application 整个web作用域

135.对mvc的理解?

a)它是一种流行的软件设计模式,他不属于二十三中设置模式之一;
b)控制器接收请求后,并决定调用哪个模型来处理请求,模型处理请求后返回数据,控制器找到相应的视图将模型返回的数据呈现给用户;
c)Mvc的特点是:把显示和数据分离,提高代码的可重用性;

136.Cookie的应用场景?

a)在cookie的有效期内,记录用户登录信息;
b)Cookie统计网页浏览记录;
c)对特定对象的追踪;
d)实现各种个性化服务;

137.Js的基本数据类型?

a)Undefined
b)Null
c)String
d)Boolean
e)Number

138.什么是servlet?

a)servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的web页面;它承担处理客户端请求和服务器端响应的工作;servlet由web服务器进行加载,该web服务器必须包含支持servlet的java虚拟机;

139.Servlet的基本架构是什么?

a)主要是两个jar包组成,一个是javax.servlet 一个是javax.servlet.http

140.Servlet的生命周期?

a)Web容器加载servlet,生命周期开始,

141.单例模式是什么?

a)单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。
b)只有一个实例对象;

142.懒汉式和饿汉式的区别?

a)饿汉式在类被加载的时候,这个对象就会被实例;
b)懒汉式就是当你有对象访问它的时候才会被实例化;
c)懒汉式的方法如果没有使用synchronized修饰的话,多线程访问的时候是不安全的;
d)饿汉式效率会高于懒汉式,但是如果使用饿汉式,在类在被加载的时候就实例化,那么在使用它之前,就会浪费内存,影响性能;

143.使用struts框架,如果页面有多个按钮,那么我们应该继承哪个类?

a)这是Struts1框架,针对这种情况,要继承一个dispatcherActio,相当于可以支持多个请求的控制器类型,因为它多个按钮,就意味着多个操作

144.Xml有哪几种解析方式?

a)Dom dom4j jdom

145.mysql的优化?

a)列名不用*,用具体列名
b)子查询改成左连接;
c)少用or,改成union;
d)where条件后面不要用函数去处理
e)少用not in和in,不走索引,改成exists和not exists,因为他们走索引;
f)少用like模糊查询
g)少用like
h)少用正则表达式
i)group by 字段时 会默认排序,这里后面加上order by null
j)查看执行计划,是否需要走索引;

  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是美婷吗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值