java技术圈 为您找到相关结果 5

一文解决内存屏障

内存屏障是硬件之上、操作系统或JVM之下,对并发作出的最后一层支持。再向下是是硬件提供的支持;向上是操作系统或JVM对内存屏障作出的各种封装。内存屏障是一种标准,各厂商可能采用不同的实现。 本文仅为了帮助理解JVM提供的并发机制。首先,从volatile的语义引出可见性与重排序问题;接下来,阐述问题的产生原理,了解为什么需要内存屏障;然后,浅谈内存屏障的标准、厂商对内存屏障的支持,并以volatile为例讨论内存屏障如何解决这些问题;最后,补充介绍JVM在内存屏障之上作出的几个封装。为了帮助理解,会简要讨论硬件架构层面的一些基本原理(特别是CPU架构),但不会深入实现机制。 内存屏障的实现涉及大量硬件架构层面的知识,又需要操作系统或JVM的配合才能发挥威力,单纯从任何一个层面都无法理解。本文...阅读全文

博文 2020-02-20 15:43:00 程序猿说你好

[白话解析] Flink的Watermark机制 - 罗西的思考

[白话解析] Flink的Watermark机制 0x00 摘要 对于Flink来说,Watermark是个很难绕过去的概念。本文将从整体的思路上来说,运用感性直觉的思考来帮大家梳理Watermark概念。 0x01 问题 关于Watermark,很容易产生几个问题 Flink 流处理应用中,常见的处理需求/应对方案是什么? Watermark究竟应该翻译成水印还是水位线? Watermark本质是什么? Watermark是如何解决问题? 下面我们就来简要解答这些问题以给大家一个大致概念,在后文中,会再深入描述。 问题1. Flink 流处理应用中常见的需求/方案是什么 聚合类的处理 Flink可以每来一个消息就处理一次,但是有时我们需要做一些聚合类的处理,例如:在过去的1分钟内有多少用户...阅读全文

博文 2022-05-09 09:31:25 博客园

【hive】cube和rollup函数 - zzhangyuhang

cube 数据立方体(Data Cube),是多维模型的一个形象的说法.(关于多维模型这里不讲述,在数据仓库设计过程中还挺重要的,有兴趣自行查阅) 立方体其本身只有三维,但多维模型不仅限于三维模型,可以组合更多的维度 为什么叫数据立方体? 一方面是出于更方便地解释和描述,同时也是给思维成像和想象的空间; 另一方面是为了与传统关系型数据库的二维表区别开来 下图为数据立方体的形象图 其实并不用把cube理解得很高大上,只要理解为分别按照不同维度进行聚合. hive中也有cube函数,可以实现多个任意维度的查询 cube(a,b,c)则首先会对(a,b,c)进行group by, 然后依次是(a,b),(a,c),(a),(b,c),(b),(c),最后在对全表进行group by,他会统计所选列...阅读全文

博文 2022-07-08 08:28:34 博客园

还在为如何高效绘制时序图而苦恼?让PlantUML来拯救你!

作为一个软件攻城狮,在日常板砖中,经常会涉及到和其他模块的交互,为了理清这些交互关系,我们需要绘制各个模块间的时序交互图。以前绘制这些交互时序图,用的都是visio,实际使用下来感觉也不是很方便(可能我比较菜,不是visio大神),痛点如下:在绘制时序图时,我们经常会对各个模块的位置和交互的线序进行调整,用visio画图的话,调整模块位置和线序真是又酸又爽。2. 操作不够行云流水,一会儿拖个框,一会儿打个字,要是画图都能像打字一样方便该多好。3. OFFICE全家桶的启动速度你懂得。。。从学生时代我就一直在忍受visio带来的诟病,无奈毕业论文钦定要这玩意画图,不然我早就送他去。。。。。。直到工作后遇到这款神器!!!!!!PlantUML简介顺序图用例图类图对象图活动图组件图部署图状态图时序...阅读全文

java.nio.ByteBuffer用法小结_java bytebuffer用法_水蓝城城主的博客

文章目录 简介初始化向ByteBuffer写数据手动写入数据从SocketChannel中读入数据至ByteBuffer 从ByteBuffer中读数据复位position读取数据确保数据长度字节序处理 继续写入数据总结 简介 在Java的Socket编程中,若使用阻塞式(BIO),则往往通过ServerSocket的accept()方法获取到客户端Socket之后,再使用客户端Socket的InputStream和OutputStream进行读写。Socket.getInputstream.read(byte[] b)和Socket.getOutputStream.write(byte[] b)的方法中的参数都是字节数组。这种阻塞式的Socket编程显然已经远远不能满足目前的并发式访问需求...阅读全文

博文 2023-09-13 16:38:22 CSDN博客