战魂小筑

讨论群:309800774 知乎关注:http://zhihu.com/people/sunicdavy 开源项目:https://github.com/davyxu

   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  257 随笔 :: 0 文章 :: 506 评论 :: 0 Trackbacks
<2009年9月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

公告

转载请注明来源
我在慕课网的课程 http://www.imooc.com/u/2146035/courses?sort=publish

常用链接

随笔分类(379)

随笔档案(252)

Game

最新随笔

搜索

积分与排名

最新评论

一直对各类编程语言中的字符串底层实现的差异感兴趣. 最近在知乎上提了一个问题
总结起来, 在脚本里常用的一种字符串处理方法称之为 字符串驻留技术(String interning).
此技术主要为了节约内存, 提高访问, 操作效率. 这里拿lua来说, lua中低于40个字节的字符串驻留在全局hash表中, 大于40个字符的字符串单独有一个表. 这么处理可以提高cache命中几率. 但核心的关键是, 字符串的入库都要进行hash化处理, 这个比较耗时. 但入库后, 字符串之间的变量赋值只限于字符串引用, 还是唯一的一个引用, 字符串比较也是基于整数级别, 效率很高

一些链接
蒋金楠(Artech)博客园中C#的例子
http://www.cnblogs.com/artech/archive/2007/03/04/663728.html

C#微软官方的例子
https://msdn.microsoft.com/en-us/library/system.string.intern(v=vs.110).aspx

posted on 2015-05-06 11:33 战魂小筑 阅读(629) 评论(2)  编辑 收藏 引用

评论

# re: 字符串驻留技术 2015-06-08 10:38
你好,我加你的QQ群显示被接受了,但是没有加上呢  回复  更多评论
  

# re: 字符串驻留技术 2015-06-08 10:39 战魂小筑
再申请一次呢@刚
  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理