if
(this.snam=s.sname)
{
Flag=true;
}
}
Return flag;
}
Public int hashCode()
{
Return
this.sname.hashCode ();
}
8 、 在 TreeSet 有 序排 序时 根据 需要 须重 写 compareto 方 法 (对象 类必 须实 现
Comparable(比较器)接口)。
Public int compareTo (Object obj)
{
Student s= (Student) obj;
Return this.num-s.num;
//return this.name.compareTo (s.name);
}
四、IO(管道)
1、节点流:可以从特定的数据源读写数据
处理流:包装节点流或处理流。
3、字节流的超类:InputStream、OutputStream(Steam 字节)
字符流的超类:Reader、Writer
5、Buffered:缓冲
6、PrintWriter:打印流,既可作节点流,又可作处理流。
7、ObjectInputStream、ObjectOutputStream 对对象进行读写。
8、字符流只能对文件进行操作。
9、transient 修饰的属性瞬态不能参加反序列化。
10、ByteArrayInputStream:把数据写到内存
ByteArrayOutputStream
:实现了一个输出流,其中的数据被写入一个 byte
数组。缓冲区会随着数据的不断写入而自动增长。
五、多线程(结果的不确定性)。
1、在某个时间点上不可能有两个线程在运行。
2、进程:(静态的)应用程序。
线程:(动态的)执行进程的不同路径。
3、子类覆盖父类的方法所抛出的异常只能越来越窄。
4、守护线程:运行在后台的一种特殊线程,它独立于控制终端并且周期性地执行某
种任务或等待处理某些发生的事件
5、Sleep:休眠,但是为持锁休眠。
Wait:也是休眠,但是为释放一把锁。
6、锁:开启线程的钥匙。
7、
:让出 cpu,给出其他线程执行的机会。
8、join:把多个线程加入到当前的线程,把目标线程执行完以后,在执行当前线程
(如 main 线程)(伪单线程)。
9、线程同步:synchronized(内放一把锁)。在其内的代码块保证只有一个线程
在执行,进去的线程持有这把锁。
10、static:确定数据在内存块中是唯一的。
11、进程不共享数据,线程可以共享。
共享是堆空间的共享,堆空间存放的是对象,栈空间是独立的。
六、反射(把 java 程序的各个部分映射成相应的 java 类)
1、字节码文件
2、框架的存在依赖于反射。
3、静态代码块在类加载的时候执行,且仅执行一次。
4、所有的 java 类都是 Class 类的一个实例。
5、==比较的是对象的地址。
6、...指参数为可变参数。
七、图形界面
事件监听机制