如何理解将多步骤的操作作为基本类型提供

不穿裤裆好凉爽 华生科仪 搬砖人员  2017-11-27 03:49:52
在看effective java的不可对象时候,书中说:“如果你执行一个多步骤的操作,且每个步骤都会产生一个新的对象,除了最后的结果之外其他的对象最终都会被丢弃,此时性能问题就会显露出来。处理这种问题有两种方法。第一种方法,先猜测一下会经常用到哪些多步骤的操作,然后将它们作为基本类型提供。”
这里的多步骤操作作为基本类型提供是什么意思?最好能举个例子,谢谢。
...全文
241 8 点赞 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
意思就是需要复用的多步骤最好自定义一个类,然后通过调用这个类来执行这些步骤,省的每次需要的时候写一堆,既不简洁也不节能; 简单的例子:

public static void main(String args[]) {
		String a = "a";
		String b = "b";
		String c = "c";
		String d = a + b + c;
		System.out.println(d);
}
可以自定义一个类如下:

public class Test {
	private String d;

	Test(String a, String b, String c) {
		d = a + b + c;
	}

	public static void main(String args[]) {
		Test test = new Test("a", "b", "c");
		Test test1 = new Test("1", "2", "3");
		System.out.println(test.d);
		System.out.println(test1.d);
	}
}
两者的区别是每次上面需要四步,创建四个对象(默认字符串池无上述字符),而定义类之后调用每次只需要创建一个对象,执行一步,效率大大提高,复用性好
  • 打赏
  • 举报
回复
wzd_10010 2017-12-06
是不是说你运行一段程序在得到结果前需要创建很多变量,而这些变量到最后都是无用的,因此影响程序的效率,所以想办法提高这些对象的复用性从而提高程序的效率 个人理解,其实也不是很明白
  • 打赏
  • 举报
回复
没人么
  • 打赏
  • 举报
回复
不是很理解这种操作,适用于什么情景
  • 打赏
  • 举报
回复
Clumsy__Cat 2017-11-28
应该是用操作局部变量代替对对象的操作,比如操作User里的name改为直接操作String类型的name
  • 打赏
  • 举报
回复
应该说的是final类的用途
  • 打赏
  • 举报
回复
别沉啊
  • 打赏
  • 举报
回复
相关推荐
发帖
Java SE
加入

6.2w+

社区成员

Java 2 Standard Edition
申请成为版主
帖子事件
创建了帖子
2017-11-27 03:49
社区公告
暂无公告