自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 Redis位操作

Redis位操作的那些坑BG初创项目需要严格统计UV指标,但是APP未登陆和未注册的用户统计则带来了一些问题。因此采用uid和设备两个维度进行数据统计。从设备角度来看,我们可以简单的认为每个设备就是一个活跃的用户。因为统计指标这种事,使用关系型数据库来处理极为不便,况且这种每次都需要更新指标,使用关系型数据库也会有性能问题。于是我们采用了Redis这种非关系型数据库。而Redis本身具有HypeLogLog这种基于技术统计的数据结构。set这种能够结构和bitmap等。由于考虑到项目初期的原因,我们需

2021-07-26 22:31:12 208 1

原创 JAVA虚拟机栈的OOM与SOF

JAVA虚拟机栈在虚拟机规范中,这部分内存是用来描述方法执行时的数据结构,因此在此部分内存中,主要存储了方法运行时的数据。例如方法的出口,方法的参数,方法中的局部变量等。JAVA的栈帧JAVA的虚拟机栈是每个线程都是私有的,因此是线程安全的数据区域。每调用一个方法,都会创建一个栈帧,用来存储方法执行的数据。每个栈帧中都包含了局部变量表、操作数栈、动态连接、返回地址等。局部变量表局部变量表...

2020-04-07 11:44:13 1829

原创 GC overhead limit exceeded异常

一次JVM实验在一次JAVA堆内存的OOM实验中,程序抛出了GC overhead limit exceeded信息。查阅了网上的资料,总结一下,这是由于GC频繁导致的,由于内存的不足,频繁的GC,甚至影响到正常的程序执行,即所谓的98%资源用于GC,回收不到2%的可用内存,这样很明显是程序的问题。GC认为内存中的数据都是需要的,但是程序执行所需的内存不足,只能不停的GC,最后抛出这样的错误。...

2020-04-05 16:48:40 702

原创 高并发专题(二)--java中的线程

Java中的线程线程的创建        我见过不少的言论和题目,对于在java中创建线程一直众说纷纭。但是大多数的言论倾向于三种创建方式(除了线程池的方式)。分别是继承Thread,实现Runnable和使用Callable和Future。我以前也对此深信不疑,直到我在看视频的时候,大佬带我简单瞄了一下线程的启动...

2020-03-23 07:39:53 136

原创 高并发专题(一)--基本概念和线程初识

什么是高并发单核计算机发展的性能局限性著名的摩尔定律失效。当代的CPU效率基本定格在4GHz,这么意味着若是使用一个CUP在一台机器上,那么无论其他硬件多么优秀,瓶颈将出在CPU的计算能力。因此为了提升机器的性能,现在得计算机一般采用多CPU或超线程的方式来提升机器的性能。这样在同一时刻,机器的运算不能就不再局限于4GHz。超线程是指将CPU的逻辑内核模拟成物理芯片,从而达到并行执行的目的,提...

2020-03-22 19:14:52 283

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除