JAVA和Python有啥区别?
发布网友
发布时间:2022-03-03 15:33
我来回答
共8个回答
热心网友
时间:2022-03-03 17:02
最本质区别就是一个是脚本可以解释执行,一个是需要编译通过才能执行。
相同点就是,它们都会通过一个中间语言来执行,而且都会优化。不过java的优化强大,效率高。
另外python的面向对象与java的不完全一样。python更表面化,java的严格多了。
编程风格也有本质区别。python喜欢随意,喜欢用小写,喜欢用缩略语的变量。这些在java中都是违反规范的。
python是C语言库支持的。更接近函数式编程。同时与操作系统底层也通过C,直接打交道。java这方面就弱多。java更适合做网站,做分布式计算。所以科学上,网络上用得多。
python覆盖面广。从教育,科研,运维管理,到一般的网站全都有。主要侧重在运维管理方面。本来它创建时就为了管理用的。java当时创建就是为了跨平台的移植,为了嵌入系统。事实上嵌入系统方面,java不成功。
语法方面python不需要声明就可以使用变量。但是要求对齐要很整齐。java不要求整齐,但是变量一定要声明定义后才能用。
python中大量使用类似指针的用法,很灵活。而java这方面基本上用面向对象,以及类的操作代替。
python里可以直接自己执行动态的代码。而java实现loadclass就麻烦些。没有这么灵活。
收集网络,仅供参考
热心网友
时间:2022-03-03 18:20
作者:find goo
链接:https://www.hu.com/question/20491745/answer/100741761
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
一、python虚拟机没有java强,java虚拟机是java的核心,python的核心是可以很方便地使用c语言函数或c++库。
二、python是全动态性的,可以在运行时自己修改自己的代码,java只能通过变通方法实现。python的变量是动态的,而java的变量是静态的,需要事先声明,所以java ide的代码提示功能优于python ide。
三,python的产生几十年了,几十年前面向过程是主流,所以用python有好多程序用的是面向过程设计方法,很多概念从c语言过来的,class在python中是后加入的,而java是为了实现没有指针的c++(当年com组件用的引用记数,java用的虚拟机),主要采用面向对象的设计方法,很多概念是oop的概念。面向过程,相对简洁直观,但容易设计出面条程序,面向对象,相对抽象优雅,但容易过度抽象。
四,在实际使用的python入门简单,但要学会用python干活,需要再学习python各种库,pyhton的强大在于库,为什么python的库强大,原因是python的库可以用python,c语言,c++等设计,再提供给python使用,所以无论gpu运行,神经网络,智能算法,数据分析,图像处理,科学计算,各式各样的库在等着你用。而java没有python那么多的开源库,很多库是商业公司内部使用,或发布出来只是一个jar包,看不到原始代码。python虚拟机因为编译性没有java的支持的好(或者说故意这么设计的),一般直接使用源码(linux),或源码简单打个包(如pyexe)。
五、python有很多虚拟机实现,如cython,Pyston,pypy,jython, IronPython等等,适合用于业务语言,或插件语言,或面向领域语言,而java因为虚拟机巨大,很少用于插件语言,发布也不方便。
六、java主要用于商业逻辑强的领域,如商城系统,erp,oa,金融,保险等传统数据库事务领域,通过类似ssh框架事务代码,对商业数据库,如oralce,db2,sql server等支持较好,软件工程理念较强,适合软件工程式的多人开发模式。python主要用于web数据分析,科学计算,金融分析,信号分析,图像算法,数学计算,统计分析,算法建模,服务器运维,自动化操作,快速开发理念强,适合快速开发团队或个人敏捷模式。
七、java的商业化公司支持多,如sap,oracle,ibm等,有商业化的容器,中间件,企业框架ejb。python的开源组织支持多,如qt,linux,google,很多开源程序都支持python, 如pyqt,redis,spark等。
八、python用途最多的是脚本,java用途最多的是web,pyhotn是胶水,可以把各类不相关的东西粘在一起用,java是基佬,可以通过软件工程组成几百个人的团队和你pk,商业化气息重。不过我认为还是python强大,因为可以方便调用c或c++的库,但软件工程和商业化运作没有java好,适合快捷开发。
九,关于钱。
如果你想写程序卖软件用java,可用上ibm服务器,上oracle数据库,上EMC存储,价格高,商业采购公司喜欢这种高大上。如果你要直接用程序生成金钱用python,python可以实现宽客金融,数据回测,炒股,炒期权,炒黄金,炒比特币,对冲套利,统计套利,有很多开源库,数据分析库,机器学习库可以参考。
十、java和python,都可以运行于linux操作系统,但很多linux可以原生支持python,java需要自行安装。java和python强于c#的原因大于支持linux,支持osx,支持unix,支持arm。java和python比c++受欢迎的原因在于不需要指针。
十一、对于移动互联网,python只能通过运行库运行于安卓或ios,java原生支持安卓开发,但不能用ios中。
十二、对于大数据,hadoop用java开的, spark用Scala开发,用python调用spark再分析更方便。
热心网友
时间:2022-03-03 19:55
JAVA和Python的区别如下:
Java具有简单性、面向对象、分布式、健壮性、安全性、平*立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
Python解释器易于扩展,可以使用C语言或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。Python也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。
想要学习此类技术推荐选择达内教育,该机构独创TTS8.0教学系统,1v1督学,跟踪式学习,有疑问随时沟通。线上线下交互学习,对标企业人才标准,制定专业学习计划,囊括主流热点技术。凭借雄厚的技术研发实力、过硬的教学质量、成熟的就业服务团队,为学员提供强大的职业竞争力,在用人企业中树立了良好的口碑。
想了解更多有关IT技术的相关信息,推荐咨询达内教育。该机构是引领行业的职业教育公司,致力于面向IT互联网行业培养人才,达内大型T专场招聘会每年定期举行,为学员搭建快捷高效的双选绿色通道,在提升他们的面试能力、积累面试经验同时也帮助不同技术方向的达内学员快速就业!
热心网友
时间:2022-03-03 21:46
1、Java运行效率高于Python,Java的资料相对多一些,尤其是中文资料;
2、Java版本比较稳定,Python2和3不兼容导致大量类库失效;
3、Java开发偏向于软件工程和团队,Python更适合小型的开发;
4、Python比Java编程语言简单;
5、Java语法定义较为复杂,Python语法简洁优美;
6、Java偏向于商业开发,Python适合于数据分析;
热心网友
时间:2022-03-03 23:54
java是静态类型编程语言
python是动态类型
java被市场认可和广泛使用三十余年了,比较成熟
python近几年刚被市场认可和大量推广,热度比较高
python的学习周期短于java
热心网友
时间:2022-03-04 02:35
作为世界上使用范围最广的编程语言,Java难免总是被拿来跟Python比较,而且,在编程语言的各种对战中,Python 与Java也是打得最热烈的。
1. Java必须显式声明变量名,而动态类型的Python不需要声明变量。
2. Python是一种语法简单的功能强大的语言,能够通过编写脚本就提供优秀的解决方案,并能够快捷地部署在各个领域。
3. Java可以创建跨平台的应用程序,而Python几乎与当前所有操作系统兼容。
4. 对初学者来说,Python比Java更容易上手,而且代码易读性强。
5. 速度,Java和Python都不适合高性能计算,但在性能上,Java还是略胜一筹,Java的效率优势体现在虚拟机执行,程序执行时,JVM可以将字节码转换为本地机器码,这种即时(JIT)编译让Java的性能略胜Python,但是Python针对性能进行微调,以提高Python效率!
Java和Python都是富有活力的编程语言,这两种语言与开放性相关联,所以公司,团队和程序员在做出决定时最好保持开放的态度。至于,程序员到底该选择哪种编程语言,可以结合上述五点自行比较,但更多的程序员似乎更倾向于Python,毕竟Python在人工智能、数据分析、云计算等领域具有更好的发展前景!
热心网友
时间:2022-03-04 05:33
Python 适合的领域:
1. Web网站和各种网络服务;
2. 系统工具和脚本;
3. 作为“胶水”语言把其他语言开发的模块包装起来方便使用;
Python 和其他语言对比:
1. C 编译为机器码,运行速度非常快,代码量非常多;
2. Java 编译为字节码,运行速度快,代码量多;
3. Python解释执行,运行速度慢,代码量少;
Python基本语法:
和java不同,不需要方法加 { } 定义决定一个代码块,Python对代码缩进控制严格,基本可以通过缩进决定代码块。
关于变量:
1. 定义:无需声明类型,且必须赋值;
2. 使用范围:在变量前加两个下划线如:__content = “haha”代表该类变量私有,不加则默认公有;
关于列表:
1. 列表:有序且可以修改,用[ ] 来定义,和java数组类似;
2. 元组:无序且无法修改,用 ( ) 来定义,只有一个元素时,需要在元素后面加逗号 “,”;
3. 字典:用 { } 来定义,和java的Map类似,需要键值对且键不可重复,值可以是任何类型,一个字典的所有值可以类型都不同;
关于面向对象:
1. 定义方法用def +方法名,且类里面的每个方法必须含有入参且必须是第一个入参self;
2. def__init__(self): 是一个类的构造方法或初始化方法;
3. 和java相比调用方法无需new;
4. 实现继承例:class Child ( Parent ): Child类继承Parent类,可继承多个类,在Parent后用“,”隔开;
热心网友
时间:2022-03-04 08:48
这种比较没啥意义吧, 哪哪都不一样。