关于java和unix

我想学java,可是看到了大量的名词和概念,把我吓住了。
比如mvc,ant,struts,hibernate,spring,j2ee,jdk,ejb,ssh,tomcat,eclipse,log4j,cvs,junit...。
后来去书店翻了一下,明白了少数几个,大部分还是不明白。
比如,tomcat相当于IIS,是web服务器。jdk、eclipse是Java开发工具。j2ee似乎只是一个规范。

在此,虚心求教各位大侠:
1、学Java,必须要学哪些东西?
2、以上的名词是什么意思?
3、听说Java在unix平台很有用途,那么在单机Windows环境下,如何学习掌握unix、linux呢?
4、要在unix、linux编程,需要学习unix、Linux的什么知识呢?
5、请推荐关于以上问题的好书。
谢谢。
为表示诚心,高分求教。
“听君一席话,胜读十年书”。
各位大侠的回答都非常精彩,我很有收获。
不光是知识,还有思想,方法等等。
希望有更多的高手来解答。
我看了一点Java语言的书,都说Java比c++简单易学,到了接口继承和覆盖还好,再往后什么内部类,类覆盖都出来了,简直复杂极了。
希望java编程不会用到这些,否则死定了。

学java必然有一些先行课,和先行知识
包括基本的逻辑运算,计算机基础原理比如冯诺依曼体系二进制之类内容,然后就是学习java的基本语法,这期间不需要使用集成开发环境,用记事本或者editplus就行,教材用约薄的越好,一定要java基础,语法都通了,就可以开始做一些能用的东西了,这个时候就可以用eclipse了(顺便说一下jdk不是开放工具,是一组java的基础类和编译调试程序,虽然名字叫jdk,java develope kit但是实际是堆类,跟.net framwork一样),有了eclipse(一般要搭配Myeclipse插件)就可以开发一些复杂的桌面应用了,这个时候要做的就是熟悉面向对象的思想,然后学习html,JavaScript,CSS这些网页基础知识

这些都准备好了就可以开始做传说中的J2EE程序了,所谓J2EE不是一个什么规范,他是jdk的另外一个版本,一般你下载的jdk叫做J2se就是java 2 standard edition,而j2ee是java 2 Enterprise edition,J2EE的develope kit用Myeclipse就行,里面有web工程都不用你操心了,当你开发j2ee工程时候需要用到一个容器来解析j2ee(就如同j2se的套件里面有编译工具一样)这个容器最方便的就是tomcat了

然后是UNIX,你根本不用学,在xp上开发好copy到unix就可以,跨平台,只要unix上装了unix的java虚拟机就能直接用了,如果要学的推荐使用VMware这个东西,可以在xp上虚拟出unix,linux,甚至是mac,而且最新版的VMware据说可以同时开4,5个虚拟操作系统都不会死机

推荐书,按我说的顺序先看基础,任何出版社都ok,然后看比基础后一些的(如果不想做桌面应用跳过也可以),然后看j2ee教程,最好有案例那种,哪本都可以,讲的都挺详细,然后专项看struts,Hibernate,spring的书

解释一下上面说那些词(其实你踏实下来看书都能找到答案,书里都会说)mvc是sun公司发明的一种编程的方式,就是做软件时候按照3曾来分类,m是modal模型层主要负责描述一些实例的属性并且留出对应的公共set,get方法,v是view视图层,用来给用户看的,c是控制层,控制一些方法去对m曾里的实例进行增删改查等操作

ant是一套部署工具,一般你调试以后要把工程部署一下,如果每次都手工做就太笨了,所以发明了ant

ejb是sun公司出的一套框架Enterprise java bean,到3.0以后才有人用,而且功能和ssh效果差不多,不多说了

“ssh=struts,hibernate,spring, 三个框架”引用别人说的,这个正确

struts是一个mvc框架,主要用jsp做视图层,struts的action类做控制层,struts的formbean做模型层(不过自己也要建立模型层方便和数据库交互)

hibernate是一套数据库持久化框架模型,用法也很简单,在Myeclipse里都集成了,没有特殊需求都用IDE生成就可以了,不过真实项目里生成好的要自己改一些地方才能用

spring是一套面向刻面和反转控制的框架,至于这两个是什么英文叫AOP和Ioc不赘述了,网上搜搜很多,而且看spring的书第一张一定会说这个

log4j是一套记录日志的java组件,用不用都行,struts里都集成了

cvs是做版本控制的一个工具Myeclipse里集成了

junit是一套用来做单元测试的工具类,Myeclipse里也集成比较复杂,不过以后到公司了,公司都会安排你来做测试,到时候他们怎么要求怎么做,中国的破公司很多都不做测试,跑通了就ok了
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-02-26
一、你所说的那些名词,很多都是工具来着,比如eclipse(开发Java平台) tomcat(JSP服务器).j2ee jdk只是Java提供的编程环境。
(1)MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。
(2)Ant是一种基于Java的build工具。理论上来说,它有些类似于(Unix)C中的make ,但没有make的缺陷。
(3) Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
……原来楼上的回答已经很全面了~

在此给你点建议,希望对你有帮助。
你把JAVA的API文档下载下来,编程的时候或者看例子的时候可以用得到,如此从点到面的学习,这样在我看来会学得比较快。
其实到类覆盖那些,你可以先了解,其存在的道理(或者说用在何处),而后找一些例子分析,如此难题应该可以解决。
Java有很多应用,好好学,祝你顺利~
第2个回答  2009-02-24
1、学Java,必须要学哪些东西?
个人觉得首先学一些最基本的:
如何定义变量,使用变量,控制程序走向.这些基本的东西还是很简单的拉,
多看一些例子 对理解很有帮助.
然后就要看一写算法了,
然后也是我觉得最重要的 就是面向对象的这种思想.我工作了一年了,发现这个问题真的太重要了,尤其是那些自认为C等的高手的人.
2、以上的名词是什么意思?
mvc:大概是指WEB开发分解出来的三个层,之所以会这样分那可是前辈们积累下来的宝贵经验,
m:指模型层\数据层,在这里只做对模型(数据库)的操作,对外提供接口.
v:展示层,直接给使用用户打交道的那一层.
c:控制层,控制管理V跟M层间的交互.
ant:蚂蚁,算成是工具??我也不怎么会解释,用过几次,用之前也要想JDK那些设置环境变量等等,然后用一个build.xml定义上一些蚂蚁命令,它就能一条一条的去执行,象"计划任务"?可比那个玩意高级多了.
Struts:一种很流行的开源框架,主要针对上面MVC中的V.
Hibernate:同上也是一种很流行的框架,对应上面的M.面向对象地解决数据库问题,个人非常喜欢.
Spring:同上,主要针对C.
j2ee就象你上面说的了,记得马士兵说过"一流公司就卖规范".
jdk :java development kit java开发平台,最基本的东西.没它就不说了.
ejb : enterprise java bean :ejb3的entity bean还是基于hibernate实现的.
ssh: struts spring hibernate
tomcat:一个能解析JAVA,JSP语言的web容器.就象IIS能解析asp一样.
eclipse:一款用的很广的JAVA开发工具,很好用(大家好才是真的好),而且有免费的.
log4j: log for(4大谐音) java,,记录日志用的开源框架.
CVS :版本控制软件,一个团队一些开发一个项目,控制好版本很重要.
junit:java项目测试用.
3、听说Java在unix平台很有用途,那么在单机Windows环境下,如何学习掌握unix、linux呢?
sun公司在介绍java的时候很是看好自己的平台无关性.
4、要在unix、linux编程,需要学习unix、Linux的什么知识呢?
unix也只是一个不同的操作系统,对操作多用不几熟了,
第3个回答  2009-02-24
1、学java 要学的东西多了 先从最基本的东西学起 j2se
2、mvc是一种设计模式,将模型(model)视图(view)和控制器(controler)分开
ant是一种java自动构建工具
ssh是struts spring hibernate这三个框架的合称
j2ee是java企业级规范,由具体的厂商去实现
ejb是j2ee中的重要组成部分,类似于com组件,实现远程调用
jdk是java开发工具,就是一套编译器+标准类库
tomcat是j2ee容器的一个部分实现,支持servlet和jsp,但不支持ejb
eclipse之于java相当于visual studio之于c++,也就是IDE
log4j是一套日志工具
cvs相当于vss,版本控制
junit是单元测试工具
3、就现在来看,java在linux、unix、windows、macos、手机平台上都有用途,而且很不错。你要学unix的话可以先从linux学起。推荐fedora 8。
4、在linux和unix上编程,首先肯定要学linux/unix操作系统的使用。然后语言的话,要学C,而不是Java。(如果你要学Java的话,那么它无论是在linux平台还是windows平台上,编程都是一样的,甚至程序都可以不用移植,直接跨平台运行。用java编程就不叫linux编程了。)然后再学shell编程,然后再学linux的api。当然到后期你就可以去学gtk或者qt这样的图形库了。后者需要C++。
5、学Java的话,先从《Thinking In Java》看起。然后再学Linux操作系统,随便找个好教材。然后学C。然后学《Linux程序设计》,然后再学《Unix环境高级编程》等等。书不厌多。
第4个回答  2009-02-24
1.一步一步来嘛,先学好Java SE(I/O,网络,线程等等....),OO思想,设计模式
2.以楼主的才智Google或baidu一下必有答案
3.其实很多情况下是在win下面开发,完了再部署在unix,Linux上,想在Win上体验Linux可以装虚拟机(跟街机啊,PS模拟器差不多)出名的有VM-ware,免费的有Virtual box(跟java都是Sun的产品)
4,Java是跨平台的,无需考虑此问题C,C++的话也就是配置啊,了解一下Linux的Api什么的
5,Java方面我推荐从<<Beginning Java Objects概念到代码>>,<<Head First设计模式>>,O'reilly和图灵的书都不错,Linux嘛不熟~哈哈
PS.精通Java SE,掌握OO(面向对象思想),设计模式等于你内力深厚了,到那时候什么框架,J2EE的你看一下就懂了,内力不足你永远只能疲于奔命
相似回答