李志宽 李志宽
2年前
夺取应用程序的 “制空权”:内存数据
技术背景在病毒查杀,应用安全对抗,静态逆向应用,动态逆向应用,最重要的对象就是,应用程序的内存数据。病毒查杀对抗:需要获取查杀对象的内存数据进行和病毒库的特征做比对。应用安全对抗:需要保护自身的内存数据不被转存。静态逆向应用:遇到应用程序加密保护,那这用IDA就歇菜了,这时获取解密后内存数据就非常重要。动态逆向应用:用ollydbg进行动态调试应用主要还是调
Jacquelyn38 Jacquelyn38
3年前
JS变量的内存分配你了解多少?
美国导演昆汀·塔伦蒂诺说:世界上80%的故事都已经拍过了。所以我们要用新方法去拍老故事。JavaScript的所有变量(包括函数)在整个处理过程中都是存放在内存中,所以要对一个变量进行处理。首先得为变量分配内存。JavaScript内存分配和其他语言一样,是根据变量的数据类型来分配内存的,而JavaScript变量的数据类型由所赋的值的类型所决定的。Java
基于Spring Cache实现Caffeine、jimDB多级缓存实战
在早期参与涅槃氛围标签中台项目中,前台要求接口性能999要求50ms以下,通过设计Caffeine、ehcache堆外缓存、jimDB三级缓存,利用内存、堆外、jimDB缓存不同的特性提升接口性能,内存缓存采用Caffeine缓存,利用WTinyLFU算法获得更高的内存命中率;同时利用堆外缓存降低内存缓存大小,减少GC频率,同时也减少了网络IO带来的性能消耗;利用JimDB提升接口高可用、高并发;后期通过压测及性能调优999性能<20ms
Stella981 Stella981
3年前
Linux内存管理之mmap详解
一. mmap系统调用1.mmap系统调用mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。munmap执行相反的操作,删除特定地址区域的对象映射。当使用mmap映射文件到进程后,就可以直接操作这段虚拟地址进行文件的读写等操作,不必再调用read,writ
Stella981 Stella981
3年前
JVM 调优总结
1.堆大小设置JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32bt还是64bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在WindowsServer2003系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。
Stella981 Stella981
3年前
JVM复习
在复习Java内存机制的过程中有一些新问题,自问自答,做个记录。新生代是java堆内存的一部分。堆内存分新生代和老生代两大块,也有把堆内存分为新生代老生代永久代(持久代)三块的说法。(不过这种说法应该逐渐被淘汰,因为从java7开始永久代就已经被移除了。)新生代继续细分,可以划分出Eden,SurvivorFrom,SurvivorTo三块,Ed
Stella981 Stella981
3年前
Android 加载图片占用内存分析
本文首发于vivo互联网技术微信公众号链接:https://mp.weixin.qq.com/s/aRDzmMlkqB14Ty67GJs9vg(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fmp.weixin.qq.com%2Fs%2FaRDzmMlkqB14Ty6
Stella981 Stella981
3年前
JavaScript进阶(高频面试题)
前言这一章节给大家介绍的知识点相对比较简单,但是却是非常重要的.而且也是在面试过程中经常会被问到的一部分内容.通过此次阅读你可以学习到:4种常见的内存泄露内存泄露的识别方法4种常见的内存泄露其实在实际开发中,我们很容易不经意的就写出内存泄露的代码,比如以下几种情况可能
Wesley13 Wesley13
3年前
PHP内核探索:写时复制COW机制
写时复制(CopyonWrite,也缩写为COW),顾名思义,就是在写入时才真正复制一份内存进行修改。COW最早应用在\nix系统中对线程与内存使用的优化,后面广泛的被使用在各种编程语言中,如C的STL等。在PHP内核中,COW也是主要的内存优化手段。在前面关于变量和内存的讨论中,引用计数对变量的销毁与回收中起着至关重要的标识作用。引用计数
javalover123 javalover123
1年前
Java程序性能分析:内存
开发Java项目过程中,难免会碰到一些性能问题,这时候就需要一些工具,帮忙排查。本文主要介绍JDK自带的上古神器jstat、jmap,另简单介绍MAT、gceasy、HeapDump等