千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:广州千锋IT培训  >  技术干货  >  python和java相比写app有什么区别?

python和java相比写app有什么区别?

来源:千锋教育
发布人:xqq
时间: 2023-10-11 21:41:09

一、python和java相比写app的区别

从架构模式的角度来说,Java中更侧重提到MVC,而在Python中则是MTV。简单来说,MVC和MTV是类似的,只是归属于不同的开发目录。都是在已有的实现上解耦合,通过配置和扩展来实现复杂的需求。

最终选择什么编程语言做web开发必须要考虑哪个语言更适合后端业务流程。如果是个相对计算密集型的、需要多线程的,那么就应该慎用Python,或者提前将计算密集的部分拆出去单独组成服务。如果是业务本身比较繁杂、变更比较频繁的,Python和PHP这样的脚本语言就比较合适。

当然跟程序员的个人喜好也有很大关系。比如有些人死都不会去用Java和PHP,但是也有很多人视Java为信仰,所以开发人员的主观能动性也是很重要的。

Python的好处是开发、部署都很快,变更起来很容易,代码量小所以抛弃起来也很容易,不容易背上历史负担。如果你是稳扎稳打写了几百个Java类,那你肯定很难下决心把几百上千行的代码都抛弃掉。Python的缺点是运行起来相对Java来说慢得多,性能有瓶颈的时候Java和Go这样的编译语言的优势就体现出来了,不过大部分公司如果不够快的话,是撑不到性能有瓶颈的时候的。

按照JavaEE的规范,servlet都需要直接或间接的实现Servlet接口,即javax.servlet.Servlet,这个接口里面只定义了5个方法,但是因为servlet是协议无关的,要直接实现还是很困难的,所以,曾经的sun给除了实现Servlet接口的类,是javax.servlet.GenericServlet类。而到了Python栈,情况会略有一些变化。简单来说,如果不使用任何web框架,我们可以完全使用socket的方式来实现,这也就是Python web应用的本质了。

Python的web开发使得我们更专注于生成HTML文档。因为我们不希望接触到TCP连接、HTTP原始请求和响应格式,所以需要一个统一的接口让我们专心用Python编写Web业务,这个接口就是WSGI,感觉和servlet有异曲同工之妙。和Java中servlet中service()不同的是,WSGI接口定义非常简单,只要求Web开发者实现一个函数,就可以响应HTTP请求。

延伸阅读:

二、Dao层(持久层、数据访问层)

功能:只负责与数据库的数据进行交互,dao层是在Mybatis框架下通过@MyBatisDao连接后台代码与数据库的。@Repository用于标注数据访问组件Dao层。

DAO层首先会创建DAO接口,然后会在配置文件中定义该接口的实现类,接着就可以在模块中就可以调用DAO 的接口进行数据业务的而处理。

Dao层用来访问数据库实现数据的持久化(把内存中的数据永久保存到硬盘中)。

个人理解:Dao层用于定义方法接口,然后在service层和serviceimpl层实现接口的方法,从而达到操作数据库的目的。对数据库进行数据持久化操作,方法语句主要是针对数据库的,主要实现一些增删改查操作,在Mybatis中的方法主要与xx.xml内相互一一映射。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

Python 在 Linux 里面有哪些应用?

2023-10-11

python和java相比写app有什么区别?

2023-10-11

python 利用可变参数传入list并打印,与直接用for循环打印有什么区别?

2023-10-11

最新文章NEW

常见的网络数据库有哪些?

2023-10-11

为什么函数式语言里有递归数据类型但没有递归函数类型?

2023-10-11

大数据与深度学习有什么区别?

2023-10-11

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>