当前位置: 首页 > news >正文

wordpress插件手机河北百度seo

wordpress插件手机,河北百度seo,私服网站怎么做,网站建设的成功经验今天聊Java构建字符串以及其内存原理 我们先来看一个小例子。一个是String,一个是StringBuilder. 通过结果对比,StringBuilder要远远快于String. String/StringBuilder/StringBuffer这三个构建字符串有什么区别? 拼接速度上,StringBuilder…

今天聊Java构建字符串以及其内存原理

我们先来看一个小例子。一个是String,一个是StringBuilder.

 

通过结果对比,StringBuilder要远远快于String.

String/StringBuilder/StringBuffer这三个构建字符串有什么区别?

拼接速度上,StringBuilder/StringBuffer的速度要远远快于String但StringBuilder多线程并发操作不安全,StringBuffer多线程并发操作下安全(StringBuffer里面加了锁,速度稍微慢一点点)。

原理:

        在内存中,每个存储单元大小为1字节。如果想要获取10000B大小的数据,要向内存申请一万次才能得到全部数据单元,所以操作系统为了提高效率,把内存按内存页划分,每页4096个字节(4KB)。这样,每次申请后读取一个内存页。10000B大约是3个内存页。

        一个内存页只有一个总地址(开头),在一个内存页中只能储存一个变量,其他的是找不到的。数组里面的变量是可以存在一个内存页的,但是对于python,php,js等弱类型语言,数组默认不区分类型,但是在底层被c语言翻译后还是被区分为不同类型的语言分页储存,所以弱类型语言对内存的消耗很大。

        每个内存页设计为4KB大小,这是一个折中的策略。既保证了一定的读取速度,也不至于过大,导致太多的浪费。所以操作系统一次分配的最小内存单元为4KB.。

回到我们刚才的小例子

        String类型一旦创建,原地址处不可变,只能不断开辟新的内存页,前4096次每次申请一个内存页后4097~8192一次申请两个内存页……以此类推。所以对内存的消耗是十分巨大的 。

如果是本地可变的话就会极大的降低内存的损耗。StringBuilder就是这样,它默认有16字节的缓冲区存储空间,当然,这个空间的大小也可以自己设置。StringBuilder的前身就是StringBuffer。一般缓冲区(buffer)底层都是这种数组结构,速度都很快。哪些操作需要到缓冲区呢?

        文件流操作,网络流操作,其实stream流操作本质上就是数组

http://www.hkea.cn/news/4294/

相关文章:

  • 珠海 网站 设计深圳市seo点击排名软件价格
  • 高效网站建设公司seo服务方案
  • 企业为什么要上市优化课程
  • 做网站下面会有小广告营销案例100例
  • seo搜索引擎优化薪资水平aso优化的主要内容为
  • 东莞企业名录大全seo外链是什么意思
  • 汕头网站建设技术托管友情链接搜读
  • 公司网站打开很慢成功的网络营销案例ppt
  • 网上推广哪家好郑州优化网站关键词
  • 网站上的3d怎么做的想学销售去哪培训
  • 专业网站建设怎么样打开百度一下的网址
  • 网站建设栏目规划重庆百度快照优化
  • wordpress主题打不开百度seo哪家公司好
  • 寮步镇网站仿做明星百度指数排行
  • 素材网站建设需要多少费用百度下载app
  • 360做网站经常打骚扰电话自媒体十大平台
  • 福建设计网站网络推广站
  • 做餐饮网站的目的与意义谷歌搜索引擎在线
  • 设计建设网站公司哪家好网络营销和传统营销的关系
  • 郑州网站建设老牌公司推广seo网站
  • 网站建设 齐鲁软件园百度投放广告一天多少钱
  • 在日本做色情网站百度站长中心
  • 怎么看网站哪个公司做的郑州网络推广公司排名
  • 电子商务网站建设 臧良运 好不好推广网站怎么制作
  • 网站导航固定代码广州网站优化关键词排名
  • 扬州 网站建设朋友圈推广广告
  • 国际新闻网站中文版他达拉非片和伟哥区别
  • wordpress 升级php版本搜索引擎优化的特点
  • 建设一个小网站需要多少钱qq引流推广软件免费
  • 网站推广策划方式电商代运营十大公司排名