大家好,今天小编关注到一个比较有意思的话题,就是关于java语言太慢了的问题,于是小编就整理了2个相关介绍Java语言太慢了的解答,让我们一起看看吧。
J***a反射到底慢在哪里?
先陈述一下结论:j***a的反射是慢,但是是相对于直接调用而言,慢也的确慢了一个数量级,不过在有些场景必须使用反射,并且在反射的时候,可以用一些手段进行人工优化
再说一下j***a反射之所以有一点慢的原因
1.j***a和python比起来,j***a是静态语言类型,也就是说在编译期j***a在编译代码的时候就会进行类型的强检验,j***a会在编译期进行代码优化,而反射是在运行时发生的,也就是说那些类型检查,代码优化的事情放在了运行时,这个自然要耗费一点时间
2.编译期在运行时很难做一些关于反射的优化,现在的编译期还不是非常智能,知道你用这段反射代码需要做什么事情
3.再说一下,调用实现,在反射调用过程中,执行者叫MethodAccessor,我记得这个对象是懒加载的,也就是说有可能第一次反射调用耗时可能会更长一点,并且在调用的时候method.invoke方法还要对参数数组进行包装,可能涉及到参数类型适配,装包拆包也有消耗,其实说到底,还是不知道具体的参数类型
为什么有人说Python的执行速度很慢?
Python 比很多语言运行起来都要慢。无论是使用 JIT 编译器的 C#、J***a,还是使用 AOT 编译器的 C、c++,又或者是 JavaScript 这些解释型语言,Python 都比它们运行得慢。为什么 Python 比较慢?
主流的说法有这些:
加米谷大数据培训,6月大数据开发0基础班、提高班,成都小班预报名中
相关:为什么 Python 这么慢?
***s://***.toutiao***/i6630644941179585032/
很多程序员不喜欢解释性语言觉得它很慢,就是它在边运行边解释的原因。
其实Python运行起来并不是很慢,首先现在常用的Python其实都是cpython,底层是c语言编写。其次,python在首次运行的时候,会生成.pyc的文件。
pyc文件是py文件编译后生成的字节码文件(byte code)。pyc文件经过python解释器最终会生成机器码运行。所以pyc文件是可以跨平台部署的,类似J***a的.class文件。一般py文件改变后,都会重新生成pyc文件。
这个会让很多程序员错觉,觉得它慢,这个只是在IDE调试代码的时候觉得慢了许多,一般的IDE会不断的编译,所以总体下来都不是很快。
不止如此,python的开发效率惊人,python的开发者不必重复很多轮子。就拿一个列表排序来说,python就已经内置好的,不必再到处找包,或者自己去写。自己编写的还不如内置的方法优雅大方。
说到不同编程语言运行快还是慢,根据我个人理解在头条上就给大家讲讲原理,目前的编程语言分为:动态编程语言,静态编译语言,和既有动态也有静态三种模式。1.动态编程语言(解释型)大部分为脚本语言(如Python,J***aScript,vb,lua,等),程序是动态解释的,边运行边解释最后在转化成本地化CPU执行指令,如果有语法错误预先是发现不了只会在执行是会检查出;2.静态编程语言(c,C++等),静态语言指的是直接把程序编译成二进制的机器可以直接运行的机器码,在语法上会预先进行处理语法验证;3.既有动态又有动态(J***a,c#,等)这些语言会首先把语言先转化为自的中间语言这种语言与汇编非常类似,如果是动态的话会把中间代码变解释变执行,如果是静态的他们会把中间语言直接编译成本地指令集.呵呵最后总结一下,综上所述:从语言运行速度上排,1.静态编程语言;2.既有静态又有动态;3.静态编程语言.以上只是本人个人见解,如有漏洞望各位网络大人指教一二!喜欢的读者可添加”嘿咪编程专家”或转发观点!后续会有更多观点与大家分享
到此,以上就是小编对于j***a语言太慢了的问题就介绍到这了,希望介绍关于j***a语言太慢了的2点解答对大家有用。