java的setter方法,java getter和setter

  java的setter方法,java getter和setter

  在优化Java代码的时候,想尽一切办法提高整体效率。用JProfiler看看代码的时间比例,然后看看哪些部分可以优化减少运行时间。下面这么多方向。

  如何解决写爬虫IP受阻的问题?立即使用。

  1.如果可以一步到位使用构造函数,尽量使用构造函数而不是setter函数。

  2.如果可以使用数组,就使用数组。而不是列表,数组真的很快。

  3.使用for循环时,for i循环用于列表界面的集合,for each循环不使用。当我循环的时候,在for循环之外提到length的值。

  4.有些变量可以提的话,取一次,用多次。不要太频繁。即使是一个简单的int值。

  5.如果可以使用内部类,就可以使用内部类,这样可以节省getter和setter方法的使用。

  6.json的序列化和反序列化。不要说理论上是fastjson,就用fastjson吧,因为根据数据结构的简单和复杂程度,你可以选择用什么进行反序列化和反序列化。你应该在说话前测试一下。不能直接照搬理论,因为有时候Gson真的很快。

  下面对这个构造和set的效率对比

  然后,使用的代码如下:

  包com . lxk . fast;

  导入com . Google . common . collect . lists;

  导入com . lxk . model . car;

  导入com . lxk . model . dog;

  /**

  *测试谁快直接构造或者一个一个设置,他们的效率差多少。

  *

  * @作者李雪凯2019/6/18

  */

  公共类FastIsConstructOrSet {

  公共静态void main(String[] args) {

  test fast();

  }

  /**

  *使用JProfiler查看时间比例

  */

  私有静态void testFast() {

  while (true) {

  //27.4%

  set();

  //72.6%

  构造();

  }

  }

  /**

  *为属性赋值的构造函数

  */

  私有静态void构造(){

  Car car=新车( oooo ,100,Lists.newArrayList(新狗( aaa ,真,真)));

  }

  /**

  *设置为属性赋值。

  */

  私有静态空集(){

  Car car=新车();

  car . set sign( oooo );

  car . set price(100);

  狗狗=新狗();

  dog . set name( AAA );

  dog . set alive(true);

  dog . set忠诚度(true);

  car . setmydog(lists . newarraylist(dog));

  }

  }可以发现构造比一个一个设置要快得多。因此,当您可以一步设置属性值时,您必须考虑效率。

  (2019年7月16日补充)

  不是有老铁说的建筑商模式吗?

  我出于好奇测试了一下,以防这个builder模式很快。

  下面是builder的代码

  /**

  *使用JProfiler查看时间比例

  */

  @测试

  public void testFast2() {

  while (true) {

  //33%

  set();

  //12.4%

  构造();

  //54.6%

  builder();

  }

  }

  /**

  *使用lombok的构建器模式来赋值。

  */

  私有静态void生成器(){

  Car car=Car.builder()。符号( 0000 )。价格(100)。my dog(lists . new ArrayList(dog . builder()。姓名( aaa )。活着(真)。isLoyal(真)。build()))。build();

  }使用了龙目岛的注释。

  然后是JProfiler监控结果。

  结果:

  大家可以看到,构造者牛X还是比较快的。况且以上比例:72.6: 27.4=33: 12.4=2.64。

  并且建造和设置的时间比率不变。这就是Java中使用构造函数和setter的效率差异的细节。请多关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: