当前位置: 首页 > news >正文

关于JAVA的常见误解

为什么80%的码农都做不了架构师?>>>   hot3.png

1)JAVA是HTML的扩展。

解释:JAVA是一种程序设计语言; HTML是一种描述网页结构的方式。除了存在用于放置JAVA APPLET的HTML扩展之外,两者没有任何共同之处。

2)使用XML,就不需要JAVA.

解释:JAVA是一种程序设计语言;XML是一种描述数据的方式。可以使用任何一种程序设计语言来处理XML数据,而JAVA API对处理XML提供了很好的支持。此外许多重要的第三方XML工具是采用JAVA编写的。

3)JAVA是一种非常容易学习的程序设计语言。

解释:JAVA这种功能强大的语言大都不太容易学习。首先,必须将编写玩具式程序的轻松和开发实际项目的艰难区分开来。而且需要注意的时,许多书籍仅仅会用很少的篇幅讨论JAVA语言,其他的章节都是介绍如何使用JAVA类库将JAVA语言应用到实际中区。JAVA类库包含了数千种类和接口与几万种方法,所以并不好学。幸运的是,并不需要知晓他们中的每一个,但是要用JAVA解决实际问题,还是需要了解不少内容的。

4)JAVA将成为适用于所有平台的通用性编程语言。

解释:从理论上讲,这是完全有可能的。的确,除了微软之外的每一个厂商都希望如此。然而,有很多已经在桌面计算机上工作良好的应用程序,他们不打可能在其他设备或在浏览器中工作的也很正常。同时,在编写这些应用程序时,利用了相应处理器的速度和本地的用户接口库,而且他们已经被移植到所有重要的平台上。这类应用程序包括字处理程序、图片编辑器。web浏览器。他们通常是用C或C++编写的,采用JAVA语言进行重新编写似乎对最终的用户不会带来什么特别的好处。

5)JAVA只不过是另外一种程序设计语言。

解释:JAVA是一种很好的程序设计语言;很多程序设计人员喜欢JAVA胜过C、C++或C#。有上百种好的程序设计语言没有广泛的流行,而带有鲜明缺陷的语言,如C++和VB却大行其道。

这是为什么呢?程序设计语言的成功更多的取决于其支持系统的能力,而不是有没的语法。人们关注是:是否提供了易于实现某些功能的易用。便捷标准库?是否拥有强大的程序设计能力与调试环境工具?语言和工具是否能够与计算机的其他基础结构整合在一起?JAVA的成功就是来自于其类库能够让你轻松地完成原本十分艰难的事情。例如:联网、多线程。

6)现在有了C#,JAVA过时了。

解释:C#借鉴了JAVA许多好的思想,例如,清晰地程序设计语言、虚拟机和垃圾回收。无论怎样,C#还是保持了一些好的特性,其中最重要的是安全性和平台无关性。人们普遍认为,C#最大的优势是其优良的开发环境。如果在能够与windows捆绑在一起,就更加具有现实意义了。但是,从现在来判定,JAVA仍然是大多数开发者选择的语言。

7)JAVA是解释型的,因此对于正式的应用程序而言太慢了。

解释:早期的JAVA是解释型的。现在除了像手机这样的“微型”平台之外,JAVA虚拟机使用了即时编译器,因此采用JAVA编写的“热点”代码其运行速度与C++相当。

8)所有的JAVA程序都是在网页中运行的。

解释:所有的JAVA APPLET都是在网页浏览器中运行的。这也恰恰是APPLET的定义,即一种在网页中运行的JAVA程序。同时,也完全可以编写一个独立的、不依赖于web浏览器运行的JAVA程序,并且十分有用。这些程序(通常称为应用程序)是完全可移植的。把代码移到另一台机器上直接运行就行了。由于JAVA与不够成熟的C++相比更加便利、出错的可能性更小,因而对于程序设计来说,可谓一种上好的选择。在使用JDBC这类的数据库存取工具时,JAVA语言就更是责无旁贷了。

9)Javascript是JAVA的简易版或者网页版。

解释:Javascript是一种在网页中使用的脚本语言,它是由Netscape发明的,原来的名字叫做Livescript。Javascript的语法类似JAVA,除此之外,两者无任何关系。

 

转载于:https://my.oschina.net/javacy/blog/77225

相关文章:

  • 乱起八糟用linux之快速查看进程pid
  • JS文件UTF-8格式的问题
  • 使用php mongodb扩展时比较需要注意的事项
  • [转载] 山楂树之恋——07-09
  • 计算硬盘分区使用的大小
  • as3 键盘事件多键同时按下
  • 关于ADSL宽带多重拨号的探究
  • Java-POI读取Excel简单案例
  • 小日记(一)
  • Servlet 读取web.xml文件中的配置参数连接数据库
  • win8 开发之旅(2) --连连看游戏开发 项目错误的总结
  • createNewFile()与createTempFile()的不同
  • 工作第四天之采集资源
  • 网络工作室暑假后第一次培训资料(ADO.NET创建访问数据集)整理
  • uva 548 Tree
  • 0x05 Python数据分析,Anaconda八斩刀
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • C++类的相互关联
  • Codepen 每日精选(2018-3-25)
  • DOM的那些事
  • es6--symbol
  • HTTP--网络协议分层,http历史(二)
  • JavaScript服务器推送技术之 WebSocket
  • JavaScript实现分页效果
  • js递归,无限分级树形折叠菜单
  • linux学习笔记
  • Material Design
  • Mybatis初体验
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • tab.js分享及浏览器兼容性问题汇总
  • vue中实现单选
  • 分享几个不错的工具
  • 免费小说阅读小程序
  • 前端
  • 前端技术周刊 2019-01-14:客户端存储
  • 跳前端坑前,先看看这个!!
  • 消息队列系列二(IOT中消息队列的应用)
  • 优秀架构师必须掌握的架构思维
  • 原生js练习题---第五课
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • gunicorn工作原理
  • 翻译 | The Principles of OOD 面向对象设计原则
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • ​一些不规范的GTID使用场景
  • # 飞书APP集成平台-数字化落地
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • (09)Hive——CTE 公共表达式
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (ZT)一个美国文科博士的YardLife
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (二)pulsar安装在独立的docker中,python测试
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)ssm失物招领系统 毕业设计 182317