永发信息网

Java RMI中Naming.lookup的性能问题

答案:1  悬赏:40  手机版
解决时间 2021-04-04 17:07
  • 提问者网友:雪舞兮
  • 2021-04-04 06:21
Java RMI中Naming.lookup的性能问题
最佳答案
  • 五星知识达人网友:山河有幸埋战骨
  • 2021-04-04 06:33
这个是你测试的问题,你写在里面测试的是循环一次的时间,如果你写在外边,时间上是测试的4500次的时间,当时是里面的时间少了,当时你把里面的时间乘上4500肯定是比外边大的,你对for循环的机制理解的不是非常正确,希望对你理解有帮助追问不对吧,我把lookup写在for循环里面,不是每循环一次,就要执行一次lookup吗?还有一点,是我写的测试内容让您误解了,其实我想问的不是时间的问题,而是把lookup写在这两个地方为什么性能上会存在很大的差异,因为测试发现lookup写在外面时,最多只能循环1000次就会抛出ConnectException,而写在里面却可以循环到4500次才会抛出异常。这个应该不是偶然的吧,我测试了好多次呢。另外想请教一下lookup的原理,API上的太少了,谢谢追答你在看一下,你标(1)的地方是for循环外边,标(2)在for循环里面,你开启的线程太多,开启线程后没有进行关闭,所有会造出内存泄露...追问对,就是写在(2)的地方比写在(1)性能好,这个不是问题的关键,for循环只是为了不用一个一个地起线程才加的追答你每次循环的时候都开启了一个线程,.start()但是每次开启后都没有进行关闭,你开启的线程太多就会造成内存不足,实际上也是内存泄露追问谢谢你的回答,线程在执行完run()方法后会自动关闭,而且这个程序并没有抛出内存溢出的异常。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯