Java基础部分:
1. Java的“一次编写,处处运行”如何实现? Java在每个平台上都有Java虚拟机
Class是由虚拟机转换为对应的平台机器代码 2.描述jvm运行原理
Java平台是由Java虚拟机和Java应用程序接口搭建的,运行环境代表着Java平台,开发人员编写Java代码,将编译成字节码,再将字节码装入内存中,字节码进入虚拟机就会被解释器解释执行 3.为什么Java没有全局变量
(1) 全局变量破坏了引用的透明性 (2) 全局变量制造了命名空间冲突 4.main方法的关键字的作用
Public是一个访问修饰符 Static修饰的成员称为静态成员
5.Java是否存在内存泄漏? 存在
创建一个对象,不再使用,对象却一直被引用,这个对象
我用却无法被垃圾回收器回收,这就是内存泄漏 6.==和equals的区别
“==”除了比较基本数据之外都是比较的内存地址
“equals”除了没有重写equals方法的类之外都是比较内容
7.&和&&的区别(与)
(1)他们两都可以用作逻辑运算符,当两边结果为true,运算结果为true,只要有一方结果为false运算结果为false (2)&&在开发过程中用到的概率比&大,以为&&具有短路的功能只要第一个结果为false,就不会进行判断 8.构造器是否可被重写,规范是什么?
构造器不能被继承,因此不能被重写,但是可以被重载。 规范是:每一个类必须有自己的构造函数,负责构造自己这部分的构造。 9.Java的反射机制的原理
在运行状态中,对于任意一个类,就能够知道这个类的属性和方法.
功能:生成动态代理; 在运行时调用任意一个对象的方法; 在运行时判任意一个对象所属的方法
10.如何将String类型转化成Number类型
Integer类valueof方法可以将String转成Number类型
11.什么时值传递和引用传递?
对象被值传递,意味着传递了对象的一个副本,就算改变
了副 本,也不会影响对象的值;
对象被引用传递,意味着传递的并不是实际的对象,而是
对象的引用。
12.Java的访问修饰符是什么?
有四种访问权限;
Public是公共的被修饰的成员在任何类中都能被访问到 Protected是受保护的,受到该类所在的包所保护 Friendly是友好的,在成员的前面不写任何访问修饰符,默认是友好的
13.Java的基础类型有哪些?
Byte(字节) short(短整数) int(整型) long(长整型) float(浮点型) double(双精度) char(字符型) Boolean(布尔型)
14.switch中用于判断的表达式,可以用那些数据类型
Int char byte short 枚举 String
15.char型变量中能不能存贮一个中文汉字?为什么? 可以 Char型占用两个字符,一个汉字是两个字节,所以可以存储
16.静态变量和实例变量的区别
语法上:静态变量前要加static关键字,而实例变量不用 程序运行是的区别:实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。 17.是否可以从一个static方法内部发出对非static方法的调
用
不可以
因为非static方法是要与对象关联在一起,必须创建一个对象后,才可以在该方法上进行方法调用,而非static方法调用时不需要创建对象,可以直接调用; 18.Integer与int的区别
(1)int是基本的数据类型,integer是包装类 (2)int的默认值是0,Internet的默认值是null 19.重载(Overlord)与重写(override)的区别。参数列表相同,返回值不同的方法,是否是重载方法。
重载是在一个类里,方法名相同,参数不同 重写是子类继承父类,也就是覆盖了父类的方法 不是,因为重载必须要求参数列表不同
13.接口是否可继承接口?抽象类是否可实现接口?抽象类是否可继承具体类?
可以,可以,可以 接口可以继承接口;抽象类可以实现接口;抽象类可以继承具体类;
14.面向对象有哪三大特性?
封装。继承。多态。
(1)封装:将不公开的代码用private进行修饰,用get,set方法进行操作
(2)继承:用extend关键字实现子类对父类方法进行重写
(3)多态:声明父类方法,调用子类,可实现多个运行
状态。
15.抽象类(adstract calss)和接口(interface)的区别?
抽象类可以用普通方法,而接口中的方法全部是抽象的
16.如何理解Java中的Serialization(串行化)和Deserialization(反串型化)
串行化是指将一个对象的当前状态转换成字节流的过程,而反串型化则是将字节流转换成一个对象,打回原形。 17.String是基本数据类型吗?
(1)String是个类,不是基本的数据类型
(2)基本数据类型包括:Byte(字节) short(短整数) int(整型) long(长整型) float(浮点型) double(双精度) char(字符型)Boolean(布尔型) 18.String和StringBuffer,StringBuilder的区别。
String是不可变长度的字符串,而StringBuffer是个可变长的字符串,StringBuilder是给原对象增加字符,不是创建新对象
19.数组有没有length()这个方法?Sting有没有length()这个方法?
数组没有length()方法,有length的属性。
String有length()这个方法
20.final,finally,finalize的区别
Final用于声明属性,方法和类,表示属性不可变,方法不可覆盖,类不可继承
Finally是异常处理语句的一部分,表示总是执行 Finalize在垃圾收集器执行时会调用被回收对象
21.Error(错误),Exception(违例),RuntimeException(运行时异常)的区别
Error(错误)是Java运行环境中的内部错误或硬件问题 Exception(违例)表示需要程序进行处理的异常 RuntimeException(运行时异常)空指针异常
22.Java语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别如何使用
Throws是获取异常 Throw是抛出异常 Try是将会发生异常的语句括起来,从而进行异常处理 Cateh是如果有异常就会执行他里边的语句 Finlly是不论是否有异常都会进行执行语句
23.throw和throws的区别
Throws是用来声明一个方法可能抛出的所有异常 Throw是抛出一个具体的异常类型
24.常用的异常
空指针异常 算术异常
数组下标越界 IO异常
类型转换异常
找不到异常 SQL异常
25.线程的概念?线程的基本状态以及状态之间的关系 (1)概念:在单个程序中同时运行多个线程完成不同的工作,称为多线程
(2)基本状态:就绪状态,调用cpu后进去运行状态,运行过程中遇到阻塞事件,进入阻塞状态,等待阻塞状态结束后,重新进入就绪状态,如果没有阻塞事件,运行结束后,则进入结束状态。
26.sleep()和wait()有什麽区别? Sleep就是暂停当前线程一段时间,把cpu让给其他线程使用,过后会自动恢复。 Wait方法导致本线程放弃对象锁,进入等待等到本对象使用notify方法后本线程才进入就绪状态,等待执行。 27.多线程有几种实现方法?
两种;继承Thread类和实现Runnable接口
28.启动一个线程是用run()还是start()?
启动一个线程调用start()方法,run()方法是该线程所关联的执行代码。
29.线程的基本状态以及状态之间的关系
(1)新建状态(new):新建了一个线程对象。 (2)就绪状态(Runnable):运行状态,线程对象创建后,
其他线程调用的该对象的start()方法
(3)运行状态(Running):就绪状态的线程获取了cpu,执行程序代码;
(4)阻塞状态(Blocked):是线程因为某种原因放弃了cpu使用权,暂时停止运行;
(5)死亡状态(Dead):线程执行完了退出run()方法线程结束生命周期
30.set和list的区别,list和Map的区别;
(1)set是无序的,list是有序的
(2)list存储的是单个对象的集合,map存储键值对为对象的集合
33.同步方法。同步代码块区别?
(1)同步方法:在调用该的方法前,需要获得内置锁,否则处于阻塞状态; (2)同步代码块:被synchronized修饰的语句块会自动加上内置锁,实现同步; 34.描述Java锁机制
Java中所说的就是指内置锁,每个Java对象都可以作
为一个实现同步的锁,锁必须是引用类型,基本数据类型则不可用
35.HashMap和Hashtable的区别。
(1)HashMap和Hashtable都完成了map接口
的
(2)HashMap非线程安全的,而Hashtable是线程安全
(3)因为Hash table使用了syncronize关键字进行修饰,性能较差
36.说出ArrayList,vector,LinkedList的存储性能和特性。
(1)ArrayList和LinkedList都完成了list接口 (2)ArrayList底层是用数组实现的。而LinkedList使用链表实现的
(3)ArrayList在插入、删除需要移动数组元素,所以性能较差
37.Java动态代理的描述
代理模式是常用的Java设计模式,他的特征是代理与委托类有同样的接口,代理类主要负责为委托预处理消息,过滤消息,把消息转发给委托类,以及事后处理消息等; 38.为甚麽要使用单例模式?
(1)避免在开发过程中创建一个类有多个实例,而占用资源保证该类只创建一个对象
39.Java中垃圾回收有甚麽目的?甚麽时候进行垃圾回收?
目的:防止内存泄漏,有效的使用空闲的内存
当对象失去引用后,系统会在调度的时间对他占用的内存进行回收
40.Java的设计模式有哪些?
单例设计模式 工厂设计模式 适配器模式
代理设计模式 原型模式
观察者设计模式
41.Gc是什么?为甚麽要有GC?
Gc是垃圾回收的意思
如果对象超过作用域的范围就会自动回收内存
42.JDBC连接数据库的操作步骤?
加载JDBC驱动 创建数据库的连接 创建Statement对象 执行SQL语句
处理结果
关闭连接 43.Class.forName()方法有什麽作用?
返回与给定字符串相关联类或接口的Class对象
44.常见的运行时异常?
算术异常
类转换异常 非法参数异常
安全异常
下标越界异常 空指针异常
文件找不到异常 类找不到异常
45.List,set,Map是否继承自Collection接口
List,Set是。 Map不是
Map是键值对映射容器。
46.线程的sleep()方法和yield()方法有甚麽区别? (1)线程执行sleep()方法后转入阻塞状态,而执行yielb()方法后转入就绪状态;
(2)sleep()方法比yield()方法具有更好的可移植性 47.说出与线程同步以及线程调度的方法
(1)wait()使一个线程处于阻塞状态,并释放所持有
的对象的锁
(2)sleep()使一个正在运行的线程处于失眠状态,是一个静态的方法
Java web部分
48.甚麽是B/S和C/S?
B/S是浏览器 代表各类网站 C/S是客户端 代表窗口应用软件
49.如何设置servlet初始化参数?如何获取servlet初始化的参数
(1)在web.Xml里为每一个Servlet配置初始化参数 (2)通过ServletConfig对象实现Servlet初始化对象获取
50.Ajax是什麽? Ajax是采用了异步请求的方式,解决页面无刷新式提交的问题,改善页面用户体验效果;常用自动提示; 常用框架:Jquery 51.Http请求的Get与post方式的区别?
(1)get效率比post高
(2)get方式提交后,数据会在地址栏中显示出来,而post不会,所以post更安全
(3)get有数据长度的,post没有用数据大小的 (4)get提交使用字符方式提交。Post可以是字节方式提
交也可以是字符方式提交
52.说一说Servlet的生命周期?Servlet里的方法有哪些? (1)Servlet生命周期包括加载和实例化,初始化,处理请求以及服务结束;
(2)Servlet生命周期是由容器进行管理; 53.servletAPI中的forward()与redirect()的区别?
(1)forword是请求转发,redirect是重定向; (2)forword只能转发到自己的资源,redirect是无的 (3)forword的效率高于redirect; .什麽是jsp?
jsp是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。 55.jsp的优缺点?
优点:1.一次编写,到处运行; 2.系统的多平台支持; 3.强大的可伸缩性
4.多样化和强大的开发工具支持
缺点:1.增大服务器的压力
2.过于依赖Java的运行环境 3.复用性较低
56.jsp有哪些内置对象?
request, response, out, session, application, config, pagecontext, page, exception (1)request:请求对象 (2)response:响应对象 (3)session:表示一次会话 (4)application:标识web上下文
(5)out:是一个输出流,用来向客户端输出数据。 (6)exception:表示发生异常对象 (7)pageContext:管理jsp页面的上下文 (8)page:代表当前jsp页面 (9)config:标识servlet的配置 57.讲解jsp中的四种作用域?
四大作用域:page,request,session,application Page作用域:变量只能在当前页面上生效 Request:仅限于某一次请求
Session:浏览器和服务器之间存在的连接,只要浏览器不
关闭session就一直存在并且不会自动清空.
58. session和Cookie的区别?
(1)session和Cookie都是会话跟踪技术
(2)session是保存在服务端,Cookie是保存在客户端 (3) session可以存对象,Cookie只能存字符串 59.常用的web服务器有哪些?
Apache和tomcat 60.甚麽是Servlet?
Servlet就是java代码里写HTML,它主要作用就是处理逻辑请求和控制转发。 优点:方便
可移植性好
功能强大
61.jsp和servlet是甚麽区别和联系? (1)jsp经过编译就变成了servlt
(2)jsp擅长页面显示,servlet擅长逻辑控制 (3)jsp是servlet的一种简化;
联系:Jsp从本质上来讲是Servlet,所以Jsp具有Servlet
的功能
不同点:Jsp和Servlet两者创建的方式不一样
两者都可以形成Html页面,但是Jsp更直观、方便
62.web.xml文件中可以配置哪些内容?
比如:欢迎页,servlet,过滤器配置,配置
63.forword和redirect的区别?
(1)forward重定向后浏览器地址栏URL不变. 而redirect
的地址栏将改变为跳转后的新地址
(2)forward跳转只能是同一个Web应用程序的其他Web组件,而 redirect 可以是任意的URL
.说一下表达式语言(EL)的隐式对象及其作用? EL的隐式对象包括:pageContext、initParam(访问上
下文参数)、param(访问请求参数)、paramValues、header(访问请求头)、headerValues、cookie(访问cookie)、applicationScope(访问application作用域)、sessionScope(访问session作用域)、requestScope(访问request作用域)、pageScope(访问page作用域)。 65.使用过哪些JSTL标签
表达式控制标签:out、set、remove、cath 流程控制标签:if、choose、when、otherwise
循环标签:forEach
URL操作标签:import、url
66.静态(include)和动态include的区别?
(1)静态包含属于编译期包含,静态包含属于运行期包含 (2)动态包含可以带参数;
67.如何设置请求的编码以及响应内容的类型
编码:(1)通过请求对象的setCharacterEncoding方法
可以设置请求编码
(2)也可以统一编码UTF-8
响应:。。。。。。。。。。。。。。 68.甚麽是Web Service(网络服务)
Web Service(网络服务)就是通过通过网络调用其他网
站资源
优越性:(1)不管甚麽平台,都可以使用Web Service
(网络服务) (2)不用考虑兼容性问题
(3)可以轻易实现多种数据,多种服务的聚合 69.大型网站在架构上应当考虑哪些问题? 海量数据的处理 数据并发的处理 文件存贮的问题 数据关系的处理 数据索引的问题 分布式处理
数据安全性的分析 数据同步和集群的处理的问题 数据共享的渠道
70.使用过的应用服务器优化技术有哪些?
分布式缓存 异步操作 使用集群 代码优化
多线程 资源复用
数据持久化部分 71.ORM框架的原理是甚麽?
对象关系映射模式,他是将程序中的兑现自动持久化到关系数据库中;
学过的ORM框架是mybatits 72.甚麽是DAO模式?
Dao是一个为数据库提供了抽象接口的对象,主要定义操作的接口,例如:增加,删除,修改,按ID查询
73.MyBatis中的动态Sql是甚麽意思?
Mybatis动态sql语言可以被用在任意的sql语句映射中。 用于实现动态Sql的元素:if choose where Set
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务