![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
我曾迷途而如今知返
记录自己成长过程中的点点滴滴
展开
-
Java Volatile关键字作用
Volatile这个关键字主要式用在多线程编程下来修饰状态变量。 被Volatile修饰的变量,但该变量在另一个线程里改变了的时候,我们立刻就可以观察到该变量的改变。在java线程书里讲了,其内部访问被volatile修饰的变量的时候和普通变量不同,普通变量是从寄存器里拿出来,如果寄存器还没来得及刷新,那么我们可能就会读到该变量之前的值。而被vilatile对象修饰的变量并不是存在寄...原创 2020-01-05 21:37:50 · 194 阅读 · 0 评论 -
Java Socket编程
1.Socket常见的构造函数1.Socket socket=new Socket();//无参构造函数 主要是用于需要设置选项的socket连接,Socket的参数有哪些下面会详细讲,如果我们先建立连接再设置选项,那么设置的参数就可能会无效,但是并不会报错(无形之刃最为致命),比如说选项SO_REUSEADDR 像下面:Socket socket=new Socket()...原创 2019-12-30 22:02:33 · 293 阅读 · 0 评论 -
JAVA Socket编程
Socket编程:什么是Socket编程,socket编程是建立在传输层之上的,应用层之下的端对端网络通信:如图所以按照传输层协议 Socket编程是分两大类(因为传输层主要是两类TCP/UDP):1:TCP2:UDP另一种分类:阻塞和非阻塞编程Socket编程的分类图:TCP的同步阻塞通信:主要依靠的有两个类:Socket和ServerSocket...原创 2019-12-25 10:12:06 · 224 阅读 · 0 评论 -
JAVA线程以及线程同步的问题
线程线程的创建的四种方式:1继承Thread类2实现Runnable接口3.使用Callable和Future来创建4利用Executer工具类来创建具体实现我给大家推荐大佬写得很全的:一个写的很好的博客为什么会出现同步问题:以下的程序很容易看出最后的n应该是20000,但是实际运行的时候并不是(而且我们采用了Volatile关键字修饰n:即一旦n在一个线程发...原创 2019-12-23 11:31:05 · 118 阅读 · 0 评论 -
JAVA的IO流 解释以实例
JAVA IO流简介:基于流的JAVA IO是同步的,也就是BIO,这意味着:程序在请求一个流来读写一段数据的时候,需要等待读写运行完之后才能进行其他操作。1.按数据方向区分流主要分为两类:输入流(InputStream\Reader)用于读数据,所有的输入流都使用一些共同的基本方法来读数据,不同的输入流用于读不同的数据源,例如FileInputStream输出流(Output...原创 2019-12-22 20:54:40 · 97 阅读 · 0 评论 -
JAVA网路编程之UDP组播
简介:发送者每次发送的数据可以被小组内的所有接收者接收,组播需要在组播路由器(mrouter)的支持下运行,即需要从发送者到接收者之间的路由器的打开支持组播功能。实现:UDP的组播实现主要依靠两个类:1:MulticastSocket:组播socket 用于收发数据包2:DatagramPacket:数据包,更具不同的需要进行不同的初始化,发送的数据包:初始化的时候要(目的In...原创 2019-12-21 15:22:37 · 405 阅读 · 0 评论 -
JAVA网络编程 UDP的阻塞通信
简介:首先UDP是无连接不可靠的,UDP网络编程同样也没有建立Socket连接,而是通过收发包来进行通信。实现:在java网络编程中实现UDP阻塞编程的主要有两个类:1:DatagramSocket:用来收发数据包2:DatagramPacket:作为数据包 用来存数据以及地址实例:简单的UDP阻塞文件服务器:每当有客户端来连接服务器时 ,不管客户端发来的包内容是什么,...原创 2019-12-21 14:42:36 · 1040 阅读 · 0 评论