最近做的几个项目技术上面都使用JAVA,于是我这个JAVA半吊子开始稍微比较系统的了解JAVA。
这篇文章是我短期内对j2ee下开发的一点感触。
我自己曾经一直“引以为傲”的以“C++程序员”自居(虽然我自己在C++上的造诣也未必深刻),但是一直有种C++程序员的“王者气派”,认为无论在效率上、设计上、语法复杂度上,能做C++是很值得吹嘘的一件事情。对一些WEB上的技术甚至很浮躁的“不屑为之”。
其实当我走进JAVA的开发世界的时候,却有了很多不同以往的感触,确实:实践才是检验真理的唯一标准啊。
JAVA在语法上面和.NET很相似,由于我也做过一段时间C#的开发,所以上手还算快。至于垃圾回收器、语法、反射这些语言方面的东西我们就不提了。重点说说项目开发中的感触。我这儿使用 spring + hibernate + junit的开发(经典的WEB开发环境),使用IDE为myeclipse。
先说MyEclipse,给我的第一感觉是复杂,第二感觉是不习惯,第三感觉是牛逼。因为强大,所以复杂,它的插件非常强大,包括各种语法高亮、代码链接、甚至是SVN插件,都很人性化并且很成熟。
在j2ee上,各种框架都已经比较成熟,最高程度的复用已有代码才是做JAVA开发的一个精神所在。这也是JAVA开源社区为软件界做出的巨大贡献。(可能C++也有,但是我所接触的C++项目都是做相对来说较为封闭的,或者不是那么高层的应用,所以大规模的代码复用还是相对较少。)在WEB应用中比如我们用到的搜索引擎开发包lucene,MVC框架spring,日志log4j等……
另外再说说面向接口编程,面向切面编程。
毫无疑问,接口这个概念是面向对象思想上的一个突破,当强制所有项目成员都以面向接口的方式编程的时候,实际上从系统设计或者模块设计层面上就已经进行了一次解耦。同时每个项目成员也更加能专注于自身的业务,提高代码的封装、复用程度。而且正因为接口的明确,也使得单元测试能得以进行。
当然C++也能实现接口的功能(所有函数均为纯虚函数的基类),不过JAVA设计层面上更加上层。
所以给我的感觉是,项目开发更像“项目开发”了……可能这句话有些自我矛盾,但是从C++转型做JAVA团队项目开发的人,估计也会更我有同样的感受吧。我这并不是在比较或者批判C++和JAVA之间的区别,我也可以理解C++项目的开发特点,其实偏向于更底层,更追求效率。
所以我的总结是,JAVA开发确实效率较高,而且从团队合作的角度来说,现有的一些开源框架、软件或者技术都能发挥出自己的功效。以后无论在使用任何语言编程的时候、或者做设计的时候,都可以参考这些方便的设计或者理念。
分享到:
相关推荐
### J2EE应用开发_初识J2EE #### JSP简介 JavaServer Pages (简称JSP) 是一种由Sun Microsystems公司(现已被Oracle收购)主导,并与多个其他技术提供商合作开发的一种动态网页技术标准。它允许开发人员将Java代码...
初识JavaScript ———(2)!!!.md
初识JavaScript———(1)!!!.md
在本章"初识J2EE"中,我们将深入学习Java企业版(J2EE)的基础知识,包括如何搭建一个有效的开发和运行环境。J2EE是一个由Oracle公司提供的用于构建分布式、多层的企业级应用程序的平台,它包含了多种服务、API和...
本章"初识C++——C++程序设计入门"是学习C++之旅的起点,旨在为初学者构建坚实的基础。 首先,C++程序的基本结构通常包括预处理指令、函数定义、变量声明和控制流语句。预处理指令以`#`开头,如`#include`用于引入...
在IT行业中,多线程服务器的建立是网络编程的一个重要组成部分,特别是在高并发场景下,如Web服务、游戏服务器等。本文将详细讲解如何初识通信,并以多线程服务器的构建为例,来阐述相关技术点。 首先,理解多线程...
《少年闰土》是鲁迅短篇小说《故乡》中的一个人物,生动描绘了一个来自农村的少年形象。闰土是鲁迅笔下的典型农民形象,以其独特的外貌和质朴的性格给人留下深刻印象。闰土的形象反映了鲁迅对农民生活的关注和对社会...
例如,FX0N-24M、FX0N-40M和FX0N-60M等型号分别提供了14、24和36个输入点和10、16、24个输出点,支持AC100~240V或DC24V电源。此外,还有扩展单元如FX0N-40ER、FX0N-8EX和FX0N-8EYR,以及扩展模块如FX0N-8EX和FX0N-8...
PLC,全称为可编程逻辑控制器(Programmable Logic Controller),是20世纪60年代末期由美国通用汽车公司(GM)招标催生的一种新型工业自动化控制设备。它旨在替代传统的继电器控制系统,以解决复杂系统中故障排查难...
4. **系统监控阶段**:在此阶段,PLC会进行自我诊断和通信任务,检查硬件状态,处理网络通信,并准备进行下一个扫描周期。 ### 扫描周期 PLC的工作是周期性的,每个完整的扫描过程称为一个扫描周期。扫描周期包括...
PLC技术
总结来说,这个案例通过一个简单的十字路口交通灯控制系统,展示了单片机在实时控制应用中的基本原理和编程方法。学习者可以通过此案例了解单片机的硬件接口、程序设计和流程控制,为更复杂的控制系统打下基础。
PLC技术及应用
9. **学习资源**:`初识java.md`可能是一个Markdown格式的学习笔记或教程,详细介绍了Java的基本概念和用法。`code`可能包含了一些示例代码,供学习者实践和理解。 总之,"JAVA基础-初识JAVA"这个主题涵盖了Java...
每个Java项目都有一个`src`目录,用于存放`.java`源代码文件。编译后,这些源代码会被转换成`.class`字节码文件,放在`classes`或`build`目录下。开发者可以通过阅读这些源代码来学习如何在实际项目中应用文件操作。...
每个Java源文件只能包含一个public类,而整个程序只有一个入口点,即main方法。例如: ```java public class Task1 { public static void main(String[] args) { // 程序逻辑 } } ``` 在Java中,有多种基本数据...
J2EE(现在被称为Java EE,Java Platform, Enterprise Edition)是一个完整的、开放的、可移植的服务器端应用平台,用于构建多层架构的企业级应用。J2EE的主要组件和特性包括: 1. **Servlet**:作为JSP的补充,...
Java基础精品课01-初识java录屏1.java概念简介.mp4
Java基础精品课01-初识java录屏2.java的编译和运行.mp4