亚信联创java面试题_亚信联创面试题及答案

1. Vector & ArrayList

1) Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的同步必然要影响性能,因此,ArrayList的性能比Vector好。

2) 当Vector或ArrayList中的元素超过它的初始大小时,Vector会将它的容量翻倍,而ArrayList只增加50%的大小,这样,ArrayList就有利于节约内存空间。

2 jsp内置对象:

request 用户端请求,此请求会包含来自GET/POST请求的参数

response 网页传回用户端的回应 包含了响应客户请求的有关信息

pageContext 网页的属性是在这里管理 页面上下文对象 提供了对JSP页面内所有的对象及名字空间的访问

session 与请求有关的会话期,主要用于跟踪对话 用来保存客户端状态信息 此对象代表服务器与客户端所建立的会话

application servlet 应用程序对象 负责提供应用程序在服务器中运行时的一些全局信息application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作

out 用来传送回应的输出 输出对象

config 配置对象 提供一些配置信息

page JSP网页本身 页面对象 代表了正在运行的由JSP文件产生的类对象

exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象

Java内存溢出

原因有很多种,比如:

1.数据量过于庞大;死循环 ;静态变量和静态方法过多;递归;无法确定是否被引用的对象;

2.虚拟机不回收内存(内存泄漏);

说白了就是程序运行要用到的内存大于虚拟机能提供的最大内存就发生内存溢出了。

内存溢出是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于虚拟机能提供的最大内存

Java异常处理机制

1. Java程序在执行过程中如果出现了异常,会生成一个异常对象

2. 这个异常对象会被交给java运行时环境(jre),这一提交过程被称为抛出(throw)异常

3. 当jre得到一个异常对象时,它会寻找能处理这一异常的代码。找到能处理这一异常的方法后,jre会把这一异常对象交给这个方法进行处理,这一过程被称为异常捕获

4. 如果 gre 找不到可以捕获异常的方法,则jre将终止,相应的java程序也将退出

C++中的虚函数和纯虚函数用法 象这样定义的就是纯虚函数 virtual void

f(void) = 0; 象这样的就是虚函 virtual void f(void);  1.虚函数和纯虚函数可以定义在同一个类(class)中,含有纯虚函数的类被称为抽象类(abstract class),而只含有虚函数的类(class)不能被称为抽象类(abstract class)。

2.虚函数可以被直接使用,也可以被子类(sub class)重载以后以多态的形式调用,而纯虚函数必须在子类(sub class)中实现该函数才可以使用,因为纯虚函数在基类(base class)只有声明而没有定义。

3.虚函数和纯虚函数都可以在子类(sub class)中被重载,以多态的形式被调用。

4.虚函数和纯虚函数通常存在于抽象基类(abstract base class -ABC)之中,被继承的子类重载,目的是提供一个统一的接口。 …

5. 虚函数的定义形式:virtual {method body}

纯虚函数的定义形式:virtual { } = 0;

在虚函数和纯虚函数的定义中不能有static标识符,原因很简单,被static修饰的函数在编译时候要求前期bind,然而虚函数却是动态绑定(run-time bind),而且被两者修饰的函数生命周期(life recycle)也不一样。

6. 如果一个类中含有纯虚函数,那么任何试图对该类进行实例化的语句都将导致错误的产生,因为抽象基类(ABC)是不能被直接调用的。必须被子类继承重载以后,根据要求调用其子类的方法

Sizeof简单的说其作

用就是返回一个对象或者类型所占的内存字节数。

sizeof有三种语法形式,如下:

1) sizeof( object ); // sizeof( 对象 );

2) sizeof( type_name ); // sizeof( 类型 );

3) sizeof object; // sizeof 对象;

“protected” 修饰的方法和属性对于包外的子类是可见的

1. 公共访问控制符 public :如果一个类被声明为公共类,表明它可以被所有的其

它类所访问和引用。用 public 修饰的类的域称为公共域。如果公共域属于一个公共类,则它可以被所有的其他类所引用。

2. 私有访问控制符 private :用 private 修饰的成员变量 ( 域 ) 只能被该类自身所访

问,而不能被任何其它类 ( 包括子类 ) 所引用。

3. 保护访问控制符 protected :用 protected 修饰的成员变量可以被三种类所引用:

该类自身;与它在同一个包中的其它类;在其它包中的该类的子类。使用修饰符 protected 的主要作用是允许其它包中它的子类来访问父类的特定属性。

C++异常处理机制

.其强大的能力表现在:

A.把可能出现异常的代码和异常处理代码隔离开,结构更清晰.

B.把内层错误的处理直接转移到适当的外层来处理,化简了处理

流程.传统的手段是通过一层层返回错误码把错误处理转移到

上层,上层再转移到上上层,当层数过多时将需要非常多的判断,

以采取适当的策略.

C.局部出现异常时,在执行处理代码之前,会执行堆栈回退,即为

所有局部对象调用析构函数,保证局部对象行为良好.

D.可以在出现异常时保证不产生内存泄漏.通过适当的try,catch

布局,可以保证delete pobj;一定被执行.

E.在出现异常时,能够获取异常的信息,指出异常原因.

并可以给用户优雅的提示.

F.可以在处理块中尝试错误恢复.保证程序几乎不会崩溃.

通过适当处理,即使出现除0异常,内存访问违例,也能

让程序不崩溃,继续运行,这种能力在某些情况下及其重要.

在Java语言中,static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,

被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享

01 public static int searchRecursively(int[] data, int key) {

03  if (data == null || data.length < 1)

05   return -1;

07  return doSearchRecursively(data, 0, data.length - 1, key);

09 }

12 private static int doSearchRecursively(int[] data, int low, int high,int key) {

14  if (low > high)

16   return -1;

18  int mid = (low + high) / 2;

20  if (key < data[mid]) {

22   return doSearchRecursively(data, low, mid - 1, key);

24  } else if (key > data[mid]) {

26   return doSearchRecursively(data, mid + 1, high, key);

27

28  } else {

30   return mid;

1 HashMap不是线程安全的

2 HashTable是线程安全的

HashMap完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。

HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。

HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。

Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interf-ace的一个实现。

最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。

在jsp中include有两种形式,分别是Include指令:和include动作:

两者最重要的区别:JSP指令,是将被引入的JSP与原JSP融合到一起,而这个融合过程是在翻译阶段进行的

jsp页面是把include指令元素()所指定的页面的实际内容(也就是代码段)加入到引入它的jsp页面中,合成一个文件后被jsp容器将它转化成servlet。可以看到这时会产生一个临时class文件和一个servlet源文件。而动作元素()是在请求处理阶段引入的,会被JSP容器生成两个临时class文件和两个servlet原文件。而引入的只是servlet的输出结果,即JspWriter对象的输出结果,而不是jsp的源代码。

SESSION传值

如果是要利用SESSION将2.jsp传到1.jsp,要保证1.jsp和2.jsp在一个会话期(即同在1个session),只要用超连接的形式到1.jsp即可.如果是要提交表单的话,你form里的action属性要是post方式,即

.在2.jsp里写setAttribute,1.jsp写getAttribute是绝对没有问题的.

亚信联创面试题总结2017-09-09 18:12 | #2楼

1、struts2,spring,xml,js,hibernate缓存方面的问题

2、java的垃圾回收机制最简单的让我说一个

4、线程和多线程

5、JAVA调用数据库的过程

6、简单的模式,策略(单例模式,策略,工厂之类)

7、数据库的知识

8、简单的Java编程(如:简单递归)要运用递归,就必须满足

(1).原问题可以层层转化为规模越来越小的子问题

(2).对于规模足够小的问题,能够直接得解

9、软件生命周期这个概念

10、ssh

11、spring有哪些作用

12、strut2的内部逻辑、spring的注入方式、用过哪些io接口

13、内部类,异常,多态的考得很多,编程题乘法口诀表,还有输入一段字符串,输出字母个数,数字个数,空格个数,特殊字符个数,就这两道

14、Java的集合,内存管理,线程

15、缓存机制

16、MVC 原理,J2EE,如何优化数据库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371200.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTTP协议之http状态码详解

什么是HTTP状态码 HTTP状态码的作用是&#xff1a;Web服务器用来告诉客户端&#xff0c;发生了什么事。 状态码位于HTTP Response 的第一行中&#xff0c;会返回一个”三位数字的状态码“和一个“状态消息”。 ”三位数字的状态码“便于程序进行处理&#xff0c; “状态消息”更…

有用的Ant构建标签

问题&#xff1a; 如何在ant文件中执行以下任务&#xff1f; 制作zip文件。 运行命令。 将文件复制到远程计算机。 在远程Linux机器上运行命令。 打开输入框并响应输入值。 拨打蚂蚁电话。 答案&#xff1a; 1.制作zip文件&#xff1a; 以下是在ant中制作zip文件的xml…

poj-2955-Brackets-区间DP

poj-2955-Brackets-区间DP BracketsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 9014 Accepted: 4829Description We give the following inductive definition of a “regular brackets” sequence: the empty sequence is a regular brackets sequence,if s …

Python调用(运行)外部程序

在Python中可以方便地使用os模块运行其他的脚本或者程序&#xff0c;这样就可以在脚本中直接使用其他脚本&#xff0c;或者程序提供的功能&#xff0c;而不必再次编写实现该功能的代码。为了更好地控制运行的进程&#xff0c;可以使用win32process模块中的函数。如果想进一步控…

Java中已检查和未检查的异常

Java有两种类型的异常-已检查和未检查。 简而言之&#xff0c;选中的是指开发人员可以从异常中合理恢复的情况&#xff0c;而未选中的异常是无法处理的编程错误。 本文介绍了何时使用哪种。 但这不是那么简单–受检查的异常使代码变得“丑陋”。 它们迫使开发人员编写try / cat…

CCF - 201403-3 - 命令行选项

问题描述 试题编号&#xff1a;201403-3试题名称&#xff1a;命令行选项时间限制&#xff1a;1.0s内存限制&#xff1a;256.0MB问题描述&#xff1a; 问题描述请你写一个命令行分析程序,用以分析给定的命令行里包含哪些选项。每个命令行由若干个字符串组成,它们之间恰好由一个空…

java 枚举 values_JAVA 枚举运用一 values方法

importjava.lang.reflect.Method;importjava.lang.reflect.Type;importjava.util.Set;import java.util.*;public classEnumJavaClass {public enumEnumClass{One("参数变量枚举一"),Two("参数变量枚举二"),Three("参数变量枚举三");privateStri…

telnet测试端口是否正常打开

点击计算机的开始菜单--》运行 &#xff0c;输入CMD命令&#xff0c;然后确定。打开cmd命令行。 输入telnet测试端口命令&#xff1a; telnet IP 端口 或者 telnet 域名 端口 回车 如果端口关闭或者无法连接&#xff0c;则显示不能打开到主机的链接&#xff0c;链接失败 端口…

Linux历史,安装,分区,版本

Linux 历史 1970年是 UNIX元年&#xff0c;这一年 Kenneth Lane Thompson 和 Dennis Ritchie 合作编写了UNIX系统。Stallman 发起了GNU 计划&#xff0c;他本人开发了Emacs, GCC, GDB.Minix&#xff1a;教学用的类UNIX系统&#xff0c;由于UNIX是收费的且价格昂贵&#xff0c;因…

放弃Eclipse Juno

在上一个博客中&#xff0c;我发布了有关Eclipse 4.2 Juno设置的信息。 万一我需要重新安装其他东西&#xff0c;也可以作为参考。 当时我没有谈论的是我与Juno共同遇到的问题。 我以为这是我自己的安装程序&#xff0c;很麻烦&#xff0c;但是此后并没有太大改善。 我遇到的主…

Java instead of 用法_我又不是你的谁--java instanceof操作符用法揭秘

背景故事《曾经最美》是朱铭捷演唱的一首歌曲&#xff0c;由陈佳明填词&#xff0c;叶良俊谱曲&#xff0c;是电视剧《水晶之恋》的主题曲。歌曲时长4分28秒。 歌曲歌词&#xff1a;看不穿你的眼睛藏有多少悲和喜像冰雪细腻又如此透明仿佛片刻就要老去整个城市的孤寂不止一个你…

3.26

http://codeforces.com/gym/101196/attachments A题 B题 题意&#xff1a;一群人玩桌上足球(>4人)&#xff0c;分成黑白两队&#xff0c;每队有进攻和防守两名玩家&#xff0c;如果有一方失败则失败方的防守坐到等候席的结尾、进攻被流放到防守区再上来一个人作为进攻方。而…

scala akka通信机制

https://www.2cto.com/kf/201701/587514.html转载于:https://www.cnblogs.com/rocky-AGE-24/p/7542874.html

JUnit通过失败测试案例

为什么要建立一种预期测试失败的机制&#xff1f; 有一段时间&#xff0c;人们会希望并期望JUnit Test案例失败。 尽管这种情况很少见&#xff0c;但确实发生了。 我需要检测JUnit测试何时失败&#xff0c;然后&#xff08;如果期望的话&#xff09;通过而不是失败。 具体情况是…

CentOS6.5安装MySQL5.7详细教程

CentOS6.5安装MySQL5.7详细教程 注&#xff1a;文中所写的安装过程均在CentOS6.5 x86下通过测试 主要参考博文&#xff1a; https://segmentfault.com/a/1190000003049498 http://www.th7.cn/db/mysql/201601/175073.shtml 1.检测系统是否已经安装过mysql或其依赖&#xff0c;若…

cmake 查看编译命令,以及在vscode中如何使用cmke

通过设置如下配置选项&#xff0c;可以生成compile_commands.json 文件&#xff0c;记录使用的编译命令 set(CMAKE_EXPORT_COMPILE_COMMANDS ON)获得现有模块列表 cmake --help-module-list查看命令文档 cmake --help-command find_file查看模块的详细信息 cmake --help-mo…

php学习八:封装

一&#xff1a;在php中&#xff0c;用class关键字来创建一个类&#xff0c;即进行封装&#xff1b;在类里面有成员属性和方法行为组成&#xff1a; 1.成员属性:用关键字var来声明,可以给初始值也可以不给;现在var废弃&#xff0c;用public来声明&#xff0c;public为共有属性&a…

纯Java JavaFX 2.0菜单

在有关JavaFX的最新文章中 &#xff0c;我集中讨论了不使用JavaFX 1.x的JavaFXScript和不使用JavaFX 2.0的新FXML来使用JavaFX 2.0的新Java API 。 所有这些示例均已使用标准Java编译器进行了编译&#xff0c;并使用标准Java启动 器执行。 在本文中&#xff0c;我将继续演示使用…

设置QtreeWidget水平滚动条

转载请注明出处&#xff1a;http://www.cnblogs.com/dachen408/p/7552603.html //设置treewidget水平滚动条 ui.treeWidget->header()->setSectionResizeMode(QHeaderView::ResizeToContents);ui.treeWidget->header()->setStretchLastSection(false);转载于:https…

java 序列化 uid,Java中的序列化版本uid

How is Serialization id stored in the instance of the object ?The Serialization id we declare in Java is static field;and static fields are not serialized.There should be some way to store the static final field then. How does java do it ?解决方案The ser…