Java8 Stream源码分析

Stream Stream是在Java SE 8 API添加的用于增强集合的操作接口,可以让你以一种声明的方式处理集合数据。将要处理的集合看作一种流的创建者,将集合内部的元素转换为流并且在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选,排序,聚合等。元素流在管道中经过中间操作(interm ...

Java Reference 核心原理分析

带着问题,看源码针对性会更强一点、印象会更深刻、并且效果也会更好。所以我先卖个关子,提两个问题(没准下次跳槽时就被问到)。 我们可以用ByteBuffer的allocateDirect方法,申请一块堆外内存创建一个DirectByteBuffer对象,然后利用它去操作堆外内存。这些申请完的堆外内存, ...

消失的Java进程-Linux OOM Killer

在一台虚拟机上执行docker java应用,每隔一段时间就会出现java进程消失、而且没有任何jvm error log的情况。 略一寻思,应该是遇到网上常说的Linux OOM的情况:虚拟机10G,docker默认分配内存未做限制。 原因定位 去服务器上执行:dmesg | grep java, ...

ThreadLocalRandom 安全吗

前言 最近在写一些业务代码时遇到一个需要产生随机数的场景,这时自然想到 jdk 包里的 Random 类。但出于对性能的极致追求,就考虑使用 ThreadLocalRandom 类进行优化,在查看 ThreadLocalRandom 实现的过程中,又追了下 Unsafe 有部分代码,整个流程下来,学 ...

年轻代频繁ParNew GC,导致http服务rt飙高

背景介绍 某日下午大约四点多,接到合作方消息,线上环境,我这边维护的某http服务突然大量超时(对方超时时间设置为300ms),我迅速到鹰眼平台开启采样,发现该服务平均QPS到了120左右,平均RT在2秒多到3秒,部分毛刺高达5到6秒(正常时候在60ms左右)。 qps情况: rt情况 问题解决 该 ...

线程说:不是我想爆炸,只怪你Nd4j没用好

一、项目介绍 web_rec_comm_ctr 背景: 去年接手了一个排序服务,用于播单、声音、主播排序。接手以来处理过内存溢出问题,后面也没再出现过其他状况。但是最近该项目用于离线任务计算后,出现了问题。并且问题发生时间是在计算量扩量之后。 项目背景: 该项目与算法的配合方式:项目提供接口规范,涉 ...

解决服务器进程退出问题(metaspace溢出)实战

现象 策划反应服务器进不去,远程看了一下进程消失了(crash),有时候也会出现能登录,但是无法执行操作(进程还在),无法被正常shutdown,进程根目录下出现了java_pid16298.hprof文件,一看到就是内存溢出了,觉得奇怪,应该不会是堆内存溢出,因为人数不多,初步怀疑是永久区溢出(J ...

大量类加载器创建导致诡异FullGC

现象 最近接手了一个同事的项目,某一天接口的响应耗时突然增加了很多,由几十ms 增加到了几十秒。 首先查看机器上的日志,有调用第三方接口超时,查询数据库超时。立马查看第三方接口监控和数据库监控,一切正常。可能由于 GC 停顿造成统计的超时,这个时候我们通过 jstat -gcutil pid 查看 ...

什么会导致Java应用程序的CPU使用率飙升?

问题 无限循环的while会导致CPU使用率飙升吗? 经常使用Young GC会导致CPU占用率飙升吗? 具有大量线程的应用程序的CPU使用率是否较高? CPU使用率高的应用程序的线程数是多少? 处于BLOCKED状态的线程会导致CPU使用率飙升吗? 分时操作系统中的CPU是消耗us还是sy? 思路 ...

Mongodb特定场景性能数十倍提升优化实践(记一次mongodb核心集群雪崩故障)

1. 问题背景 某核心JAVA长连接服务使用mongodb作为主要存储,客户端数百台机器连接同一mongodb集群,短期内出现多次性能抖动问题,此外,还出现一次“雪崩”故障,同时流量瞬间跌零,无法自动恢复。本文分析这两次故障的根本原因,包括客户端配置使用不合理、mongodb内核链接认证不合理、代理 ...

一次线上JVM调优实践,FullGC40次/天到10天一次的优化过程

通过这一个多月的努力,将FullGC从40次/天优化到近10天才触发一次,而且YoungGC的时间也减少了一半以上,这么大的优化,有必要记录一下中间的调优过程。 对于JVM垃圾回收,之前一直都是处于理论阶段,就知道新生代,老年代的晋升关系,这些知识仅够应付面试使用的。前一段时间,线上服务器的Full ...

IDEA中每天都在用的Project Structure,你了解多少?

Idea这款开发工具的便利之一是很多配置项几乎可直接使用默认项。但针对不同的项目难免需要针对性的配置,本文带大家详细的梳理一遍Project Structure中各项功能,注意收藏,以备不时之需。 先说一下写本文的缘由,在项目中用Idea中打开一组SpringBoot项目,结果编译的结果和日志输出的 ...

红黑树其实很简单

通过文字和图片详细解析为什么要使用红黑树,以及如何使用红黑树。本文中红黑树的代码示例有java和C两个版本,并且是完整代码,可以拷贝到IDE中直接执行的。 ...

利用Python实现字幕挂载,把字幕文件与视频合并

其实超简单超简单!python好现成的库,一下子省略了好多步骤! 本文在Windows环境下!linux只是不需要手动输入imagicmagick的位置! 需要用到的环境 很多人学习python,不知道从何学起。很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。很多已经做案例的人 ...

python入门-开发基础(思维导图转载)

第一部分python基础学习结束,因为之前有接触过爬虫,所以基础部分多多少少了解一些,但是2年后,我又回来了,但是也忘得差不多了,从头学习,生怕有一些细小的知识点没有了解到,现在每天都在一点一点学习,个人是非常希望能够做python开发,也希望自己可以在python领域越走越远。本来是准备自己写一张 ...

Python数据可视化:如何图表里添加注释文字

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于汤豆道课,作者小汤豆 在二维坐标图中我们经常对绘制的图形进行标注。在 matplotlib 中比较常用的有text和annotate两种标注方法,其中: - text: ...

Python数据可视化:绘图库——Bokeh 应用讲解

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于娜驿站 ,作者娜娜zhao 前言 虽然在Python中有matplotlib可以满足我们大部分的绘图需求,但是这种原生的基本绘图确实显得不那么漂亮,当然可以通过一些设置 ...

<1···789···200>