做电商网站需要多少时间,搬瓦工安装wordpress,建网站能赚钱吗赚多少,网站建设从零开始教程1.synchronized 同步锁 同步方法: 成员|静态 简单,但是锁的范围一般可能较大,效率低 同步块 类的class:相当于锁了类的整个信息|所有对象 this:锁当前对象,锁了这个对象的所有资源 资源:一般锁不变的内容--对象地址 锁的范围太大效率低,锁的范围太小可能锁不住 锁一定要锁不变的…1.synchronized 同步锁 同步方法: 成员|静态 简单,但是锁的范围一般可能较大,效率低 同步块 类的class:相当于锁了类的整个信息|所有对象 this:锁当前对象,锁了这个对象的所有资源 资源:一般锁不变的内容--对象地址 锁的范围太大效率低,锁的范围太小可能锁不住 锁一定要锁不变的内容 死锁: 需要避免锁使用的过于频繁,遇到对象无法释放的情况,否则出现死锁的问题 2.线程通信(生产者消费者模式) wait():线程处于等待状态 释放对象的锁,cpu的资源 notify():唤醒对方正在处于等待池中的线程 没有对象的资源,就算是被唤醒也无法执行,必须要获取到对象的锁才能有资格执行 notifyAll() 唤醒全部 注意:使用在一个同步的环境下 3.IP:定义网络上的节点(电脑,手机,pad,路由器...)..区分节点 分类: IPV4 : 32位 IPV6 : 128位 特点的IP: 局域网内部IP:192.168.0.0~192.168.255.255 127.0.0.1 : 默认本地IP localhost : 本地域名 DNS服务器:解析IP和域名之间的关系 InetAddress 此类表示互联网协议 (IP) 地址。 static InetAddress getLocalHost() 返回本地主机。 static InetAddress getByName(String host) 在给定主机名的情况下确定主机的 IP 地址。 String getHostName() 获取此 IP 地址的主机名。 String getHostAddress() 返回 IP 地址字符串以文本表现形式。 端口: InetSocketAddress 4. 端口port:区分软件... 2个字节: 0~65535 注意: 1.同一的协议下端口号不能冲突 2.自定义设置端口号建议设置越大越好,一般8000网上 预留端口号: 80: http 8080:tomcat 1521:Oracle 3306:Mysql InetSocketAddress 此类实现 IP 套接字地址IP 地址 端口号。 InetSocketAddress(String hostname, int port) 根据IP|域名端口号构建 InetAddress getAddress() 获取 InetAddress。 String getHostName() 获取 hostname。 int getPort() 获取端口号。 5.URL:统一资源定位符 互联网三大基石: http html url url的构成: 协议 域名 端口 资源 数据 http://www.baidu.com:80/index.html?namezhangsanpwd123#a URL(String spec) 构建url 6-1.Socket套接字: 传输层为应用层开辟的小口子,通过 Socket进行发送和接收数据 不同协议下的socket实现不同 面向Socket编程 tcp: 面向连接 打电话 安全 开销大 基于3次握手 大小没有限制 . 基于流传输 udp: 非面向连接 写信|发短信 只管写只管发 开销小,效率高 不安全 大小有限制 一般不超过60k , 基于字节数组传输 基于udp的socket编程: 发送端 接收端 DatagramSocket 此类表示用来发送和接收数据报包的套接字。(定义发送端|接收端) DatagramPacket数据报包(数据打包) udp实现发送端的基本流程: 发送端和服务端是平等的 1.定义发送端 DatagramSocket(端口号) 指定发送端的端口号 2.准备数据 3.对数据打包 DatagramPacket(byte[] buf, int offset, int length, InetAddress address, int port) 构造数据报包用来将长度为 length 偏移量为 offset 的包发送到指定主机上的指定端口号。 4.发送void send(DatagramPacket p) 5.关闭 void close() 关闭此数据报套接字。 6-2.接收端基本流程: 1.定义接收端 DatagramSocket(int port) 2.准备字节数组 3.准备包裹用来接收数据 DatagramPacket(byte[] buf, int length) 4.接收 5.从包裹中获取数据 byte[] getData() 返回数据缓冲区。 int getLength() 返回将要发送或接收到的数据的长度。 6.关闭 7-1.Socket 此类实现客户端套接字 客户端 1.定义客户端 Socket(String host, int port) 创建一个流套接字并将其连接到指定主机上的指定端口号。 2.IO操作 输出流OutputStream getOutputStream() 返回此套接字的输出流。 3.刷出 4.关闭7-2.ServerSocket 此类实现服务器套接字。 TCP服务端 1.定义服务端 ServerSocket(int port) 创建绑定到特定端口的服务器套接字。 2.阻塞式监听 一个客户端连接成功,就是一个socket 3.io操作 4.关闭 8-1.TCP实现文件上传客户端 : 1.定义客户端 Socket(String host, int port) 创建一个流套接字并将其连接到指定主机上的指定端口号。 2.IO操作 先从文件中读入数据--写出数据 new FileInputStream(); 输出流OutputStream getOutputStream() 返回此套接字的输出流。 3.刷出 4.关闭8-2.TCP实现文件上传服务端: 1.定义服务端 ServerSocket(int port) 创建绑定到特定端口的服务器套接字。 2.阻塞式监听 一个客户端连接成功,就是一个socket 3.io操作 :从客户端读入数据 ---文件输出流 写出文件中 4.刷出 5.关闭转载于:https://www.cnblogs.com/jj-01/p/11210332.html