李志宽 李志宽
3年前
夺取应用程序的 “制空权”:内存数据
技术背景在病毒查杀,应用安全对抗,静态逆向应用,动态逆向应用,最重要的对象就是,应用程序的内存数据。病毒查杀对抗:需要获取查杀对象的内存数据进行和病毒库的特征做比对。应用安全对抗:需要保护自身的内存数据不被转存。静态逆向应用:遇到应用程序加密保护,那这用IDA就歇菜了,这时获取解密后内存数据就非常重要。动态逆向应用:用ollydbg进行动态调试应用主要还是调
红橙Darren 红橙Darren
4年前
C进阶 - 内存四驱模型
一.内存四驱模型不知我们是否有读过《深入理解java虚拟机》这本书,强烈推荐读一下。在java中我们将运行时数据,分为五个区域分别是:程序计数器,java虚拟机栈,本地方法栈,java堆,方法区。在c/c中我们将运行时数据,分为四个区域分别是:栈区,堆区,数据区,代码区。我们详细来介绍下:1.栈区:由编译器自动分配释放,存放函数的
Wesley13 Wesley13
4年前
Java ThreadLocal的内存泄漏问题
ThreadLocal提供了线程独有的局部变量,可以在整个线程存活的过程中随时取用,极大地方便了一些逻辑的实现。常见的ThreadLocal用法有:\存储单个线程上下文信息。比如存储id等;\使变量线程安全。变量既然成为了每个线程内部的局部变量,自然就不会存在并发问题了;\减少参数传递。比如做一个trace工具,能够输出工程从开始到结
Wesley13 Wesley13
4年前
JS内存泄漏排查方法
原文链接:http://caibaojian.com/chromeprofiles.html(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fcaibaojian.com%2Fchromeprofiles.html)一、概述GoogleChrome浏览器提供了非常强
Stella981 Stella981
4年前
Redis压缩列表
此篇文章是主要介绍Redis在数据存储方面的其中一种方式,压缩列表。本文会介绍1.压缩列表(ziplist)的使用场景2.如何达到节约内存的效果?3.压缩列表的存储格式4.连锁更新的问题 5.conf文件配置。在实践上的操作主要是对conf配置文件进行配置,具体上没有确切的一个值,更多是经验值。也有的项目会直接使用原本的默认值。此篇对于更好地理解
Stella981 Stella981
4年前
Linux 内核 VS 内存碎片 (下)
从Linux内核VS内存碎片(上)(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fpingcap.com%2Fblogcn%2Flinuxkernelvsmemoryfragmentation1%2F)我们可以看到根据迁移类型进行分组只是延缓了内存碎片,而并不是
Stella981 Stella981
4年前
Android动态加载之ClassLoader详解
Dalvik虚拟机如同其他Java虚拟机一样,在运行程序时首先需要将对应的类加载到内存中。而在Java标准的虚拟机中,类加载可以从class文件中读取,也可以是其他形式的二进制流。因此,我们常常利用这一点,在程序运行时手动加载Class,从而达到代码动态加载执行的目的。只不过Android平台上虚拟机运行的是Dex字节码,一种对class文件优化的产物
Wesley13 Wesley13
4年前
CSAPP学习笔记—虚拟内存
CSAPP学习笔记—虚拟内存符号说明!(https://oscimg.oschina.net/oscnet/05029e929ae3a6441247172cae9293a0535.png)虚拟内存地址寻址!(https://oscimg.oschina.net/oscnet/1
Stella981 Stella981
4年前
Android 加载图片占用内存分析
本文首发于vivo互联网技术微信公众号链接:https://mp.weixin.qq.com/s/aRDzmMlkqB14Ty67GJs9vg(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fmp.weixin.qq.com%2Fs%2FaRDzmMlkqB14Ty6
javalover123 javalover123
2年前
Java程序性能分析:内存
开发Java项目过程中,难免会碰到一些性能问题,这时候就需要一些工具,帮忙排查。本文主要介绍JDK自带的上古神器jstat、jmap,另简单介绍MAT、gceasy、HeapDump等