亿联本科java_厦门亿联2018面试题

一、选择器

public class EqTest {

public static void main(String[] args) {

EqTest e = new EqTest();

}

public EqTest() {

String s = "Java";

String s2 = "java";

//if (s.equalsIgnoreCase(s2))

{

System.out.println("相等");

} else {

System.out.println("不相等");

}

}

}

在上面的java代码的注释行位置,放置(C)测试代码能输出“相等”的结果(单选)

C:if (s.equalsIgnoreCase(s2))

2.研究下马的java代码:

public class TestException {

public static void main(String[] args) {

int n[] = {

0, 1, 2, 3, 4

};

int sum = 0;

try {

for (int i = 1; i < 6; i++) {

sum = sum + n[i];

}

System.out.println("sum+" + sum);

} catch (ArrayIndexOutOfBoundsException e) {

System.out.println("数组越界");

} finally {

System.out.println("程序结束");

}

}

}

输出结果是(C);

结果:数组越界 程序结束

3.考虑下列java代码:

public class A {

public static void main(String[] args) {

try {

System.out.println("HelloWorld!");

}

}

}

程序报的错为:Syntax error, insert "Finally" to complete BlockStatements

其中错误的是(A)。(单选)

A:没有catch和finally块   B:没有抛出异常的代码不能出现在try代码块内

C:如果没有catch块而使用try,main()会总是抛职异常   D:class A 没有throws IOException

try要一个catch或者finally

4.研究下面的java代码:

switch (x) {

case 1:

System.out.println(1);

case 2:

case 3:

System.out.println(3);

case 4:

System.out.println(4);

}

当x=2;时,运行结果是(C)。(单选)

C:单选结果是3和4

5.在java中,关键字(A)使类不能派生出子类(单选)

A:final

6.下面关于servlet的陈述正确的是:(B C)

A:我们在浏览器的地址栏直接输入要请求的Servlet,该servlet默认会使用doPost方法处理请求

B:servlet运行在服务端

C:servlet的生命周期包括:实例化,初始化,服务,破坏,不可以用

D:servlet不能向浏览器发送Html标签

注:Servlet生命周期分为三个阶段:

1、初始化阶段 , 调用init()方法;

2、响应客户请求阶段, 调用service()方法;

3、终止阶段, 调用destroy()方法。

7.在JAVA编程中,以下(B)命令能将java源文件转换为类文件。(单选)

A:appletviewer(小程序浏览器)  B:javac

C:java      D:以上所有选项都不正确

javac是JDK的标准编译工具,常见的形式为:javac 。它可能的选项包括:

-g:生成所有调试信息。

-g:none:生成无调试信息。

-g:{lines,vars,source}:生成只有部分调试信息。

-nowarn:生成无警告。

-verbose:输出关于编译器正在做的信息。

-deprecation:输出使用了不鼓励使用的API的源程序位置。

-classpath :指定用户类文件的位置。

-sourcepath :指定输入源文件的位置。

-bootclasspath :覆盖自举类文件的位置。

-extdirs :覆盖安装的扩展类的位置。

-d :指定输出类文件的位置。

-encoding :指定源文件中所用的字符集编码。

-target :生成指定虚拟机版本的类文件。

java命令是JDK默认的java执行程序,在这里值得注意的是在执行带包的.class文件时,需要使用标准的Java包形式。

Windows下文件名为jar.exe,Linux下文件名为jar。它的运行需要用到JDK安装目录下lib目录中的tools.jar文件。jar命令行格式为:

jar {ctxu}[vfm0M] [jar-文件] [manifest-文件] [-C 目录] 文件名

其中{ctxu}是jar命令的子命令,每次jar命令只能包含一个子命令,这些子命令含义如下。

-c:创建新的JAR文件包。

-t:列出JAR文件包的内容列表。

-x:展开JAR文件包的指定文件或者所有文件。

-u:更新已存在的JAR文件包(添加文件到JAR文件包中)。

[vfm0M]中的选项可以任选,也可以不选,它们是jar命令的选项参数。

-v:生成具体报告并打印到标准输出。

-f:指定JAR文件名,通常这个参数是必须的。

-m:指定需要包含的MANIFEST清单文件。

-0:只存储,不压缩,这样产生的JAR文件包会比不用该参数产生的体积大,但速度更快。

-M:不产生所有项的清单(MANIFEST〕文件,此参数会忽略-m参数。

8.下面对http请求消息使用Get和Post方法陈述正确的是:(B C)

A:post方法提交信息可以保存为书签,而get则不行

B:可以使用GET方法提交敏感数据

C:使用POST提交数据量没有限制

D:使用post方法提交数据比get方法快

注:

A错,说的刚好相反

可以使用GET方法提交敏感数据,但不安全,所以不建议

GET方式提交的数据最多只能是1024字节,理论上POST没有限制,可传较大量的数据

post方法提交数据比get方法慢

GET的优点:

1.执行效率比POST高。

2.可以通过url传递数据,查找数据的时候就会体现到它的好处。

GET的缺点:

1.安全性很低,因为上传的数据都会显示在url上,所以一般用在上传无关紧要的数据上。

2.上传的数据量较小,一般不能超过4K.这也是因为url的长度而被限制的。

POST优点:

1.安全性高,但是也不是很高,如果想要高安全性的话就用https传输协议。

2.上传的数据量比GET大得多。“理论上讲,POST是没有大小限制的,HTTP协议规范也没有进行大小限制,说“POST数据量存在 80K/100K的大小限制”是不准确的,POST数据是没有限制的,起限制作用的是服务器的处理程序的处理能力。”

POST缺点:

1.执行效率比GET低,但是现在的计算机都很强大,这些几乎可以忽略不计,所以建议一般都使用POST方式。

2.不可以通过url传递数据,有时候可能会不方便.

9.在web应用程序中web.xml配置类Servlet的信息,如果你的项目为LoginDemo,那么最可能位于哪个目录下(D)

A:LoginDemo/   B:LoginDemo/src

C:LoginDemo/WEB-INF/bin/  D:LoginDemo/WEB-INF/

注:web.xml文件是用来初始化配置信息,web.xml是放置在WEB-INF目录中

(1)/WEB-INF/web.xml 是部署描述文件

(2)/WEB-INF/classes 用来放置应用程序用到的自定义类(.class),必须包括包(package)结构。

(3)/WEB-INF/lib 用来放置应用程序用到的JAR文件。

10.jsp在转移阶段生成文件的扩张名是(A,B)

A:class  B:java

C:exe    C:bin

注:web容器处理JSP文件请求的三个阶段

翻译阶段:这一个阶段,编写好的jsp文件首先被web容器中的jp引擎转换成java源代码

编译阶段:jsp文件所翻译的java源代码会被编译成可执行的字节码

请求阶段:当容器接受了客户端请求之后,就执行jsp编译的字节码文件,处理完成请求之后,容器再把生成的页面反馈给客户端显示。

简答题

1.String和StringBuder,stringbuff的区别?

对字符串操作三者在执行速度方面的比较

StringBuilder StringBuffer String

String

String:字符串常量

StringBuffer:字符创变量

StringBuilder:字符创变量

从上面的名字可以看到,String是“字符创常量”,也就是不可改变的对象。

String s = "abcd";

s = s+1;

System.out.print(s);// result : abcd1

JVM是这样解析这段代码的:首先创建对象s,赋予一个abcd,然后再创建一个新的对象s用来;执行第二行代码,也就是说我们之前对象s并没有变化,所以我们说String类型是不可改变的对象了,由于这种机制,每当用String操作字符串时,实际上是在不断的创建新的对象,而原来的对象就会变为垃圾被GC回收掉,可想而知这样执行效率会有多底。

而StringBuffer与StringBuilder就不一样了,他们是字符串变量,是可改变的对象,每当我们用它们对字符串做操作时,实际上是在一个对象上操作的,这样就不会像String一样创建一些而外的对象进行操作了,当然速度就快了。

StringBuilder:线程非安全的

StringBuffer:线程安全的

当我们在字符串缓冲去被多个线程使用是,JVM不能保证StringBuilder的操作是安全的,虽然他的速度最快,但是可以保证StringBuffer是可以正确操作的。当然大多数情况下就是我们是在单线程下进行的操作,所以大多数情况下是建议用StringBuilder而不用StringBuffer的,就是速度的原因。

我的博客里有关于字符串的详解http://www.cnblogs.com/yangliguo/p/7496431.html

2、描述下HsahMap、hashtable、hashset的共同点与不同点

编程题

编写一个工具类CollectionTools,为其编写一个方法insertSect,功能是计算连个集合(Collection)的交集:传入参数是两个集合,返回结果是计算出来的交集。

import java.util.HashSet;

import java.util.Set;

public class CollectionTools {

public static Set insertSet(Set C1, Set C2) {

C1.retainAll(C2);

System.out.println(C1);

return C1;

}

public static void main(String[] args) {

Set c1 = new HashSet();

c1.add(3);

c1.add(2);

Set c2 = new HashSet();

c2.add(2);

c2.add(4);

System.out.println(CollectionTools.insertSet(c1, c2));

}

}

也可以用依次读出数据进行比较简单然后把相同的写到一个集合中。或者把两个集合的数据放到set集合中利用set的不含重复元素得到一个并集,然后求得他们的交集。

2.编写一个对数据库表t_user进行update操作的完整java代码,请参考链接数据库和异常等的处理

e330badefbe423f1376a3f6935d80c74.png

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.Statement;

public class main {

public static void main(String[] args) {

//声明Connection对象

Connection con;

//驱动程序名

String driver = "com.mysql.jdbc.Driver";

//URL指向要访问的数据库名mydata

String url = "jdbc:mysql://localhost:3306/sqltestdb";

//MySQL配置时的用户名

String user = "root";

//MySQL配置时的密码

String password = "123456";

//遍历查询结果集

try {

//加载驱动程序

Class.forName(driver);

//1.getConnection()方法,连接MySQL数据库!!

con = DriverManager.getConnection(url,user,password);

//2.创建statement类对象,用来执行SQL语句!!

Statement statement = con.createStatement();

//要执行的SQL语句

String sql = "update t_user set id="+user.getId+"name"=user.getName+"login_name"+user.getLogin_name+"role_id"+user.getRole_id+"password"+user.getPsssword+"mobile"+user.getMobile;

//3.ResultSet类,用来存放获取的结果集!!

int rs = statement.execute(sql);

con.close();

} catch(ClassNotFoundException e) {

//数据库驱动类异常处理

System.out.println("Sorry,can`t find the Driver!");

e.printStackTrace();

} catch(SQLException e) {

//数据库连接失败异常处理

e.printStackTrace();

}catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}finally{

System.out.println("数据库数据成功获取!!");

}

}

}

数据库连接方法比较多这里是最基础的。

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

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

相关文章

如何将云持久存储添加到JBoss Cool Store

我们一直在讨论为什么应用程序开发人员在App Dev Cloud Stack系列中不能再忽略其堆栈了。 带有JBoss Cool Store的App Dev Cloud 上个月&#xff0c;我们提供了一个完整的零售示例&#xff0c;其中的JBoss Cool Store运行在您的堆栈的OpenShift Enterprise层上&#xff0c;由…

吴莫烦

https://morvanzhou.github.io/tutorials/machine-learning/ML-intro/2-1-NN/转载于:https://www.cnblogs.com/lhuser/p/8446525.html

mysql 表单属性_php表单常用属性有什么?

程序开发中&#xff0c;必不可少的会使用到form表单&#xff0c;以前只是在前端开发时简单使用&#xff0c;对它的属性不甚了解&#xff0c;最近在后端学习中&#xff0c;不断接触到它的属性,现记录一二。下面本篇文章给大家介绍php表单常用的5个属性。actionaction规定了提交表…

centos-安装python3.6环境并配置虚拟环境

python3.6下载地址&#xff1a;https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz linux下python环境配置 统一目录&#xff1a; 源码存放位置 $HOME/tools安装目录&#xff1a; /application安装python环境&#xff1a; 1. 下载 # 创建下载目录 mkdir $HOME/tools #…

java构造器详解_Java中关于构造器的使用详解

这篇文章主要介绍了Java构造器使用方法及注意事项的相关资料,这里举例说明如何使用构造器及需要注意的地方&#xff0c;需要的朋友可以参考下Java构造器使用方法及注意事项超类的构造器在子类的构造器运行之前运行&#xff0c;也就是说&#xff0c;在创建对象时&#xff0c;先运…

i219 2012驱动_2012年I / O之后

i219 2012驱动从注册到赠品&#xff0c;每年的I / O疯狂都在不断发展。 在今年20分钟内被出售&#xff0c;并没有阻止Google赠送更多的东西。 以这种速度并有望在明年发布Google Glass&#xff0c;明年注册很可能会变得更加混乱&#xff01; 因此&#xff0c;Google&#xff0c…

Mac 工程化工具

工程化工具 一、HomeBerw 安装 / 卸载 Mac系统的包管理器&#xff0c;用于安装NodeJS和一些其他必需的工具软件 1.安装 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 译注&#xff1a;在Max OS X 10.11&…

java的sql的like_[Java教程]SQL like 模糊查询, in

[Java教程]SQL like 模糊查询, in0 2018-09-14 11:00:38​[{"互联网":["网络媒体","微博","墨迹天气","河北天气","其他"]},{"气象部门":["灾害大典","灾情普查","灾情直报&q…

9.管好进程和服务

1.查看进程 1.进程分类进程一般分为交互进程、批处理进程和守护进程三类。上述三种进程各有各的作用&#xff0c;使用场合也有所不同。 交互进程&#xff1a;由一个 shell 启动的进程。交互进程既可以在前台运行&#xff0c;也可以在后台运行。 批处理进程&#xff1a;这种…

惠而浦:使用Netty和Kafka的微服务

介绍 在上一个博客中 &#xff0c;我介绍了Netty用作Web服务器。 该示例运行良好……只要需要广播服务器即可。 大多数情况下不是很有用。 更有可能的是&#xff0c;每个客户端仅接收针对其的数据&#xff0c;并保留了特殊情况下的广播&#xff0c;例如“服务器在15分钟内停机…

石化总部java面试题_中国石化面试经验

面试过程&#xff1a;首先&#xff0c;上午进行面试人员签到&#xff0c;大约100人左右。一共要2个人。下午1点半开始统一面试。人员较多&#xff0c;所以每个人只有3分钟时间&#xff0c;一共最少8位面试官。过程中&#xff0c;他们很少提问题&#xff0c;如果你的技术比较新颖…

ajax标准

$.ajax({url:"localhost:8889/server", //请求的url地址dataType:"json", //返回格式为jsonasync:true,//请求是否异步&#xff0c;默认为异步&#xff0c;这也是ajax重要特性data:{"id":"value"}, //参数值type:"GET&qu…

java 生成器 设计模式_Java中的生成器设计模式

java 生成器 设计模式Java 中的 Builder设计模式是一种创建模式&#xff0c;即用于创建对象&#xff0c;类似于 工厂方法设计模式 &#xff0c;这也是创建设计模式。 在学习任何设计模式之前&#xff0c;我建议先找出特定设计模式要解决的问题。 众所周知&#xff0c; 必要性是…

python倒排索引实现_倒排索引原理和实现 - uncle_LLD的个人空间 - OSCHINA - 中文开源技术交流社区...

关于倒排索引搜索引擎通常检索的场景是&#xff1a;给定几个关键词&#xff0c;找出包含关键词的文档。怎么快速找到包含某个关键词的文档就成为搜索的关键。这里我们借助单词——文档矩阵模型&#xff0c;通过这个模型我们可以很方便知道某篇文档包含哪些关键词&#xff0c;某…

Spring RESTful Web服务中的异常处理

1.简介 我们可能已经在Spring中遇到了几种处理RESTful Web服务应用程序中异常的方法。 在本文中&#xff0c;我们将尝试探索可以采取的最佳方法来实现有效的异常处理。 2.问题陈述 让我们创建一个简单的应用程序&#xff0c;该应用程序将在REST URI中标识员工姓名。 如果请求中…

java调python画图_Python Matplotlib plot 绘图

1、绘制x和y点plot()函数用于在图中绘制点(标记)。默认情况下&#xff0c;plot()函数在点到点之间画一条线。该函数具有用于在图中指定点的参数。参数1是一个数组&#xff0c;其中包含x轴上的点。参数2是一个包含y轴上的点的数组。如果需要绘制从(1&#xff0c;3)到(8&#xff…

区块链以信用为基础,所以目前在中国不可行.

还是先整一套规范的含金量高的信用体系再说吧.转载于:https://www.cnblogs.com/diggingdeeply/p/impossible_success_in_china_right_now_bcoz_of_lack_credit.html

java cunstructor_参加JavaScript面试,必须搞懂的问题(推荐)

一. JavaScript中的对象.JavaScript中的Object是一组数据的key-value的集合, 有点类似于Java中的HashMap, 所有这些数据都是Object里的property. 通常情况下, JavaScript中建立一个对象用"new"加上constructor function来实现. 如new Date(), new Object()等.var boo…

jms activemq_带有ActiveMQ的JMS

jms activemq带有ActiveMQ的JMS JMS是Java消息服务的缩写&#xff0c;它提供了一种以松散耦合&#xff0c;灵活的方式集成应用程序的机制。 JMS以存储和转发的方式跨应用程序异步传递数据。 应用程序通过充当中介的MOM&#xff08;面向消息的中间件&#xff09;进行通信&#x…

【EMV L2】SDA静态数据认证处理流程

【静态数据认证】 静态数据认证处理过程中&#xff0c;卡片没有执行任何处理&#xff0c;终端执行的处理流程&#xff1a;1、认证中心公钥的获取终端使用卡片上的认证中心公钥索引&#xff08;PKI&#xff09;【TAG&#xff1a;8F&#xff0c;Certification Authority Public K…