![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java源码探索
海向
温润如玉 气吞山河
展开
-
volatile原理
volatilevolatile 只能保证对单次读/写的原子性。i++ 这种符合操作操作不能保证原子性。禁止指令重排可见性volatile读的内存语义当读一个volatile变量时,JMM会把该线程对应的本地内存置为无效。线程接下来将从主内存中读取共享变量(注意不仅仅是一个volatile变量,是所有共享变量)volatile写的内存语义当写一个volatile变量时,JMM会把...原创 2020-03-30 09:49:08 · 234 阅读 · 0 评论 -
多线程题目探索
题目一 桌子上有一空盘,最多允许存放一只水果,爸爸可向盘中放一个苹果或一个桔子,儿子专等吃盘中的桔子 女儿等吃苹果Father.javapublic class Father implements Runnable{ Dish dish = null; Father(Dish dish){ this.dish =原创 2017-10-01 10:58:27 · 969 阅读 · 0 评论 -
Java学习-Lock机制和Synchronized分析
分析: Condition的强大之处在于它可以为多个线程间建立不同的Condition, 使用synchronized/wait()只有一个阻塞队列,notifyAll会唤起所有阻塞队列下的线程,而使用lock/condition,可以实现多个阻塞队列,signalAll只会唤起某个阻塞队列下的阻塞线程。 - 使用synchronized/wait()实现生产者消费者模式如下: //模拟生产和消费原创 2017-10-13 18:09:36 · 188 阅读 · 0 评论 -
Java学习-InetAddress和InetSocketAddress
package com.address.anqi;import java.net.InetAddress;import java.net.InetSocketAddress;import java.net.UnknownHostException;/*1.>InetAddress 构造:(没有构造方法) static InetAddress getByNa原创 2017-11-24 18:25:38 · 884 阅读 · 0 评论 -
Java学习-URL和爬虫原理
URL基本知识URI:统一资源标识符,用来唯一的标识一个资源 URL:统一资源定位器,它是一种具体的URI 四部分组成:协议+存放资源的主机名+端口+资源文件名URL常用构造方法: URL(String spec) 根据 String 表示形式创建 URL 对象。URL(URL context,String spec) 通过在指定的上下文中对给定的 spec 进行解析创建 URL。常原创 2017-11-24 20:12:02 · 344 阅读 · 0 评论 -
Java学习-UDP编程
【简介】UDP:以数据为中心 非面向连接 不安全 数据可能丢失 效率高 类 DatagramSocket和DatagramPacket 1.客户端 1)创建客户端 DatagramSocket类 + 指定发送端口 2)准备数据 字节数组 3)打包DatagramPacket + 服务器地址 及 端口 4)发送 5)释放资源 2.服务器端 1)创建服务器 Datagra原创 2017-11-24 22:19:12 · 181 阅读 · 0 评论 -
Java学习-Tcp_Socket通信原理
服务器端package com.anqi.tcp;import java.io.BufferedWriter;import java.io.DataOutputStream;import java.io.IOException;import java.io.OutputStreamWriter;import java.net.ServerSocket;import java.net.Soc原创 2017-11-25 16:16:05 · 346 阅读 · 0 评论 -
Java学习-Tcp_Socket实现多线程通信
方式一存在缺点输入流与输出流在同一个线程内,应该独立处理,彼此独立 读的时候不能写,必须等写完才读打印结果111服务器--》111222服务器--》222333服务器--》33344服务器--》44服务器端package com.anqi.tcp2;import java.io.DataInputStream;import java.io.DataOutputStream;im原创 2017-11-25 20:45:08 · 272 阅读 · 0 评论 -
Java学习-包含私聊的多人聊天室
Server.javapackage com.anqi.tcp4;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;import java.util.Arra原创 2017-11-25 21:33:02 · 772 阅读 · 2 评论