关于JVM优化02(内存篇)助你提高代码质量

  上篇讲到了JVM优化的CPU篇,下面讲一讲内存。

  诗东本人下面也是通过一个例子来讲述一下我们平时开发中,写代码的过程要注意到的一些地方,可以提高你程序的运行速度,从而提高你的代码质量和薪水!

-----------------------  细节一,基本数据类型和引用类型 -----------------------

要完成上面的操作一,要837毫秒!

要完成操作二,只需要3毫秒!

有些时候我们进行整数类型的赋值时候,到底用int类型,还是Integer类型时候,不知道怎么去选择。就随便写Integer算了,但是如果可以用int的就不要用Integer,如果我们代码中注意到这个细节会让你的代码质量有所提高。

另外从GC日志角度去分析上面两端代码,先让其打印出GC日志.

这是操作第二段代码的,没有出现GC操作

这是第二段代码的,出现了多次GC操作。

基本数据类型并没有使用内存空间,而引用类型,就使用了内存空间,所以要进行GC垃圾回收。

总结:可以用基本数据类型,就请不要用引用类型

-----------------------  细节2,数据库对象映射 -----------------------

  有些时候,可能我们的的数据库表A里面有10个字段,有一日,要完成某一个新功能,我们可能有两个选择,一个A表添加新字段,另一个就是新建一个表B,在A表添加字段对旧功能没有影响,旧功能还在用,就是为了满足新需求。

      这里我先告诉大家,如果从优化的角度,请建立新表而不是改旧表

    我们很多时候需要进行数据库的查询,在查询的时候,就会涉及到对象映射。因为我们查询的时候映射到某个对象,就会对这个对象进行新建,分配内存空间。如果字段越多,所用到的内存空间自然越多。下面举一个例子去模式查询的数据库操作

   

因为A的字段比B的字段少,所以执行效率更快,另外从GC角度,A比B发生更少的GC次数

  总结:站在效率角度来讲,在建立数据库表时候,根据需求来。可以建立新表就不做表的修改。

如果你觉得文章有硬货,就登陆www.nedsoft.cn 进行继续阅读吧!

猜你喜欢

转载自blog.csdn.net/weixin_41866264/article/details/86620875