Java笔试笔记
来源:互联网 发布:大数据就业资薪是多少 编辑:程序博客网 时间:2024/04/27 20:31
1.
线程实现的几种方法:
//1.继承thread,调用run()方法public class ThreadTest extends Thread{public static void main(String[] args){(new ThreadTest()).run();System.out.println("main thread is running!");}public synchronized void run(){System.out.println("sub thread is running!");}}
<pre name="code" class="java">//2.实现Runable接口public class ThreadTest implements Runnable{public static void main(String[] args) {(new Thread(new ThreadTest())).start();}@Overridepublic void run() {// TODO Auto-generated method stubSystem.out.println("sub thread is running!");}
2.
try catch finally 运行顺序
public class TryCatchFinallyTest {public int add(int a,int b){ try { return a+b; } catch (Exception e) { System.out.println("catch语句块"); } finally{ System.out.println("finally语句块"); } return 0; } public static void main(String argv[]){ TryCatchFinallyTest test =new TryCatchFinallyTest(); System.out.println("和是:"+test.add(9, 34)); }如果try模块报错则运行catch模块里的语句,也会执行finally里的语句。如果try模块里无异常,则不执行catch里的语句,也会执行finally里的语句。
注意的是:try里的语句执行后会被暂时保存,不会立即输出,而是当finally里的语句输出后才会输出,所以以上代码的执行结果为:
finally语句块
和是:43
3.
语句:char foo='中',是否正确?(假设源文件以GB2312编码存储,并且以javac – encoding GB2312命令编译)
Java语言中,中文字符所占的字节数取决于字符的编码方式,一般情况下,采用ISO8859-1编码方式时,一个中文字符与一个英文字符一样只占1个字节;采用GB2312或GBK编码方式时,一个中文字符占2个字节;而采用UTF-8编码方式时,一个中文字符会占3个字节。
4.
java.sql: 用于存取数据库能力的包
java.swt :java 图形界面的包
java.lang:java语言的核心好,lang是language的简写
java.swing:经过java封装的与操作系统无关的图形界面包
5.
整型常量 i :static final int i; static修饰静态变量,即当利用这个关键字来修饰一个变量的时候,在创建对象之前就会为这个变量在内存中创建一个存储空间。以后创建对对象如果需要用到这个静态变量,那么就会共享这一个变量的存储空间。因为是常量所以要加上 final。
6.
public void getCustomerInfo() { try { // do something that may cause an Exception } catch (java.io.FileNotFoundException ex) { System.out.print("FileNotFoundException!"); } catch (java.io.IOException ex) { System.out.print("IOException!"); } catch (java.lang.Exception ex) { System.out.print("Exception!"); } }
IOException!因为如果捕获到了一种类型的异常,后面层级更高的异常就不会执行了。
7.
Set有两个实现类:HashSet和LinkedHashSet
AbstractSet实现了Set
8.有以下一段代码,请选择其运行结果。( )
public class Spike{ public static void main(String[] args) { Counter a = new Counter(); System.out.println(a.increment()); System.out.println(a.anotherIncrement()); Counter b = new Counter(); System.out.println(b.increment()); }}class Counter{ private static int count = 0; public int increment() { return count++; } public int anotherIncrement() { return ++count; }}
结果:
0 2 2count是 !静态变量,为所有对象所共享!因此不管a.increment()还是b.increment()都会使count持续增加。
increment()方法返回当前count值,然后count增加1
antoherIncrement()方法让count增加1,然后返回count值
第一次a.increment()返回值为0,此时count值为1
第二次a.anotherIncrement()先让count+1再返回,返回值为2
第三次b.increment()先返回count当前值2,然后count+1
9.
对于JVM内存配置参数:
-Xmx10240m -Xms10240m -Xmn5120m -XXSurvivorRatio=3,其最小内存值和Survivor区总大小分别是()
执行以下程序后的输出结果是()
public class Test {public static void main(String[] args) { StringBuffer a = new StringBuffer("A"); StringBuffer b = new StringBuffer("B"); operator(a, b); System.out.println(a + "," + b); } public static void operator(StringBuffer x, StringBuffer y) { x.append(y); y = x; }}
Integer i = 42;Long l = 42l;Double d = 42.0;
下面为true的是
A.(i == l)
B.(i == d)
C.(l == d)
D.i.equals(d)
E.d.equals(l)
F.i.equals(l)
G.l.equals(42L)
12.下面哪项技术可以用在WEB开发中实现会话跟踪实现?
会话跟踪是一种灵活、轻便的机制,它使Web上的状态编程变为可能。
HTTP是一种无状态协议,每当用户发出请求时,服务器就会做出响应,客户端与服务器之间的联系是离散的、非连续的。当用户在同一网站的多个页面之间转换时,根本无法确定是否是同一个客户,会话跟踪技术就可以解决这个问题。当一个客户在多个页面间切换时,服务器会保存该用户的信息。
有四种方法可以实现会话跟踪技术:URL重写、隐藏表单域、Cookie、Session。
1).隐藏表单域:<input type="hidden">,非常适合步需要大量数据存储的会话应用。
2).URL 重写:URL 可以在后面附加参数,和服务器的请求一起发送,这些参数为名字/值对。
3).Cookie:一个 Cookie 是一个小的,已命名数据元素。服务器使用 SET-Cookie 头标将它作为 HTTP
响应的一部分传送到客户端,客户端被请求保存 Cookie 值,在对同一服务器的后续请求使用一个
Cookie 头标将之返回到服务器。与其它技术比较,Cookie 的一个优点是在浏览器会话结束后,甚至
在客户端计算机重启后它仍可以保留其值
4).Session:使用 setAttribute(String str,Object obj)方法将对象捆绑到一个会话
13.Java程序中的类名称必须与存放该类的文件名相同?
错误!如果类中有内部类,则可以不与该类的文件名相同。
由此,详解一下内部类:http://www.cnblogs.com/dolphin0520/p/3811445.html
14.下面有关java基本类型的默认值和取值范围,说法错误的是?
字节型的类型默认值是0,取值范围是-2^7—2^7-1
boolean类型默认值是false,取值范围是true\false
字符型类型默认是0,取值范围是-2^15 —2^15-1(错误,没有负值!)
long类型默认是0,取值范围是-2^63—2^63-1
字节型 : 0 -2^7—-2^7-1 byte b=10;
字符型 : ‘ \u0000′ 0—-2^16-1 char c=’c’ ;
short : 0 -2^15—-2^15-1 short s=10;
int : 0 -2^31—-2^31-1 int i=10;
long : 0 -2^63—-2^63-1 long o=10L;
float : 0.0f -2^31—-2^31-1 float f=10.0F
double : 0.0d -2^63—-2^63-1 double d=10.0;
boolean: false true\false boolean flag=true;
15.Java数据库连接库JDBC用到哪种设计模式?生成器
桥接模式
抽象工厂
单例模式
16.下面函数将返回?
public static int func (){ try{ return 1; }catch (Exception e){ return 2; }finally{ return 3; }}
finally语句在try或catch中的return语句执行之后返回之前执行且finally里的修改语句不能影响try或catch中 return已经确定的返回值,若finally里也有return语句则覆盖try或catch中的return语句直接返回。
17.有这样一段程序:
public class Test{ public static void main(String [] args){ List list=new ArrayList(); list.add("a"); list.add("b"); list.add("a"); Set set=new HashSet(); set.add("a"); set.add("b"); set.add("a"); System.out.println(list.size()+","+set.size()); }}
2,2
2,3
3,2(正确)
3,3
18.以下java程序代码,执行后的结果是()
java.util.HashMap map=new java.util.HashMap(); map.put("name",null); map.put("name","Jack");System.out.println(map.size());
Map中添加数据的时候添加的是一个键值对 并且是键不能重复 值可以重复 上题中添加的时候键已经重复所以在map中只是添加进去一个键值对在输出size的时候大小只能为一个 当键一样的时候 最后添加进来的键值对中的值将会将原来的值覆盖掉
19.下面有关forward和redirect的描述,正确的是?
A.forward是服务器将控制权转交给另外一个内部服务器对象,由新的对象来全权负责响应用户的请求
B.执行forward时,浏览器不知道服务器发送的内容是从何处来,浏览器地址栏中还是原来的地址C.执行redirect时,服务器端告诉浏览器重新去请求地址
D.forward是内部重定向,redirect是外部重定向
E.redirect默认将产生301 Permanently moved的HTTP响应
20.
- java笔试面试笔记
- Java笔试笔记
- Java 笔试:数据结构笔记
- Java 笔试:算法笔记
- 牛客java笔试笔记
- Java常见笔试题笔记
- java 学习笔记(笔试)
- 程序员java笔试小笔记
- Java学习笔记-笔试考点
- JAVA笔试题笔记(一)
- JAVA笔试题笔记(二)
- JAVA笔试题笔记(三)
- java笔试题刷题错误笔记
- Java笔试题笔记(1)
- 笔记java笔试题(选)
- 笔试笔记
- 笔试笔记
- Java笔试
- DayDayUP_Linux运维学习_MySQL 主从配置
- 如何提高支付宝芝麻信用的分数
- 九度OJ 1014:排名 (排序)
- UITextField 弹出键盘时遮盖住textField的问题
- Java学习——JSTL标签与EL表达式之间的微妙关系
- Java笔试笔记
- python问题
- Android:Fragment实现带导航条的页面左右切换
- Android混淆那些事儿
- set方法和get方法
- stl源码剖析
- php开发日记之微信开发模式
- KMP算法学习三阶段由浅入深
- 九度OJ 1015:还是A+B (基础题)