- 博客(37)
- 收藏
- 关注
原创 计算机基础知识
1、What results from the following code fragment?inti = 5;intj = 10;System.out.println(i + ~j);~是补码的意思,~n = -n-1 .输出:-6
2015-12-03 10:22:49
319
原创 基本数据类型
Which is not Java primitive types?A shortB BolleanC byteD floatprimitive types:原始类。JAVA中的基本数据类型都对应有一个引用类型,如:Integer 是int 的引用类型,Boolean是bollean的引用类型。因为JAVA规定,类名必须大写,所以可以以此判断。
2015-12-02 16:34:02
282
原创 构造函数
构造方法可以有访问的修饰: public, protected, private 或者没有修饰。但是不能有非访问性质的修饰: abstract, final,native,static, 或synchronized 。当一个类中没有定义任何构造方法,Java将自动提供一个缺省构造方法。构造方法中的super关键字:构造方法的super用于调用其父类的构造方法
2015-12-02 16:17:46
278
原创 编译和运行
JAVA的编译(javac)是指JVM检查代码的语法错误,这期间的错误叫做编译器错误。JAVA的运行(java)是指JVM运行java代码,检查程序逻辑错误,这期间的错误叫做运行期错误。
2015-12-01 12:03:30
250
原创 Iterator
Iterator:迭代器,用于遍历集合。public class Test{public static void main(String[] args) {ArrayList list = new ArrayList();list.add("a");list.add("b");list.add("c");Iterator iter = list.iterator();
2015-12-01 11:53:50
216
原创 ArrayList
ArrayList list = new ArrayList(20);中的list扩充几次?答:new ArrayList(); 默认大小为10,这里调用的是ArrayList的另外一个构造函数,初始化大小为20,不存在扩充,迷惑题。
2015-11-30 15:18:09
386
原创 JAVA vs C++
JAVA比C++慢主要原因C++程序编译链接后成可执行文件,程序与底层操作系统打交道,可以充分、自由地利用底层特性。但是,它带来的是可移植性差,依赖于所使用的平台。JAVA编译链接后形成的是字节码文件,然后再在JVM上运行,通过JVM与底层操作系统打交道。它带来的是可移植性强,可以再多平台运行,牺牲的是速度。总结:加入虚拟机后,JAVA实现了跨平台,牺牲了速度。
2015-11-30 14:36:38
292
原创 链表
链表是一种非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针实现的。链表由一系列结点组成,每个结点包括两个部分:数据域、指针域。 提到链表,就不能不提数组。正是数组的缺点,才彰显了链表的价值。 数组缺点:数组的大小要事先规定;数组的空间可能存在浪费;数组的插入和删除操作消耗很多资源。 链表结构可以充分利用计算机内存空间,实现灵活的内存
2015-11-30 13:55:26
203
转载 GC
JAVA的垃圾回收机制Garbage Collection (GC)是其与C/C++的主要区别之一。程序员不需要编写内存回收和垃圾清理的代码,这些都将由JVM (HotSpot) 自动完成。具体的说,GC机制对JVM中的内存进行标识,根据一定的回收策略自动回收内存,以保证JVM的内存空间。1、JAVA的内存(1)程序计数器 Program Counter
2015-11-30 11:03:04
236
原创 优先级
运算符优先级()++ --+ - * /> = == !=&&||面试题For which of these values of aI. 4II.6III. 8is the expression(a != 3 && a != 4 && a != 5 && a != 6)true?(1) == !
2015-11-29 13:54:27
374
原创 不定项选择题
1、下面不合法的标识符是()A newB $USdollorsC 1234D car.taxi答:JAVA规定:标识符由数字、字母、_和$组成。首位不能是数字,不能是关键字。ACD
2015-11-28 17:27:06
580
原创 main
1、就算只有一条语句,main也必须用 {} 括起来。2、JAVA可以有多个重载的main方法,但是入口肯定是 publicstaticvoidmain(String[] args).实验publicclass TestMain{ publicstatic void main(String[] args){
2015-11-28 17:22:25
229
原创 值传递和引用传递
先看代码classTwo{ Byte x;}classPassO{ publicstaticvoid main(String[] args){ PassO p=newPassO(); p.start(); } voidstart(){
2015-11-28 16:06:54
440
原创 StringBuilder
String是大姐,出生于JDK1.0时代,是不可变字符序列。StringBuffer是二姐,出生于JDK1.0时代,是线程安全的可变字符序列。StringBuilder是三姐,出生于JDK1.5时代,是非线程安全的可变字符序列。什么是线程安全?通过线程同步,使多线程访问同一段代码时,不会出现不可知的错误。
2015-11-28 12:01:57
198
原创 判断题
1、LinkedList中插入或删除一个元素,需要把剩余的元素都移动;而ArrayList中插入或删除一个元素的开销是固定的。答:错。LinkedList是基于链表的,优点是插入和删除,缺点是随机访问;ArrayList是基于数组的,优点是随机访问,缺点是插入或删除。2、Map是不是Collectiong的子接口?答:不是。
2015-11-27 15:46:05
504
原创 StringBuffer
StringBuffer和String(1)StringBuffer类偏重于对于字符串的变化,如追加、插入和删除等,这是StringBuffer和String类的主要区别。(2)StringBuffer对象的每次修改都会改变对象自身,而String对象是不可变的。(3)相互转化 StringBuffer sb = new StringBuffer(s); //Stri
2015-11-27 14:56:54
271
原创 记忆
1、重写和重载重写发生在继承中,重载发生在本类。重写的方法名相同,参数数目相同,参数类型兼容;重载的方法名相同,参数列表不同。重写的方法修饰符大于等于父类的方法修饰符,重载和修饰符无关。2、abstract抽象类可以被抽象类继承,也可以被非抽象类继承。3、数组原生类是指那些基本数据类型,数组属于引用类型,可以看出是对象。
2015-11-27 11:11:46
250
原创 杂
1、输出?double d1=-0.5;System.out.println("ceil d1 = " + Math.Ceil(d1));System.out.println("floor d1 = " + Math.floor(d1));答:.ceil():大于等于这个数的最小整数;.floor():小于等于这个数的最大整数。输出:0.0-1.0
2015-11-27 10:19:56
386
原创 final
对错1、final是java中的修饰类,可以修饰类、接口、抽象类、方法和属性。答:错。final不能修饰抽象类,抽象类都是要被继承的,final后就不能继承了。2、final修饰的方法不能被重载。答:错。是不能被重写,不是不能被重载。重写:子类方法覆盖父类方法,要求方法名和参数名都相同。重载:类内有多个方法,方法名一样,参数不一样。重载和修饰符无关。
2015-11-26 17:08:42
656
原创 内存
1、程序计数器:指示当前线程所执行的字节码执行到了第几行,线程隔离。原则上讲,所有对象都在堆区分配内存,线程共享。方法区在JVM中是一个很重要的区域,它和堆一样,是被线程共享的。
2015-11-26 17:04:16
294
原创 Exception
面试题1、输出?publicstaticint func (){ try{ return 1; }catch(Exception e){ return 2; }finally{ return 3; }}答:
2015-11-26 16:52:29
273
原创 TCP Socket
例 客户端如何连接服务器public class TestTCPServer {public static void main(String[] args) throws Exception {ServerSocket ss = new ServerSocket(6666);//要指明服务器的端口号Socket s = ss.accept();//s指服务器与这一个客户端的Soc
2015-11-26 14:35:21
185
原创 医学常识
1、有病去医院,不要自己治。2、止痛片为什么不能多吃?它的副作用是伤肾,且是不可逆的。3、为什么少挂水?其实就是滥用抗生素问题。头孢、青霉素等名称的药都是抗生素,滥用抗生素对身体不好。
2015-11-25 09:52:35
275
原创 中耳炎
时间:2015/11/25原因:洗头时将水流入耳朵里,感染。症状:流脓,耳朵疼。治疗方法:用药水冲洗耳朵;氧氟沙星滴耳液,一天三次,直接滴入2到3滴,然后用棉花堵住;阿奇霉素片,消炎,一天一次,一次两片,连续6天;布洛芬,止痛用。
2015-11-25 09:38:51
379
原创 FileInputStream
public class Test{public static void main(String[] args) throws IOException {FileInputStream fileIn = null;//定义空的输入字节流文件try{fileIn = new FileInputStream("d:\\workspace\\Test\\src\\Test.java"
2015-11-24 17:10:02
296
原创 Stream
JAVA中数据的输入输出操作都是以流(stream)的方式进行,java.io包里面定义了多个流类型。分类按照方向,分为输入流和输出流;按照单位,分为字节流和字符流;按照功能,分为节点流和处理流。所有流类型都继承自四个抽象流类型: 字节流 字符流输入流 InputStream Reader输出流 OutputStream Wri
2015-11-24 15:32:10
242
原创 继承
概念继承是从已有的类中派生出新的类,新类吸收已有类的数据属性和行为,并能扩展新的功能。类与类之间的继承关系可以用UML表示,其中父类又叫超类或基类,子类又叫派生类。一个类只能继承一个父类,可以被多个类继承。JAVA中的多继承是通过接口(interface)来间接实现的。子类权限可以继承public和protected成员变量或方法,不能继承private成员变量或方法;
2015-11-24 15:01:38
237
原创 Thread
1、如何用Thread创建多线程?class MyThreadextends Thread{ private Stringname; public MyThread(String name){ this.name = name; } publicvoid run(){//覆写Thread中的run()
2015-11-24 14:58:04
1076
原创 小问题
1、说明一下 public static void main(String args[])中各关键字的作用。答:public:main方法是JAVA运行时调用的第一个方法,因此它必须对JAVA环境可见;static:JAVA平台调用这个方法时不会创建这个类的一个实例,因此必须声明main方法是static的;void:main方法没有返回值;String args[]:命令行传
2015-11-24 14:55:07
407
原创 Runnable
实现多线程有两个方法:继承Thread类和实现Runnable接口。由于继承后Thread类后不能再继承其他类,所以实现多线程应以实现Runnable接口为主。public class Test{public static void main(String[] args) {MyRunnable mr = new MyRunnable();//Runnable是依附于T
2015-11-24 14:33:57
468
转载 static
static的作用1:方便在没有创建对象的情况下来进行调用(方法/变量)。 (1)static方法对于静态方法来说,是没有this的,因为它不依附于任何对象。既然都没有对象,就谈不上this了。由于这个特性,在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法/变量都是必须依赖具体的对象才能够被调用。但是要注意的是,非静态成员方法中是可以访问静态成员方法/变量
2015-11-23 15:50:33
221
原创 TCP三次握手
建立TCP连接需要三次握手,断开TCP连接需要四次握手。 第一次握手:客户端发送SYN包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认(SYN:同步序列编号); 第二次握手:服务器收到SYN包,确认客户的SYN包,自己也发送一个SYN+ACK包(SYN=k ,ACK=j+1),然后进入SYN_RECV状态; 第三次握手:客户端收
2015-11-21 14:26:55
193
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人