3A网络 3A网络
2年前
从一条更新 SQL 的执行过程窥探 InnoDB 之 REDOLOG
从一条更新SQL的执行过程窥探InnoDB之REDOLOG1前言数据库为了取得更好的读写性能,InnoDB会将数据缓存在内存中(InnoDBBufferPool),对磁盘数据的修改也会落后于内存,这时如果进程或机器崩溃,会导致内存数据丢失,为了保证数据库本身的一致性和持久性,InnoDB维护了REDOLOG。修改Page之前需要
Wesley13 Wesley13
3年前
java多线程之CAS
CAS(CompareandSwap)CAS字面意思为比较并交换.CAS有3个操作数,分别是:内存值M,期望值E,更新值U。当且仅当内存值M和期望值E相等时,将内存值M修改为U,否则什么都不做。1.CAS的应用场景CAS只适用于线程冲突较少的情况。CAS的典型应用场景是:
Wesley13 Wesley13
3年前
java游戏服务器优化
最近游戏服务器经常是启动一段时间后gc很频繁,造成无法登陆游戏,原因无非就是临时内存增长速度很快,那么就是要分析内存飞涨原因先在本地启动游戏服务器,java环境用Jdk1.8先用jps查出java进程,然后执行 jmapdump:live,formatb,file<file\_name.hprof <pid得到游戏服务器内存d
Wesley13 Wesley13
3年前
Java NIO —— Buffer(缓冲区)
Buffer是一个抽象类,位于java.nio包中,主要用作缓冲区。注意:Buffer是非线程安全类。缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIOBuffer对象,并提供了一组方法,用来方便的访问该块内存。NIO有以下几种Buffer类型:ByteBufferMappedByteBuff
Stella981 Stella981
3年前
Redis持久化RDB和AOF实现原理
Redis持久化RDB和AOF为什么Redis需要持久化?因为Redis属于内存型数据库,数据是储存在内存当中的,当遇到不可抗力因素,比如断电,那么储存在内存中的数据就会丢失。所以为了保证数据的完整性,我们需要做持久化操作,来保证数据的完整性。Redis中都有哪些持久化机制?Redis早
Stella981 Stella981
3年前
Linux页框分配器之内存碎片化整理
页框分配器在慢速分配中包括内存碎片化整理和内存回收,代码如下:static inline struct page __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order,      struct alloc_context ac){  page  __alloc_
Stella981 Stella981
3年前
Redis 介绍
Redis的特点Redis本质上是一个KeyValue类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。 因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过10万次读写操作,是已知性能最快的KeyValueDB。Redis的
Stella981 Stella981
3年前
JVM优化
堆内存设置?原理?JVM堆内存分为2块:PermanentSpace和HeapSpace。?Permanent即持久代(PermanentGeneration),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。?Heap{OldNEW{Eden,from,to}},Old即
Stella981 Stella981
3年前
Redis持久化的几种方式——深入解析RDB
Redis 的读写都是在内存中,所以它的性能较高,但在内存中的数据会随着服务器的重启而丢失,为了保证数据不丢失,我们需要将内存中的数据存储到磁盘,以便Redis重启时能够从磁盘中恢复原有的数据,而整个过程就叫做Redis持久化。!image.png(https://oscimg.oschina.net/oscnet/232e657dae2
Stella981 Stella981
3年前
Flink简介
1. Flink的引入这几年大数据的飞速发展,出现了很多热门的开源社区,其中著名的有 Hadoop、Storm,以及后来的 Spark,他们都有着各自专注的应用场景。Spark 掀开了内存计算的先河,也以内存为赌注,赢得了内存计算的飞速发展。Spark 的火热或多或少的掩盖了其他分布式计算的系统身影。就像 Flin