在程序中书写注释不会影响程序的执行,可以在必要的地方多写一些注释。 | 只会稍微影响编译效率 |
接口方法被实现后,修饰符必须为public | |
Java还实现了真数组,避免了覆盖数据的可能 | |
程序设计语言中,数组元素在内存中是一个接着一个线性存放的,通过第一个元素就能访问随后的元素,这样的数组称之为“真数组”。 实现了真数组为Java语言健壮性的特点之一。 | |
HashMap不能保证元素的顺序,HashMap能够将键设为null,也可以将值设为null,与之对应的是Hashtable,Hashtable不能将键和值设为null,否则运行时会报空指针异常错误; | |
HashMap线程不安全,Hashtable线程安全 | |
在java中,我们可以用违例(Exception)来抛出一些并非错误的消息,但这样比直接从函数返回一个结果要更大的系统开销。 | |
对数组复制的四种方法,从慢到快依次是,clone,for,Arrays.copyOf,System.arraycopy | |
java方法不会改变实参的值(引用/地址) | |
构造方法不能被final/static/synchronized/native修饰 | |
堆区方法区线程共享/栈区线程不共享 | |
Math.ceil和Math.floor,返回double,如果参数是-0,结果是0.0,如果参数是-0.0,结果是-0.0.如果参数是NaN,正负无穷结果与参数相同 | |
str1.substring(5)会产生一个新对象 | |
StringBuffer的length是长度,capacity是容量 | |
ServletConfig接口默认是GenericServlet实现的 | |
子类重写了父类的方法,父类的调用也会调用子类的方法的 | |
Iterater没有实现Collection接口 | |
java.util.*,只能读取其目录下的类,不能读取其子目录下的类。 | |
静态内部类才可以声明静态方法 | |
函数代码小,频繁调用,可以使用内联函数 | |
将一个线程标记成daemon线程,意味着当主线程结束,并且没有其它正在运行的非daemon线程时,该daemon线程也会自动结束。 | |
形式参数可被视为local variable | |
HashTable使用Enumeration,HashMap使用Iterator | |
Hashtable直接使用对象的hashCode,HashMap重新计算hash值,而且用与代替求模 | |
JDK中提供的java、javac、jar等开发工具也是用Java编写的。底层C实现的. | |
String str2="he"+ new String("llo"); | |
BufferedReader的父类是Reader | |
枚举类 所有的枚举值都是类静态常量,在初始化时会对所有的枚举值对象进行第一次初始化,有几个就初始化几次. | |
ClassLoader就是用来动态加载class文件到内存当中用的 | |
ClassLoader使用的是双亲委托模型来搜索类的 | |
Java默认提供的三个ClassLoader是Boostrap ClassLoader,Extension ClassLoader,App ClassLoader | |
Map和Iterater没有继承Collection | |
索引中带头大哥不能死,中间兄弟不能断! | |
线程调度算法是平台独立的 | |
用volatile修饰的变量,每次更新对其他线程都是立即可见的。 | |
对volatile变量的操作不会造成阻塞 | |
空格32,0-9 48-57,A-Z 65-90,a-z 97-122 | |
管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。 | |
Web程序中,当前用户上下文信息应该保存在下面哪个对象中(application) | |
Java一律采用Unicode编码方式,每个字符无论中文还是英文字符都占用2个字节。 | |
ThreadLocal存放的值是线程封闭,线程间互斥的,主要用于线程内共享一些数据,避免通过参数来传递 | |
线程的角度看,每个线程都保持一个对其线程局部变量副本的隐式引用,只要线程是活动的并且 ThreadLocal 实例是可访问的;在线程消失之后,其线程局部实例的所有副本都会被垃圾回收 | |
在Thread类中有一个Map,用于存储每一个线程的变量的副本。 | |
对于多线程资源共享的问题,同步机制采用了“以时间换空间”的方式,而ThreadLocal采用了“以空间换时间”的方式 | |
Thread/Number/ClassLoader可以被继承 | |
String和包装类不能 | |
容器panel缺省使用的布局编辑策略是FlowLayout | |
编译时"tao"+"bao"将直接变成"taobao",而a+b不会进行优化,所以"tao"+"bao"==taobao" | |