欢迎来到千学网!
您现在的位置:首页 > 实用文 > 其他范文

JAVA系统分析笔试题

时间:2022-05-21 07:03:41 其他范文 收藏本文 下载本文

【导语】下面是小编给大家带来JAVA系统分析笔试题(共12篇),一起来阅读吧,希望对您有所帮助。

JAVA系统分析笔试题

篇1:JAVA系统分析笔试题

。。下面的哪些陈述为错误的?

1) public void create {

2) Vector myVect;

3) myVect = new Vector();

4) }

给出下面的代码片断。。。下面的哪些陈述为错误的?

1) public void create() {

2) Vector myVect;

3) myVect = new Vector();

4) }

A.第二行的声明不会为变量myVect分配内存空间。

B.第二行语句创建一个Vector类对象。

C.第三行语句创建一个Vector类对象。

D.第三行语句为一个Vector类对象分配内存空间

8:What is written to the standard output given the following statement:System.out.println(4|7);

Select the right answer:

A.4

B.5

C.6

D.7

9:Which fragments are not correct in Java source file?

A.package testpackage; public class Test{//do something...}

B.import java.io.*; package testpackage; public class Test{// do something...}

C.import java.io.*; class Person{// do something...} public class Test{// do something...}

D.import java.io.*; import java.awt.*; public class Test{// do something...}

10:Give the following java class:

public class Example{

static int x[]=new int[15];

public static void main(String args[]){

System.out.println(x[5]);

}

}

Which statement is corrected?

Give the following java class:

public class Example{

static int x[]=new int[15];

public static void main(String args[]){

System.out.println(x[5]);

}

}

Which statement is corrected?

A.When compile, some error will occur.

B.When run, some error will occur.

C.Output is zero.

D.Output is null.

11:使用 JDBC 可以做到的`是

A.把二进制代码传送到任何关系数据库中

B.把 Java 源代码传送到任何关系数据库中

C.把表单信息传送到任何关系数据库中

D.很容易地把 SQL 语句传送到任何关系数据库中

12:Which method you define as the starting point of new thread in a class from which new the thread can be excution?

A.public void start()

B.public void run()

C.public void runnable()

D.public static void main(String args[])

13:Which statements about Java code security are not true?

A.The bytecode verifier loads all classes needed for the execution of a program.

B.Executing code is performed by the runtime interpreter.

C.At runtime the bytecodes are loaded, checked and run in an interpreter.

D.The class loader adds security by separating the namespaces for the classes of the local file system from those imported from network sources.

14:关于垃圾收集的哪些叙述是对的。

A.程序开发者必须自己创建一个线程进行内存释放的工作。

B.垃圾收集将检查并释放不再使用的内存。

C.垃圾收集允许程序开发者明确指定并立即释放该内存。

D.垃圾收集能够在期望的时间释放被java对象使用的内存。

15:Give the following java class:

public class Example{

public static void main(String args[]){

static int x[] = new int[15];

System.out.println(x[5]);

}

}

Which statement is corrected?

Give the following java class:

public class Example{

public static void main(String args[]){

static int x[] = new int[15];

System.out.println(x[5]);

}

}

Which statement is corrected?

A.When compile, some error will occur.

B.When run, some error will occur.

C.Output is zero.

D.Output is null.

16:Select valid identifier of Java:

Select valid identifier of Java:

A.%passwd

B.3d_game

C.$charge

D.this

简答题

17:abstract class和interface有什么区别?

18:hibernate中,什么情况下,对象的状态可以由持久的变为托管的?

19:两个数相乘,小数点后位数没有限制,请写一个高精度算法。

20:求符合指定规则的数。

给定函数d(n) = n n的各位之和,n为正整数,如 d(78) = 78 7 8=93。 这样这个函数

可以看成一个生成器,如93可以看成由78生成。

定义数A:数A找不到一个数B可以由d(B)=A,即A不能由其他数生成。现在要写程序,找出

1至10000里的所有符合数A定义的数。

输出:

1

3

篇2:笔试题系统分析

数据库

1、写出下面2个PHP操作Mysql函数的作用和区别

mysql_num_rows()

mysql_affected_rows()

2、sql语句应该考虑哪些安全性?

3、简单描述mysql中,索引,主键,唯一索引,联合索引的区别,对数据库的.性能有什么影响(从读写两方面)

4、有一个留言板,用mysql做数据库,用户信息包括:用户名,密码,email 留言内容包括:留言ID,标题,内容,发表时间,状态(审核,未审核)

请实现下列需求:

1)数据库结构,无需写建表语句,用类似下面的表格,描述清楚即可

表明 Table_aaa

字段名 字段说明 字段类型 索引

name 姓名 Varchar(64) 唯一索引

gender 性别 Enum('M','F')

注意,要在索引栏中注明是否需要创建索引,以及要创建的索引的类型

2)用一个sql语句查询出发表留言数量大于10条的用户名及其留言数量,查询结果按文章数量降序排列

篇3:笔试题系统分析

假设有一个博客系统,数据库存储采用mysql,用户数量为1000万,预计文章总数为10亿,每天有至少10万的更新量,每天访问量为5000万,对数据库的读写操作的比例超过10:1,你如何设计该系统,以确保其系统高效,稳定的运行?

提示:可以从数据库设计,系统框架,及网络架构方面进行描述,可以自由发挥

篇4:java笔试题

java笔试题

1.java是从( )语言改进重新设计, a.ada b.c c.pasacal d.basic 答案:b

2.下列语句哪一个正确( ) a. java程序经编译后会产生machine code b. java程序经编译后会产生byte code c. java程序经编译后会产生dll d. 以上都不正确 答案:b

3.下列说法正确的有( ) a. class中的constructor不可省略 b. constructor必须与class同名,但方法不能与class同名 c. constructor在一个对象被new时执行 d. 一个class只能定义一个constructor 答案:c

4.提供java存取数据库能力的包是( ) a.java.sql b.java.awt c.java.lang d.java.swing 答案:a

5.下列运算符合法的是( ) a.& b. c.if d.:= 答案:a

6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,c的值是( ) a.0 b.1 c.-1 d.死循环 答案:c

7.下列哪一种叙述是正确的( ) a. abstract修饰符可修饰字段、方法和类 b. 抽象方法的body部分必须用一对大括号{ }包住 c. 声明抽象方法,大括号可有可无 d. 声明抽象方法不可写出大括号 答案:d

8.下列语句正确的是( ) a. 形式参数可被视为local variable b. 形式参数可被字段修饰符修饰 c. 形式参数为方法被调用时,真正被传递的参数 d. 形式参数不可以是对象 答案:a

9.下列哪种说法是正确的( ) a. 实例方法可直接调用超类的实例方法 b. 实例方法可直接调用超类的类方法 c. 实例方法可直接调用其他类的实例方法 d. 实例方法可直接调用本类的类方法 答案:d

二、多项选择题

1.java程序的`种类有( ) a.类(class) b.applet c.application d.servlet

2.下列说法正确的有( ) a. 环境变量可在编译source code时指定 b. 在编译程序时,所能指定的环境变量不包括class path c. javac一次可同时编译数个java源文件 d. javac.exe能指定编译结果要置于哪个目录(directory) 答案:bcd

3.下列标识符不合法的有( ) a.new b.$usdollars c.1234 d.car.taxi 答案:acd

4.下列说法错误的有( ) a. 数组是一种对象 b. 数组属于一种原生类 c. int number=[]={31,23,33,43,35,63} d. 数组的大小可以任意改变 答案:bcd

5.不能用来修饰interface的有( ) a.privateb.public c.protected d.static 答案:acd

篇5:JAVA笔试题

·short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

对于short s1 = 1; s1 = s1 + 1; 由于s1+1运算时会自动提升表达式的类型,所以结果是int型,再赋值给short类型s1时,编译器将报告需要强制转换类型的错误,

对于short s1 = 1; s1 += 1;由于 += 是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译。

·用最有效率的方法算出2乘以8等於几?

2 << 3,

因为将一个数左移n位,就相当于乘以了2的n次方,那么,一个数乘以8只要将其左移3位即可,而位运算cpu直接支持的,效率最高,所以,2乘以8等於几的最效率的方法是2 << 3。

·请设计一个一百亿的计算器

首先要明白这道题目的考查点是什么,一是大家首先要对计算机原理的底层细节要清楚、要知道加减法的位运算原理和知道计算机中的算术运算会发生越界的情况,二是要具备一定的面向对象的设计思想。

首先,计算机中用固定数量的几个字节来存储的数值,所以计算机中能够表示的数值是有一定的范围的,为了便于讲解和理解,我们先以byte 类型的整数为例,它用1个字节进行存储,表示的最大数值范围为-128到+127。-1在内存中对应的二进制数据为11111111,如果两个-1相加,不考虑Java运算时的类型提升,运算后会产生进位,二进制结果为1,11111110,由于进位后超过了byte类型的存储空间,所以进位部分被舍弃,即最终的结果为11111110,也就是-2,这正好利用溢位的方式实现了负数的运算。-128在内存中对应的二进制数据为10000000,如果两个-128相加,不考虑Java运算时的类型提升,运算后会产生进位,二进制结果为1,00000000,由于进位后超过了byte类型的存储空间,所以进位部分被舍弃,即最终的结果为00000000,也就是0,这样的结果显然不是我们期望的,这说明计算机中的算术运算是会发生越界情况的,两个数值的运算结果不能超过计算机中的该类型的数值范围。由于Java中涉及表达式运算时的类型自动提升,我们无法用byte类型来做演示这种问题和现象的实验,大家可以用下面一个使用整数做实验的例子程序体验一下:

int a = Integer.MAX_VALUE;

int b = Integer.MAX_VALUE;

int sum = a + b;

System.out.println(“a=”+a+”,b=”+b+”,sum=”+sum);

先不考虑long类型,由于int的正数范围为2的31次方,表示的最大数值约等于2*1000*1000*1000,也就是20亿的大小,所以,要实现一个一百亿的计算器,我们得自己设计一个类可以用于表示很大的整数,并且提供了与另外一个整数进行加减乘除的功能,大概功能如下:

这个类内部有两个成员变量,一个表示符号,另一个用字节数组表示数值的二进制数

()有一个构造方法,把一个包含有多位数值的字符串转换到内部的`符号和字节数组中

()提供加减乘除的功能

public class BigInteger

{

int sign;

byte[] val;

public Biginteger(String val)

{

sign = ;

val = ;

}

public BigInteger add(BigInteger other)

{

}

public BigInteger subtract(BigInteger other)

{

}

public BigInteger multiply(BigInteger other)

{

}

public BigInteger divide(BigInteger other)

{

}

}

备注:要想写出这个类的完整代码,是非常复杂的,如果有兴趣的话,可以参看jdk中自带的java.math.BigInteger类的源码,

面试的人也知道谁都不可能在短时间内写出这个类的完整代码的,他要的是你是否有这方面的概念和意识,他最重要的还是考查你的能力,所以,你不要因为自己无法写出完整的最终结果就放弃答这道题,你要做的就是你比别人写得多,证明你比别人强,你有这方面的思想意识就可以了,毕竟别人可能连题目的意思都看不懂,什么都没写,你要敢于答这道题,即使只答了一部分,那也与那些什么都不懂的人区别出来,拉开了距离,算是矮子中的高个,机会当然就属于你了。另外,答案中的框架代码也很重要,体现了一些面向对象设计的功底,特别是其中的方法命名很专业,用的英文单词很精准,这也是能力、经验、专业性、英语水平等多个方面的体现,会给人留下很好的印象,在编程能力和其他方面条件差不多的情况下,英语好除了可以使你获得更多机会外,薪水可以高出一千元。

篇6:精选Java笔试题

1.下面哪些是Thread类的方法()

A start() B run() C exit() D getPriority()

答案:ABD

解析:看Java API docs吧:docs.oracle.com/javase/7/docs/api/,exit()是System类的方法,如System.exit(0)。

2. 下面关于java.lang.Exception类的说法正确的是()

A 继承自Throwable B Serialable CD 不记得,反正不正确

答案:A

解析:Java异常的基类为java.lang.Throwable,java.lang.Error和java.lang.Exception继承 Throwable,RuntimeException和其它的Exception等继承Exception,具体的RuntimeException继承RuntimeException。

扩展:错误和异常的区别(Error vs Exception)

1) java.lang.Error: Throwable的子类,用于标记严重错误。合理的应用程序不应该去try/catch这种错误。绝大多数的错误都是非正常的,就根本不该出现的。

java.lang.Exception: Throwable的子类,用于指示一种合理的程序想去catch的条件。即它仅仅是一种程序运行条件,而非严重错误,并且鼓励用户程序去catch它。

2) Error和RuntimeException 及其子类都是未检查的异常(unchecked exceptions),而所有其他的Exception类都是检查了的异常(checked exceptions).

checked exceptions: 通常是从一个可以恢复的程序中抛出来的,并且最好能够从这种异常中使用程序恢复。比如FileNotFoundException, ParseException等。检查了的异常发生在编译阶段,必须要使用try…catch(或者throws)否则编译不通过。

unchecked exceptions: 通常是如果一切正常的话本不该发生的异常,但是的确发生了。发生在运行期,具有不确定性,主要是由于程序的逻辑问题所引起的。比如ArrayIndexOutOfBoundException, ClassCastException等。从语言本身的角度讲,程序不该去catch这类异常,虽然能够从诸如RuntimeException这样的异常中catch并恢复,但是并不鼓励终端程序员这么做,因为完全没要必要。因为这类错误本身就是bug,应该被修复,出现此类错误时程序就应该立即停止执行。 因此,面对Errors和unchecked exceptions应该让程序自动终止执行,程序员不该做诸如try/catch这样的事情,而是应该查明原因,修改代码逻辑。

RuntimeException:RuntimeException体系包括错误的类型转换、数组越界访问和试图访问空指针等等。

处理RuntimeException的原则是:如果出现 RuntimeException,那么一定是程序员的错误。例如,可以通过检查数组下标和数组边界来避免数组越界访问异常。其他(IOException等等)checked异常一般是外部错误,例如试图从文件尾后读取数据等,这并不是程序本身的错误,而是在应用环境中出现的外部错误。

3. 下面程序的运行结果是()

String str1 = “hello”;

String str2 = “he” + new String(“llo”);

System.err.println(str1 == str2);

答案:false

解析:因为str2中的llo是新申请的内存块,而==判断的是对象的地址而非值,所以不一样。如果是String str2 = str1,那么就是true了。

4. 下列说法正确的有()

A. class中的constructor不可省略

B. constructor必须与class同名,但方法不能与class同名

C. constructor在一个对象被new时执行

D.一个class只能定义一个constructor

答案:C

解析:这里可能会有误区,其实普通的类方法是可以和类名同名的,和构造方法唯一的区分就是,构造方法没有返回值。

5. 具体选项不记得,但用到的知识如下:

String []a = new String[10];

则:a[0]~a[9] = null

a.length = 10

如果是int []a = new int[10];

则:a[0]~a[9] = 0

a.length = 10

6. 下面程序的运行结果:()

复制代码

public static void main(String args[]) {

Thread t = new Thread() {

public void run() {

pong();

}

};

t.run();

System.out.print(“ping”);

}

static void pong() {

System.out.print(“pong”);

}

复制代码

A pingpong B pongping C pingpong和pongping都有可能 D 都不输出

答案:B

解析:这里考的是Thread类中start()和run()方法的区别了。start()用来启动一个线程,当调用start方法后,系统才会开启一个新的线程,进而调用run()方法来执行任务,而单独的调用run()就跟调用普通方法是一样的,已经失去线程的特性了。因此在启动一个线程的时候一定要使用start()而不是run()。

7. 下列属于关系型数据库的是()

A. Oracle B MySql C IMS D MongoDB

答案:AB

解答:IMS(Information Management System )数据库是IBM公司开发的两种数据库类型之一;

一种是关系数据库,典型代表产品:DB2;

另一种则是层次数据库,代表产品:IMS层次数据库。

非关系型数据库有MongoDB、memcachedb、Redis等。

8. GC线程是否为守护线程?()

答案:是

解析:线程分为守护线程和非守护线程(即用户线程)。

只要当前JVM实例中尚存在任何一个非守护线程没有结束,守护线程就全部工作;只有当最后一个非守护线程结束时,守护线程随着JVM一同结束工作。

守护线程最典型的应用就是 GC (垃圾回收器)

9. volatile关键字是否能保证线程安全?()

答案:不能

解析:volatile关键字用在多线程同步中,可保证读取的可见性,JVM只是保证从主内存加载到线程工作内存的值是最新的读取值,而非cache中。但多个线程对

volatile的写操作,无法保证线程安全。例如假如线程1,线程2 在进行read,load 操作中,发现主内存中count的值都是5,那么都会加载这个最新的值,在线程1堆count进行修改之后,会write到主内存中,主内存中的count变量就会变为6;线程2由于已经进行read,load操作,在进行运算之后,也会更新主内存count的变量值为6;导致两个线程及时用volatile关键字修改之后,还是会存在并发的情况。

10. 下列说法正确的是()

A LinkedList继承自List

B AbstractSet继承自Set

C HashSet继承自AbstractSet

D WeakMap继承自HashMap

答案:AC

解析:下面是一张下载的Java中的集合类型的继承关系图,一目了然。

篇7:C++和JAVA笔试题

2.    HashMap与HashTable的区别

3.    Collection与Collections的区别

4.    Abstract能同时是static吗?native和synchronized呢?

篇8:关于Java程序笔试题

1、编写一个Java程序,用if-else语句判断某年份是否为闰年。

闰年特点:

①、普通年能被4整除;且不能被100整除的为闰年。(如就是闰年,19不是闰年)

②、世纪年能被400整除的是闰年。(如是闰年,19不是闰年) ③、对于数值很大的年份,既能整除3200,又能整除172800是闰年。如172800年是闰年,86400年不是闰年(因为虽然能整除3200,但不能整除172800)。

2、编写一个Java程序在屏幕上输出1!+2!+3!+??+10!的和。

3、打印出所有的 “水仙花数 ”,所谓 “水仙花数 ”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 “水仙花数 ”,因为153=1的三次方+5的三次方+3的三次方。

4、利用递归方法求5!。

5、一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

6、编写一个Java应用程序,要求如下

1)从控制台输入两个字符串;

2)重载三个方法,方法名add,分别完成字符串拼接、整数相加、浮点数相加,返回 String,并在控制台分别输出返回结果;

3)要求处理异常,输入字符串不符合要求时给出提示,不能使程序崩溃;

4)输入“esc”时退出程序,否则可以重复执行。

7、、有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

8、大整数计算器,要求从控制台输入。

(例如:100000000000000000000+0000000000000000)

9、(1)编写一个圆类Circle,该类拥有:

①一个成员变量

Radius(私有,浮点型); // 存放圆的半径;

②两个构造方法

Circle( ) // 将半径设为0

Circle(double r ) //创建Circle对象时将半径初始化为r

③ 三个成员方法

double getArea( ) //获取圆的面积

double getPerimeter( ) //获取圆的周长

void show( ) //将圆的半径、周长、面积输出到屏幕

(2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。还拥有:

篇9:关于Java程序笔试题

①一个成员变量

double hight(私有,浮点型); // 圆柱体的高;

②构造方法

Cylinder (double r, double h ) //创建Circle对象时将半径初始化为r ③ 成员方法

double getVolume( ) //获取圆柱体的体积

void showVolume( ) //将圆柱体的体积输出到屏幕

编写应用程序,创建类的对象,分别设置圆的半径、圆柱体的高,计算并分别显示圆半径、圆面积、圆周长,圆柱体的体积。(20分)

篇10:Android Java笔试题

1、GC是什么? 为什么要有GC?

Gc是垃圾收集 gabage collection的意思 内存处理是编程人员最容易出现问题的地方,gc可以达到自动处理内存 回收垃圾的作用 使Java程序员不用担心内存管理问题 system.gc

2、XML包括哪些解释技术,区别是什么?

Sax dom

3、sleep和wait有什么区别?

Sleep 是线程类的方法 wait是object类的方法

Sleep 不会释放对象锁 到时自动恢复 wait会释放对象锁 进入等待此对象的等待锁定池 发出notify方法后 才进入等待锁定池准备对象锁的获取进入运行状态

4、error和exception有什么区别?

error表示恢复不是不可能但是及其困难的一种严重问题 不可能指望程序处理这样的问题

Exception是一种设计或实现的问题 表示只要程序运行正常就不会出现的问题

篇11:Android Java笔试题

1、谈谈final,finally,finalize的区别?

Final是修饰符 表示类不能被继承 方法不能被重载,重写 变量不能被修改等

Finally是异常处理时的一个无论如何都会被执行的程序块

Finaliz方法是垃圾收集器删除对象之前对这个对象调用的进行清理工作的方法

2、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

可以

3、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

值传递

作用域public,private,protected,以及不写时的区别

用最有效率的方法算出2乘以8等於几 2《3

运行时异常与一般异常有何异

编译器要求声明并抛出一般异常 但不必声明抛出运行时异常 由系统处理

垃圾回收的优点和原理。并考虑2种回收机制

回收机制有分代复制垃圾回收 标记垃圾回收 和增量垃圾回收

4、描述一下JVM加载class文件的原理机制?

是由classloader和他的子类来实现的 他在运行时查找和装入类文件的类

篇12:Android Java笔试题

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

不能

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

序列化是一种处理对象流的机制 是为了解决在对对象流进行读写操作时所引发的问题

使用serializeae关键字 使用一个输出流构造一个对象流流对象 然后使用对象流对象的writeObject就可以将参数为obj的对象写出

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

可以

4、ArrayList和Vector的区别,HashMap和Hashtable的区别?

Vector线程安全 增长时涨一倍 arraylist涨一半

Hashtable线程安全 hashmap可以用空值作为键值

5、请写一段程序实现冒泡排序法。

Public static maopao(int data){

Int temp;

For(int i=0;i

For(int j=i+1;j

If(data[i]

Temp = data[i];

Data[i] = data[j];

Data[j] = temp;

}

}

Return data;

}

网络系统分析工程师传输类笔试题

笔试题

JAVA期末考试复习试题

java线程面试试题

DELL笔试题

人人笔试题

法务笔试题

爱立信笔试题

求职笔试题

笔试题编译器

《JAVA系统分析笔试题(精选12篇).doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式

点击下载本文文档