java重复操作越来越慢
2023-01-10阅读(560)
问:java循环越跑越慢为什么?高手进
- 答:慢的原因是你在对List的循环中使用了List的get函数.
典型的"Shlemiel喷涂算法",所以越跑越慢啊.
List里是一个链表,get方法会从头一个个地数,越到后面,数的时间就越长.所以会慢..
你应该修改方式,用下面的方法进行循环:
for(Iterator
it
=
list.iterator();
it.hasNext()
;){
Map
map
=
(Map)it.next();
//
...
}
问:java执行多次删除操作,后台执行过慢如何优化?
- 答:后台的操作:可以将整个删除操作封装成一个异步操作,不等待其完成,直接返回。
如果前后端分离的话,可以调用删除接口,然后前端控制页面的跳转。 - 答:页面发异步请求或者后台开个线程
- 答:用 ajax异步发送请求,不就可以了吗
问:JAVA运行太慢怎么办
- 答:任务管理器---进程中,看看是不是有多个javaw.exe ,如果有多个,则说明之前运行的一些java程序没有关,所以资源占用越来越多,速度越来越慢。也可能是由于死循环造成的,你看看javaw.exe的资源占用率就可以判断了。
- 答:看看 java的运行时环境参数调优吧。。具体问题具体分析
- 答:不懂你的意思。是你写的程序执行太慢,还是开发环境(如eclipse),还是java执行速度比不上c?
程序太慢只能靠自己改进算法;开发环境启动慢可以修改配置来解决;java执行速度慢只能靠改进编译器来解决了 - 答:java是解释性语言,它不像C++那样直接被译为可执行的机器代码运行。而是通过虚拟机运行字节码。也就是语言运行的时候有间接性。
为什么要有虚拟机呢?因为java最重要的优势和特点之一就是可移植性。同样的字节码,配上不同的虚拟机,就能在单片机啊,PC啊,服务器等各种操作系统和硬件环境下运行。所以牺牲一点点性能是值得的。
并且,随着现在硬件水平的提高,java的性能瓶颈也被越来越缩小,所以不能说java运行速度很慢,只是适用的情况不同罢了。在大型网站,平台等的背后,java可以发挥它的用武之地,并且保持让人满意的性能。