`
zhongsw
  • 浏览: 23626 次
文章分类
社区版块
存档分类
最新评论

黑马程序员_GUI和网络编程知及正则知识要点

阅读更多

---------------------- android培训java培训 、期待与您交流! ----------------------

 

 

GUI

Graphical User Interface( 图形用户接口 )

 

java.Awt:Abstract Window ToolKit( 抽象窗口工具包 ), 要调用本地系统方法实现功能 , 和系统依赖性强

javax.Swing: AWT 基础上建立的 , 其中提供了更多组件 , 而且完全由 Java 实现 , 增强移植性 , 属轻量级控件 .

 

创建图形化界面 :

1.       创建 frame 窗体 .

2.       对窗体进行基本设置

3.       定义组件

4.       将组件通过窗体 add 方法添加到窗体中

5.       让窗体显示 . 通过 setVisable

 

事件监听机制组成

事件源 : 就是 awt 包或者 swing 包中那些图形界面组件 .

事件 , 每一个事件源都有自己特有的对应事件和共性事件

监听器 , 将可以触发某一事件的一些动作都已经封装到了监听器中 .

事件处理 : 我们要做的就是对产生的动作进行处理 .

 

生成 jar 包双击执行      -cvfm my.jar 1.txt mymenu

my.jar 是要生成的 jar 包文件名称 .

1.       1.txt 是加载配置信息 , 里边固定格式 MAIN-Class: mymenu.MyMenuTest

: 后面要加一个空格 , 在文件最后要加一个回车 .

2.    mymenu .class 文件存放的文件夹 .

 

 

网络编程 :

网络模型

OSI 参考模型

TCP/IP 参考模型

网络通讯要素

       IP 地址

       端口号

       传输协议

 

InetAddress  ip=InetAddress.getByname(“127.0.0.1”);

ip.getHostAddress();      ip.getHostName();

 

UDP: 将数据源和目的都封装在包里 , 不需要建立连接 , 发送速度快 , 是不可靠协议 , 每个数据包的大小限制在 64K .

TCP: 需要建立连接形成传输通道 , 发送效率会稍低 , 要三次握手建立连接是可靠协议 . 在连接中可以进行大数据量传输 .

 

Socket 就是为网络服务提供的一种机制 .

通信的两端都有 Socket

网络通信其实就是 Socket 间的通信 .

数据在两个 Socket 间通过 IO 传输

 

DatagramPacket 此类表示数据报包。

数据报包用来实现无连接包投递服务。每条报文仅根据该包中包含的信息从一台机器路由到另一台机器。从一台机器发送到另一台机器的多个包可能选择不同的路由,也可能按不同的顺序到达。不对包投递做出保证。

UDP 发送 :

思路 :

1.       建立 udpsocket 服务

2.       提供数据 , 并将数据封装到数据包中 .

3.       通过 socket 服务的发送功能 , 将数据包发出去

4.       关闭资源 .

UDP 接收思路 :

1.       定义 udpsocket 服务

2.       定义一个数据包 , 因为要存储接收到的字节数据 , 因为数据包对象中有更多功能可以提取字节数据中的不同数据信息 .

3.       通过 socket 服务的 receive 方法将收到的数据存入已经定义好的数据包中 .

4.       通过数据包对象的特有功能 , 将这些不同的数据取出 , 打印在控制台上 .

5.       关闭资源 .

 

接收数据用的阻塞式方法

广播地址 .255 代表这个段里边的广播地址 .

 

TCP 传输

Socket ServerSocket

建立客户端和服务端

建立连接后 , 通过 Socket 中的 IO 流进行数据传输

关闭 socket

 

TCP 分客户端和服务端

客户端 : 该对象建立时就可以去连接指定的主机 . 因为 tcp 是面向连接的 , 所以在建立 socket 服务时 , 就要有服务端存在并连接成功 , 形成通路后在该通道进行数据的传输 .

思路 :

1.       建立客户端 socket 服务 , 并指定要连接的主机和端口 .

2.       为了发送数据 , 应该获取 socket 流中的输出流 .

 

服务端 :

1.       建立服务端 ServerSocket(); 并监听一个端口

2.       获取连接过来的客户端对象 . 通过 accept 方法来完成 .

3.       客户端如果发过来数据 , 那么服务端要使用对应的客户端对象 , 并获取到该客户端对象读取流来读取发过来的数据 .

客户端和服务端的流是反向对立的 .

TCP 传输协议结束要结束通讯可以禁用流 , 也就是等于加入结束标记

禁用流的两种方式 :shutdownInput(); shutdownOutput();

分析客户端和服务端得出服务端要开启多线程运行 , 让每一个连接的客户端都有独立的线程

可以把和客户端交互的代码封装在一个类中 , 此类实现了 Runnable 接口 . 要通讯的过程中要考虑各种实际情况在线程中做出相应的处理 .

 

 

正则表达式 : 符合一定规则的表达式 .

作用 : 用于专门操作字符串 .

特点 : 用一些特定的符号来表示一些代码操作 . 这样就简化了书写 .

好处 : 可以简化对字符串的复杂操作 .

弊端 : 符号定义越多 , 正则越长 , 阅读性越差 .

 

具体操作功能 .

1.       匹配 : String   matches 方法 .

2.       切割 : String split    组的概念 .(.)\\1+  () 来表示 . 遍号默认从 1 开始 , 要想使用以前的通过 \n 来完成 . 区分组看左括号有几个就是几组 , 最左括号是第一组 , 依次推 .

3.       替换 :String   replaceAll   $1 拿前一个符号的第一组 .

4.       获取 : 将字符串中的符合规则的子串取出 .

操作步骤 :

1.       将正则表达式封装成对象 .

2.       让正则对象和要操作的字符串关联 .

3.       关联后 , 获取正则匹配引擎 .

4.       通过引擎对符合规则的子串进行操作 , 比如取出 .

 

 

---------------------- android培训java培训 、期待与您交流! ----------------------

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics