黑马程序员技术交流社区

标题: 网络编程 [打印本页]

作者: 空白心    时间: 2015-6-14 22:10
标题: 网络编程
1:GUI(了解)
        (1)GUI是用户图形接口。
        (2)两个包:
                java.awt:和系统关联较强,重量级组件。
                javax.swing:由纯Java实现,轻量级组件。
        (3)组件:就是对象。
                基本组件:依赖于容器组件能够具备独立功能。
                容器组件:存储基本组件和容器组件的组件。
        (4)案例:
                第一个窗体
                第一个窗体关闭
                窗体添加按钮,并对按钮添加事件
                窗体添加文本框,并转移数据
                一级菜单案例
                多级菜单案例
        (5)事件监听机制(理解)
                事件源:发生事件的组件
                事件:要发生的事情
                事件处理:对该事件的处理方案
                事件监听:把事件源和事件进行关联

        (6)适配器模式
                接口:有多个功能

                抽象类:实现接口,全部提供空实现

                具体类:继承抽象类,使用谁,重新谁

(1)网络编程概述
        A:计算机网络
                是指将地理位置不同的具有独立功能的多台计算机及其外部设备,
                通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,
                实现资源共享和信息传递的计算机系统。
        B:网络编程
                就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换。

(2)网络模型概述和图解
        A:网络模型概述
                计算机网络之间以何种规则进行通信,就是网络模型研究问题。
                网络模型一般是指
                        OSI(Open System Interconnection开放系统互连)参考模型
                        TCP/IP参考模型


(3)网络编程(网络编程三要素概述)
        A:IP地址:InetAddress
                网络中设备的标识,不易记忆,可用主机名
        B:端口号
                用于标识进程的逻辑地址,不同进程的标识
        C:传输协议
                通讯的规则
                常见协议:TCP,UDP

(4)IP概述
        A:IP概述
                所谓IP地址就是给每个连接在Internet上的主机分配的一个32bit地址。
                按照TCP/IP规定,IP地址用二进制来表示,每个IP地址长32bit,
                比特换算成字节,就是4个字节。
                例如一个采用二进制形式的IP地址是“00001010000000000000000000000001”,
                这么长的地址,人们处理起来也太费劲了。为了方便人们的使用,
                IP地址经常被写成十进制的形式,中间使用符号“.”分开不同的字节。
                于是,上面的IP地址可以表示为“10.0.0.1”。
                IP地址的这种表示法叫做“点分十进制表示法”,这显然比1和0容易记忆得多。
        B:IP地址的组成
                IP地址 = 网络号码+主机地址
                A类IP地址:第一段号码为网络号码,剩下的三段号码为本地计算机的号码
                B类IP地址:前二段号码为网络号码,剩下的二段号码为本地计算机的号码
                C类IP地址:前三段号码为网络号码,剩下的一段号码为本地计算机的号码
        C:IP地址分类
                A类        1.0.0.1---127.255.255.254        (1)10.X.X.X是私有地址(私有地址就是在互联网上不使用,而被用在局域网络中的地址)                                                        (2)127.X.X.X是保留地址,用做循环测试用的。
                B类        128.0.0.1---191.255.255.254        172.16.0.0---172.31.255.255是私有地址。169.254.X.X是保留地址。
                C类        192.0.0.1---223.255.255.254        192.168.X.X是私有地址
                D类        224.0.0.1---239.255.255.254        
                E类        240.0.0.1---247.255.255.254       
        D:特殊地址
                127.0.0.1 回环地址,可用于测试本机的网络是否有问题. ping 127.0.0.1   

                DOS命令 ipconfig:查看本机IP地址

                xxx.xxx.xxx.0 网络地址
                xxx.xxx.xxx.255 广播地址

(5)InetAddress类的概述
                此类表示互联网协议 (IP) 地址。
        InetAddress类的常见功能
                public static InetAddress getByName(String host)
                public String getHostAddress()
                public String getHostName()

       
(6)端口
                物理端口 网卡口
                逻辑端口 我们指的就是逻辑端口
                a:每个网络程序都会至少有一个逻辑端口
                b:用于标识进程的逻辑地址,不同进程的标识
                c:有效端口:0~65535,其中0~1024系统使用或保留端口。
                通过360可以查看端口号
(7)协议
                UDP
                        将数据源和目的封装成数据包中,不需要建立连接;
                        每个数据报的大小在限制在64k;
                        因无连接,是不可靠协议;
                        不需要建立连接,速度快
                TCP
                        建立连接,形成传输数据的通道;
                        在连接中进行大数据量传输;
                        通过三次握手完成连接,是可靠协议;
                        必须建立连接,效率会稍低

(8)Socket通信原理
        A:Socket套接字概述:
                网络上具有唯一标识的IP地址和端口号组合在一起才能构成唯一能识别的标识符套接字。
        B:Socket原理机制:
                通信的两端都有Socket。
                网络通信其实就是Socket间的通信。
                数据在两个Socket间通过IO传输。


1:不同类加载器的使用
2:反射(理解)
        (1)通过字节码文件对象去使用构造方法,成员变量,成员方法。
        (2)如何获取字节码文件对象:
                A:通过Object类的getClass()方法。
                B:通过数据类型的class静态属性。
                C:通过Class类的静态方法forName()。
        (3)反射获取操作:
                A:通过反射获取构造方法并使用。
                        通过构造方法对象创建对象。
                B:通过反射获取成员变量并使用。
                        通过成员变量对象给成员变量赋值。
                C:通过反射获取成员方法并使用。
                        通过成员方法对象调用成员方法。
        (4)暴力反射:取消访问权限检查
        (5)面试题:
                反射越过泛型检查。
                反射运行配置文件内容。(可以帮助我们理解反射的好处)

3:简单设计模式

        设计模式概述:
        设计模式这个术语是由Erich Gamma等人在1990年代从建筑设计领域引入到计算机科学的。它是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。

        设计模式并不直接用来完成代码的编写,而是描述在各种不同情况下,要怎么解决问题的一种方案。面向对象设计模式通常以类或对象来描述其中的关系和相互作用,但不涉及用来完成应用程序的特定类或对象。设计模式能使不稳定依赖于相对稳定、具体依赖于相对抽象,避免会引起麻烦的紧耦合,以增强软件设计面对并适应变化的能力。

设计模式分类:
        创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
        结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
        行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

(1)、单例设计模式
        在整个应用中有且仅有一个实例对象
        典型案例:
                RunTime

(2)、适配器设计模式
        将一个类的接口根据用户的需求,适配成便于使用的类/抽象类
        典型案例:
                GUI监听器
(3)、装饰设计模式
        添加一个修饰类包裹原来的类,在运行时便可以扩充其新的功能
        典型案例:
                高效缓冲IO流
(4)、工厂设计模式
        使用工厂创建某些类的实例对象,从而取代之前自身调用构造new的操作
        典型案例:
                线程池
(5)、模板设计模式
        将一个完整功能分隔成不同步骤,对多个实现类共同的操作使用具体的实现,对多个类的差异操作使用抽象


9.图形界面编程
9.1.GUI概念
?什么是GUI
?GUI是Graphical User Interface的缩写,图形化用户界面
?awt和swing
?Java为GUI提供的对象都存在java.awt,javax.swing两个包中
?awt依赖于本地系统平台,如颜色样式显示
?swing跨平台
?组件与容器
?组件Component,是GUI图形界面的组成单元。
?容器Container,可以存放组件,也可以存放容器。
9.2.布局管理
?FlowLayout(流式布局管理器)
?从左到右的顺序排列。
?BorderLayout(边界布局管理器)   
?东,南,西,北,中
?GridLayout(网格布局管理器)
?规则的矩阵
?CardLayout(卡片布局管理器)
?选项卡
?GridBagLayout(网格包布局管理器)
?非规则的矩阵
9.3.建立一个窗体
?窗体中可以存放各种组件,所以窗体是容器Container。创建时我们使用的是它的子类
?Container的常用子类有两个,Window和Panel。Window是我们常用的窗体,Panel是用来布局的不可见的。
?Window也有两个常用子类,Frame和Dialog。Frame是我们常用的带有标题和边框的顶层窗口,Dialog是对话框。
作者: 空白心死    时间: 2015-6-19 00:02
学习了!!!!  赞
作者: 给点正能量    时间: 2015-6-19 08:34
谢谢楼主分享
作者: 银哥    时间: 2015-6-19 09:19
学习一下
作者: zhenxing133    时间: 2015-6-19 11:40
学习了..
作者: 1958078929    时间: 2015-6-19 12:22
谢谢分享
作者: 936994215    时间: 2016-6-13 12:06
不错哒。。
作者: haojingwei310    时间: 2016-6-13 21:22
好多啊!!
作者: zxjuzhu    时间: 2016-6-13 21:39
好东西,赞!
作者: tianzhu2725    时间: 2016-6-14 22:28
好详细啊辛苦了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2