十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Java程序员进阶路线
创新互联是一家专注于做网站、网站制作与策划设计,尖山网站建设哪家好?创新互联做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:尖山等地区。尖山做网站价格咨询:18980820575
1. 引言
搞Java的弟兄们肯定都想要达到更高的境界,用更少的代码解决更多的问题,用更清晰的结构为可能的传承和维护做准备。想想当初自己摸着石头过河,也看过不少人介绍的学习路线,十多年走过来多少还是有些收获。现通过自身经历总结一篇文章,供弟兄们参考。
2. 用好正在用的框架
在已经加入的团队中,和大家协作使用团队已选好的框架。不管框架优劣与否,特点如何,选择了它必然有一定的道理。并且能够在业界经久流行的框架也一定有它的优秀之处。
使用框架第一步是熟悉,可能通过复制和修改前人的代码来实现新的功能或修改已有功能,逐渐熟悉该框架的使用方法。
第二步是深入了解,会用、多用之后,根据用法和现象掌握其规律,从而形成对框架内部结构和运行机制的猜测,大部分肯定都是对的。
第三步是用好,在对框架内部机制有了一定的感觉后,逐渐总结并采用更佳实践,达到同样目的采用更简洁清晰或更高效率的方法。可以参考框架的“最佳实践”文档(比如Hibernate参考手册的最后一章),对没有提供“最佳实践”文档的可以自己总结一些经验,并不断完善。
没有绝对的最佳实践,只有适应于某一场景的最佳实践,和适用于大多数场合的较好实现。能够根据场景选择不同的模式,是水平提高的标志。
3. 了解标准类库、企业级技术和开源项目
Java界现有的积累已经很丰富,当遇到某个问题感觉它是个普遍问题时,很有可能就已经有现成的标准类库或开源项目等在那里了。掌握好标准类库和开源项目,可以减少工作量,使代码结构清晰容易理解。企业级技术是指JavaEE平台内的技术,其多是从已有积累中提炼出的标准,比如JPA就很大程度上来自于Hibernate。企业级技术的运用对程序的标准化很有好处。
对标准类库和开源项目的了解不分先后,可以是交叉进行的,用到了哪个就看看学学哪个。也可以用业余时间挑自己喜欢的学习学习、做做实验。
3.1. 标准类库
从Java自带的文档中可以看到标准类库(以及平台工具)的列表以及相互关系。下面这幅图就是层次关系图:
以挑自己感兴趣的点进去详细了解。
乍一看内容众多,但实际上可能已经有很多已经被用过了。比如JDBC,应该是每个Java程序员在涉世不深时就已经用过的了吧。JNDI应该也是做WEB工程必须接触的东西。也许只是其中几个API,不过什么都是了解、熟练、精通这三步,了解了,后面就不远。
其中规则表达式、XML处理、applet、并发(多线程)、网络、IO、图形是比较实用的功能,可以先从它们入手。本地接口(JNI)、管理扩展(JMX)、反射等可以用在更高级一些的场合,会了之后可以为更多的场景提供解决方案。
3.2. 企业级技术
包括JavaMail、JMS、EJB、JPA、JSF、web service等,具体的列表可以到JavaEE技术官网找到。这些技术用起来并不深奥,甚至比标准类库还浅显。
3.3. 开源项目
框架一般都是开源项目,目前拥有开源项目最多的组织莫过于Apache。可以通过需要来学习开源项目,比方说需要处理Excel文档,那就去学用POI;要用web service就看看CXF;需要字符串处理就看看Commons Lang中有没有实现;需要IO操作就看看Commons IO中有没有实现。
除了Apache,还有eclipse、springsource和Jboss等多家开源机构提供了大量的免费好货,有时间就去了解一下不失为进阶的好手段。“君子性非异也,善假于物也”——厉害的家伙不一定是什么都会自己写,而往往是会结合使用各种神器。
这里顺便说一句,很多开源项目都用了比较少见的英文单词或是自造词作为名字,遇到时最好去官网上确定它的读音。很多人吧Struts(原意:大摇大摆)读成了Structs,明显跟struct(结构)搞混了,听起来实在业余。还有PostgreSQL应读作postgres-QL,而不是postgre-SQL,请尊重作者的原意。Debian应读作“戴博伊恩”,是作者夫妇的名字合体,读成“大便”就太对不起人家了。Ubuntu也别读“优斑图”了。
4. 把程序写得更好
4.1. 代码格式整洁优雅
尽量遵循官网上的代码格式建议,善用开发工具(Eclipse)的自动格式化功能。
复杂的条件、循环嵌套提炼为方法,把方法名起得有意义,尽量让后人看程序就好像看直白的英文句子一样。追求代码自我注释。要注意尽量用单词别用拼音,特别是模块之间交互的接口(模块内部小范围使用的还好些),英语单词和拼音的混杂使用会让后人昏死。现在的电子词典品种繁多、易于使用,善用它们,让代码优雅的同时还可以多认识几个单词。
4.2. 代码内容高效
用过很多框架和开源项目并自己写了不少程序之后,可以开始考虑实践《Effective Java》中所讲的内容,何时何地如何运用合适的技术与机制。
5. 通过标准类库、企业级技术和开源项目了解模式
说到模式大家首先想到的可能是“设计模式”,有很多初学者为了进步也看了《设计模式》这本书,不过据我经验,当时看不懂,不知道那些模式为何存在,也不知道何时可以用上它们。实际上所谓“模式”不过是前人的习惯用法,被后人认为好用并广泛流传。所有将前人代码复制过来改一改就用的,这样的代码其实都可以说是某种“模式”的实现。
有了对标准类库、企业级技术和一些开源项目的运用后,模式的感觉才会在头脑中建立。这些类库、技术、项目本身实现了很多模式,对它们的使用也是模式。只不过后者常被称为实战,而并没有当做“模式”出现在出版物中。
“模式”除了《设计模式》包括《企业应用架构模式》、《J2EE核心模式》,也许还有更多其它的。标准类库和开源项目(包括很多流行框架),出于设计的灵活性、便捷性、优雅性,对它们有杰出的运用。
Spring就是对工厂模式的实现。JDBC和JMS是对抽象工厂方法模式的实现。
Struts除了大家皆知的MVC,其实还实现了J2EE核心模式中的好几样。
Hibernate内部使用了Proxy模式,而它整体的存在是《企业应用架构模式》中“表数据入口”的实现。而老的EJB2.0中的CMB更像是“行数据入口”的实现。
这些模式直接当做概念来学习,没有实际经验,就会像我当初一样不知它们为何存在也不知如何运用它们,事倍功半。
现成的产品用多了就有感觉了。感受它们带来的方便,将它们中功能相似的互相比较,就可以看得出各种模式的存在和它们的优秀之处了。
6. 了解面向对象的真谛
了解了模式,就会发现实现这些模式的根基正是面向对象提供的封装、多态这些特性,这也是面向对象出现的意义。
面向对象的八大原则在《敏捷软件开发——原则、模式与实践》中有所介绍,其中我最看重“单一职责”原则,这个原则在模块划分时很有帮助,其思想甚至可以延伸到组织结构的建设上。
7. 展望——架构师
有了以上几步,应该就可以作为一个合格的设计人员而存在了。想做到架构师,曾经有位培训师告诉我们:“学习Linux内核。”
大的步骤是:看0.01版了解其结构,看0.10版了解其进步,看0.12版了解其完善,看最新版了解其现状。
学习方法是使用UML工具,对下载的Linux内核源文件进行反向工程,从得到的类图中可以看出模块依赖关系,出度最大的模块就是系统的核心,从这个模块看起,看它如何调度其它各个模块,再去看各模块如何实现自己的功能。
8. 结语
这些步骤并没有严格的界限,可以穿插、迭代地进行。
学习是一个先发散后收敛的过程。开始好像面对一个扇形,越往外走发现不会的越多,需要学的越多。但到了后来就会发现学过的东西相通之处很多,新看的东西能够快速理解,甚至能够发现有些东西不过是新瓶装旧酒,看两眼就会了。
“愚者察异,智者察同”,愚人看到事物各有不同就觉得世界难以掌握,而智者善于看到事物间的共同点(规律)以使事半功倍。既然程序员都干得了就别当自己是个愚者。
1983年,理察·马修·斯托曼(Richard Stallman)创立了GLinux[3]NU计划(GNU Project)。这个计划有一个目标是为了发展一个完全免费自由的Unix-like操作系统。自1990年代发起这个计划以来,GNU 开始大量的产生或收集各种系统所必备的元件,像是——函式库(libraries)、编译器(compilers)、侦错工具(debuggers)、文字编辑器(text editors)、网页服务器(web server),以及一个Unix的使用者接口(Unix shell)——除了执行核心(kernel)仍然付阙外。1990年,GNU计划开始在马赫微核(Mach microkernel)的架构之上开发系统核心,也就是所谓的GNU Hurd,但是这个基于Mach的设计异常复杂,发展进度则相对缓慢。
最初的设想中,Linux 是一种类似Minix这样的一种操作系统。1991年4月,芬兰赫尔辛基大学学生Linus Benedict Torvalds(当今世界最著名的电脑程序员、黑客)不满意Minix这个教学用的操作系统。出于爱好,他根据可在低档机上使用的MINIX设计了一个系统核心Linux 0.01,但没有使用任何MINIX或UNIX的源代码。他通过USENET(就是新闻组)宣布这是一个免费的系统,主要在x86电脑上使用,希望大家一起来将它完善,并将源代码放到了芬兰的FTP站点上代人免费下载。本来他想把这个系统称为freax,意思是自由( free) 和奇异(freak) 的结合字,并且附上了"X"这个常用的字母,以配合所谓的Unix-like的系统。可是FTP的工作人员认为这是Linus的MINIX,嫌原来的命名“Freax”的名称不好听,就用Linux这个子目录来存放,于是它就成了“Linux”。这时的Linux只有核心程序,仅有10000行代码,仍必须执行于Minix操作系统之上,并且必须使用硬盘开机,还不能称做是完整的系统;随后在10月份第二个版本(0.02版)就发布了,同时这位芬兰赫尔辛基的大学生在comp.os.minix上发布一则信息:
Hello everybody out there using minix-
I'm doing a (free) operation system (just a hobby,
won't be big and professional like gnu) for 386(486) AT clones.
由于许多专业用户(主要是程序员)自愿地开发它的应用程序,并借助Internet拿出来让大家一起修改,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来。
从1983年开始的GNU计划致力于开发一个自由并且完整的类Unix操作系统,包括软件开发工具和各种应用程序。到1991年 Linux 内核发布的时候,GNU已经几乎完成了除了系统内核之外的各种必备软件的开发。在Linus Torvalds和其他开发人员的努力下,GNU组件可以运行于Linux内核之上。整个内核是基于GNU通用公共许可,也就是GPL(GNU General Public License,GNU通用公共许可证)的,但是Linux内核并不是GNU 计划的一部分。1994年3月,Linux1.0版正式发布,Marc Ewing成立了 Red Hat 软件公司,成为最著名的Linux分销商之一。
Unix与Linux的历史源流
早期Linux的开机管理程序(boot loader)是使用LILO(Linux Loader),存在着一些难以容忍的缺陷,例如无法识别8G以外的硬盘,后来新增GRUB(GRand Unified Bootloader)克服了这些缺点,具有‘动态搜寻核心档案’的功能,可以让您在开机的时候,可以自行编辑您的开机设定系统档案,透过 ext2 或 ext3 档案系统中载入Linux Kernel。
Linux 的标志和吉祥物是一只名字叫做Tux的企鹅,标志的由来是因为Linus在澳洲时曾被一只动物园里的企鹅咬了一口,便选择了企鹅作为Linux的标志。Linux的注册商标是Linus Torvalds所有的。这是由于在1996年,一个名字叫做William R. Della Croce的律师开始向各个Linux 发布商发信,声明他拥有Linux商标的所有权,并且要求各个发布商支付版税,这些发行商集体进行上诉,要求将该注册商标重新分配给Linus Torvalds。Linus Torvalds 一再声明Linux 是免费的,他本人可以卖掉,但Linux绝不能卖。
Linux发行版的某些版本是不需要安装,只需通过CD或者可启动的USB存储设备就能使用的版本,他们称为LiveCD。
[编辑本段]三、应用与评价
linux桌面过去,Linux主要被用作服务器的操作系统,但因它的廉价、灵活性及Unix背景使得它很合适作更广泛的应用。传统上有以Linux为基础的“LAMP(Linux, Apache, MySQL, Perl/PHP/Python的组合)”经典技术组合,提供了包括操作系统、数据库、网站服务器、动态网页的一整套网站架设支持。而面向更大规模级别的领域中,如数据库中的Oracle、DB2、PostgreSQL,以及用于Apache的Tomcat JSP等都已经在Linux上有了很好的应用样本。除了已在开发者群体中广泛流行,它亦是现时提供网站务供应商最常使用的平台。
基于其低廉成本与高度可设定性,Linux常常被应用于嵌入式系统,例如机顶盒、移动电话及行动装置等。在移动电话上,Linux已经成为与Symbian OS、Windows Mobile系统并列的三大智能手机操作系统之一;而在移动装置上,则成为Windows CE与Palm OS外之另一个选择。目前流行的TiVo数位摄影机使用了经过定制化后的Linux。此外,有不少硬件式的网络防火墙及路由器,例如部份LinkSys的产品,其内部都是使用Linux来驱动、并采用了操作系统提供的防火墙及路由功能。
采用Linux的超级电脑亦愈来愈多,根据2005年11月号的TOP500超级电脑列表,现时世上最快速的两组超级电脑都是使用Linux作为其操作系统。而在表列的500套系统里,采用Linux为操作系统的,占了371组(即74.2%),其中的前十位者,有7组是使用Linux的。
除了一部分专家之外,大多数人都不自己选择每一样组件或自行设置,而是直接使用Linux套件。
2006年开始发售的SONY PlayStation 3亦使用Linux的操作系统。之前,Sony亦曾为他们的PlayStation 2推出过一套名为PS2 Linux的DIY组件。至于游戏开发商雅达利及id Software,都有为其旗下的游戏推出过Linux桌面版本。此外,Linux Game Publishing亦有专门为Linux平台撰写游戏,并致力于把其他在Windows平台编撰的游戏程序码转携至Linux平台,及为转携游戏提供使用授权。
而一个打算对所有生活在发展中国家孩子提供手提电脑的名为“每孩子皆有一部手提电脑(OLPC)”的项目,正是使用Linux作为缺省的操作系统。
我们不必探讨LINUX源代码的开放给我们带来多大诱惑,我们只研究LINUX对我们的生活有何帮助。我们在平时只要掌握LINUX最基础的应用,以及安装及使用就可以了。对LINUX的操作现在发展到了在命令行下操作以及像WINDOWS的桌面系统般的应用。对LINUX不是很了解的用户可以选择桌面型LINUX安装。
这里把对LINUX的一些疑问解答从网上整理一下,贴出来,希望对那些想要了解LINUX的朋友有所帮助。
---------------------------------------------------------------------
Linux以它的高效性和灵活性著称。它能够在PC计算机上实现全部的Unix特性,具有多任务、多用户的能力。Linux是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Window图形用户界面,如同我们使用Windows NT一样,允许我们使用窗口、图标和菜单对系统进行操作。
Linux之所以受到广大计算机爱好者的喜爱,主要原因有两个,一是它属于自由软件,用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改,无偿对它使用,无约束地继续传播。另一个原因是,它具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix操作系统的人都可以从Linux中获益。
运行Linux需要的配置并不高,支持众多的PC周边设备,并且这样一个功能强大的软件完全免费,其源代码是完全公开的,任何人都能拿来使用。说到这里,各位可能怀疑这免费后面是不是隐藏着什么?作者会心甘情愿的把它拿出来而分文不取吗?其实,它代表着软件开发的另一种概念:那就是基于GNU的版权制度。
版权是为了保护作者应有利益而设立的制度,但时至今日它却对科技的发展造成了一定的阻碍。例如现在病毒的肆虐,就是因为微软不肯将Windows的源代码公开。杀毒软件的厂商只好自己去钻研OLE结构。还有,Intel为了保住自己的霸主地位,建立了一个个不许其它厂商使用的硬件规范,造成众多开发者并不是为了提升技术而是为了兼容性而耗费资金和时间,这样就造成了科研发展的混乱和垄断。
为了改变这种状况,Richard M. Stallman在1984年创立了以生产免费软件为目的的组织--Free Software Foundation(自由软件基金会,简称FSF)。他认为:各个软件公司为了自己的利益不公开源代码会阻碍人类文明的发展,一个真正好的软件是为了替人解决问题,应该散发给需要的人。他开发了一个叫做GNU的计划,第一套软件就是GNU Emacs(UNIX平台下强大的编辑器)。任何人都能免费拿到这个软件和它的源代码,于是许多人自发的修改这套软件,为它增加功能。为了明确GNU的规范,Stallman发表了GNU General Public License和GNU Library General Public License授权声明,根据这些声明,所有的GNU软件都可以被任何人下载、出售、复制和修改,但必须提供程序源代码或者让使用者知道从哪里获得源代码!但不论免费或者收费,任何得到这些软件的使用者都有和提供者同样的权利,可以将它们赠送或出售。由于这个授权,GNU软件像滚雪球一样越来越多,功能也越来越强。当然,这样做也有不良的效果,如果开发商的利润减少了那么就没有人愿意真正开发软件了,毕竟人还是要吃饭的呀。不过随着Internet的盛行,大众越来越容易得到各种各样的软件,而且大多只为一时之需,用完之后根本不会再用,一个软件的使用寿命就大大缩短,在这种情况下,传统的电子出版行业应该做出相应的调整。
Linux核心程序的著作权归Linus本人所有,其它应用程序归各自的作者所有,但按照GNU授权,任何人都可以采取收费或免费方式来发行Linux,并在符合该授权的规范下做修改。这样就有了一大批的免费程序移植到了Linux上,包括GNU Emacs、XFree86、Mozilla等经典软件,并且在不断壮大中。由于源代码是公开的,任何一个使用Linux的人在添置了新硬件后都能自己编写驱动程序,所以Linux对新硬件的支持已经超过了许多专业UNIX系统。Linux的成功如果没有Internet是不可能的,因为Linux实际上是世界各地众多程序员共同开发的结果。
现在的Linux经过数次改版(包括核心的升级和周边程序的完善),已经发展成了一个遵循POSIX标准的纯32位多工操作系统,64位版本也在开发之中。Linux可以兼容大部分的UNIX系统,很多UNIX的程序不需要改动,或者很少的改变就可以运行于Linux环境;内置TCP/IP协议,可以直接连入Internet,作为服务器或者终端使用;内置JAVA解释器,可直接运行JAVA源代码;具备程序语言开发、文字编辑和排版、数据库处理等能力;提供X Window的图形界面;主要用于x86系列的个人电脑,也有其它不同硬件平台的版本,支持现在流行的所有硬件设备。就性能上来说,它并不弱于Windows甚至UNIX,而且靠仿真程序还可以运行Windows应用程序。它有成千上万的各类应用软件,并不输于Windows的应用软件数量,其中也有商业公司开发的赢利性的软件。最可贵的是:它是一个真正的UNIX系统,可以供专业用户和想学UNIX的人在自己的个人电脑上使用。Linux是一个非常灵活的系统,相对于Windows而言也是一个比较难用的系统,就如同大多数用户用不惯MacOS的单键鼠标一样。想要对Linux轻车熟路,你必须懂得一些相关知识,软、硬件的配置,最好还懂点程序,因为没有人有义务为您提供技术支援,除了和其它用户交流之外 ,您必须要自己解决问题。当然,如果您只是作为日常应用,就不需要那么复杂啦,Linux一样会为您提供完美的操作环境,你所要做的就是改变使用习惯和成见。
早期的操作系统是没有图形界面的,自从Apple于1984年推出System 1.0开始,个人电脑才实现了真正的GUI(Graphics User Interface,图形用户界面),从此电脑变得更加具有亲和力,也更加易于使用。Windows的图形化开始于Windows 3.1/3.2,直到Windows 95的出现才标志着多媒体时间的到来,从此计算机变得能说会唱起来。Linux始于UNIX,却青出于蓝胜于蓝,同样拥有着不俗的图形用户界面,性能更稳定,也更漂亮,可以和世界上曾经出现过的,最美丽的操作系统媲美!不同于现在的XP,Linux的图形界面是基于Console之上的,类似于Windows 95架于DOS之上,Linux下实现图形界面的是X Window系统(区别于MS的Windows)。
X Window是一套用于UNIX的具有极大可携性、对彩色掌握的多样性和网络之间的操作透明性的健在式处理窗口系统。它和微软的Windows的工作原理并不相同,不过两者都使用图形界面和窗口技术,从外表看来有那么一点点相似,但又存在着巨大的不同,实际上X Window的界面更加多样化,也更漂亮,且高效快捷。就Windows对于DOS的地位一样,X Window一改UNIX/Linux单调的文本界面,提供了一个友善的图形用户界面(GUI)。
1984年在麻省理工学院(MIT)电脑科学研究室工作的Bob Scheifler正在发展分布式系统,DEC公司的Jim Gettys也在MIT进行A-thena计划的一部分。两者都需要一套在UNIX系统上使用的图形界面,因此两者开始合作研制X Window。1987年,MIT发布了第11个版本的X Window,并成立了非赢利性组织“X协会”来发展及控制X Window标准。所以现在的X Window并不完全是一个软件,而是一个协定,定义了一个系统所必须具备的功能。任何系统能满足这个协定及符合X协会其它的规范,便可称为X Window,它的源代码公开。因为X Window具有强大的与设备无关结构性,它提供了一组网络通信协议,任何硬件只要提供X协定,便可以执行应用程序显示一群包含图文的窗口,不需要重新编译,这种与设备无关的特性只要是根据X Window标准所开发的应用程序均可在不同的环境下作用,这就大大减少了跨越不同平台之间的编译工作,应用程序更加具有可移植性。
Linux上最常用的X Window是Xfree86,它是MIT的X11R5的移植版,使用Openlook窗口管理系统,所以Xfree86是免费的。Xfree86支持现行所有的PC显示卡,但不一定支持它们的Windows加速特性,比如DirectX 9。
到目前为止,可以支持中文的Linux己不再是凤毛麟角,而且中文应用软件正不断丰富着。但一些商业软件并未完成移植,其中有诸多原因,在此不详述。
[编辑本段]四、用户群
GNU/Linux爱好者设计宣传图,使用GPL授权
GNU/Linux社群设计的立体图,并使用GPL授权传统的Linux用户一般都安装并设置自己的操作系统,他们往往比其他操作系统,例如微软Windows和Mac OS的用户更有经验。这些用户有时被称作“黑客”或是“极客”(geek)。然而随着Linux越来越流行,越来越多的原厂委托制造商(OEM)开始在其销售的电脑上预装上Linux,Linux的用户中也有了普通电脑用户,Linux系统也开始慢慢抢占桌面电脑操作系统市场。同时Linux也是最受欢迎的服务器操作系统之一。Linux也在嵌入式电脑市场上拥有优势,低成本的特性使Linux深受用户欢迎。使用Linux主要的成本为移植、培训和学习的费用,早期由于会使用Linux的人较少,这方面费用较高,但这方面的费用已经随着Linux的日益普及和Linux上的软件越来越多、越来越方便而降低。
KDE和GNOME等桌面系统使Linux更像是一个Mac或Windows之类的操作系统,提供完善的图形用户界面,而不同于其他使用命令行界面(Command Line Interface,CLI)的类Unix系统。
[编辑本段]五、未来软件界的方向
Linux 作为较早的源代码开放操作系统,将引领未来软件发展的方向。
基于Linux 开放源码的特性,越来越多大中型企业及政府投入更多的资源来开发Linux。现今世界上,很多国家逐渐的把政府机构内部门的电脑转移到Linux上,这个情况还会一直持续。Linux 的广泛使用为政府机构节省了不少经费,也降低了对封闭源码软件潜在的安全性的忧虑。
[编辑本段]六、发行版
Linux各个发行版的发展关系Linux 主要作为Linux发行版(通常被称为"distro")的一部分而使用。这些发行版由个人,松散组织的团队,以及商业机构和志愿者组织编写。它们通常包括了其他的系统软件和应用软件,以及一个用来简化系统初始安装的安装工具,和让软件安装升级的集成管理器。大多数系统还包括了像提供GUI界面的XFree86之类的曾经运行于BSD的程序。发行版为许多不同的目的而制作, 包括对不同计算机结构的支持, 对一个具体区域或语言的本地化,实时应用,和嵌入式系统,甚至许多版本故意地只加入免费软件。目前,超过三百个发行版被积极的开发,最普遍被使用的发行版有大约十二个。
一个典型的Linux发行版包括:Linux内核,一些GNU程序库和工具,命令行shell,图形界面的X Window系统和相应的桌面环境,如KDE或GNOME,并包含数千种从办公套件,编译器,文本编辑器到科学工具的应用软件。
主流的Linux发行版
Asianux ,B2D Linux ,Conectiva Linux ,Debian GNU/Linux ,Fedora Core ,Gentoo Linux ,Knoppix Linux ,Linux From Scratch ,Magic Linux ,Mandriva Linux ,Red Hat Linux ,Slackware Linux ,Stanix Live CD ,SUSE Linux ,Turbo Linux ,Ubuntu Linux
中国大陆的Linux发行版
红旗Linux(Redflag Linux) ,冲浪Linux(Xteam Linux) ,蓝点Linux ,Hiweed GNU/Linux ,Magic Linux ,Engineering Computing GNU/Linux ,Open Desktop ,新华Linux ,共创Linux ,百资Linux ,中标普华Linux ,中软Linux ,新华华镭Linux(RaysLX) ,CD Linux ,MC Linux ,即时Linux(Thizlinux) ,b2d linux ,IBOX ,MCLOS ,FANX,Everest,酷博linux,新氧Linux,Hiweed。
台湾地区的Linux发行版
宏基Linux
目前最著名的发行版本:Debian,红帽(redhat)、ubuntu、OpenSuse(原Suse)、Mandriva(原Mandrake)、CentOS、fedora等
国内比较著名的linux版本:红旗linux
红旗软件有限公司(简称红旗软件)由中国科学院软件研究所和上海联创投资管理有限公司共同组建。此公司专注于基于Linux的操作系统的开发和市场,以及面向不断增长的中文技术用户的多平台应用软件。他们的目标是“为网络生活注入活力”。公司将持续发展被称之为“红旗方式”的一套现代管理模式,它以进行自由软件开发的企业模式为基础,是客户驱动的用户化。
[编辑本段]七、Linux的读音
linux发音五花八门版本颇多,见到和听到的不下10种。根据linux的创始人Linus Torvalds的说法,Linux的发音和“Minix”是押韵的。“Li”中“i”的发音类似于“Minix”中“i”的发音,而“nux”中“u”的发音类似于英文单词“profess”中“o”的发音。依照国际音标应该是/'linэks/——类似于“里讷克斯”。但是,由于Linus Torvalds本人是芬兰人,所以他的Linux读音不是/'linэks/,而是/'liniks/.
哥们你主要要的是Linux学习资源吧
格尼介绍几个网站你自己去下吧 上面资源很多你挑点比较适合你的!
天天更新的Linux文章:
需要Linux电子书籍可以到这下载:
需要Linux技术文章可以到这:
Linux电子书籍推荐下载:
什么是Linux
相信了解一些IT知识的人都听过Linux这个名词。
Linux操作系统(Linux),是一种计算机操作系统。Linux操作系统的内核的名字也是“Linux”。Linux操作系统也是自由软件和开放源代码发展中最著名的例子。
Linux内核最初是为英特尔386微处理器设计的。现在Linux内核支持从个人电脑到大型主机甚至包括嵌入式系统在内的各种硬件设备。
在开始的时候,Linux只是个人狂热爱好的一种产物。但是现在,Linux已经成为了一种受到广泛关注和支持的一种操作系统。包括IBM和惠普在内的一些计算机业巨头也开始支持Linux。很多人认为,和其他的商用Unix系统以及微软 Windows相比,作为自由软件的Linux具有低成本,安全性高,更加可信赖的优势。
Linux内核最初只是由芬兰人林纳斯•托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。最初的设想中,Linux是一种类似Minix这样的一种操作系统。Linux的第一个版本在1991年9月被发布在Internet上,随后在10月份第二个版本就发布了。
Linux的历史是和GNU紧密联系在一起的。从1983年开始的GNU计划致力于开发一个自由并且完整的类Unix操作系统,包括软件开发工具和各种应用程序。到1991年Linux内核发布的时候,GNU已经几乎完成了除了系统内核之外的各种必备软件的开发。在Linus Torvalds和其他开发人员的努力下,GNU组件可以运行于Linux内核之上。整个内核是基于GNU通用公共许可,也就是GPL(General Pubic License)的,但是Linux内核并不是GNU 计划的一部分。
Linux的标志和吉祥物是一只名字叫做Tux的企鹅,Linux的注册商标是Linus Torvalds所有的。这是由于在1996年,一个名字叫做William R. Della Croce的律师开始向各个Linux发布商发信,声明他拥有Linux商标的所有权,并且要求各个发布商支付版税,这些发行商集体进行上诉,要求将该注册商标重新分配给Linus Torvalds。
Linux的某些版本是不需要安装就能使用的版本,他们称为LiveCD。
Linux商标的故事
讲一个关于Linux的小故事:
大家知道Linux的名字属于众所周知的操作系统,和它的开发者(Linux Comunity)并不是一个商标或者注册商标。然而有一个厚颜无耻的美国人(对不起,记不清时间和他的名字了)在美国的商标局注册了Linux为操纵计算机工作的软件系统,并且获得了批准,并从1994年生效。这个人据此向几个著名的Linux发行者(例如Redhat和Caldera)索要商标使用费。
这下子可捅了马蜂窝了,Linus Tolvalds和其它的很多人发起了请愿活动要求取消这个商标,有知识产权方面很有经验的律师自愿给打官司。(当然谁也不会给那无耻之徒钱的,甚至他的律师在弄清真象后也拒绝代理他了)最近有了结果了,商标局撤销了那个注册!正义必将战胜邪恶!
Linux正确读音及音标
“Linux”这个单词根据Linus Torvalds本人的发音应该是“哩呐克斯”
音标是 ['li:nэks] 重音在“哩”上
以上结论来自红旗Linux技术支持部及一个从事网络安全工作多年的网友
上面是原话,他们答案是一致的当然也是权威的
主要是因为看见几位大侠级别的兄弟把“Linux”读错了
并且把错误的读音教给了新来的朋友
所以就想着去问问正确读音
“哩呐克斯”只是根据发音翻译的
请大家按照['li:nэks]这个音标读
Linux系统特征
Linux系统有文本编辑界面和图形用户界面(GUI)。其特征包括:多用户、多任务、多平台、可编程SHELL、提供源代码、仿真终端、支持多种文件系统及强大的网络功能等。
多用户:多个用户(六个)能同时从相同或不同的终端(终端号:tty1~tty6)上用同一个应用程序的副本进行工作。在控制台,切换终端的命令是:ALT+F1~F6;在仿真终端窗口(ps/0~n)是:SHIFT+ALT+F1~F6。
多任务:可同时执行多个程序,程序之间互不妨碍。与WINDOWS的多任务不同,Linux将系统没有用到的剩余物理内存全部用来做硬盘的高速缓存。笔者曾经打开三个xterm,分别用于查找文件、调试程序、发邮件。而且还可以指定某一个程序在后台运行,指定某一些程序在特定的时间内运行(at命令)。
多平台:Linux能在X86平台上运行,也能移植到其他平台。
可编程SHELL:SHELL是解释并执行命令的系统外壳程序。通过编写SHELL程序,使得系统更加个性化;而且在一些程序中具有C语言的功能。
提供源代码:Linux是自由软件,源代码完全公开,可以自行编译内核,修改和扩充操作系统,进行二次开发。
Linux支持的文件系统很多,例如:EXT3、NFS、VFS、ISO9660、MSDOS等等。
网络功能:较全面的实现了TCP/IP、SLIP、PPP、PLIP协议,功能强大。
Linux与其它系统比较
Linux可以和PC机上的其他操作系统共存,但还是有差别的。
Linux与MSDOS
DOS在PC机上普及最广,价格低。Linux是免费软件,不用考虑价格。Linux有些命令与M S- DOS相同或相似,如cp----copy、cd(..)---cd(..)、telnet---telnet等;要在Linux下用DOS命令,要在命令前加m;Linux还可以充分发挥微处理器的功能,其多用户、多任务、网络等功能是MSDOS所不能比的。常见的是,Linux和DOS装在同机器上。
Linux与WINDOWS
两者都是多任务的操作系统,都支持同样的用户接口、网络和安全性。但是,WINDOWS是专用系统,由开发的公司控制接口和设计,并建立了严格的标准,而且购买的价格高。而Linux是自由软件,其开发采用开放和协作的模式,因而有利于充分程序人员的集体智慧,大量减少不必要的重复劳动,并使得自由软件的弱点能及时发现和得到克服,具有强大的生命力。Linux正在竞争UNIX和WINDOWS NT的市场份额。它是目前唯一可以与MICROSOFT WINDOWS抗衡的操作系统;盖茨也承认Linux是微软的竞争对手。
Linux与UNIX
实质上,Linux是UNIX的一种版本。UNIX支持的硬件要多一些,Linux支持的硬件也在不断扩大。很突出的一点是,Linux至少和商用UNIX一样稳定。对于许多用户来说,最重要的因素是价格;显然,在这一点上Linux要占优势。Linux使得用户在PC机上运行完整的UNIX。所以,Linux为笔者们学习UNIX提供了廉价的机会。
Linux到底用它有何好处
如果你是个人用的,如果你受得了windows下的恶意软件,病毒,木马太狠的话我不推荐你用linux,虽然我很想推广linux,我也在用linux,但linux并不是长期使用的系统,我觉得现在的linux就像windows98那样,不过windows98可以做好多事,也不用那么麻烦,如果有可能我会建议你去选择98,有些人总是说用windows要陶银子,其实个人用的实际有多少个人陶多少,很多人都是三块银子一张盘搞定。
不过对于企业来说,是不能这样的,受权费听说很高,最重要的是有一些不安全因素,企业级们要控制成本,又要稳定,而linux如果满足他们的要求时,有技术员又懂linux的他们很可能就用linux。
老实的说,我觉得xp下很好,但是xp下弄不好有好多麻烦事。系统坏了我最多重装,但实在受不了中了病毒把系统施得半死不活的,有一些病还很硬,连杀软都打不开,厉害。要是重装一二次我还可以,但是一个月要我重装几次,感觉是真的烦了,好多记录要重新开始。郁闷,我每次重装都会格式化系统盘。所以决定用linux,这下好了,没过几天还真后悔想换回xp。很多人都这样。其实我又不是做系统的哪个用得爽我用哪个。这是没办法的事。
但是,linux的前景还是很好的,首先会有高校中普及,企业中应用。linux再努力过不了几年肯定要走进个人桌面了。它本身就是开源的东西,进步会很快。有一些特有的东西又很好玩。所以很多计算机爱好者都喜欢玩它,为了能学多些东西而学linux,很好的想法,继续努力。
还有,现在linux人才都很缺少,走在最前面肯定有好事。呵呵。
Linux下的一些真实
1,Linux下能干什么?
答:能完成基本的应用,如办公,打字,打印文件,能浏览网页,能上qq,能打一些在线小游戏与在线听歌,系统工具盘中自带的软件通常都是较常用到的,这些软件能基本满足你的使用.
不过我得指出的是,如果你打字速度很快的话,那在linux下你可要气死了,我常打字系统的速度跟不上,打了n个字稍候再慢慢显示出来,这点很不爽.还有在线听歌,mp3的话要小心,占用资源很大的,有时网速慢还可能会使浏览器假死.还有就是外国的linux版本大多中文化效果都不太好,看多了郁闷.不过我必需承认,linux下有时还是挺有意思的,虽然软件不太成熟,不过感觉自己在用linux,觉得自豪些,与其他人的系统不太一样,呵呵.有时碰到个人会问你这个是什么系统呀,有时还会说怎么那么难用呀,哈哈.
2,Linux适合大多数人用?
答:我可以告诉你,我的计算机水平很低,但我在linux下玩,不过我安装linux时因为看安装说明用了几次,本亚第一次已经安装成功了,可是我不知道怎么进入系统,以为是装错了,结果重装,老样,问了人才知道要root,密码,回车,再输入startx.
如果你在安装linux,请认真阅读安装说明吧,免得提一些人人都会问的问题.
3,硬件要小心,特别是集成的?
答:我永远都回答是的,因为有相当部分人都有这个问题,就是因为这样他们才放弃了linux,我也有过这样的问题,半年前我用的是集成显卡,整天问一些安装驱动的问题,不过没人回答得上,也没有兼容的linux驱动可装,针对于我的集成显卡,结果在linux下分辨率要很高,看着很不爽,不过由于工作需要我购了独立显卡,还真别说,真的给解决了,在linux下看多久眼睛都不会觉得不舒服.
不过你不用担心,linux还是能认大多数硬件的,喜欢就安装试试.不过最好用最新的版本.
4,安装软件难?
答:如果我说不是,你可能要打我了,那我只好说是吧.很多软件都不是直接点击执行文件就安装的,不过你安装了工具盘好象工具都差不多够用了,不过你用的是红旗5的话,那你打五笔,呵呵,这个有,qq,这个也有自带的,下载工具,呵呵,这也有自带的,办公软件,哎,建议安装永中吧,很容易的,他直接点击就安装了,呵呵.
5,linux只能做服务器?
答:可能吧,要不很多人都不要他当桌面应用的,不过你得明白,其实linux下的图形界面操作与windows下是很多类拟的,别看到整个屏幕是文本命令行就认为linux是那样的,不要这样认为,在google里搜索下linux的桌面图看看,其实都是那个样的.
6,linux有无前途?
答:这个我不太敢回答,因为我也不知道,不过很多人都关注,那我说说我的观点吧,整体上是有的,看国内的确很缺少linux人才,管理员方面的,开发方面等呀.linux在国外算是个热门的了,薪水也很高,可见他的发展是很潜力的,不久将会把这种潮流带到我们这边来,像手机一开始大得像头牛,不过现在很多人都有了,而且很小现在.可见linux要的是时间就能有大发展,根据是开源软件会是软件业的趋势.
7,如何学好linux?
答:我答了不权威,我不精通linux,给你指路别人会笑的,不过很多大哥大姐,叔叔姨妈们都各自发表自己的心得,有时间多看看,相信会有帮助的.
8,喜欢用就用,不喜欢用就别用?
答:我也是这么认为的,用哪个操作系统都行,只要用得开心,满足自己需求就行.
Linux的成功得益于如下因素
(1) 具有良好的开放性。Linux及其生成工具的源代码均可通过Internet免费获取,linux爱好者能非常容易地建立一个Linux开发平台。
(2) Internet的普及使热心于Linux的开发者们能进行高效、快捷的交流,从而为Linux创造了一个优良的分布式开发环境。
(3) Linux具有很强的适应性,能适应各种不同的硬件平台。
Linux的版本更新很快。在短短的十几年时间里,其版本已升至2.6.x。这里之所以用"x"表示,是因为 x的值变化太快,很难准确地定位它的值。这也从侧面反映了从事Linux的研究者之多。
Linux有多少个发行版
老实的说,我也不清楚,因为这个数目肯定是几百个了。目前至少有386个以上的Linux版本可用,这个数字表明有多少人想建立自己的版本,把Linux同其他开放源代码软件结合在一起形成一个完整的操作系统产品。除了Red Hat、Suse和Debian之外的Linux版本,还有Ubuntu、Fedora、红旗Linux、Gentoo Linux等等,这都是比较优秀的Linux版本了。
Ubuntu是Debian的副产品。它强调的是PC易用性,但也有服务器版本。现在很多人都在玩这个版本,当然我国开发的红旗Linux以人性化,中文显示效果,实用工具等等也是很受欢迎的。
列举一些linux下软件
在linux下已经有越来越多的客户端和服务器端的应用软件。
语言及编程环境:c、c++、java、perl和fortan等。
图形环境:gnome、kde、gimp、windowmaker和icewm等。
编辑器:xemacs、vim、gedit和pico等。
shells:bash、tcsh、ash和csh等。
文字处理软件:openoffices、kword和abiword等。
数据库:mysql、postgresql和oracle等。
sqlite读[sk'laɪt]
SQLite嵌入式关系数据库 ,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月。
Linux /ˈlɪnəks/ 中文谐音:立呢可斯 没有中文名称,就好像windows一样,大家就称之为windows :)
「Li」中「i」的发音类似於「Minix」中「i」的发音,而「nux」中「u」的发音类似於英文单词「profess」中「o」的发音。依照国际音标应该是['linэks][ˈlɪnəks]。
Linux作业系统(Linux),是一种计算机作业系统。Linux作业系统的核心的名字也是「Linux」。Linux作业系统也是自由软体和开放原始码发展中最著名的例子。
严格来讲,Linux这个词本身只表示Linux核心,但在实际上人们已经习惯了用Linux来形容整个基於Linux核心,并且使用GNU 工程各种工具和资料库的作业系统(也被称为GNU/Linux)。基於这些组件的Linux软体被称为Linux发行版。一般来讲,一个Linux发行套件包含大量的软体,比如软体开发工具(例如DEV C++)、资料库(例如PostgreSQL、MySQL)、Web伺服器(例如Apache)、X Window、桌面环境(例如GNOME和KDE)、办公套件(例如OpenOffice.org)、脚本语言(例如Perl、PHP和Python)等等。
Linux核心最初是为英特尔386微处理器设计的。现在Linux核心支持从个人电脑到大型主机甚至包括嵌入式系统在内的各种硬体设备。
在开始的时候,Linux只是个人狂热爱好的一种产物。但是现在,Linux已经成为了一种受到广泛关注和支援的一种作业系统。包括IBM和惠普、戴尔在内的一些计算机业巨头也开始支援Linux。很多人认为,和其他的商用Unix系统以及微软 Windows相比,作为自由软体的Linux具有低成本,安全性高,更加可信赖的优势。
一个典型的Linux发行版包括:Linux核心,一些GNU程式库和工具,命令行shell,图形界面的X Window系统和相应的桌面环境,如KDE或GNOME,并包含数千种从办公套件,编译器,文本编辑器到科学工具的应用软体。