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]")选取所有带有href属性的元素。ii.("[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.
(
"
p
.
i
n
t
r
o
"
)
选
取
所
有
c
l
a
s
s
=
"
i
n
t
r
o
"
的
<
p
>
元
素
。
i
i
i
.
("p.intro") 选取所有 class="intro" 的 <p> 元素。 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)查看执行计划,是否需要走索引;