- 博客(11)
- 收藏
- 关注
原创 基于TCP的Java网络编程
基于TCP的Java网络编程文章目录基于TCP的Java网络编程1,TCP的工作方式1.1 建立连接1.2 断开连接2,Java TCP编程概念3,Java TCP编程实现4,Java聊天室实现1,TCP的工作方式 TCP: Transmission Control Protocol,即传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议,它能够做到两台机器之间进行可靠的、无差错的数据传输。1.1 建立连接 TCP是因特网中的传输层协议,使用三次握手协议建立连接。过程如下(以下内
2021-06-04 11:00:01
248
1
原创 Java UDP编程
Java网络编程文章目录Java网络编程1 网络基础知识1.1 IP地址1.2 port端口1.3 公网和内网1.4 通信协议2 Java UDP编程2.1 UDP实现1 网络基础知识 每个计算设备上都有若干个网卡,每个网卡上有(全球唯一)单独的硬件地址:MAC地址,全称是Media Access Control Address,介质访问控制地址。1.1 IP地址每个网卡/机器都有一个或多个IP地址,在计算机网络中,依靠IP地址来定义一台计算机的位置。IP地址有两个版本:IPV4:如,192
2021-06-01 21:07:28
381
2
原创 Java并发协作控制之同步辅助类
Java并发协作控制之同步辅助类文章目录Java并发协作控制之同步辅助类1,Latch1.1,Latch的概念1.2,CountDownLatch使用2,Barrier2.1 Barrier的概念2.2 Barrier的使用3,Phaser3.1 Phaser的概念3.2 Phaser的用法4,Exchanger4.1 Exchanger的概念4.2 Exchanger的使用1,Latch1.1,Latch的概念 latch,英文原意是插销,它是一个同步辅助类,用来同步执行任务中一个或多个线程。它
2021-05-30 17:14:44
205
原创 Java并发协作控制之lock与semaphore
Java并发协作控制1,前言 在前面三种多线程方式:Thread、Executor、Fork-Join,第一种我们通过start调用run就一直运行到底,在Executor、Fork-Join里面我们就根本看不到线程,我们只需要创建任务,然后把任务分配下去,线程就回去执行,实际上线程当中发生了上面事情我们也不知道。 从前面的这三种线程的方式可以看出,这样的线程之间是缺少协作的,也就是说每个线程都是独立的,它从一开始启动,就一直运行到底。这样的粗粒度的线程控制在大部分情况下都是能够胜任大部分的任务要
2021-05-30 12:38:30
337
原创 Java并发数据结构
Java并发数据结构文章目录Java并发数据结构1,并发数据结构介绍2,List3,Set4,Map5,Queue & Deque1,并发数据结构介绍 常用的数据结构是线程不安全的,如平时用到的最多的数据结构类ArrayList、HashMap,HashSet都是**非同步(线程不安全)的,多个线程同时读写,可能会抛出异常或数据错误;传统的Vector、Hashtable等同步(线程安全)**集合性能过差。 从Java5开始,提出了java.util.concurrent这个包,也相应地
2021-05-29 17:45:58
326
原创 Java并发框架Fork-Join
1 Fork-Join概念 从JDK7提供的另一种并行框架,它是一种分治编程:将任务分解,分解完了,挨个治理,最后把结果合并。适用于整体任务量不好确定的场合(最小任务可确定)。1.1 Fork-Join主要类ForkJoinPool:任务池RecursiveAction、RecursiveTask:定义具体的任务,RecursiveTask的compute方法有返回值,RecursiveAction的compute方法无返回值,可根据任务需要选择哪一种。2 Fork-Join用法使用For
2021-05-29 15:55:42
111
原创 Java并发框架Executor
文章目录1 Executor概念1.1 共享线程池的概念1.2 Executor主要类2 Executor用法2.1 例子12.2 例子21 Executor概念&emsp&emsp从JDK5开始提供了Executor FrameWork给我们,位于 java.util.concurrent 包下,它最重要的是解决了以下两个问题:分离任务的创建和执行者的创建线程重复利用(new线程代价很大)1.1 共享线程池的概念预先设置好多个Thread,可弹性增加。需要Thread数
2021-05-29 10:57:48
71
原创 Java线程组
文章目录1 并行计算1.1 编程方法1.2 并行模式1.3 Java并发编程2 线程组管理ThreadGroup2.1 ThreaGroup2.2 ThreaGroup如何应用1 并行计算 现在计算机所面临的业务特点:任务多,数据量大。尽管说我们的计算性能每18个月就翻一番,但是我们所处理的东西也越来越多,所以,在编程上面就有两种方法,串行编程和并行编程。1.1 编程方法串行编程:简单,多线程以前所学的程序都是串行编程并行编程:困难,原因:任务分配和执行过程高度耦合 由于单个计算核的频率
2021-05-28 11:52:35
145
原创 Java多线程管理
文章目录1,线程状态2,线程状态切换经典生产者消费者问题:3,多线程死锁4,守护(后台)线程1,线程状态NEW 刚创建(new)RUNNABLE 就绪态(start):调用一个线程的start方法,那么这个线程就进入了就绪态RUNNING 运行中(run):等待的线程被CPU调度后就进入Running状态BLOCK 阻塞(sleep):由于某一个条件没有满足,暂时不需要CPUTERMINATED 结束2,线程状态切换线程的阻塞和唤醒sleep:线程自我休眠,时间一到自己就会醒来
2021-05-27 15:08:03
825
原创 Java多线程信息共享
文章目录一,共享变量的两种方式1,static 变量2,同一个Runnable类的成员变量3,多线程信息共享问题二,信息共享不一致问题1,变量副本的问题的解决方法2,关键步骤缺乏加锁限制前面所讲的如何创建一个线程,即通过继承Thread类或实现Runnable接口创建一个线程,通过start方法调用run方法,run方法工作,线程run结束后,线程退出。这种执行模式是一种粗粒度的执行模式,再这样的执行过程中,子线程与子线程之间、和main线程之间缺乏交流。我们希望,在线程与线程之间有信息交流通讯,这.
2021-05-26 19:34:56
449
原创 java中多进程和多线程的基本概念
文章目录一,多进程和多线程的简介1,多进程的概念操作系统如何管理这些进程呢?多进程的优缺点2,多线程的概念多线程的优点3,多进程和多线程的区别二,多线程实现1,创建多线程的两种方法2,多线程启动启动线程应该注意的地方Thread VS Runnable一,多进程和多线程的简介1,多进程的概念 我们现在所使用的计算机的操作系统都是多任务的OS,每个独立执行的任务就是一个进程。Ctrl+Alt+. 打开任务管理器,如下图,它们每个都是一个进程。操作系统如何管理这些进程呢? OS将时间划分为多
2021-05-26 16:48:48
1534
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人