摘要:
网络与分布式集群系统的区别:每个节点都是一台计算机,而不是各种计算机内部的功能设备。 Ip:具有全球唯一性,相对于internet,IP为逻辑地址。 端口(port):一台PC中可以有65536个端口,进程通过端口交换数据。连线的时候需要输入IP也需要输入端口信息。 计算机通信实际上的主机之间的进程 阅读全文
摘要:
UDP编程: DatagramSocket(邮递员):对应数据报的Socket概念,不需要创建两个socket,不可使用输入输出流。 DatagramPacket(信件):数据包,是UDP下进行传输数据的单位,数据存放在字节数组中。 UDP也需要现有Server端,然后再有Client端。 两端都是 阅读全文
摘要:
字节输入流:io包中的InputStream为所有字节输入流的父类。 Int read();读入一个字节(每次一个); 可先使用new byte[]=数组,调用read(byte[] b) read (byte[])返回值可以表示有效数;read (byte[])返回值为-1表示结束。 字节输出流: 阅读全文
摘要:
class ObjectOutputStream也是过滤流,使节点流直接获得输出对象。 最有用的方法:WriteObject(Object b) 用流传输对象称为对象的序列化,但并不使所有的对象都可以进行序列化的。只有在实现类时必须实现一个接口:IO包下的Serializable(可序列化的)。此接 阅读全文
摘要:
List():显示文件的名(相对路径) ListFiles():返回Files类型数组,可以用getName()来访问到文件名。 使用isDirectory()和isFile()来判断究竟是文件还是目录。 练习: 写一个javaTest程序,列出所有目录下的*.java文件,把子目录下的JAVA文件 阅读全文
摘要:
练习: ① 存车位的停开车的次序输出问题; ② 写两个线程,一个线程打印1-52,另一个线程答应字母A-Z。打印顺序为12A34B56C……5152Z。通过使用线程之间的通信协调关系。 注:分别给两个对象构造一个对象o,数字每打印两个或字母每打印一个就执行o.wait()。在o.wait()之前不要 阅读全文
摘要:
Module 10:I/O流(java如何实现与外界数据的交流) Input/Output:指跨越出了JVM的边界,与外界数据的源头或者目标数据源进行数据交换。 输出 输入 注意:输入/输出是针对JVM而言。 File类(java.io.*)可表示一个文件,也有可能是一个目录(在JAVA中文件和目录 阅读全文
摘要:
线程因为未拿到锁标记而发生的阻塞不同于前面五个基本状态中的阻塞,称为锁池。 每个对象都有自己的一个锁池的空间,用于放置等待运行的线程。 这些线程中哪个线程拿到锁标记由系统决定。 锁标记如果过多,就会出现线程等待其他线程释放锁标记,而又都不释放自己的锁标记供其他线程运行的状况。就是死锁。 死锁的问题通 阅读全文
摘要:
释放锁标记只有在Synchronized代码结束或者调用wait()。 注意锁标记是自己不会自动释放,必须有通知。 注意在程序中判定一个条件是否成立时要注意使用WHILE要比使用IF要严密。 WHILE会放置程序饶过判断条件而造成越界。 补充知识: suspend()是将一个运行时状态进入阻塞状态( 阅读全文
摘要:
下午: 程序员需要关注的线程同步和互斥的问题。 多线程的并发一般不是程序员决定,而是由容器决定。 多线程出现故障的原因: 两个线程同时访问一个数据资源(临界资源),形成数据发生不一致和不完整。 数据的不一致往往是因为一个线程中的两个关联的操作只完成了一步。 避免以上的问题可采用对数据进行加锁的方法 阅读全文
摘要:
第二种方式: Class MyThread implements Runnable{ Public void run(){ Runnable target=new MyThread(); Thread t3=new Thread(target); Thread.start();//启动线程 } } 阅读全文
摘要:
多线程 进程:任务 任务并发执行是一个宏观概念,微观上是串行的。 进程的调度是有OS负责的(有的系统为独占式,有的系统为共享式,根据重要性,进程有优先级)。 由OS将时间分为若干个时间片。 JAVA在语言级支持多线程。 分配时间的仍然是OS。 参看P377 线程由两种实现方式: 第一种方式: cla 阅读全文
摘要:
Module 11 Swing AWT是Java最早出现的图形界面,但很快就被Swing所取代。 Swing才是一种真正的图形开发。 AWT在不同平台所出现的界面可能有所不同:因为每个OS都有自己的UI组件库,java调用不同系统的UI。 注意AWT为重量级组件,相当消耗资源,且不同系统的组件可能不 阅读全文
摘要:
Swing与AWT在事件模型处理上是一致的。 Jframe实际上是一堆窗体的叠加。 Swing比AWT更加复杂且灵活。 在JDK1.4中,给JFRAME添加Button不可用jf.add(b)。而是使用jf.getContentPane().add(b)。 content是先申请面板。不过在JDK1 阅读全文
摘要:
我们在学习JDBC的时候会过度到J2EE。 在Swing的组件中,基本上都是在AWT组件的名称前面加“J”。 一般情况下,除了Choise等组件: import javax.swing.*;好要加上:import java.awt.*以及import java.awt.event.*。 Swing与 阅读全文
摘要:
事件模式的实现步骤: 开发事件对象(事件发送者)——接口——接口实现类——设置监听对象 一定要理解透彻Gril.java程序。 重点:学会处理对一个事件源有多个事件的监听器(在发送消息时监听器收到消息的排名不分先后)。 事件监听的响应顺序是不分先后的,不是谁先注册谁就先响应。 事件监听由两个部分组成 阅读全文
摘要:
Module 10 Canvas组件:画布,可以实现动画操作。 TextArea:文本域。 在单行文本域中回车会激发ActionEvent。 用CheckBoxGroup实现单选框功能。 Java中,单选框和复选框都是使用CheckBox实现。 菜单:new MenuBar(),MenuBar表示菜 阅读全文
摘要:
在java.util中有EventListener接口:所有事件监听者都要实现这个接口。 java.util中有EventObject类:所有的事件都为其子类。 事件范例在\CoreJava\Girl.java文件中。(文件已加注释) 注意:接口因对不同的事件监听器对其处理可能不同,所以只能建立监听 阅读全文
摘要:
五种布局管理器: P206:Flow Layout(流式布局):按照组件添加到容器中的顺序,顺序排放组件位置。默认为水平排列,如果越界那么会向下排列。排列的位置随着容器大小的改变而改变。 Panel默认的布局管理器为Flow Layout。 Border Layout:会将容器非常五个区域:东西南北 阅读全文
摘要:
经验之谈:Swing的开发工作会非常的累,而且这项技术正在走向没落。避免从事有这种特征的工作。 AWT也即将被取代。 Module8—Module11所使用的技术都将被JSF技术所取代。 JSF是服务器端的Swing:目前技术已经成熟,但是开发环境(工具)还不成熟。 Module12的Applet技 阅读全文