文章目录进程与线程Java内存模型JMM三个特性(简单理解)Javahappens-before原则volatile和synchronizedJVMJVM概述**JVM内部执行运行流程图**1.程序计数器2.Java虚拟机栈3.本地方法栈4.Java堆5.方法区 此篇博客仅为博主学习摘抄笔记(参考了其他优秀博文后总结),并没有其他商业用途,如有错误,请各位大佬指出,博主必删除整改。
转载 2023-12-15 09:38:40
47阅读
1、概念基于发布订阅者模式处理规范(机制),在JDK中真正叫法是FlowAPI2、背压(backpress)背压指发布者和订阅者之间互动订阅者可以告诉发布者自己需要多少数据,可以调节数据流量,不会导致发布者发布数据过多导致数据浪费或压垮订阅者3、Reactive Stream主要接口java.util.concurrent.Flow类中定义接口:1)、Publisher<T>(发
转载 2024-07-25 20:16:04
36阅读
## 实现Java 9 Reactive Stream ### 介绍 在Java 9中,引入了Reactive Stream概念,它提供了一种异步处理数据流机制。本文将指导你如何实现Java 9Reactive Stream。 ### 流程概述 下表展示了实现Java 9 Reactive Stream整个流程: | 步骤 | 描述 | | --- | --- | | 步骤 1
原创 2023-11-24 07:32:41
48阅读
数式编程对于Reactive Programming很重要,但我不会在这篇文章中深入探讨函数式编程。在这篇文章中,我想看看Java整体Reactive发展环境。Reactive Programming vs. Reactive Streams有了这些新流行语,就很容易对它们含义感到困惑。反应式编程是一种编程范式,但我不会称之为新。它实际上已经存在了一段时间。就像面向对象编程,函
转载 2023-10-31 22:28:49
58阅读
我计划在后续一段时间内,写一系列关于java 9文章,虽然java 9 不像Java 8或者Java 11那样核心java版本,但是还是有很多特性值得关注。期待您能关注我,我将把java 9 写成一系列文章,大概十篇左右。Java 9 Reactive Streams是对异步流式编程一种实现。它基于异步发布和订阅模型,具有非阻塞“背压”数据处理特点。Non-blocking Bac
转载 2023-10-18 13:37:43
54阅读
[toc] 背景 Stream大家应该都很熟悉了,java8中为所有的集合类都引入了Stream概念。
原创 2022-09-19 16:39:41
99阅读
Stream大家应该都很熟悉了,java8中为所有的集合类都引入了Stream概念。优雅链式操作,流式处理逻辑,相信用过的人都会爱不释手。每个数据流都有一个生产者一个消费者。生产者负责产生数据,而消费者负责消费数据。如果是同步系统
原创 2021-04-20 17:11:51
224阅读
1点赞
1 初识Reactive Stream反应式流2015 年反应式流 (Reactive Stream) 规范诞生,定义了如下四个接口:Subscription 接口定义了连接发布者和订阅者方法Publisher 接口定义了发布者方法Subscriber 接口定义了订阅者方法Processor&lt;T,R&gt; 接口定义了处理器Reactive Stream(以下简称RS...
原创 2022-03-14 14:03:18
303阅读
# 实现 "data redis reactive redis stream" ## 概述 本文将介绍如何使用Redis Stream和响应式编程实现"数据Redis响应式Redis Stream"。这个过程可以划分为以下几个步骤: 1. 创建Redis连接 2. 创建Redis Stream 3. 发布数据到Redis Stream 4. 订阅并消费Redis Stream数据 下面将逐
原创 2023-10-07 09:44:28
62阅读
1 初识Reactive Stream反应式流2015 年反应式流 (Reactive Stream) 规范诞生,定义了如下四个接口:Subscription 接口定义了连接发布者和订阅者方法Publisher 接口定义了发布者方法Subscriber 接口定义了订阅者方法Processor&lt;T,R&gt; 接口定义了处理器Reactive Stream(以下简称RS...
原创 2021-07-08 17:04:40
363阅读
Java 9 Reactive Streams是对异步流式编程一种实现。它基于异步发布和订阅模型,具有非阻塞“背压”数据处理特点。
原创 2021-07-06 10:54:21
584阅读
线程线程池:其实就是一个容纳多个线程容器,其中线程可以反复使用,省去了频繁创建线程对象操作,无需反复创建线程而消耗过多资源。(一)使用线程好处1.降低资源消耗。减少了创建和销毁线程次数,每个工作线程都可以被重复利用,可执行多个任务。 2.提高响应速度 3.提高线程可管理性(二)线程核心思想线程复用。同一个线程可以被重复使用。(三)线程创建方式创建线程API:java.u
转载 2024-01-27 20:29:53
96阅读
Java运行系统在很多方面依赖于线程,所有的类库设计都考虑到多线程。实际上,Java使用线程来使整个环境异步。这有利于通过防止CPU循环浪费来减少无效部分。为更好理解多线程环境优势可以将它与它对照物相比较。单线程系统处理途径是使用一种叫作轮询事件循环方法。在该模型中,单线程控制在一无限循环中运行,轮询一个事件序列来决定下一步做什么。一旦轮询装置返回信号表明,已准备好读取网络文件,事件循
转载 2023-08-19 21:49:54
56阅读
使用STL流(stream)来简化C++“线程安全”日志记录 作者: winter 流是一种强大数据处理抽象机制,它允许你调用泛型读/写函数,不必关心数据从什么地方来、到什么地方去。使用流,同样代码可从控制台、文件、套接字等地方读取数据。STL通常不是线程安全,本文提出了如何在线程安全方式下使用流方案。 C++将流强大能力与运算符重载合并到一起,为我们
转载 2024-08-12 11:22:10
107阅读
前言借助于很多强大框架,现在我们已经很少直接去管理线程,框架内部都会为我们自动维护一个线程池。例如我们使用最多okHttp以及他封装框架Retrofit,线程封装框架RxJava和kotlin协程等等。为了更好地使用这些框架,则必须了解他实现原理,而了解他原理,线程池是永远绕不开的话题。线程创建与切换成本是比较昂贵。JVM线程实现使用是轻量级进程,也就是一个线程对应一个cpu
目录写在前面一、reactive stream(jdk9)发布-订阅二、异步servlet同步servlet异步servlet三、reactor = jdk8 stream + jdk9 reactive strea
原创 2022-05-10 16:49:51
642阅读
Reactive Programming with Java 8 中文字幕使用Java 8进行反应式编程 中文字幕Reactive Programming with Java 8 Java开发人员面临着许多挑战:复杂分布式系统,对响应性和性能高期望,以及比以往更多用户和数据 反应式编程提供了解决方案 跟随讲师Chris Anatalio,学习如何使用流行反应框架(如RxJava和Akka)
# Java Stream线程安全 Java 8引入了Stream API,使得处理集合和数组数据变得更加方便和简洁。Stream API提供了丰富操作方法,如过滤、映射和归约等,可以大大减少代码量并提高程序可读性。然而,在使用Stream API时,我们需要注意其线程安全性。 ## Stream API概述 StreamJava 8中一个重要特性,它可以处理大量数据集合,并支持
原创 2024-01-26 05:50:32
243阅读
注:本系列文章中用到jdk版本均为java8相比很多同学在刚接触Java集合时候,线程安全List用一定是Vector。但是现在用到线程安全List一般都会用CopyOnWriteArrayList,很少有人再去用Vector了,至于为什么,文章中会具体说到。接下来,我们先来简单分析一下Vector源码。一、Vector集合源码简析由于本文重点不是Vector集合,因此只是简单
背景Java8stream接口极大地减少了for循环写法复杂性,stream提供了map/reduce/collect等一系列聚合接口,还支持并发操作:parallelStream。在爬虫开发过程中,经常会遇到遍历一个很大集合做重复操作,这时候如果使用串行执行会相当耗时,因此一般会采用多线程来提速。Java8paralleStream用fork/join框架提供了并发执行能力。但是如果使
转载 2023-11-22 17:09:38
131阅读
  • 1
  • 2
  • 3
  • 4
  • 5