黑马程序员技术交流社区

标题: JAVA相关学习笔记 [打印本页]

作者: NEXT_    时间: 2019-5-13 14:57
标题: JAVA相关学习笔记
计算机网络相关
网络编程三要素
端口号通信协议、IP地址
IP地址:要想让网络中的计算机能够互相通信,必须为每台计算机指定一个标识号,通过这个标识号来指定要接收数据的计算机和识别发送的计算机,而IP地址就是这个标识号。
通信协议:通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,这就好比在道路中行驶的汽车一定要遵守交通规则一样。在计算机网络中,这些连接和通信的规则被称为网络通信协议,它对数据的传输格式、传输速率、传输步骤等做了统一规定,通信双方必须同时遵守才能完成数据交换
端口:那么端口号就可以唯一标识设备中的应用程序了。也就是应用程序的标识
端口号:用两个字节表示的整数,它的取值范围是0~65535。其中,0~1023之间的端口号用于一些知名的网络服务和应用,普通的应用程序需要使用1024以上的端口号。
相关 通信协议
UDP:用户数据报协议(User Datagram Protocol)
特点:传输速度快,面向无连接的,不保证传输质量
使用方法:
在通信的两端各建立一个Socket对象,但是这两个Socket只是发送,接收数据的对象,因此对于基于UDP协议的通信双方而言,没有所谓的客户端和服务器的概念
Java提供了DatagramSocket类作为基于UDP协议的Socket
发送的步骤:
创建发送端的Socket对象(DatagramSocket)
创建数据,并把数据打包
调用DatagramSocket对象的方法发送数据
关闭发送端
接受的步骤
创建接收端的Socket对象(DatagramSocket)
创建一个数据包,用于接收数据
调用DatagramSocket对象的方法接收数据
解析数据包,并把数据在控制台显示
关闭接收端
TCP:传输控制协议 (Transmission Control Protocol)
特点:有链接的、可以保证传输质量,建立链接时会进行三次握手
线程: 就一个执行路径
实现多线程的方式
继承 Thread 重写 run 启动 start()
实现 Runnable 重写 run Thread t1 = new Thread(my,"高铁"); t1.start()
设置和获取线程名称的方法
设置名称: 1. setName("名称") 2.new Thread("名称")
获取名称: 1. getName() 2. Thread.currentThread.getName()
线程优先级
设置优先级:setPriority(1-10)
获取优先级:getPriority()
优先级的范围:1-10 Thread.MIN_PRIORITY 1 Thread.NORM_PRIORITY 5 Thread.MAX_PRIORITY10
默认优先级:5
线程控制方法
休眠:sleep(1000)
等待线程死亡:join()
守护线程:setDaemon(true) 垃圾回收线程
线程的五种状态
新建
就绪
运行
死亡
阻塞
同步方法和同步块
synchronized (obj){}
同步方法:synchronized
非静态同步方法的锁:this 静态同步方法的锁是类名.class
同步方法举例
StringBuffer和StringBuilder
Vector和ArrayList

HashTable和HashMap
Colllections.synchronizedList() Colllections.synchronizedSet() Colllections.synchronizedMap()
Lock锁
Lock l=new ReentrantLock(); l.lock() l.unlock();
wait(),notify()含义
线程等待:wait()
线程唤醒:notify()




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