高级语言怎么解决内存碎片呢?

c/c++可以自己管理内存,像nginx可以根据自己的业务特点,为每一个请求分配一个内存池,请求结束,内存池也就可以释放了

python,node.js这样的高级语言怎么解决内存碎片问题呢?

鼓吹node.js的人都会提到node.js有谷歌的v8引擎,他是有多先进,但他没想过v8是为浏览器设计的,他是不会遇到像服务端程序会遇到的内存碎片问题,一个页面不可能一直打开着吧,关掉页面,这些内存就全部释放掉了。服务端程序会遇到内存碎片问题,类似于文件系统,一个4kb的块,只用1kb,另外3kb就浪费掉了,也没办法回收。要么就定期整理磁盘,貌似java就会类似于整理磁盘一样挪动对象,需要付出代价就是消耗CPU。v8就什么都没做,其实他也没必要做,因为他是为浏览器设计的,在浏览器应用场景中压根就不会有问题,设计的时候就不会要考虑了。

现在想一个php还真是最好的编程语言呢(笑),足够简单,每一刻都是崭新的。

时间: 2024-10-12 14:30:12

高级语言怎么解决内存碎片呢?的相关文章

Linux运维(十)-2016-12-9整理

也有段时间没有整理面试题目了,这几天呢,完成了2场实习生和1场校招,十分郁闷,为什么金融运维一点都不关注技术,在乎我的学校成绩,我尼玛想说,学校那么水的课程能说明什么,跟技术有一丁丁点关系吗?我学业成绩不好,就能否定我的专业岗位基础不行吗?唉,劳资想说,你如果质疑我的能力,你就问我,劳资要是被你虐倒是我算我输,学艺不精我就服,看过去有球用. 这辈子职业生涯都不想进外包和IDC这两种类型的公司,就是TM打杂的,薪资还低,关键是不厚道,比如垃圾胜蓝.这回校招那家是我之前就提到的那家,大多数人对我是认

java之内存管理

对于JVM的垃圾回收机制来说,是否回收一个对象的标准在于:是否还有引用变量引用该对象,只要有引用变量引用该对象,垃圾回收机制就不会回收它. 强引用:创建一个对象,并把这个对象赋给一个引用变量.这种引用,不会被垃圾回收机制回收,及时系统资源非常紧张,即使有些Java对象以后永远都不会被用到,JVM也不会回收被强引用所引用的Java的对象. 软引用:需要通过softReference类来实现,当一个对象只具有软引用时,它有可能被垃圾回收机制回收.当系统内存空间足够时,它不会被系统回收,当系统内存空间

分布式缓存- memcached

分布式缓存出于如下考虑,首先是缓存本身的水平线性扩展问题,其次是缓存大并发下的本身的性能问题,再次避免缓存的单点故障问题(多副本和副本一致性).分布式缓存的核心技术包括首先是内存本身的管理问题,包括了内存的分配,管理和回收机制.其次是分布式管理和分布式算法,其次是缓存键值管理和路由. 原文:http://wenku.baidu.com/view/8686d46c7e21af45b307a8c3.html 什么是Memcached 许多Web 应用程序都将数据保存到RDBMS中,应用服务器从中读取

性能调优攻略

关于性能优化这是一个比较大的话题,在<由12306.cn谈谈网站性能技术>中我从业务和设计上说过一些可用的技术以及那些技术的优缺点,今天,想从一些技术细节上谈谈性能优化,主要是一些代码级别的技术和方法.本文的东西是我的一些经验和知识,并不一定全对,希望大家指正和补充. 在开始这篇文章之前,大家可以移步去看一下酷壳以前发表的<代码优化概要>,这篇文章基本上告诉你--要进行优化,先得找到性能瓶颈! 但是在讲如何定位系统性能瓶劲之前,请让我讲一下系统性能的定义和测试,因为没有这两件事,后

JVM学习(4)——全面总结Java的GC算法和回收机制---转载自http://www.cnblogs.com/kubixuesheng/p/5208647.html

俗话说,自己写的代码,6个月后也是别人的代码--复习!复习!复习!涉及到的知识点总结如下: 一些JVM的跟踪参数的设置 Java堆的分配参数 -Xmx 和 –Xms 应该保持一个什么关系,可以让系统的性能尽可能的好呢?是不是虚拟机内存越大越好? Java 7之前和Java 8的堆内存结构 Java栈的分配参数 GC算法思想介绍 –GC ROOT可达性算法 –标记清除 –标记压缩 –复制算法 可触及性含义和在Java中的体现 finalize方法理解 Java的强引用,软引用,弱引用,虚引用 GC

Memcached全攻略

最近在项目中进行核心业务模块的重构,涉及对系统接口性能的改造,随着系统业务的发展,原有系统接口响应速度已并不能满足业务需求,内部调用接口时间过多,为此,设计将多次访问查询操作的数据改为使用缓存查询,缓存查询不到再次请求接口或数据库 ,这里采用memcached进行缓存. 一.缓存概述 1.分类 本地缓存(HashMap/ConcurrentHashMap.Ehcache.Guava Cache等),缓存服务(Redis/Tair/Memcache等). 2.使用场景 什么情况适合用缓存?考虑以下

谈谈redis,memcache的区别和具体应用场景

时间:2016 十月 12 1. Memcached简介 Memcached是以LiveJurnal旗下Danga Interactive公司的Bard Fitzpatric为首开发的高性能分布式内存缓存服务器.其本质上就是一个内存key-value数据库,但是不支持数据的持久化,服务器关闭之后数据全部丢失.Memcached使用C语言开发,在大多数像Linux.BSD和Solaris等POSIX系统上,只要安装了libevent即可使用.在Windows下,它也有一个可用的非官方版本(http

Redis和Memcached的区别

?说到redis就会联想到memcached,反之亦然.了解过两者的同学有那么个大致的印象:redis与memcached相比,比仅支持简单的key-value数据类型,同时还提供list,set,zset,hash等数据结构的存储:redis支持数据的备份,即master-slave模式的数据备份:redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用等等,这似乎看起来redis比memcached更加牛逼一些,那么事实上是不是这样的呢?存在即合理,我们来根

操作系统 汤子瀛版 读书总结

用了一周时间,看哈工大操作系统的视频,学习完操作系统前六章.这本书是2000年的版本. 主要学习操作系统五大功能:进程管理,处理机管理,存储器管理,设备管理,文件管理.还有操作系统接口. 视频和书本的内容偏概念,主要是对操作系统有宏观的了解,没有做实际的实验. 第一章引论介绍了一些整体的概念. 第二章进程管理,对进程有了概念,明白了进程是系统进行资源分配和调度的一个独立单位,进程的创建.控制.同步等在系统中活动的过程.理解了信号量机制和生产者-消费者等经典问题.线程是系统中独立运行的最小单位.