多线程、网络、GUI

       这两天把java剩下的内容:多线程、网络编程、GUI给全部学习完了。到现在为止,对于java简单的认识就结束了,下午开始认识CSS。

多线程:  线程是程序内不同的执行路径。

   (1)在一个程序中只有一个主线程,叫main方法。可以有其他很多的子线程。

   (2)在程序中通过Thread的实例来创建新的线程。

   (3)每个线程都是通过某个特定的Thread对象所对应的run()方法来完成某操作的,而run()就称为方法体。

   (4)线程的启动通过调用Thread类的start()方法来实现。

创建新的线程有两种方式:

   (1)通过定义线程类实现Runnable接口

   (2)定义一个继承自Thread的子类,并重写run()方法。

线程控制的基本方法:

   (1)sleep方法:暂时终止一个线程

   (2)jion方法:  合并线程

   (3)yield方法: 让出当前CPU,给其它线程运行

   (4)synchroized方法: 锁定一个线程

         在java语言中,引入了对象互斥锁的概念,保证共享数据操作的完整性。每个对象都对应于一个“互斥锁”标记,这个标记保证在这一时刻只能有一个线程访问该对象。对象的互斥锁联系用关键字synchroized来实现,用synchroized修饰的对象在任意时刻只能由一个线程访问。

(5)notify方法:当一个对象被wait的时候,要重新访问它就使用notify方法唤醒。

       notify方法必须和wait方法一起使用,而使用wait方法的对象必先synchroized锁定。

       线程的总结:线程的概念;创建和启动线程;sleep方法;jion方法;yield方法;synchroized方法;wait方法;notify方法。

网络编程:

1、IP协议:给主机提供独一无二的IP地址。

2、tcp协议:提供可靠的,端到端的字节流通信协议。

3、udp协议:不需要连接的,不可靠的通信协议。

4、Scoket:

     (1)两个java应用程序可以通过一个双向的网络通信连接实现数据的交换,这个双向链路的一端称为一个Scoket。

    (2)Scoket通常用来实现client-server的连接。

    (3)java.net包中定义了两个类Scoket和ServerScoket,分别用来实现双向连接的client客户端和server服务端。

    (4)简历连接是所需的寻址信息为远程计算机的IP地址和端口号。

     注意:只有TCP协议才分客户端和服务端,UDP没有。

总结:

      网络协议的分层思想;IP的概念;TCP/UDP的概念;TCP/UDP程序的写法

GUI(图像编程):

1、AWT抽象窗口包:

    (1)AWT包含了许多类和接口,用于java.Application的GUI编程。

    (2)GUI的各种元素(如窗口、按钮、文本框等)都由java类来实现。

    (3)使用AWT所涉及的类一般在java.awt包及其子类包中。

    (4)Container和Component是AWT中的两个核心类

     java的图形用户界面最基本的组成部分是Container和Component类及其子类对象,用来描述一图形化的方式显示在屏幕上,并能与用户进行交互的GUI元素,如一个按钮、一个标签等。

    一般的Component对象不能独立的显示出来,必须将其放在某一对象的Componet对象中财可以显示出来。

    Container是Component的子类,可以容纳别的component对象;Container对象使用add(....)方法向其添加其他Component对象;Container对象可以被当做Component对象添加到其他Container对象中。

    常用的Container有:window和panel。

2、Frame: window的子类,由Frame或其子类创建的对象为一个窗口。

3、Panel: 其对象可以作为容纳其他Component对象,但不能独立存在,必须被添加到其他的Container对象中。

    (1)可以容纳Component,但不能独立的显示出来

    (2)Panel对象可以拥有自己的布局管理器。

    (3)也有父类继承来的方法。

4、布局管理器:

   (1)FlowLayout布局管理器:称为流水线布局管理器,是Panel类的默认布局管理器。FlowLayout的默认方式的居中;FlowLayout对组建的排列方式为行内从左往右,行满换行。

  (2)BroderLayout布局管理器:Frame类的默认布局管理器,分为东西南北中五个区域。

   (3)GridLayout布局管理器(格布局管理器)。

5、事件监听ActionListener:

java总结:

     经过一个多星期的时间,把有关java的知识简单的学习了一次,其中有面向对象编程、java容器、流、线程等很重要的知识。在这一个多星期的时间里,我不能说每天都百分百认真的投入,因为有不少知识在大学没学过是我第一次接触的,有很多地方还不能弄明白。由于时间的问题,我不能花费太多的精力去完全理解清楚,只能留个后面接触的时候慢慢弄明白。我觉得很多东西都是要在现实中多使用才能清楚的理解他,才能很轻松地运用它。在java的学习中也做了些笔记,不算多,思路可能也不够清晰,我会在以后多复习来巩固。从下午开始学习CCS和javascript。

   

猜你喜欢

转载自qq449170955.iteye.com/blog/1918300