承接上文Java性能优化(一)https://www.cnblogs.com/guo-xu/p/11019267.html

4)尽量确定StringBuffer的容量

  在说和这个标题相关之前,先说一下Java中StringBuffer的地位及适用场景。

  StringBuffer和StringBuilder和String这三种的存在是有点相似的,所以我们平常使用的时候不会在意这三种的区别,而是单纯的使用String,哪怕我修改100次这个变量。。。StringBuffer与StringBuilder相对于String有一个共同点,就是能够被多次修改但并不创建新的变量。这就使得在需要频繁修改对象的时候使用这两个比使用String更节省内存。

  StringBuffer和StringBuilder的最大的不同之处在于StringBuilder的方法不是线程安全的(不能同步访问)。

  StringBuilder相对于StringBuffer有速度优势,所以大部分时间内使用StringBuilder,但是在应用程序要求线程安全的情况下,则必须使用StringBuffer类。

  言归正传,前面说到,StringBuffer在变量被频繁修改的场合下适合使用,但是如果在定义StringBuffer类对象的时候不指定它的长度,则它会分配一个默认的长度(16),这也就导致了当定义的变量更改为长度大于16的时候还是会创建新的变量,虽然系统会自动实现变量数据的迁移以及旧变量的销毁,但是,执行的过程还是比较消耗内存的,所以在使用的时候还是要根据情况手动事先给这个变量分配一个合适的长度。

5)在java+Oracle的应用系统开发中,java中内嵌的SQL语言应尽量使用大写形式,以减少Oracle解析器的解析负担

  这一点恐怕很多人并没有在意,因为我们都知道,在所有的SQL中,是不分大小写的,所以在写SQL语句的时候都会按照平常的小写来书写语句,之前使用Navicat管理mysql的时候经常会用到Navicat的一键生成SQL语句的功能,然后会发现,它生成的SQL语句全部都是大写,之前也考虑过这个问题,也专门去网上搜索过一些相关的知识,不过网上都没有真正有价值的说法,唯一我觉得还稍微可以的就是说要把SQL语句中的关键字大写,其他的保持小写,这样是为了更好的分辨出关键字和其他语句,使SQL的层次更加清晰。

  不过Oracle和其他的SQL不同,用过Oracle的都知道,即使我在创建的时候创建的是varchar2类型的name列,等到表格里面查看时还是会自动变成NAME,也就是说,Oracle处理字符串的时候一律按照大写处理,这也就映射了我们的这个标题,在使用java操作Oracle的时候,尽量使用大写,这样在进入到数据库操作的步骤时,就可以省去Oracle将SQL转换为大写然后执行的步骤,也算是稍微提升了一点性能。

以上几点是我根据云时代架构中的文章总结的关于Java性能优化方面的几点小知识,虽然以现在的设备条件我们不这样做的话并不会产生很大的影响,但是作为一个对Java比较感兴趣的人同时工作时候也希望走这条路的我来说,还是会在这方面多花费一点时间研究研究,毕竟也是想当Java工程师的人嘛【滑稽脸】

转载于:https://www.cnblogs.com/guo-xu/p/11019279.html

云时代架构阅读笔记二——Java性能优化(二)相关推荐

  1. 云时代架构阅读笔记二——一次CPU负载超高的分析

    本文为转载,博客原地址:http://www.jianshu.com/p/4a6fe6c82311 上线发号器,发现该进程的cpu占用率很高,接近100% . top结果如下: 查询具体的线程cpu占 ...

  2. 云时代架构阅读笔记十三——你的系统如何处理高并发?

    1 从最基础的地方做起,优化我们写的代码,减少必要的资源浪费. a.避免频繁的使用new对象,对于整个应用只需要存在一个实例的类,我们可以使用单例模式.对于String连接操作,使用StringBuf ...

  3. 云时代架构阅读笔记十五——架构设计思维(一)

    对于架构设计人们已经提出了许多方法,分类为:工件驱动的方法:用例驱动的法:模式驱动的方法:领域驱动的方法.一个经典的架构设计过程模型,沿用了RUP中迭代增量的思想,由分析.描述.选择.构造和组合5个阶 ...

  4. 云时代架构--阅读笔记03

    安全意识十原则(一) 我是软件工程的学生,精力主要集中在业务开发中.功能实现中,较少的注意软件的安全意识,在校的我们所做的项目还比较小型,如果针对工作后,公司项目的业务实现,我们只是简单做一下扫描和渗 ...

  5. 笔记:Java 性能优化权威指南 第6章 Java 应用性能分析技巧

    一.性能优化的类型 1.使用更高效的算法 2.减少锁竞争 3.为算法生成更有效率的代码 二.CPU的使用 用BufferedOutputStream 替代直接的 FileOutputStream 利用 ...

  6. 笔记 :java性能优化 (from-JAVA程序性能优化)

    --From : JAVA程序性能优化 (葛一鸣,清华大学出版社,2012/10第一版) 1. java性能调优概述 1.1 性能概述  程序性能: 执行速度,内存分配,启动时间, 负载承受能力. 性 ...

  7. “云时代架构”经典文章阅读感想十二

    云时代架构"经典文章阅读感想十二 (牛逼的架构师是怎么炼成的?) 前几周阅读的三四十岁的大龄程序员,应该如何保持自己的职场竞争力?中提到如何在35岁左右可以实现掌握有核心竞争力.其中之一便是 ...

  8. 【阅读笔记】Java游戏服务器架构实战

    [阅读笔记]Java游戏服务器架构实战 书籍链接:Java游戏服务器架构实战 作者提供的源码链接:kebukeYi / book-code 这里对书籍中比较重要的知识点(精华部分)进行摘录(总结) 文 ...

  9. “云时代架构”经典文章阅读感想十六

    云时代架构"经典文章阅读感想十六 (支付宝架构师眼中的高并发架构) 经过这一学期的阅读,看到最多的一个名词就是高并发. 高并发高并发经常会发生在有大活跃用户量,用户高聚集的业务场景中,如:秒 ...

最新文章

  1. 爬虫推特数据分析的外文文献_13天让你学会爬虫分布式,说到让你做到择推出it届附教程...
  2. simplified build configuration
  3. 【机器学习】sklearn k-近邻算法
  4. 强化学习《基于策略 - on plolicy - off plolicy》
  5. split出现得问题
  6. android 构建者设计模式,Android中的设计模式之构建者模式
  7. 《无线通信与网络》第二章 信号传输基础
  8. 台式计算机读取不了移动硬盘,电脑识别不了硬盘的原因
  9. 基于ueditor 扩展的电子病历编辑器
  10. cpolar内网穿透工具
  11. 使用pm2部署vue项目
  12. 中国建设工程造价管理系统 http://zaojiasys.jianshe99.com/cecaopsys/
  13. HCIP2------BGP1
  14. 不值一提?开源CRM是否值得应用
  15. C++转erlang后感想
  16. 安装 Element UI 3.0 (即 Element UI Plus) 正确方法
  17. SmokePing安装手册
  18. ZGC收集器(学习笔记)
  19. 小米note刷android8.1,【Android 8.1.0】RR-O For Xiaomi Mi Note Pro(小米Note顶配版)
  20. CSS 水平居中、垂直居中、水平垂直居中

热门文章

  1. Oracle11g与Oracle11gxe有什么区别
  2. usb大容量存储设备驱动_Win10默认已禁用USB驱动器缓存 1903版本起无需点击安全弹出...
  3. 武汉网络推广优化中网站关键词如何更合理布局分布?
  4. 网站优化如何摆脱竞争对手,将排名做到首页?
  5. solrcloud java_SolrCloud之zookeeper中使用java代码创建集合
  6. 大数据druid查询不支持分页_Klin、Druid、ClickHouse核心技术对比
  7. beyond compare 4 的30天试用期已过-解决方法
  8. Tor真的匿名和安全吗?——如果是http数据,则在出口节点容易被嗅探明文流量,这就是根本问题...
  9. js中JSON.stringify用于自定义的类
  10. dfs入门排列数字问题(一看就懂的讲解)