关于创建对象的问题
如果在方法中创建对象,那么访问一次方法就会创建一次对象,这样会影响程序的性能,消耗内存。
将对象的创建语句放在类的参数定义的位置,这样当每次请求来的时候,不需要创建对象,直接使用就可以了。这样可以减少新生成对象的消耗,减少jvm垃圾回收。
老师,如果在方法内创建的话,每次访问方法就会创建一次对象,进行一次实例化,那么请问,当发送一次请求的时候,不就会访问一次doget方法吗?这个是对立的吧?
如果把对象放在类的参数定义,在doget方法中,当请求发来,也就创建一次对象吧,实现一次实例化,然后进行调用的阿。我感觉这两者之间好像没区别哎; “这样当每次请求来的时候,不需要创建对象,直接使用就可以了” 这句没理解。
正在回答 回答被采纳积分+1
同学你好,
1、PaintingController对象只有一个,在第一次发送请求的时候会进行创建。当发送第一次请求的时候,会创建对象,并访问一次doget方法,这是由框架底层来调用的,我们不需要管。
第一次发送请求时,会创建PaintingController对象并调用doGet()方法,在之后的请求中,不会再创建PaintingController对象。
2、“这样当每次请求来的时候,不需要创建对象,直接使用就可以了” 这句话的解释如下:
在PaintingController类的doGet()方法中,我们想要调用PaintingService类中的方法,那么就需要先创建PaintingService对象,然后再调用方法。
如果在doGet()方法中创建对象,那么每次调用doGet()方法时,都会创建PaintingService对象,这样会影响程序的性能,消耗内存。
如下:
如果在PaintingController类中创建PaintingService对象,那么在doGet()方法中直接使用PaintingService对象就可以了,不需要再创建了。
如下:
祝学习愉快~
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星