李志宽 李志宽
3年前
干货:木马DLL实现热更新的骚批操作
以前开发木马有个需求:木马是一个DLL文件,DLL需要注入到某个进程常驻,该DLL具备自我升级能力,当发现新的可用版本时,立即Free自己,加载新的。下面是我的一个实现方案:开启一个监听线程,从网络上拉新的可用版本,下载放到一个临时目录,如果发现需要升级,则立即FreeLibrary自身,然后执行更新过程。由于FreeLibrary之后当前模块的内存区域已经
Wesley13 Wesley13
3年前
C++中基类虚析构函数的作用及其原理分析
虚析构函数的理论前提是执行完子类的析构函数,那么父类的虚构函数必然会被执行。那么当用delete释放一个父类指针所实例化的子类对象时,如果没有定义虚析构函数,那么将只会调用父类的析构函数,而不会调用子类的虚构函数,导致内存的泄漏。故: 继承时,要养成的一个好习惯就是,基类析构函数中,加上virtual。知识背景     
Stella981 Stella981
3年前
JVM调优实战:G1中的to
最近刚刚将自己的一个应用从CMS升级到G1,在一天早上,刚刚到办公室坐下,就收到手机一阵报警,去查看了监控,发现机器的内存出现了一个90度的涨幅,如下图所示:!image.png(https://oscimg.oschina.net/oscnet/ae6bebe36fe95ba28b8ee7c4ac673c52a81.png)在查看GC日志后,发
Wesley13 Wesley13
3年前
Unity Editor + tolua 在 Linux 下的 runtime 问题
迫于Unity总是在Windows下崩溃,并直接导致系统重启(估计是内存泄漏),新买了一台笔记本。(终于可以在Linux桌面上进行开发啦,爽~电脑是华为新出的16.1寸第三方Linux版,官方美其名曰科技尝鲜版,相比win10版本省300元。拿到手第一件事当然是重装系统啦,装上自己熟悉的ManjaroGnome。这
Stella981 Stella981
3年前
Hadoop+Spark分布式集群环境搭建
  Hadoop是一个能够让用户轻松架构和使用的分布式计算平台,而Spark是一个新兴的大数据处理通用引擎,提供了分布式的内存抽象。下面使用在同一个局域网下的两台电脑搭建分布式计算的环境:  其中JDK、Hadoop、Spark都已经在两台电脑上安装好。  一台Ubuntu主机系统Master,IP地址假设为:192.168.1.101(i
Stella981 Stella981
3年前
Python(32bit)运行报错:MemoryError
由于最近使用的是32位系统,安装和运行Python各种问题有在网上搜这方面的问题,大多数回答是:python32bit最大只能使用2G内存,超过2G报错MemoryError,解决的办法是使用64bitpython。而我面临的情况是操作系统无法更换,只能自己去摸索解决办法了首先我查看了数据量是不小但是运行应该是没有问题的
Wesley13 Wesley13
3年前
IO 的底层实现问题
最近在看JAVANIO的相关知识,了解一下IO的底层实现原理。IO涉及到的底层的概念大致如下:1)缓冲区操作。2)内核空间与用户空间。3)虚拟内存。4)分页技术。一,虚拟存储器虚拟存储器是硬件异常(缺页异常)、硬件地址翻译、主存、磁盘文件和内核软件的完美交互,它为每个进程提供了一个大的、一致的和私有的地址空间。虚拟存储器的
CGLIB动态代理对象GC问题排查 | 京东云技术团队
一、问题是怎么发现的最近有个新系统开发完成后要上线,由于系统调用量很大,所以先对核心接口进行了一次压力测试,由于核心接口中基本上只有纯内存运算,所以预估核心接口的压测QPS能够达到上千。压测容器配置:4C8G先从10个并发开始进行发压,结果cpu一下就飙升
京东云开发者 京东云开发者
12个月前
从缺陷到创新:质量保障的新视角
1.背景:最近一段时间研发大佬们在积极的治理告警,经过一段时间的治理,现在告警情况已经有了很大的改观,但难免还有漏网之鱼;具体我们可以以下边一个例子来看:这是一个生产的UMP告警,通过这个告警我们发现XXX这个应用的堆内存使用率为90.18%,超过了设置的
京东云开发者 京东云开发者
7个月前
关于并发编程与线程安全的思考与实践
作者:京东健康张娜一、并发编程的意义与挑战并发编程的意义是充分的利用处理器的每一个核,以达到最高的处理性能,可以让程序运行的更快。而处理器也为了提高计算速率,作出了一系列优化,比如:1、硬件升级:为平衡CPU内高速存储器和内存之间数量级的速率差,提升整体性