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

扁平化风格 网站网站流量好难做

扁平化风格 网站,网站流量好难做,免备案做网站 可以盈利吗,深圳网站制作公司方案今天聊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.yayakq.cn/news/581651/

相关文章:

  • 网站 空间费用网络服务类型有哪几种
  • 盐山网站建设价格做棋牌网站建设
  • ps软件网站有哪些功能wordpress 百度文库
  • 河南省中原建设有限公司网站wordpress前台
  • 宁波cms模板建站岳阳设计网站推荐
  • 北京专业网站设计推荐django 做网站
  • 手机建设银行网站首页少儿编程课网课哪个好
  • 做旅游的网站那个便宜北京商会网站建设
  • 网站建设纟金手指下拉壹陆网站商城怎么做
  • 购物商城网站建设多少钱wordpress修改字体加载
  • 河南网站关键词优化代理文山微网站建设
  • 吉林省建设监理协会网站杂网网站建设
  • 建设银行荆门招聘网站手机网站制作哪家好
  • 合肥建设网站哪家好阿里网站建设费用
  • 大鹏网络网站建设宁波做网站烟台厂商
  • 电子商务网站建设的难点简历模板下载word格式
  • 手机看电视剧网站大全旅游网站色彩搭配
  • 想自己做点飘纱素材到网站上买响应式网站自助建设平台
  • 开平网站设计什么公司做网站好
  • 云南网站建设天度百度关键词怎么优化
  • 企业营销的网站沈阳建设工程信息网职称公示2013年
  • ps网站设计全程绝密怎样建设门户网站
  • 哪个网站做处理货单页网站的区别
  • 搜什么关键词能找到网站企业网站和信息化建设
  • 怎么做网站建设销售创一东莞网站建设
  • 网站301重定向检测门户网站建设成本
  • 哈尔滨网站建设唯辛ls15227平凉市建设厅官方网站
  • wap网站快速开发注册公司深圳
  • 建网站用什么系统办公室设计公司
  • 做电子的外单网站有哪些的个人网站盈利