李志宽 李志宽
3年前
电脑关机了,内存就没数据了吗?
前言:大家好,我是周杰伦。提到网络攻击技术,你脑子里首先想到的是什么?是DDoS?是SQL注入、XSS?还是栈溢出、RCE(远程代码执行)?这些最常见的网络攻击技术,基本上都是与网络、软件、代码、程序这些东西相关。这也好理解,计算机网络安全,不跟这有关,还与什么有关系?今天跟大家介绍一下,攻击技术,除了这些,还有一些脑洞大开的方式,它们可能跟时间、震动、频率
DevOpSec DevOpSec
4年前
【转载】JVM性能调优
1、JVM调优目标:使用较小的内存占用来获得较高的吞吐量或者较低的延迟。程序在上线前的测试或运行中有时会出现一些大大小小的JVM问题,比如cpuload过高、请求延迟、tps降低等,甚至出现内存泄漏(每次垃圾收集使用的时间越来越长,垃圾收集频率越来越高,每次垃圾收集清理掉的垃圾数据越来越少)、内存溢出导致系统崩溃,因此需要对JVM进行调优,使得程序在正
李志宽 李志宽
3年前
电脑关机了,内存就没数据了吗?
大家好,我是周杰伦。提到网络攻击技术,你脑子里首先想到的是什么?是DDoS?是SQL注入、XSS?还是栈溢出、RCE(远程代码执行)?这些最常见的网络攻击技术,基本上都是与网络、软件、代码、程序这些东西相关。这也好理解,计算机网络安全,不跟这有关,还与什么有关系?今天跟大家介绍一下,攻击技术,除了这些,还有一些脑洞大开的方式,它们可能跟时间、震动、频率、温度
Wesley13 Wesley13
3年前
CIL锁,GIL与线程池的区别,进程池和线程池,同步与异步
一.GIL锁什么是GIL?全局解释器锁,是加在解释器上的互斥锁GC是python自带的内存管理机制,GC的工作原理:python中的内存管理使用的是应用计数,每个数会被加上一个整型的计数器,表示这个数据被引用的次数,当这个整数变为0时则表示该数据已经没有人使用,成为了垃圾数据,当内存占用达到某个阈值,GC会将其他线程挂起,然后执行垃圾清理操作,垃圾
Stella981 Stella981
3年前
Redis几个问题总结
redis持久化策略redis是一个内存数据库,但是它提供了持久化机制。即把数据永久的存储在磁盘上。我们来看看这个redis保存数据的流程(1)客户端向服务端发送写操作(数据在客户端的内存中)。(2)数据库服务端接收到写请求的数据(数据在服务端的内存中)。(3)服务端调用write这个系统调用,将数据往磁盘上写(数据在系
Wesley13 Wesley13
3年前
MySQL之视图、触发器、事务、存储过程、函数
一. 视图  视图是一个虚拟表(非真实存在),是跑到内存中的表,真实表是硬盘上的表,怎么就得到了虚拟表,就是你查询的结果,只不过之前我们查询出来的虚拟表,从内存中取出来显示在屏幕上,内存中就没有了这些表的数据,但是下次我要是想用这个虚拟表呢,没办法,只能重新查一次,每次都要重新查。其本质是【根据SQL语句获取动态的数据集,并为其命名】
Stella981 Stella981
3年前
Python垃圾回收机制
对于Python垃圾回收机制主要有三个,首先是使用引用计数来跟踪和回收垃圾,为了解决循环引用问题,就采用标记清除的方法,标记清除的方法所带来的额外操作实际上与系统中总的内存块的总数是相关的,当需要回收的内存块越多,垃圾检查带来的额外操作就越多,为了提高垃圾收集的效率,采用“空间换时间的策略”,即使用分代机制,对于长时间没有被回收的内存就
Stella981 Stella981
3年前
JVM中内存分配策略及堆和栈的比较
最近愈发对JVM底层的运行原理产生了兴趣,遂查阅相关资料以备忘。内存分配策略根据编译原理的观点,程序运行时的内存分配,有三种策略,分别为_静态的_、_堆式的_、_栈式的_。静态存储分配指的是在编译时就能确定每个数据目标在运行时的存储空间需求,因而在编译时就给它们分配了固定的内存空间。这种分配方式要求程序代码中不能有可变数据结构
子非鱼 子非鱼
3年前
Redis高级
第一章Redis的持久化由于redis是一个内存数据库,所有的数据都是保存在内存当中的,内存当中的数据极易丢失,所以redis的数据持久化就显得尤为重要,在redis当中,提供了两种数据持久化的方式,分别为RDB以及AOF,且Redis默认开启的数据持久化方式为RDB方式。1、RDB持久化方案Redis会定期保存数据快照至一个rbd文件中,并在启动时自动