我为什么不使用并放弃jdk8的新特性?

今天,公司任务不重,本打算调优一下项目,因为直播项目的原因,不得不对性能上有更高的要求,哪怕提高

0.1ms的执行效率。无意之间对for循环嵌套这块发起了疑问,心想,能否可不用for循环,于是无意间去搜搜是否可能

替换for循环的新事物,想想都好激动呢!于是有以下的结果:





------------------------------------------我是很粗很粗的分割线-------------------------------------------------

对于摒弃使用某度作为搜索工具的同行们,请忽略这一细节,然后我就开始学习了,学习了,习了,了。。。不多说废话,直接贴代码:


	@Test
	public void testStreamJ8New(){
		long start,end,sum = 0;//定义执行开始时间,结束时间,总时间
		List<Integer> list = new ArrayList<Integer>();
		Stream.iterate(1, items -> items + 1).limit(5000000).forEach(item -> list.add(item));//五百万的记录
		//目的:过滤小于1024的数
		for(int i = 1;i <= 100;i++){//循环一百遍,汇聚100次总的执行时间
			start = System.currentTimeMillis();
				
				//方案一:
				//List<Integer> list2 = list.stream().filter(item -> item >= 1024).collect(Collectors.toList());
				//System.out.println(list2.size());
			
				//方案二:
				List<Integer> list2 = new ArrayList<Integer>();
				for (Integer i2 : list) {
					if(i2 >= 1024)
						list2.add(i2);
				}
				//System.out.println(list2.size());
				
			end = System.currentTimeMillis(); 
			sum += (end - start);
		}
		
		System.out.println((sum/100) + "ms");//计算平均结果
	}

我等待了很久很久很久很久,,终于,,结果,却,,很让人失望,明显 for循环 平均执行时间要短一些,所以我放弃了jdk8的新特性,自从oracle收购了sun公司之后,觉得就如同乔布斯去世之后的苹果。。如果各位大神想撕逼,欢迎留言,不服来战!!这样我们才能更好的进化!!




评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值