广告
返回顶部
首页 > 资讯 > 后端开发 > Python >java面试大总结(3)
  • 870
分享到

java面试大总结(3)

java 2023-01-31 06:01:46 870人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

101、java中会存在内存泄漏吗,请简单描述。 会。如:int i,i2;  return (i-i2);   //when i为足够大的正数,i2为足够大的负数。结果会造成溢位,导致错误。  

101、java中会存在内存泄漏吗,请简单描述。

会。如:int i,i2;  return (i-i2);   //when i为足够大的正数,i2为足够大的负数。结果会造成溢位,导致错误。

 

102、java中实现多态的机制是什么?

方法的重写Overriding重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。

 

103、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?

对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"当GC确定一些对象为"不可达"时,GC就有责任回收这些内存空间。可以。程序员可以手动执行System.gc(),通知GC运行,但是Java语言规范并不保证GC一定会执行。

 

104、静态变量和实例变量的区别?

static i = 10; //常量

class A a;  a.i =10;//可变

 

105、什么是java序列化,如何实现java序列化?

序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。

 

106、是否可以从一个static方法内部发出对非static方法的调用?

不可以,如果其中包含对象的method();不能保证对象初始化.

107、写clone()方法时,通常都有一行代码,是什么?

Clone 有缺省行为,super.clone();他负责产生正确大小的空间,并逐位复制。

 

108、在JAVA中,如何跳出当前的多重嵌套循环?

用break; return 方法。

 

109、List、Map、Set三个接口,存取元素时,各有什么特点?

List 特定次序来持有元素,可有重复元素。Set 无法拥有重复元素,内部排序。Map 保存key-value值,value可多值

 

110、J2EE是什么?

J2EE是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterpriese application model).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietn tier)组件,WEB层和组件,Business层和组件,企业信息系统(EIS)层。

 

111、UML方面

标准建模语言UML。用例图,静态图(包括类图、对象图和包图),行为图,交互图(顺序图,合作图),实现图。

 

112、说出一些常用的类,包,接口,请各举5

常用的类:BufferedReader  BufferedWriter  FileReader  FileWirter  String  Integer

常用的包:java.lang  java.awt  java.io  java.util  java.sql

常用的接口:Remote  List  Map  Document  nodeList

 

113开发中都用到了那些设计模式?用在什么场合?

每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。主要用到了mvc的设计模式。用来开发jsP/Servlet或者J2EE的相关应用。简单工厂模式等。

 

114、jsp有哪些动作?作用分别是什么?

JSP共有以下6种基本动作

jsp:include:在页面被请求的时候引入一个文件。

jsp:useBean:寻找或者实例化一个JavaBean

jsp:setProperty:设置JavaBean的属性。

jsp:getProperty:输出某个JavaBean的属性。

jsp:forward:把请求转到一个新的页面。

jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记。

 

115、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?

可以继承其他类或完成其他接口,在swing编程中常用此方式。

 

116、应用服务器与WEB SERVER的区别?

1应用服务器处理业务逻辑web服务器则主要是让客户可以通过浏览器进行访问

2。应用服务器处理业务逻辑,web服务器是用于处理html文件的

web服务器通常比应用服务器简单,如apache就是web服务器,Jboss 就是EJB应用服务器。应用服务器:WeblogicTomcat、Jboss;WEB SERVER:IIS、 Apache

 

117、BS与CS的联系与区别。

C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如oracle、Sybase、InfORMixSQL Server。客户端需要安装专用的客户端软件。B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server数据库。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。浏览器通过Web Server 同数据库进行数据交互。

C/S 与 B/S 区别:

1.硬件环境不同:

  C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务.

  B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, 租用设备. 信息自己管理. 有比C/S更强的适应范围, 一般只要有

操作系统和浏览器就行

2.对安全要求不同

  C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强. 一般高度机密的信息系统采用C/S 结构适宜. 可以通过B/S发布部分可公开

信息.

  B/S 建立在广域网之上, 对安全的控制能力相对弱, 可能面向不可知的用户。

3.对程序架构不同

  C/S 程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可以较少考虑.

  B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上. 比C/S有更高的要求 B/S结构的程序架构是发展的趋势, 从MS

.net系列的BizTalk 2000 Exchange 2000等, 全面支持网络的构件搭建的系统. SUN 和IBM推的JavaBean 构件技术等,使 B/S更加成熟.

4.软件重用不同

  C/S 程序可以不可避免的整体性考虑, 构件的重用性不如在B/S要求下的构件的重用性好.

  B/S 对的多重结构,要求构件相对独立的功能. 能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子

5.系统维护不同 

  C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统

  B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级.

6.处理问题不同

  C/S 程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统

  B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S无法作到的. 与操作系统平台关系最小.

7.用户接口不同

  C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高

  B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本.

8.信息流不同

  C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低

  B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化, 更像交易中心。

 

118linux线程,GDI类的解释。

LINUX实现的就是基于核心轻量级进程的"一对一"线程模型,一个线程实体对应一个核心轻量级进程,而线程之间的管理在核外函数库中实现。 GDI类为图像设备编程接口类库。

 

119、STRUTS的应用(如STRUTS架构)

Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。 Struts有如下的主要功能: 一.包含一个controller servlet,能将用户的请求发送到相应的Action对象。 二.JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。 三.提供了一系列实用对象:XML处理、通过Java reflection apis自动处理JavaBeans属性、国际化的提示和消息。

 

120、Jdo是什么?

JDO是Java对象持久化的新的规范,为java data object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。JDO提供了透明的对象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码(如JDBC API的使用)。这些繁琐的例行工作已经转移到JDO产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。另外,JDO很灵活,因为它可以在任何数据底层上运行。JDBC只是面向关系数据库(RDBMS)JDO更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMS)等等,使得应用可移植性更强

 

121、内部类可以引用他包含类的成员吗?有没有什么限制?

一个内部类对象可以访问创建它的外部类对象的内容

 

122、WEB SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。

Web Service是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。JAXP(Java API for XML Parsing) 定义了在Java中使用DOM, SAX, XSLT的通用的接口。这样在你的程序中你只要使用这些通用的接口,当你需要改变具体的实现时候也不需要修改代码。JAXM(Java API for XML Messaging) 是为SOAP通信提供访问方法和传输机制的API。WSDL是一种 XML 格式,用于将网络服务描述为一组端点,这些端点对包含面向文档信息或面向过程信息的消息进行操作。这种格式首先对操作和消息进行抽象描述,然后将其绑定到具体的网络协议和消息格式上以定义端点。相关的具体端点即组合成为抽象端点(服务)。SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML编码信息的轻量级协议。 UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。

 

3、int Integer 的区别:

Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。

 

原始类型封装类

 

booleanBoolean

 

charCharacter

 

byteByte

 

shortShort

 

intInteger

 

longLong

 

floatFloat

 

doubleDouble

 

引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。

 

String类和StringBuffer类的区别:

 

它们都是处理字符串的类,但是它们有一个最大的区别,那就是, String对象是存储你不能改动的文本字符串,相反,如果你希望改动,则应使用StringBuffer类作为替换

 

StringBuffer是可变的而String是不可变的.

 

而且String用得多个的话会占用不同的内存.

 

如:String str = "bb";

 

str = "aa";

 

前一个bb的内存地址不变,当又给它赋值为aa时它(str)又指向aa的地址.

 

而StringBuffer就不会这样.

 

:"=="比较的是两个对象的地址,(在字符串中)"equals()"比较的是两个对象的值.

 

 

 

 

Collection 层次结构 中的根接口

 

Collection 表示一组对象,这些对象也称为 collection 的元素

 

Java集合的缺点:类型未知

 

总的说来,Java API中所用的集合类,都是实现了Collection接口,他的一个类继承结构如下:

 

 

 

Collection<--list><--vector>

 

Collection<--list><--arraylist>

 

Collection<--list><--linkedlist>

 

Collection<--set><--hashset>

 

Collection<--set><--hashset><--linkedhashset>

 

Collection<--set><--sortedset><--treeset>

 

 

 

List 是基于Array,可以有重复的值

 

Vector : 基于Array的List很重要的一点就是Vector是“sychronized”的,这个也是Vector和ArrayList的唯一的区别。

 

 

 

ArrayList:基于Array上的链表,但是不同的是ArrayList不是同步的

 

LinkedList:它不是基于Array的,所以不受Array性能的限制。它每一个节点(Node)都包含两方面的内容:1.节点本身的数据(data);2.下一个节点的信息(nextNode)。所以当对LinkedList做添加,删除动作的时候就不用像基于Array的List一样,必须进行大量的数据移动。只要更改nextNode的相关信息就可以实现了。这就是LinkedList的优势

 

HashSet:虽然Set同List都实现了Collection接口,但是他们的实现方式却大不一样。List基本上都是以Array为基础。但是Set则是在HashMap的基础上来实现的,这个就是Set和List的根本区别。HashSet的存储方式是把HashMap中的Key作为Set的对应存储

 

Set总结

 

1. Set实现的基础是Map(HashMap);

 

2. Set中的元素是不能重复的,如果使用add(Object obj)方法添加已经存在的对象,则会覆盖前面的对象;

 

 

性能时Map所要面对的一个大问题。如果你知道get()时怎么工作的,你就会发觉(比方说)ArrayList里面找对象会是相当慢的。而这正是 HashMap的强项。它不是慢慢地一个个地找这个键,而是用了一种被称为hash code的特殊值来进行查找的。散列(hash)时一种算法,它会从目标对象当中提取一些信息,然后生成一个表示这个对象的“相对独特”的int。 hashCode()是Object根类的方法,因此所有Java对象都能生成hash code。HashMap则利用对象的hashCode()来进行快速的查找。这样性能就有了急剧的提高。

 

设计模式方面

 

1、开发中都用到了那些设计模式?用在什么场合?

答:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需再重复相同的工作。主要用到了MVC的设计模式。用来开发JSP/Servlet或者J2EE的相关应用。简单工厂模式等。
2、UML方面

答: 标准建模语言UML。 用例图,  静态图 ( 包括 类图、对象图 和 包图 ),  行为图,  交互图
( 顺序图, 合作图 ),  实现图,
*******************************************************************************

1概述struts,以及struts如何实现MVC架构的?
答:struts framework是一种基于java的技术,Web应用程序开发人员通过struts framework即可充分利用面向对象设计、代码重用以及“编写一次、到处运行”的优点。Struts提供了一种创建Web应用程序的框架,其中对应用程序的显示、表示和数据的后端代码进行了抽象。Struts采用jsp作为MVC的视图, 由ActionServlet具体指定的action动作类作为控制器即MVC中的C负责视图与模型之间的交互。控制器的每个入口点都由名为struts-config.xml的配置文件设置。该文件把来自视图的请求映射为特定的JAVA类以进行相应的处理,控制器还指定下一个视图的位置。Struts中的模型主要指的就是javabean,它是模型的代表,主要封装数据和业务逻辑。

Struts的处理流程:
1 控制器进行初始化工作,读取配置文件,为不同的Struts模块初始化相应的ModulConfig对象。
2 控制器接收Http请求,并从ActionConfig中找出对应于该请求的Action子类,如果没有对应的Action,控制器直接将请求转发给JSP或者静态页面,否则控制器将请求分发至具体的Action类进行处理。
3 在控制器调用具体的Action的Execute方法之前,ActionForm对象将利用Http请求中的参数来填充自已。还可以在ActionForm类中调用Validate方法来检查请求参数的合法性,并且可以返回一个包含所有错误信息的ActionErrors对象。
4 执行具体的的Execute的方法,它负责执行相应的业务逻辑。执行完后,返回一个ActionForward对象,控制器通过该ActionForward对象来进行转发工作。也可以把Action要处理的业务逻辑封装在JavaBean中,如果系统中还有EJB,那么通过JavaBean调用EJB以完成业务处理;如果没有EJB,那么就直接在JavaBean中连接数据库,进行数据库相关的操作。
*******************************************************************************

2概述MVC体系结构

答:MVC包括三类对象,model是应用对象,view是视图,controller是控制器,它定义用户界面对用户输入的响应方式。
在MVC体系中,模型通常被称为“业务逻辑”,是真正完成任务的代码视图就是使用界面,反映数据的变化。控制器控制着模型和视图之间的交互过程,它决定着向用户返回怎样的视图、检查通过界面输入的信息以及选择处理输入信息的模型
在MVC中,表示层和逻辑层分离,各部分可相互独立进行开发,便于开发和维护,提高了开发效率。

 

3 多线程的优点

答:可分两方面来答:
? 相对于单线程而言

可以响应多任务的并发操作

多线程取消了主循环和轮流检测机制,一个线程可以暂停而不阻止系统其他的部分的执行,而且当程序中一个线程阻塞时,只有那个被阻塞的线程暂停,所有其他的线程继续执行。

? 相对于进程而言:(可以答也可以不答)

它所要求的开销比较小,转换成本较小。

所有线程共享同一地址空间,相互协作。

彼此之间通信很容易。
4   EJB概述
答:EJB是企业级的JavaBean,它提供了构建企业级业务逻辑的一种组件模型。
    EJB
分为三种:Session Bean  Entity Bean  Message-Driven Bean 三种,其中Session Bean分为有状态和无状态Session Bean两种,Entity Bean分为容器管理的Entity Bean ( CMP ) Bean管理的 Entity Bean ( BMP )。每一个EJB由一个远程接口、一个本地接口和一个EJB容器实现组成,远程接口声明了提供给EJB客户调用的各种应用方法,本地接口声明了创建新的EJB实例的create方法、寻找EJB实例的查找(finder)方法以及刪除EJB实例的remove方法。EJB容器提供了EJB的运行环境和生命周期的管理。

4用java访问Oracle数据库、取得记录并输出到界面

答:……………………..
   Class.forName(“oracle.jdbc.driver.OracleDriver”);
   Connection conn=DriverManager.getConnection( url , username , passWord );
   Statement stmt=conn.createStatement();
   String str=”select * from  [table]”;
   ResultSet rs=stmt.executeQuery(str);
   While(rs.next())
   {
     ……………………
   }
   rs.close();
   stmt.close();
   conn.close();

 

5概述java垃圾回收机制

答:它的工作原理如下:
    当不存在对一个对象的引用时,我们就假定不再需要那个对象,那个对象所占有的存储单元可以被收回,可通过System.gc()方法回收,但一般要把不再引用的对象标志为null为佳。

 

6、 java类是否可以多继承,怎么实现多继承?

答:java没有多继承,但可以通过接口的形式来达到多继承的目地。

 

7面向对象的特点

答:面向对象有三大特点:封装、继承、多态。(如果要回答四个,可加上  抽象性  这一特点)

 

9、接口有什么优点

答:接口有以下优点:
1 接口只是一个框架而没有实现,因此在接口定义时不需要考虑接口中的方法如何实现。
2 利用接口可达到实现多继承的目地。
3 可以在不暴露对象的类的前提下,暴露对象的编程接口。
4 不用强迫类关系在无关类中截获相似处(采用适配器就可以了)。
5 声明想执行的一个或多个方法。

 

10、 ArrayList 与 Vector 的区别

答:主要从两个方面来说明:
? 安全、效率方面
如果要实现同步安全,则要用Vector,否则则用ArrayList,因为ArrayList不考虑同步安全的问题,所以效率要高些。

? 资源方面
当两者的容量已满时,它们都会自动增长其容量,但Vector是按其容量的一倍增长,而ArrayList则按其容量的50%增加,所以Vector更能节省资源。

 

11、MVC结构在Jtable中怎样实现的,这种结构有什么好处?

答、在Jtable中不存储它的单元数据,它的所有实例把它们的单元值交给实现了TableModel接口的对象来维护和管理,所以在MVC结构中,Jtable的表格主要体现了一个V的作用,其表格将数据变化体现出来,而数据模型则体现了M的作用,封装数据和业务逻辑。
注:详细解说见第二题
12、在控制台中输入一个字符串,然后按照逆序打印出来

答:import java.io.*;
   
public  class  test{
public static void main(String args[]){
    String A=””;
    String B=””;
    String C=””;
    try{
       BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
       If ((B=br.readLine())!=null){
          A=A+B;
       }
      
       for(int I=A.length()-1;I>=0;I--){
          C=C+A.substring(I,I+1);
}
System.out.println(C);
    }
    catch(Exception e){
        System.out.println(e.getMessage());
    }
}
}

 

13、java是否存在内存泄露

答:存在,当一个对象引用另一对象后,当另一对象为空时,会出现内存泄露。

 

14、String类的值是否可以改变

答:String类的值在初始后不能改变,如果要改变,可转换为StringBuffer类,这个类的值是可以动态改变的。(这里主要考String 和 StringBuffer 的区别)
17、java 有几种修饰符?默认的是什么?

答:(注:修饰符是影响类、变量及成员方法的生存空间和可访问性的关键字)
修饰符 类 成员方法 成员变量 局部变量
abstract √   √        -       -
static   -   √        √       -
public  √   √        √        -
protected - √         √       -
private - √ √ -
private protected - √ √ -
synchronized - √ - -
native - √ - -
volatile - - √ -
final √ √ √ -
transient - - √ √
 
以下是访问控制修饰符: 默认为friendly

修饰符 同类 同包 子孙类 不同包
public √ √ √ √
protected √ √ √ -
friendly √ √ - -
private √ - - -

 

18、toString方法的概述

答:因为每个类都继承了Object类,所以都实现了toString()方法。
    通过toString()方法可以决定所创建对象的字符串表达形式。

 

19、Object类的概述

答:Object类是所有其他的类的超类,Object的一个变量可以引用任何其他类的对象。因为数组是作为类实现的,所以Object的一个变量也可以引用任何数组,它包括以下几种方法:
    clone()  equals()  finalize()  getClass()  hashCode()  notify()  notifyAll()  toString()  wait()

 

20、java特点

答:java具有以下几个主要特点:
? 简单性

? 面向对象:JAVA是完全面向对象的,它支持静态和动态风格的代码继承及重用
? 分布式:包括数据分布和操作分布
? 健壮性:java系统仔细检测对内存的每次访问,确认它是否合法,而且在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。
? 结构中立

? 安全性:java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用***等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。
? 与平台无关:java写的应用程序不用修改就可在不同的软硬平台上运行。平台无关性有两种:源代码级和目标代码级。 Java主要靠JAVA虚拟机在目标代码级上实现平台无关性
? 解释执性:运行JAVA程序时,它首先被编译成字节代码,字节代码非常类似机器码,执行效率非常高。
? 高性能
? 多性程

? 动态性:它允许程序动态的装入运行时需要的类。

 

21、什么叫抽象类?抽象类跟接口有什么区别?为什么引进数据接口概念?

答:具有关键字abstract ,在实现内容上没有完全定义的类就叫抽象类。
抽象类和接口的区别如下:
在类继承抽象类时,只需实现部分具体方法和全部抽象方法,而实现接口则要实现里面的全部方法。

②在接口中无成员变量,而抽象类中可有成员变量。

在Java中引进接口主要是为了解决多继承的问题。

 

22、doGet与doPut的区别?

答: doPut会把地址作为一个文件写到服务器,而doGet不会,而只显示在地址栏。

 

23、多线程实现有那几种方法,同步有哪几种方法?

答:实现同步主要有两种方法:1.synchronized  2.wait  notify
实现多线程主要继承Thread 类和实现Runnable接口。

 

24、JSP页面的跳转?

答:jsp页面实现跳转主要有jsp:forward 和 sendRedirect 两种方法
jsp:forward在本容器内跳转 跳转后,地址栏地址不变 。效率高。跳转后立即结束本页的内容。

sendRedirect:在容器之间的跳转,跳转后地址栏地址为跳转后的地址,效率较低。
通常采用jsp:forward方式跳转。

25、类变量的初始化

答:在Java中类变量在局部中一定要初始化,因为局部变量会覆盖全局变量,否则会报错:变量未初始化。全局变量则可以不初始化,而到具体的内部方法或其他的类成员中初始化。

 

26、数组的定义

答:数组是作为一种对象实现的。数组元素可以包含作何类型值,但数组里面的每个元素的类型必须一致
创建数组步聚如下:

? 声明

? 构造

? 初始化

 

27、Hastable 与HashMap的区别?

答:Hashtable和Hashmap的主要区别如下:
? Hashtable是同步的,而HashMap不是同步的。所以不要求同步的时候,用HashMap的效率较高? Hashtable版本较HashMap版本低。

--结束END--

本文标题: java面试大总结(3)

本文链接: https://www.lsjlt.com/news/189897.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java面试大总结(3)
    101、java中会存在内存泄漏吗,请简单描述。 会。如:int i,i2;  return (i-i2);   //when i为足够大的正数,i2为足够大的负数。结果会造成溢位,导致错误。   ...
    99+
    2023-01-31
    java
  • 2020年3月Android面试总结:
    前言: 由于新冠状病毒隔离的原因 去年离职到现在一直没有办法找工作 在深圳呆了一个多月了 java基础也复习了一遍 总体来说还是有些收获...
    99+
    2022-06-06
    Android
  • JAVA JVM面试题总结
    目录JVM 的主要作用是什么?请你描述一下 Java 的内存区域?请你描述一下 Java 中的类加载机制?加载验证文件格式验证元数据验证字节码验证符号引用验证准备解析初始化使用卸载在...
    99+
    2022-11-12
  • 面试失败的经验大总结!(附面试技巧)
    那我们正式开始一、面试为什么重要你只知道找工作要面试,但是你从来没有想过为什么公司会用面试这种方式来确定一个人是否能胜任一份工作?试想一下,李佳琦和薇娅是带货主播,其实也是销售。假如他们每天开直播,只是单纯的把产品摆在直播间,然后等人进来,...
    99+
    2015-04-17
    PHP面试 PHP面试题
  • java锁synchronized面试常问总结
    目录synchronized都问啥?synchronized是什么?synchronized锁什么?synchronized怎么用?结语synchronized都问啥? 如果Jav...
    99+
    2022-12-08
    java synchronized面试 java synchronized锁
  • Java经典面试题总结(一)
    Java经典面试题总结(一) 题一:Java编译运行原理题二:JDK,JVM,JRE三者之间的关系题三:谈一下对冯诺依曼体系的了解题四:重载与重写的区别题五:拆箱装箱是指什么? 题一:Java编译运行原理 Java源代码通过...
    99+
    2023-08-30
    java 开发语言
  • MySQL面试总结
    MySQL面试总结 # MySQL的存储引擎 `MyISAM`(默认表类型):非事务的存储引擎,基于传统的`ISAM`(有索引的顺序访问方法)类型,是存储记录和文件的标准方法,不是事务安全,不支持外键,适用于频繁的查询。表锁,不会出现死锁,...
    99+
    2021-08-21
    MySQL面试总结
  • Redis面试总结
    什么是redisRedis 是一个基于内存的高性能key-value数据库。 (有空再补充,有理解错误或不足欢迎指正)Reids的特点Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统...
    99+
    2023-06-02
  • python 面试总结
    金* python开发工程师:1. 字符串连接+和join的区别:主要考察两种实现方式内存管理:       字符串对象是不可改变的,Python创建一个字符串后,你不能把这个字符中的某一部分改变。任何对字符串的操作包括'+'操作符, 每次...
    99+
    2023-01-31
    python
  • Java面试问题知识点总结
    本篇文章会对面试中常遇到的Java技术点进行全面深入的总结(阅读本文需要有一定的Java基础;若您初涉Java,可以通过这些问题建立起对Java初步的印象,待有了一定基础后再后过头来看收获会更大),喜欢的朋友可以参考下。1. Java中的原...
    99+
    2023-05-31
    java 面试 ava
  • Java线程池高频面试题总结
    目录1、在启动线程时,为什么要通过调用方法start执行方法run,而不能直接执行方法run?2、方法sleep、join和yield的区别有哪些?3.为什么方法wait、notif...
    99+
    2022-11-12
  • Java并发基础常见面试题(总结)
    本篇文章给大家总结了一下Java并发基础常见面试题,有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。1. 什么是线程和进程1.1. 何为进程进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程...
    99+
    2015-12-07
    java面试题 spring Java
  • Java面试之高级特性基础总结
    目录1.为什么 Java 中只有值传递2.static 关键字使用场景3.Exception 和 Error 有什么区别4.Checked Exception 和 Unchecked...
    99+
    2023-01-11
    Java高级特性基础 Java高级特性
  • Java 多线程学习总结3
    在上一篇中,我们当然希望a++,b++执行完之后,show方法再来show.我们需要的是“原子”动作,一次性地把a++,b++不间断地执行。在java中是利用“互斥”的方法,互斥谁呢?互斥的是相同对象的加锁代码。如果我们把第一篇的SomeB...
    99+
    2023-01-31
    多线程 Java
  • mysql知识点+面试总结
    目录 1 mysql介绍 2 数据库常见语法 3 数据库表的常见语法 4 其他常见语法(日期,查询表字段) 5 JDBC开发步骤 6 索引 6.1 索引常见语法 7 常见面试总结 8 java集成数据库监控页面 1 mysql介绍 ...
    99+
    2023-09-04
    mysql 面试 数据库
  • 数据库面试题总结
    文章目录 一、索引相关(1)什么是索引(2)索引是个什么样的数据结构呢(3)为什么使用索引?(4)主键和索引的区别(5)说一说索引的底层实现?(6)索引有哪些优缺点?(7)联合索引是什么(8)MySQL索引种类(9)索引的基本原...
    99+
    2023-08-16
    数据库 java 面试 python mysql
  • Java基础面试题&知识点总结(上篇)
    大家好,我是栗筝i,从 2022 年 10 月份开始,我持续梳理出了全面的 Java 技术栈内容,一方面是对自己学习内容进行整合梳理,另一方面是希望对大家有所帮助,使我们一同进步。得到了很多读者的...
    99+
    2023-10-25
    Java面试题 Java知识点 Java基础面试题
  • 2021年最新Redis面试题汇总(3)
    目录1、Redis 怎么保证高可用、有哪些集群模式2、主从复制​3、哨兵1)哨兵故障检测2)哨兵故障转移流程4、集群模式​5、集群选举6、如何保证集群在线扩容...
    99+
    2022-11-12
  • 总结BAT及各大互联网公司2014前端笔试面试题
    本篇内容主要讲解“总结BAT及各大互联网公司2014前端笔试面试题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“总结BAT及各大互联网公司2014前端笔试面试题...
    99+
    2022-10-19
  • Android 面试精华题目总结
    下面的题目都是楼主在android交流群大家面试时遇到的,如果大家有好的题目或者好的见解欢迎分享,楼主将长期维护此帖。 某公司高级面试题(2015-03-14)【感谢helde...
    99+
    2022-06-06
    面试 Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作