Chase620 Chase620
4年前
ArrayList底层
一、ArrayList集合底层数据结构1.ArrayList集合介绍List集合的可调整大小数组实现。2.数组结构介绍增删快:每次增加删除元素,都需要更改数组长度、拷贝以及移除元素位置。查询快:由于数组在内存中是一块连续空间,因此可以根据地址索引的方式快速获
九路 九路
4年前
指针——《狂人C》观点
9.1指针是什么9.1.1指针是一类数据类型的统称对于C语言来说,计算机的内存由连续的字节(byte)构成。这些连续的字节同样被连续地编上了号码以相互区别,这个号码就是所谓的地址(Address),如图91所示。image(https://imghelloworld.osscnbeijing.aliyuncs.com/imgs
线上FullGC问题排查实践——手把手教你排查线上问题 | 京东云技术团队
作者:京东科技韩国凯一、问题发现与排查1.1找到问题原因问题起因是我们收到了jdos的容器CPU告警,CPU使用率已经达到104%观察该机器日志发现,此时有很多线程在执行跑批任务。正常来说,跑批任务是低CPU高内存型,所以此时考虑是FullGC引起的大量C
Wesley13 Wesley13
3年前
arm
 还是redhat经典,速度快又好用。试着装了fedora,ubuntu,magiclinux,slax,hiweed,puppylinux,想装一个空间占用小但又可以进行开发的linux,发现很难。那些小巧的linux一般都不带gcc,在虚拟机上分配128MB的内存,跑ubuntu,fedora还是有些吃力。最后装了redhat,把不用的组件都去掉了,
Stella981 Stella981
3年前
Kubernetes基于Helm安装部署高可用的Redis
!(https://oscimg.oschina.net/oscnet/da607f540a1b4bd4b40257bab05fb671.gif)1、Redis简介Redis是一个开放源代码(BSD许可证)的代理,其在内存中存储数据,可以代理数据库、缓存和消息。它支持字符串、散列、列表、集合和位图等数据
Stella981 Stella981
3年前
JVM常用命令解析
命令行:1.jps:虚拟机进程状况工具2.jstat:虚拟机统计信息监视工具3.jinfo:java配置信息工具4.jmap:java内存映射工具5.jhat:虚拟机堆转储快照分析工具6.jstack:java堆栈跟踪工具7.hsdis:jit生成代码反编汇8.目录:D:\\ProgramFiles\\jd
Wesley13 Wesley13
3年前
Java 深入理解volatile关键字
我们知道Java中volatile实现了修饰变量的原子性以及可见性,并且为了实现多线程环境下的线程安全,禁止了指令重排。首先我们先来了解一下happensbefore原则、asifserial语义以及数据依赖性,引用自《Java并发编程的艺术》happensbefore简介从JDK5开始,Java使用新的JSR133内存模型
Stella981 Stella981
3年前
Linux必知必会
!DSC07274(https://oayrssjpa.qnssl.com/DSC07274.jpg)\TOC\本文详细介绍了Linux系统中的free命令的使用方法以及关键参数的含义,这可能是你见过的关于free命令最详细的一篇文章了,绝对值得你收藏。free命令显示了Linux系统中物理内存、交换分区的使用统计信息。
Stella981 Stella981
3年前
Spark Streaming连接Kafka的两种方式 direct 跟receiver 方式接收数据的区别
Receiver是使用Kafka的高层次ConsumerAPI来实现的。Receiver从Kafka中获取的数据都是存储在SparkExecutor的内存中的,然后SparkStreaming启动的job会去处理那些数据。然而,在默认的配置下,这种方式可能会因为底层的失败而丢失数据。如果要启用高可靠机制,让数据零丢失,就必须启用Spark
Stella981 Stella981
3年前
JVM G1(Garbage
!(https://oscimg.oschina.net/oscnet/upf2c0108b18ba28baf5af916153110bf0a85.png)G1垃圾收集器的设计原则是“首先收集尽可能多的垃圾(GarbageFirst)”,目标是为了尽量缩短处理超大堆(超过4GB)产生的停顿。因此,G1并不会等内存耗尽(比如Seria