Java
luplee
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
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 · 255 阅读 · 0 评论 -
优先级
运算符优先级 () ++ -- + - * / > = == != && || 面试题 For which of these values of a I. 4 II.6 III. 8 is the expression (a != 3 && a != 4 && a != 5 && a != 6) true? (1) == !原创 2015-11-29 13:54:27 · 412 阅读 · 0 评论 -
Thread
1、如何用Thread创建多线程? class MyThread extends Thread{ private String name; public MyThread(String name){ this.name = name; } publicvoid run(){//覆写Thread中的run()原创 2015-11-24 14:58:04 · 1129 阅读 · 0 评论 -
链表
链表是一种非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针实现的。 链表由一系列结点组成,每个结点包括两个部分:数据域、指针域。 提到链表,就不能不提数组。正是数组的缺点,才彰显了链表的价值。 数组缺点: 数组的大小要事先规定; 数组的空间可能存在浪费; 数组的插入和删除操作消耗很多资源。 链表结构可以充分利用计算机内存空间,实现灵活的内存原创 2015-11-30 13:55:26 · 237 阅读 · 0 评论 -
Swing
AWT是基于本地方法的C/C++程序,Swing是基于AWT的JAVA程序。 Swing比AWT慢。原创 2015-11-30 14:37:03 · 258 阅读 · 0 评论 -
GC
JAVA的垃圾回收机制Garbage Collection (GC)是其与C/C++的主要区别之一。 程序员不需要编写内存回收和垃圾清理的代码,这些都将由JVM (HotSpot) 自动完成。 具体的说,GC机制对JVM中的内存进行标识,根据一定的回收策略自动回收内存,以保证JVM的内存空间。 1、JAVA的内存 (1)程序计数器 Program Counter转载 2015-11-30 11:03:04 · 283 阅读 · 0 评论 -
ArrayList
ArrayList list = new ArrayList(20);中的list扩充几次? 答:new ArrayList(); 默认大小为10,这里调用的是ArrayList的另外一个构造函数,初始化大小为20,不存在扩充,迷惑题。原创 2015-11-30 15:18:09 · 430 阅读 · 0 评论 -
JAVA vs C++
JAVA比C++慢 主要原因 C++程序编译链接后成可执行文件,程序与底层操作系统打交道,可以充分、自由地利用底层特性。 但是,它带来的是可移植性差,依赖于所使用的平台。 JAVA编译链接后形成的是字节码文件,然后再在JVM上运行,通过JVM与底层操作系统打交道。 它带来的是可移植性强,可以再多平台运行,牺牲的是速度。 总结:加入虚拟机后,JAVA实现了跨平台,牺牲了速度。原创 2015-11-30 14:36:38 · 335 阅读 · 0 评论 -
值传递和引用传递
先看代码 classTwo{ Byte x; } classPassO{ publicstatic void main(String[] args){ PassO p=newPassO(); p.start(); } voidstart(){原创 2015-11-28 16:06:54 · 493 阅读 · 0 评论 -
Collection
首先,使用现有的框架进行开发,即节省时间,又高质量。 JAVA的集合框架有Collection和Map。原创 2015-11-28 13:22:39 · 801 阅读 · 0 评论 -
编译和运行
JAVA的编译(javac)是指JVM检查代码的语法错误,这期间的错误叫做编译器错误。 JAVA的运行(java)是指JVM运行java代码,检查程序逻辑错误,这期间的错误叫做运行期错误。原创 2015-12-01 12:03:30 · 283 阅读 · 0 评论 -
内存
释放掉占据的内存空间是由GC完成的。原创 2015-11-29 13:55:11 · 288 阅读 · 0 评论 -
不定项选择题
1、下面不合法的标识符是() A new B $USdollors C 1234 D car.taxi 答: JAVA规定:标识符由数字、字母、_和$组成。首位不能是数字,不能是关键字。 ACD原创 2015-11-28 17:27:06 · 629 阅读 · 0 评论 -
构造函数
构造方法可以有访问的修饰: public, protected, private 或者没有修饰。但是不能有非访问性质的修饰: abstract, final,native,static, 或synchronized 。 当一个类中没有定义任何构造方法,Java将自动提供一个缺省构造方法。 构造方法中的super关键字:构造方法的super用于调用其父类的构造方法原创 2015-12-02 16:17:46 · 320 阅读 · 0 评论 -
基本数据类型
Which is not Java primitive types? A short B Bollean C byte D float primitive types:原始类。 JAVA中的基本数据类型都对应有一个引用类型,如:Integer 是int 的引用类型,Boolean是bollean的引用类型。 因为JAVA规定,类名必须大写,所以可以以此判断。原创 2015-12-02 16:34:02 · 313 阅读 · 0 评论 -
访问权限
原创 2015-12-02 10:00:32 · 255 阅读 · 0 评论 -
计算机基础知识
1、What results from the following code fragment? int i = 5; int j = 10; System.out.println(i + ~j); ~是补码的意思,~n = -n-1 . 输出:-6原创 2015-12-03 10:22:49 · 355 阅读 · 0 评论 -
内存
1、 程序计数器:指示当前线程所执行的字节码执行到了第几行,线程隔离。 原则上讲,所有对象都在堆区分配内存,线程共享。 方法区在JVM中是一个很重要的区域,它和堆一样,是被线程共享的。原创 2015-11-26 17:04:16 · 319 阅读 · 0 评论 -
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 · 259 阅读 · 0 评论 -
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 · 513 阅读 · 0 评论 -
static
static的作用1:方便在没有创建对象的情况下来进行调用(方法/变量)。 (1)static方法 对于静态方法来说,是没有this的,因为它不依附于任何对象。既然都没有对象,就谈不上this了。 由于这个特性,在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法/变量都是必须依赖具体的对象才能够被调用。但是要注意的是,非静态成员方法中是可以访问静态成员方法/变量转载 2015-11-23 15:50:33 · 256 阅读 · 0 评论 -
继承
概念 继承是从已有的类中派生出新的类,新类吸收已有类的数据属性和行为,并能扩展新的功能。 类与类之间的继承关系可以用UML表示,其中父类又叫超类或基类,子类又叫派生类。 一个类只能继承一个父类,可以被多个类继承。 JAVA中的多继承是通过接口(interface)来间接实现的。 子类权限 可以继承public和protected成员变量或方法,不能继承private成员变量或方法;原创 2015-11-24 15:01:38 · 271 阅读 · 0 评论 -
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 · 326 阅读 · 0 评论 -
Stream
JAVA中数据的输入输出操作都是以流(stream)的方式进行,java.io包里面定义了多个流类型。 分类 按照方向,分为输入流和输出流; 按照单位,分为字节流和字符流; 按照功能,分为节点流和处理流。 所有流类型都继承自四个抽象流类型: 字节流 字符流 输入流 InputStream Reader 输出流 OutputStream Wri原创 2015-11-24 15:32:10 · 283 阅读 · 1 评论 -
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 · 209 阅读 · 0 评论 -
final
对错 1、final是java中的修饰类,可以修饰类、接口、抽象类、方法和属性。 答:错。final不能修饰抽象类,抽象类都是要被继承的,final后就不能继承了。 2、final修饰的方法不能被重载。 答: 错。是不能被重写,不是不能被重载。 重写:子类方法覆盖父类方法,要求方法名和参数名都相同。 重载:类内有多个方法,方法名一样,参数不一样。重载和修饰符无关。原创 2015-11-26 17:08:42 · 731 阅读 · 0 评论 -
小问题
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 · 467 阅读 · 0 评论 -
杂
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 · 435 阅读 · 0 评论 -
StringBuffer
StringBuffer和String (1)StringBuffer类偏重于对于字符串的变化,如追加、插入和删除等,这是StringBuffer和String类的主要区别。 (2)StringBuffer对象的每次修改都会改变对象自身,而String对象是不可变的。 (3)相互转化 StringBuffer sb = new StringBuffer(s); //Stri原创 2015-11-27 14:56:54 · 297 阅读 · 0 评论 -
Exception
面试题 1、输出? publicstatic int func (){ try{ return 1; }catch(Exception e){ return 2; }finally{ return 3; } } 答:原创 2015-11-26 16:52:29 · 321 阅读 · 0 评论 -
记忆
1、重写和重载 重写发生在继承中,重载发生在本类。 重写的方法名相同,参数数目相同,参数类型兼容;重载的方法名相同,参数列表不同。 重写的方法修饰符大于等于父类的方法修饰符,重载和修饰符无关。 2、abstract 抽象类可以被抽象类继承,也可以被非抽象类继承。 3、数组 原生类是指那些基本数据类型,数组属于引用类型,可以看出是对象。原创 2015-11-27 11:11:46 · 292 阅读 · 0 评论 -
判断题
1、LinkedList中插入或删除一个元素,需要把剩余的元素都移动;而ArrayList中插入或删除一个元素的开销是固定的。 答:错。LinkedList是基于链表的,优点是插入和删除,缺点是随机访问;ArrayList是基于数组的,优点是随机访问,缺点是插入或删除。 2、Map是不是Collectiong的子接口? 答:不是。原创 2015-11-27 15:46:05 · 544 阅读 · 0 评论 -
main
1、就算只有一条语句,main也必须用 {} 括起来。 2、JAVA可以有多个重载的main方法,但是入口肯定是 public static void main(String[] args). 实验 public class TestMain{ public static void main(String[] args){原创 2015-11-28 17:22:25 · 264 阅读 · 0 评论 -
StringBuilder
String是大姐,出生于JDK1.0时代,是不可变字符序列。 StringBuffer是二姐,出生于JDK1.0时代,是线程安全的可变字符序列。 StringBuilder是三姐,出生于JDK1.5时代,是非线程安全的可变字符序列。 什么是线程安全? 通过线程同步,使多线程访问同一段代码时,不会出现不可知的错误。原创 2015-11-28 12:01:57 · 231 阅读 · 0 评论
分享