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

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

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
繁华终归落尽 2017-11-28
  • 打赏
  • 举报
回复
应该说的是final类的用途
  • 打赏
  • 举报
回复
别沉啊

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧