1.JAVA的元购源码元购源码言版简介?
2.开发一个小程序的费用多少?
3.Javaè¯è¨å¥½å¦ä¹ï¼
4.java开发需要学习什么
5.javaä¹ç¶ï¼
JAVA的简介?
Java简介
Java是由Sun Microsystems公司于年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的多语HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动感的元购源码元购源码言版Web、Internet计算。多语从此,元购源码元购源码言版Java被广泛接受并推动了Web的多语均线买卖源码迅速发展,常用的元购源码元购源码言版浏览器现在均支持Java applet。另一方面,多语Java技术也不断更新。元购源码元购源码言版
Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、多语简称API)构成。元购源码元购源码言版Java 应用编程接口为Java应用提供了一个独立于操作系统的多语标准接口,可分为基本部分和扩展部分。元购源码元购源码言版在硬件或操作系统平台上安装一个Java平台之后,多语Java应用程序就可运行。元购源码元购源码言版现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。目前常用的Java平台基于Java1.4,最近版本为Java1.6。
Java分为三个体系JavaSE,JavaEE,JavaME。
Java语言
Java语言是一个支持网络计算的面向对象程序设计语言。Java语言吸收了Smalltalk语言和C++语言的优点,并增加了其它特性,如支持并发程序设计、网络通信、和多媒体数据控制等。主要特性如下:
1、Java语言是简单的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
2、Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。
3、Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java.net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
4、Java语言是健壮的。Java的股票源码工具强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。
5、Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。
6、Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件), 然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
7、Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。
8、Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式, 然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
9、Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。
、Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable) 的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。 Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。
、Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的源码时代java老师全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。
1、JDBC(Java Database Connectivity)提供连接各种关系数据库的统一接口。
2、EJB(Enterprise JavaBeans)使得开发者方便地创建、部署和管理跨平台的基于组件的企业应用。
3、Java RMI(Java Remote Method Invocation)用来开发分布式Java应用程序。一个Java对象的方法能被远程Java虚拟机调用。这样,远程方法激活可以发生在对等的两端,也可以发生在客户端和服务器之间,只要双方的应用程序都是用Java写的。
4、Java IDL(Java Interface Definition Language) 提供与CORBA(Common Object Request Broker Architecture)的无逢的互操作性。这使得Java能集成异构的商务信息资源。
5、JNDI(Java Naming and Directory Interface)提供从Java平台到的统一的无逢的连接。这个接口屏蔽了企业网络所使用的各种命名和目录服务。
6、JMAPI(Java Management API)为异构网络上系统、网络和服务管理的开发提供一整套丰富的对象和方法。
7、JMS(Java Message Service)提供企业消息服务,如可靠的消息队列、发布和订阅通信、以及有关推拉(Push/Pull)技术的各个方面。
8、JTS(Java transaction Service)提供存取事务处理资源的开放标准,这些事务处理资源包括事务处理应用程序、事务处理管理及监控。
在Java技术中,值得关注的还有JavaBeans,它是一个开放的标准的组件体系结构,它独立于平台,但使用Java语言。一个JavaBean是一个满足JavaBeans规范的Java类,通常定义了一个现实世界的事物或概念。一个JavaBean的主要特征包括属性、方法和事件。通常,在一个支持JavaBeans规范的开发环境(如Sun Java Studio 和IBM VisualAge for Java)中,可以可视地操作JavaBean,也可以使用JavaBean构造出新的JavaBean。JavaBean的优势还在于Java带来的可移植性。现在,EJB (Enterprise JavaBeans) 将JavaBean概念扩展到Java服务端组件体系结构,这个模型支持多层的分布式对象应用。除了JavaBeans,典型的组件体系结构还有DCOM和CORBA,关于这些组件体系结构的深入讨论超出了本书的范围。
Java开源项目
Spring Framework
Spring 是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的 Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。 Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了 Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。 Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果你需要--还能实现你自己的 aspects。这个框架足够强大,使得应用程序能够抛开EJB的抢玉平台源码复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。.
WebWork
WebWork 是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE Web框架。WebWork目前最新版本是2.1,现在的WebWork2.x前身是Rickard Oberg开发的WebWork,但现在WebWork已经被拆分成了Xwork1和WebWork2两个项目。 Xwork简洁、灵活功能强大,它是一个标准的Command模式实现,并且完全从web层脱离出来。 Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL – the Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等。 WebWork2建立在Xwork之上,处理HTTP的响应和请求。WebWork2使用ServletDispatcher将HTTP请求的变成 Action(业务层Action类), session(会话)application(应用程序)范围的映射,request请求参数映射。WebWork2支持多视图表示,视图部分可以使用 JSP, Velocity, FreeMarker, JasperReports,XML等。在WebWork2.2中添加了对AJAX的支持,这支持是构建在DWR与Dojo这两个框架的基础之上.
Struts
Struts 是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。
Hibernate
Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Eclipse平台下的Hibernate辅助开发工具:
Quartz
Quartz 是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或 EJBs。Quartz的最新版本为Quartz 1.5.0。
Velocity
Velocity 是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。 Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生SQL和PostScript、XML,它也可以被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。Velocity也可以为Turbine web开发架构提供模板服务(template service)。Velocity+Turbine提供一个模板服务的全能签村长源码方式允许一个web应用以一个真正的MVC模型进行开发。
IBATIS
使用ibatis 提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象, 这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求开发者编写具体的SQL 语句。相对Hibernate等 “全自动”ORM机制而言,ibatis 以SQL开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间。作为“全自动”ORM 实现的一种有益补充,ibatis 的出现显 得别具意义。
Compiere ERP&CRM
Compiere ERP&CRM为全球范围内的中小型企业提供综合型解决方案,覆盖从客户管理、供应链到财务管理的全部领域,支持多组织、多币种、多会计模式、多成本计算、多语种、多税制等国际化特性。易于安装、易于实施、易于使用。只需要短短几个小时,您就可以使用申购-采购-发票-付款、报价-订单-发票-收款、产品与定价、资产管理、客户关系、供应商关系、员工关系、经营业绩分析等强大功能了。
Roller Weblogger
这个weblogging 设计得比较精巧,源代码是很好的学习资料。它支持weblogging应有的特性如:评论功能,所见即所得HTML编辑,TrackBack,提供页面模板,RSS syndication,blogroll管理和提供一个XML-RPC 接口。
Eclipse
Eclipse平台是IBM向开发源码社区捐赠的开发框架,它之所以出名并不是因为IBM宣称投入开发的资金总数 —4千万美元,而是因为如此巨大的投入所带来的成果:一个成熟的、精心设计的以及可扩展的体系结构。
XPlanner
XPlanner 一个基于Web的XP团队计划和跟踪工具。XP独特的开发概念如iteration、user stories等,XPlanner都提供了相对应的的管理工具,XPlanner支持XP开发流程,并解决利用XP思想来开发项目所碰到的问题。 XPlanner特点包括:简单的模型规划,虚拟笔记卡(Virtual note cards),iterations、user stories与工作记录的追踪,未完成stories将自动迭代,工作时间追踪,生成团队效率,个人工时报表,SOAP界面支持。
HSQLDB
HSQLDB(Hypersonic SQL)是纯Java开发的关系型数据库,并提供JDBC驱动存取数据。支持ANSI- 标准 SQL语法。而且他占的空间很小。大约只有K,拥有快速的数据库引擎。
Liferay
代表了完整的J2EE应用,使用了Web、EJB以及JMS等技术,特别是其前台界面部分使用Struts 框架技术,基于XML的portlet配置文件可以自由地动态扩展,使用了Web Services来支持一些远程信息的获取,使用 Apahce Lucene实现全文检索功能。
主要特点:
1、提供单一登陆接口,多认证模式(LDAP或SQL);
2、管理员能通过用户界面轻松管理用户,组,角色;
3、用户能可以根据需要定制个性化的portal layout;
4、能够在主流的J2EE应用服务器上运行,如JBoss+Jetty/Tomcat,JOnAS;
5、支持主流的数据库,如PostgreSQL,MySQL;
6、使用了第三放的开源项目,如Hibernate, Lucene, Struts;
7、支持包括中文在内的多种语言;
8、采用最先进的技术 Java, EJB, JMS, SOAP, XML;
JetSpeed
Jetspeed 是一个开放源代码的企业信息门户(EIP)的实现,使用的技术是Java和XML。用户可以使用浏览器,支持WAP协议的手机或者其它的设备访问Jetspeed架设的信息门户获取信息。Jetspeed扮演着信息集中器的角色,它能够把信息集中起来并且很容易地提供给用户。
Jetspeed具有如下的特征:
* 即将成为标准化的Java Portlet API
* 基于模板的布局, 包括JSP和Velocity
* 通过开放的内容同步技术支持远程XML内容交换
* 定制默认的主页
* 使用数据库进行用户认证
* 内存缓存技术, 加快页面的响应
* 通过Rich Site Summary技术, 支持同步内容
* 和Cocoon, WebMacro, Velocity集成.
* Wireless Markup Language (WML) 支持
* 使用XML格式的配置文件注册portlet.
* 完整的Web Application Archive (WAR) 支持
* Web应用程序开发的基础设施
* 可以在本地缓存远程内容
* 与Avantgo同步
* 可移植到所有支持JDK1.2和Servlet 2.2的平台
* 与Turbine模块和服务集成
* 可以根据用户, 安装媒体类型和语言的不同设定, 产生不同的个性化服务
* 持续化服务使得所由的portlet能够容易的存储每个用户的状态, 页面和portlet
* 使用皮肤技术使得用户可以选择portlet的颜色和显示属性
* 自定义功能是的管理员可以选择portlet以及定义个人页面的布局
* 在数据库中存储PSML
* 通过Jetspeed的安全portlets管理用户, 组,角色和权限
* 基于角色对访问portlet进行控制
JOnAS
JOnAS 是一个开放源代码的J2EE实现,在ObjectWeb协会中开发。整合了Tomcat或Jetty成为它的Web容器,以确保符合Servlet 2.3和JSP 1.2规范。JOnAS服务器依赖或实现以下的Java API:JCA、JDBC、JTA 、JMS、JMX、JNDI、JAAS、JavaMail 。
JFox3.0
JFox 是 Open Source Java EE Application Server,致力于提供轻量级的Java EE应用服务器,从3.0开始,JFox提供了一个支持模块化的MVC框架,以简化EJB以及Web应用的开发! 如果您正在寻找一个简单、轻量、高效、完善的Java EE开发平台,那么JFox正是您需要的。
JFox 3.0 拥有以下特性:
1. 重新设计的 IoC 微内核,融入 OSGi 模块化思想
2. 设计成嵌入式架构,能够和任何 Java Web Server集成部署
3. 支持 EJB3,JPA规范,支持容器内和容器外两种方式运行EJB和JPA组件
4. 支持 EJB 发布成Web Service
5. 采用 JOTM()提供事务处理,支持两阶段提交(2PC)
6. 采用 XAPool() 提供 XA DataSource,支持智能连接池管理
7. 内置 MVC 框架,实现自动Form Mapping,Validator,Uploading等功能,支持JSP/Velocity/Freemarker页面引擎,并支持直接在Action中注入EJB
8. 支持多应用模块部署,让中大型应用充分享受模块化开发带来的优势
9. 提供 Manager 管理模块,可以查看和管理各种运行时参数
. 提供根据 JFox 特色重写的 Petstore 应用模块
开发一个小程序的费用多少?
这个主要分为两部分:小程序固定费用+小程序开发费用小程序固定费用
小程序最低的固定费用:
微信小程序:元(服务器最低配置)+(域名费用)=元/年
百度小程序:元(认证费用)+元(服务器最低配置)+(域名费用)=元/年
开发费用
小程序要多少钱能开发呢?除了固定的小程序认证费用,差价一般会体现在开发费用这块。
要先了解小程序开发要多少开发费用这块,首先要知道你打算用什么方式进行开发,我把市面上一般的开发形式都列举出来!
购买模板小程序
很多模板公司都打着三分钟上线小程序的模式为客户提供模块化的小程序,但是其实小编适用过该类小程序,上线时间是很快,但是除非是特别简单想展示,否则稍微带点业务内容和定制需求的功能都不太可能实现。
特别是该类公司一般不听过运维服务,因为这类的小程序是模块化的,程序员根本不知道哪个模块是怎么命名,后期根本改不动。
因此提供这类服务的公司的小程序开发的价格不高,一般在几百元——几千元不等,开发半天到7天内就可以上线了。
模板小程序要多少钱能开发=模块价格。
定制化公司
定制化公司的小程序要多少钱能开发呢?
这个会比购买模板小程序的价格来的贵。
因为这个会涉及很多流程,包括从产品、商务对接到原型功能给出,再到UI设计、代码开发,后期测试运维等一系列的人在跟着。大家在自己的岗位上做自己专业擅长的事情,就能保证给出从产品的能够尽可能地完善。
那定制化小程序的价格主要市根据产品功能的开发所需要的工期来计算的,比如说一个商城,上线需要天,那这天内有几天开发、几天测试、几天UI设计,在根据开发人员的日开发单价(一般来说市场价在一千多左右)等去计算的,一般来说价格在到5万不等。所以你的小程序功能越复杂,开发费用就越多。因此我们一般也会建议客户说第一版先设计出最核心功能的产品,后期第二个版本第三个版本再迭代。
上线周期也是需要根据客户的小程序功能来计算的,一般来说中小型的小程序开发半个月到一个多月之内就能上线拉。
并且定制化公司基本上提供后期免费运维期帮客户来解决小程序的问题哦。保证客户上线运营的小程序在赚钱的时候不会出现问题!
定制化小程序要多少钱能开发=各技术人员日单价*各技术人员工作周期
Javaè¯è¨å¥½å¦ä¹ï¼
Javaæ¯ä¸é¨é¢å对象ç¼ç¨è¯è¨ï¼ä¸ä» å¸æ¶äºC++è¯è¨çåç§ä¼ç¹ï¼è¿æå¼äºC++éé¾ä»¥ç解çå¤ç»§æ¿ãæéçæ¦å¿µï¼å æ¤Javaè¯è¨å ·æåè½å¼ºå¤§åç®åæç¨ä¸¤ä¸ªç¹å¾ãJavaè¯è¨ä½ä¸ºéæé¢å对象ç¼ç¨è¯è¨ç代表ï¼æ好å°å®ç°äºé¢å对象ç论ï¼å 许ç¨åºå以ä¼é çæç»´æ¹å¼è¿è¡å¤æçç¼ç¨[1]ã
Javaå ·æç®åæ§ãé¢å对象ãåå¸å¼ãå¥å£®æ§ãå®å ¨æ§ãå¹³å°ç¬ç«ä¸å¯ç§»æ¤æ§ãå¤çº¿ç¨ãå¨ææ§çç¹ç¹[2]ãJavaå¯ä»¥ç¼åæ¡é¢åºç¨ç¨åºãWebåºç¨ç¨åºãåå¸å¼ç³»ç»ååµå ¥å¼ç³»ç»åºç¨ç¨åºç[3]ã
å¤æå
Java
ç°å ¬å¸
Oracle
æ¨åºæ¶é´
å¹´5æ
å¿«é
导èª
ç¼ç¨å¼å
è¯è¨ç¹ç¹
å·¥ä½åç
è¯è¨åºç¡
è¯è¨æ å
è¯è¨è§è
ææ¯åºç¨
å¦ä¹ æå
è¯è¨è¯ä»·
åå±åç¨
ä¸çºªå¹´ä»£ï¼ç¡¬ä»¶é¢ååºç°äºåçå¼è®¡ç®æºç³»ç»ï¼è¿ç§ä»·æ ¼ä½å»çç³»ç»ä¸åºç°å°±ç«å³å¼èµ·äºèªå¨æ§å¶é¢å人åç注æï¼å 为使ç¨å®å¯ä»¥å¤§å¹ 度æåæ¶è´¹ç±»çµå产åï¼å¦çµè§æºé¡¶çãé¢å ç¤ç®±ã移å¨çµè¯çï¼çæºè½åç¨åº¦ãSunå ¬å¸ä¸ºäºæ¢å å¸åºå æºï¼å¨å¹´æç«äºä¸ä¸ªç§°ä¸ºGreenç项ç®å°ç»ï¼å¸ç¹éå ã詹å§æ¯Â·é«æ¯æã麦å ·èæ丹åå ¶ä»å 个工ç¨å¸ä¸èµ·ç»æçå·¥ä½å°ç»å¨å å©ç¦å°¼äºå·é¨æ´å¸å å¸æ²ä¸è·¯çä¸ä¸ªå°å·¥ä½å®¤éé¢ç 究å¼åæ°ææ¯ï¼ä¸æ»è®¡ç®æºå¨å®¶çµäº§åä¸çåµå ¥å¼åºç¨ã
JAVA
ç±äºC++æå ·æçä¼å¿ï¼è¯¥é¡¹ç®ç»çç 究人åé¦å èèéç¨C++æ¥ç¼åç¨åºãä½å¯¹äºç¡¬ä»¶èµæºæå ¶å®ä¹çåçå¼ç³»ç»æ¥è¯´ï¼C++ç¨åºè¿äºå¤æååºå¤§ãå¦å¤ç±äºæ¶è´¹çµå产åæéç¨çåµå ¥å¼å¤çå¨è¯ççç§ç±»ç¹æï¼å¦ä½è®©ç¼åçç¨åºè·¨å¹³å°è¿è¡ä¹æ¯ä¸ªé¾é¢ã为äºè§£å³å°é¾ï¼ä»ä»¬é¦å çç¼äºè¯è¨çå¼åï¼å设äºä¸ç§ç»æç®åã符ååµå ¥å¼åºç¨éè¦ç硬件平å°ä½ç³»ç»æå¹¶ä¸ºå ¶å¶å®äºç¸åºçè§èï¼å ¶ä¸å°±å®ä¹äºè¿ç§ç¡¬ä»¶å¹³å°çäºè¿å¶æºå¨ç æ令系ç»ï¼å³åæ¥æ为âåèç âçæ令系ç»ï¼ï¼ä»¥å¾ è¯è¨å¼åæååï¼è½æå导ä½è¯çç产åå¼ååç产è¿ç§ç¡¬ä»¶å¹³å°ã对äºæ°è¯è¨ç设计ï¼Sunå ¬å¸ç å人å并没æå¼åä¸ç§å ¨æ°çè¯è¨ï¼èæ¯æ ¹æ®åµå ¥å¼è½¯ä»¶çè¦æ±ï¼å¯¹C++è¿è¡äºæ¹é ï¼å»é¤äºçå¨C++çä¸äºä¸å¤ªå®ç¨åå½±åå®å ¨çæåï¼å¹¶ç»ååµå ¥å¼ç³»ç»çå®æ¶æ§è¦æ±ï¼å¼åäºä¸ç§ç§°ä¸ºOakçé¢å对象è¯è¨ã
ç±äºå¨å¼åOakè¯è¨æ¶ï¼å°ä¸ä¸åå¨è¿è¡åèç ç硬件平å°ï¼æ以为äºå¨å¼åæ¶å¯ä»¥å¯¹è¿ç§è¯è¨è¿è¡å®éªç 究ï¼ä»ä»¬å°±å¨å·²æç硬件å软件平å°åºç¡ä¸ï¼æç §èªå·±ææå®çè§èï¼ç¨è½¯ä»¶å»ºè®¾äºä¸ä¸ªè¿è¡å¹³å°ï¼æ´ä¸ªç³»ç»é¤äºæ¯C++æ´å ç®åä¹å¤ï¼æ²¡æä»ä¹å¤§çåºå«ãå¹´çå¤å¤©ï¼å½Oakè¯è¨å¼åæååï¼ç 究è 们å硬件ç产åè¿è¡æ¼ç¤ºäºGreenæä½ç³»ç»ãOakçç¨åºè®¾è®¡è¯è¨ãç±»åºåå ¶ç¡¬ä»¶ï¼ä»¥è¯´æä»ä»¬ä½¿ç¨Oakè¯è¨ç产硬件è¯çï¼ä½æ¯ï¼ç¡¬ä»¶ç产å并æªå¯¹æ¤äº§çæ大ççæ ãå 为ä»ä»¬è®¤ä¸ºï¼å¨ææ人对Oakè¯è¨è¿ä¸æ æç¥çæ åµä¸ï¼å°±ç产硬件产åçé£é©å®å¨å¤ªå¤§äºï¼æ以Oakè¯è¨ä¹å°±å 为缺ä¹ç¡¬ä»¶çæ¯æèæ æ³è¿å ¥å¸åºï¼ä»è被æç½®äºä¸æ¥ã
å¹´6ã7æé´ï¼å¨ç»åäºä¸åºåæ¶ä¸å¤©ç讨论ä¹åï¼å¢éå³å®åä¸æ¬¡æ¹åäºåªåçç®æ ï¼è¿æ¬¡ä»ä»¬å³å®å°è¯¥ææ¯åºç¨äºä¸ç»´ç½ãä»ä»¬è®¤ä¸ºéçMosaicæµè§å¨çå°æ¥ï¼å ç¹ç½æ£å¨ååæ ·çé«åº¦äºå¨çè¿æ¯æ¼åï¼èè¿ä¸è¿æ¯æ£æ¯ä»ä»¬å¨æ线çµè§ç½ä¸çå°çãä½ä¸ºååï¼å¸ç¹éå ·诺顿åäºä¸ä¸ªå°åä¸ç»´ç½æµè§å¨WebRunnerã[4]
å¹´ï¼äºèç½çè¬ååå±ç»äºOakæºä¼ãä¸ç为äºä½¿æ»æ¿ãåè°çéæç½é¡µè½å¤âçµæ´»âèµ·æ¥ï¼æ¥éä¸ç§è½¯ä»¶ææ¯æ¥å¼åä¸ç§ç¨åºï¼è¿ç§ç¨åºå¯ä»¥éè¿ç½ç»ä¼ æ并ä¸è½å¤è·¨å¹³å°è¿è¡ãäºæ¯ï¼ä¸çå大ITä¼ä¸ä¸ºæ¤çº·çº·æå ¥äºå¤§éç人åãç©ååè´¢åãè¿ä¸ªæ¶åï¼Sunå ¬å¸æ³èµ·äºé£ä¸ªè¢«æ置起æ¥å¾ä¹ çOakï¼å¹¶ä¸éæ°å®¡è§äºé£ä¸ªç¨è½¯ä»¶ç¼åçè¯éªå¹³å°ï¼ç±äºå®æ¯æç §åµå ¥å¼ç³»ç»ç¡¬ä»¶å¹³å°ä½ç³»ç»æè¿è¡ç¼åçï¼æ以é常å°ï¼ç¹å«éç¨äºç½ç»ä¸çä¼ è¾ç³»ç»ï¼èOakä¹æ¯ä¸ç§ç²¾ç®çè¯è¨ï¼ç¨åºé常å°ï¼éåå¨ç½ç»ä¸ä¼ è¾ãSunå ¬å¸é¦å æ¨åºäºå¯ä»¥åµå ¥ç½é¡µå¹¶ä¸å¯ä»¥éåç½é¡µå¨ç½ç»ä¸ä¼ è¾çAppletï¼Appletæ¯ä¸ç§å°å°ç¨åºåµå ¥å°ç½é¡µä¸è¿è¡æ§è¡çææ¯ï¼ï¼å¹¶å°Oakæ´å为Javaï¼å¨ç³è¯·æ³¨ååæ æ¶ï¼åç°Oakå·²ç»è¢«äººä½¿ç¨äºï¼åæ³äºä¸ç³»åååä¹åï¼æç»ï¼ä½¿ç¨äºæè®®è å¨åä¸æ¯Javaåå¡æ¶æ ææå°çJavaè¯è¯ï¼ã5ææ¥ï¼Sunå ¬å¸å¨Sun worldä¼è®®ä¸æ£å¼åå¸JavaåHotJavaæµè§å¨ãIBMãAppleãDECãAdobeãHPãOracleãNetscapeå微软çåå¤§å ¬å¸é½çº·çº·åæ¢äºèªå·±çç¸å ³å¼å项ç®ï¼ç«ç¸è´ä¹°äºJava使ç¨è®¸å¯è¯ï¼å¹¶ä¸ºèªå·±ç产åå¼åäºç¸åºçJavaå¹³å°ã[5] [6]
å¹´1æï¼Sunå ¬å¸åå¸äºJavaç第ä¸ä¸ªå¼åå·¥å ·å ï¼JDK 1.0ï¼ï¼è¿æ¯Javaåå±åç¨ä¸çéè¦éç¨ç¢ï¼æ å¿çJavaæ为ä¸ç§ç¬ç«çå¼åå·¥å ·ã9æï¼çº¦8.3ä¸ä¸ªç½é¡µåºç¨äºJavaææ¯æ¥å¶ä½ãæï¼Sunå ¬å¸åå¸äºJavaå¹³å°ç第ä¸ä¸ªå³æ¶ï¼JITï¼ç¼è¯å¨ã
å¹´2æï¼JDK 1.1é¢ä¸ï¼å¨éåç3å¨æ¶é´éï¼è¾¾å°äºä¸æ¬¡çä¸è½½éã4æ2æ¥ï¼Java Oneä¼è®®å¬å¼ï¼åä¼è é¾ä¸ä¸äººï¼åå½æ¶å ¨çåç±»ä¼è®®è§æ¨¡ä¹çºªå½ã9æï¼Java Developer Connection社åºæåè¶ è¿ä¸ã
å¹´æ8æ¥ï¼ç¬¬äºä»£Javaå¹³å°çä¼ä¸çJ2EEåå¸ãå¹´6æï¼Sunå ¬å¸åå¸äºç¬¬äºä»£Javaå¹³å°ï¼ç®ç§°ä¸ºJava2ï¼ç3个çæ¬ï¼J2MEï¼Java2 Micro Editionï¼Java2å¹³å°çå¾®åçï¼ï¼åºç¨äºç§»å¨ãæ 线åæéèµæºçç¯å¢ï¼J2SEï¼Java 2 Standard Editionï¼Java 2å¹³å°çæ åçï¼ï¼åºç¨äºæ¡é¢ç¯å¢ï¼J2EEï¼Java 2Enterprise Editionï¼Java 2å¹³å°çä¼ä¸çï¼ï¼åºç¨äºåºäºJavaçåºç¨æå¡å¨ãJava 2å¹³å°çåå¸ï¼æ¯Javaåå±è¿ç¨ä¸æéè¦çä¸ä¸ªéç¨ç¢ï¼æ å¿çJavaçåºç¨å¼å§æ®åã
å¹´4ææ¥ï¼HotSpotèææºåå¸ãHotSpotèææºåå¸æ¶æ¯ä½ä¸ºJDK 1.2çéå ç¨åºæä¾çï¼åæ¥å®æ为äºJDK 1.3åä¹åææçæ¬çSun JDKçé»è®¤èææº[7] ã
å¹´5æï¼JDK1.3ãJDK1.4åJ2SE1.3ç¸ç»§åå¸ï¼å å¨åå ¶è·å¾äºAppleå ¬å¸Mac OS Xçå·¥ä¸æ åçæ¯æãå¹´9ææ¥ï¼J2EE1.3åå¸ãå¹´2ææ¥ï¼J2SE1.4åå¸ãèªæ¤Javaç计ç®è½åæäºå¤§å¹ æåï¼ä¸J2SE1.3ç¸æ¯ï¼å ¶å¤äºè¿%çç±»åæ¥å£ãå¨è¿äºæ°ç¹æ§å½ä¸ï¼è¿æä¾äºå¹¿æ³çXMLæ¯æãå®å ¨å¥æ¥åï¼Socketï¼æ¯æï¼éè¿SSLä¸TLSåè®®ï¼ãå ¨æ°çI/OAPIãæ£å表达å¼ãæ¥å¿ä¸æè¨ãå¹´9ææ¥ï¼J2SE1.5åå¸ï¼æ为Javaè¯è¨åå±å²ä¸çåä¸éç¨ç¢ã为äºè¡¨ç¤ºè¯¥çæ¬çéè¦æ§ï¼J2SE 1.5æ´å为Java SE 5.0ï¼å é¨çæ¬å·1.5.0ï¼ï¼ä»£å·ä¸ºâTigerâï¼Tigerå å«äºä»å¹´åå¸1.0çæ¬ä»¥æ¥çæé大çæ´æ°ï¼å ¶ä¸å æ¬æ³åæ¯æãåºæ¬ç±»åçèªå¨è£ ç®±ãæ¹è¿ç循ç¯ãæ举类åãæ ¼å¼åI/Oåå¯ååæ°ã
Javaåå§äººä¹ä¸ï¼è©¹å§æ¯Â·é«æ¯æ
å¹´6æï¼å¨Java One大ä¼ä¸ï¼Sunå ¬å¸åå¸äºJava SE 6ãæ¤æ¶ï¼Javaçåç§çæ¬å·²ç»æ´åï¼å·²åæ¶å ¶ä¸çæ°å2ï¼å¦J2EEæ´å为JavaEEï¼J2SEæ´å为JavaSEï¼J2MEæ´å为JavaMEã[8]
å¹´ææ¥ï¼Javaææ¯çåæè Sunå ¬å¸å®£å¸ï¼å°Javaææ¯ä½ä¸ºå 费软件对å¤åå¸ãSunå ¬å¸æ£å¼åå¸çæå ³Javaå¹³å°æ åçç第ä¸æ¹æºä»£ç ï¼ä»¥åJavaè¿·ä½ ççå¯æ§è¡æºä»£ç ãä»å¹´3æèµ·ï¼å ¨ä¸çææçå¼å人ååå¯å¯¹Javaæºä»£ç è¿è¡ä¿®æ¹[9] ã
å¹´ï¼ç²éª¨æå ¬å¸å®£å¸æ¶è´Sun[] ãå¹´ï¼Javaç¼ç¨è¯è¨çå ±ååå§äººä¹ä¸è©¹å§æ¯Â·é«æ¯æä»Oracleå ¬å¸è¾èãå¹´ï¼ç²éª¨æå ¬å¸ä¸¾è¡äºå ¨çæ§çæ´»å¨ï¼ä»¥åºç¥Java7çæ¨åºï¼éåJava7æ£å¼åå¸ãå¹´ï¼ç²éª¨æå ¬å¸åå¸äºJava8æ£å¼ç[] ã
ç¼ç¨å¼å
ç¼ç¨ç¯å¢
Javaæ¦å¿µå¾
JDKï¼Java Development Kitï¼ç§°ä¸ºJavaå¼åå æJavaå¼åå·¥å ·ï¼æ¯ä¸ä¸ªç¼åJavaçAppletå°ç¨åºååºç¨ç¨åºçç¨åºå¼åç¯å¢ãJDKæ¯æ´ä¸ªJavaçæ ¸å¿ï¼å æ¬äºJavaè¿è¡ç¯å¢ï¼Java Runtime Environmentï¼ï¼ä¸äºJavaå·¥å ·åJavaçæ ¸å¿ç±»åºï¼Java APIï¼ãä¸è®ºä»ä¹Javaåºç¨æå¡å¨å®è´¨é½æ¯å ç½®äºæ个çæ¬çJDKã主æµçJDKæ¯Sunå ¬å¸åå¸çJDKï¼é¤äºSunä¹å¤ï¼è¿æå¾å¤å ¬å¸åç»ç»é½å¼åäºèªå·±çJDKï¼ä¾å¦ï¼IBMå ¬å¸å¼åçJDKï¼BEAå ¬å¸çJrocketï¼è¿æGNUç»ç»å¼åçJDK[] ã
å¦å¤ï¼å¯ä»¥æJava APIç±»åºä¸çJava SE APIåéåJavaèææºè¿ä¸¤é¨åç»ç§°ä¸ºJREï¼JAVA Runtime Environmentï¼ï¼JREæ¯æ¯æJavaç¨åºè¿è¡çæ åç¯å¢[] ã
JREæ¯ä¸ªè¿è¡ç¯å¢ï¼JDKæ¯ä¸ªå¼åç¯å¢ãå æ¤åJavaç¨åºçæ¶åéè¦JDKï¼èè¿è¡Javaç¨åºçæ¶åå°±éè¦JREãèJDKéé¢å·²ç»å å«äºJREï¼å æ¤åªè¦å®è£ äºJDKï¼å°±å¯ä»¥ç¼è¾Javaç¨åºï¼ä¹å¯ä»¥æ£å¸¸è¿è¡Javaç¨åºãä½ç±äºJDKå å«äºè®¸å¤ä¸è¿è¡æ å ³çå 容ï¼å ç¨ç空é´è¾å¤§ï¼å æ¤è¿è¡æ®éçJavaç¨åºæ é¡»å®è£ JDKï¼èåªéè¦å®è£ JREå³å¯[] ã
ç¼ç¨å·¥å ·
Eclipseï¼ä¸ä¸ªå¼æ¾æºä»£ç çãåºäºJavaçå¯æ©å±å¼åå¹³å°[] ã
NetBeansï¼å¼æ¾æºç çJavaéæå¼åç¯å¢ï¼éç¨äºåç§å®¢æ·æºåWebåºç¨ã
IntelliJ IDEAï¼å¨ä»£ç èªå¨æ示ã代ç åæçæ¹é¢çå ·æå¾å¥½çåè½ã[]
MyEclipseï¼ç±Genuitecå ¬å¸å¼åçä¸æ¬¾åä¸å软件ï¼æ¯åºç¨æ¯è¾å¹¿æ³çJavaåºç¨ç¨åºéæå¼åç¯å¢[] ã
EditPlusï¼å¦ææ£ç¡®é ç½®Javaçç¼è¯å¨âJavacâ以å解éå¨âJavaâåï¼å¯ç´æ¥ä½¿ç¨EditPlusç¼è¯æ§è¡Javaç¨åº[] ã
è¯è¨ç¹ç¹
1.ç®åæ§
Javaçèµ·æ¥è®¾è®¡å¾å¾åC++ï¼ä½æ¯ä¸ºäºä½¿è¯è¨å°å容æçæï¼è®¾è®¡è 们æC++è¯è¨ä¸è®¸å¤å¯ç¨çç¹å¾å»æäºï¼è¿äºç¹å¾æ¯ä¸è¬ç¨åºåå¾å°ä½¿ç¨çãä¾å¦ï¼Javaä¸æ¯ægo toè¯å¥ï¼ä»£ä¹ä»¥æä¾breakåcontinueè¯å¥ä»¥åå¼å¸¸å¤çãJavaè¿åé¤äºC++çæä½ç¬¦è¿è½½ï¼overloadï¼åå¤ç»§æ¿ç¹å¾ï¼å¹¶ä¸ä¸ä½¿ç¨ä¸»æ件ï¼å å»äºé¢å¤çç¨åºãå 为Java没æç»æï¼æ°ç»å串é½æ¯å¯¹è±¡ï¼æ以ä¸éè¦æéãJavaè½å¤èªå¨å¤ç对象çå¼ç¨åé´æ¥å¼ç¨ï¼å®ç°èªå¨çæ ç¨åå æ¶éï¼ä½¿ç¨æ·ä¸å¿ 为åå¨ç®¡çé®é¢ç¦æ¼ï¼è½æ´å¤çæ¶é´åç²¾åè±å¨ç åä¸ã
2.é¢å对象
Javaæ¯ä¸ä¸ªé¢å对象çè¯è¨ã对ç¨åºåæ¥è¯´ï¼è¿æå³çè¦æ³¨æåºä¸çæ°æ®åæ纵æ°æ®çæ¹æ³ï¼methodï¼ï¼èä¸æ¯ä¸¥æ ¼å°ç¨è¿ç¨æ¥æèãå¨ä¸ä¸ªé¢å对象çç³»ç»ä¸ï¼ç±»ï¼classï¼æ¯æ°æ®åæä½æ°æ®çæ¹æ³çéåãæ°æ®åæ¹æ³ä¸èµ·æ述对象ï¼objectï¼çç¶æåè¡ä¸ºãæ¯ä¸å¯¹è±¡æ¯å ¶ç¶æåè¡ä¸ºçå°è£ ãç±»æ¯æä¸å®ä½ç³»åå±æ¬¡å®æçï¼ä½¿å¾åç±»å¯ä»¥ä»è¶ 类继æ¿è¡ä¸ºãå¨è¿ä¸ªç±»å±æ¬¡ä½ç³»ä¸æä¸ä¸ªæ ¹ç±»ï¼å®æ¯å ·æä¸è¬è¡ä¸ºçç±»ãJavaç¨åºæ¯ç¨ç±»æ¥ç»ç»çã
Javaè¿å æ¬ä¸ä¸ªç±»çæ©å±éåï¼åå«ç»æåç§ç¨åºå ï¼Packageï¼ï¼ç¨æ·å¯ä»¥å¨èªå·±çç¨åºä¸ä½¿ç¨ãä¾å¦ï¼Javaæä¾äº§çå¾å½¢ç¨æ·æ¥å£é¨ä»¶çç±»ï¼java.awtå ï¼ï¼è¿éawtæ¯æ½è±¡çªå£å·¥å ·éï¼abstract windowing toolkitï¼ç缩åï¼å¤çè¾å ¥è¾åºçç±»ï¼java.ioå ï¼åæ¯æç½ç»åè½çç±»ï¼java.netå ï¼ã
3.åå¸æ§
Java设计ææ¯æå¨ç½ç»ä¸åºç¨ï¼å®æ¯åå¸å¼è¯è¨ãJavaæ¢æ¯æåç§å±æ¬¡çç½ç»è¿æ¥ï¼å以Socketç±»æ¯æå¯é çæµï¼streamï¼ç½ç»è¿æ¥ï¼æ以ç¨æ·å¯ä»¥äº§çåå¸å¼ç客æ·æºåæå¡å¨ã
ç½ç»åæ软件åºç¨çåå¸è¿è½½å·¥å ·ãJavaç¨åºåªè¦ç¼åä¸æ¬¡ï¼å°±å¯å°å¤è¿è¡ã
4.ç¼è¯å解éæ§
Javaç¼è¯ç¨åºçæåèç ï¼byte-codeï¼ï¼èä¸æ¯é常çæºå¨ç ãJavaåèç æä¾å¯¹ä½ç³»ç»æä¸æ§çç®æ æä»¶æ ¼å¼ï¼ä»£ç 设计æå¯ææå°ä¼ éç¨åºå°å¤ä¸ªå¹³å°ãJavaç¨åºå¯ä»¥å¨ä»»ä½å®ç°äºJava解éç¨åºåè¿è¡ç³»ç»ï¼run-time systemï¼çç³»ç»ä¸è¿è¡ã
å¨ä¸ä¸ªè§£éæ§çç¯å¢ä¸ï¼ç¨åºå¼åçæ åâé¾æ¥âé¶æ®µå¤§å¤§æ¶å¤±äºãå¦æ说Javaè¿æä¸ä¸ªé¾æ¥é¶æ®µï¼å®åªæ¯ææ°ç±»è£ è¿ç¯å¢çè¿ç¨ï¼å®æ¯å¢éå¼çãè½»é级çè¿ç¨ãå æ¤ï¼Javaæ¯æå¿«éååå容æè¯éªï¼å®å°å¯¼è´å¿«éç¨åºå¼åãè¿æ¯ä¸ä¸ªä¸ä¼ ç»çãèæ¶çâç¼è¯ãé¾æ¥åæµè¯âå½¢æé²æ对æ¯ç精巧çå¼åè¿ç¨ã
5.稳å¥æ§
Javaåæ¥æ¯ç¨ä½ç¼åæ¶è´¹ç±»å®¶ç¨çµå产å软件çè¯è¨ï¼æ以å®æ¯è¢«è®¾è®¡æåé«å¯é å稳å¥è½¯ä»¶çãJavaæ¶é¤äºæäºç¼ç¨é误ï¼ä½¿å¾ç¨å®åå¯é 软件ç¸å½å®¹æã
Java
Javaæ¯ä¸ä¸ªå¼ºç±»åè¯è¨ï¼å®å 许æ©å±ç¼è¯æ¶æ£æ¥æ½å¨ç±»åä¸å¹é é®é¢çåè½ãJavaè¦æ±æ¾å¼çæ¹æ³å£°æï¼å®ä¸æ¯æCé£æ ¼çéå¼å£°æãè¿äºä¸¥æ ¼çè¦æ±ä¿è¯ç¼è¯ç¨åºè½ææè°ç¨é误ï¼è¿å°±å¯¼è´æ´å¯é çç¨åºã
å¯é æ§æ¹é¢æéè¦çå¢å¼ºä¹ä¸æ¯Javaçåå¨æ¨¡åãJavaä¸æ¯ææéï¼å®æ¶é¤éååå¨å讹误æ°æ®çå¯è½æ§ã类似å°ï¼Javaèªå¨çâæ ç¨åå æ¶éâé¢é²åå¨æ¼æ³åå ¶å®æå ³å¨æåå¨åé å解é¤åé çæ害é误ãJava解éç¨åºä¹æ§è¡è®¸å¤è¿è¡æ¶çæ£æ¥ï¼è¯¸å¦éªè¯æææ°ç»å串访é®æ¯å¦å¨çéä¹å ã
å¼å¸¸å¤çæ¯Javaä¸ä½¿å¾ç¨åºæ´ç¨³å¥çå¦ä¸ä¸ªç¹å¾ãå¼å¸¸æ¯æç§ç±»ä¼¼äºé误çå¼å¸¸æ¡ä»¶åºç°çä¿¡å·ã使ç¨try/catch/finallyè¯å¥ï¼ç¨åºåå¯ä»¥æ¾å°åºéçå¤ç代ç ï¼è¿å°±ç®åäºåºéå¤çåæ¢å¤çä»»å¡ã
6.å®å ¨æ§
Javaçåå¨åé 模åæ¯å®é²å¾¡æ¶æ代ç ç主è¦æ¹æ³ä¹ä¸ãJava没ææéï¼æ以ç¨åºåä¸è½å¾å°éè½èµ·æ¥çå å¹å伪é æéå»æååå¨å¨ãæ´éè¦çæ¯ï¼Javaç¼è¯ç¨åºä¸å¤çåå¨å®æå³çï¼æ以ç¨åºåä¸è½éè¿æ¥ç声æå»çæµç±»çå®é åå¨å®æãç¼è¯çJava代ç ä¸çåå¨å¼ç¨å¨è¿è¡æ¶ç±Java解éç¨åºå³å®å®é åå¨å°åã
Javaè¿è¡ç³»ç»ä½¿ç¨åèç éªè¯è¿ç¨æ¥ä¿è¯è£ è½½å°ç½ç»ä¸ç代ç ä¸è¿èä»»ä½Javaè¯è¨éå¶ãè¿ä¸ªå®å ¨æºå¶é¨åå æ¬ç±»å¦ä½ä»ç½ä¸è£ è½½ãä¾å¦ï¼è£ è½½çç±»æ¯æ¾å¨åå¼çåå空é´èä¸æ¯å±é¨ç±»ï¼é¢é²æ¶æçå°åºç¨ç¨åºç¨å®èªå·±ççæ¬æ¥ä»£æ¿æ åJavaç±»ã
7.å¯ç§»æ¤æ§
Java使å¾è¯è¨å£°æä¸ä¾èµäºå®ç°çæ¹é¢ãä¾å¦ï¼Javaæ¾å¼è¯´ææ¯ä¸ªåºæ¬æ°æ®ç±»åç大å°åå®çè¿ç®è¡ä¸ºï¼è¿äºæ°æ®ç±»åç±Javaè¯æ³æè¿°ï¼ã
Javaç¯å¢æ¬èº«å¯¹æ°ç硬件平å°åæä½ç³»ç»æ¯å¯ç§»æ¤çãJavaç¼è¯ç¨åºä¹ç¨Javaç¼åï¼èJavaè¿è¡ç³»ç»ç¨ANSICè¯è¨ç¼åã
8.é«æ§è½
Javaæ¯ä¸ç§å ç¼è¯å解éçè¯è¨ï¼æ以å®ä¸å¦å ¨ç¼è¯æ§è¯è¨å¿«ãä½æ¯æäºæ åµä¸æ§è½æ¯å¾è¦ç´§çï¼ä¸ºäºæ¯æè¿äºæ åµï¼Java设计è å¶ä½äºâåæ¶âç¼è¯ç¨åºï¼å®è½å¨è¿è¡æ¶æJavaåèç ç¿»è¯æç¹å®CPUï¼ä¸å¤®å¤çå¨ï¼çæºå¨ä»£ç ï¼ä¹å°±æ¯å®ç°å ¨ç¼è¯äºã
Javaåèç æ ¼å¼è®¾è®¡æ¶èèå°è¿äºâåæ¶âç¼è¯ç¨åºçéè¦ï¼æ以çææºå¨ä»£ç çè¿ç¨ç¸å½ç®åï¼å®è½äº§çç¸å½å¥½ç代ç ã
9.å¤çº¿ç¨æ§
Javaæ¯å¤çº¿ç¨è¯è¨ï¼å®æä¾æ¯æå¤çº¿ç¨çæ§è¡ï¼ä¹ç§°ä¸ºè½»ä¾¿è¿ç¨ï¼ï¼è½å¤çä¸åä»»å¡ï¼ä½¿å ·æ线索çç¨åºè®¾è®¡å¾å®¹æãJavaçlangå æä¾ä¸ä¸ªThreadç±»ï¼å®æ¯æå¼å§çº¿ç´¢ãè¿è¡çº¿ç´¢ãåæ¢çº¿ç´¢åæ£æ¥çº¿ç´¢ç¶æçæ¹æ³ã
Javaç线索æ¯æä¹å æ¬ä¸ç»åæ¥åè¯ãè¿äºåè¯æ¯åºäºçç£ç¨åºåæ¡ä»¶åéé£èï¼ç±C.A.R.Haoreå¼åç广æ³ä½¿ç¨çåæ¥åæ¹æ¡ãç¨å ³é®è¯synchronizedï¼ç¨åºåå¯ä»¥è¯´ææäºæ¹æ³å¨ä¸ä¸ªç±»ä¸ä¸è½å¹¶åå°è¿è¡ãè¿äºæ¹æ³å¨çç£ç¨åºæ§å¶ä¹ä¸ï¼ç¡®ä¿åéç»´æå¨ä¸ä¸ªä¸è´çç¶æã
.å¨ææ§
Javaè¯è¨è®¾è®¡æéåºäºååçç¯å¢ï¼å®æ¯ä¸ä¸ªå¨æçè¯è¨ãä¾å¦ï¼Javaä¸çç±»æ¯æ ¹æ®éè¦è½½å ¥çï¼çè³æäºæ¯éè¿ç½ç»è·åçã[]
å·¥ä½åç
ç±åæ¹é¢ç»æï¼
å·¥ä½åç
ï¼1ï¼Javaç¼ç¨è¯è¨
ï¼2ï¼Javaç±»æä»¶æ ¼å¼
ï¼3ï¼Javaèææº
ï¼4ï¼Javaåºç¨ç¨åºæ¥å£[]
å½ç¼è¾å¹¶è¿è¡ä¸ä¸ªJavaç¨åºæ¶ï¼éè¦åæ¶æ¶åå°è¿åç§æ¹é¢ã使ç¨æåç¼è¾è½¯ä»¶ï¼ä¾å¦è®°äºæ¬ãååæ¿ãUltraEditçï¼æéæå¼åç¯å¢ï¼EclipseãMyEclipseçï¼å¨Javaæºæ件ä¸å®ä¹ä¸åçç±»[] ï¼éè¿è°ç¨ç±»ï¼è¿äºç±»å®ç°äºJava APIï¼ä¸çæ¹æ³æ¥è®¿é®èµæºç³»ç»ï¼ææºæ件ç¼è¯çæä¸ç§äºè¿å¶ä¸é´ç ï¼åå¨å¨classæ件ä¸ï¼ç¶ååéè¿è¿è¡ä¸æä½ç³»ç»å¹³å°ç¯å¢ç¸å¯¹åºçJavaèææºæ¥è¿è¡classæ件ï¼æ§è¡ç¼è¯äº§ççåèç ï¼è°ç¨classæ件ä¸å®ç°çæ¹æ³æ¥æ»¡è¶³ç¨åºçJava APIè°ç¨[6] ã
è¯è¨åºç¡
åºæ¬æ°æ®ç»æ
å¨Javaä¸æ8ç§æ°æ®ç±»åæ¥åå¨æ°å¼ãå符åå¸å°å¼ã
æ´æ°ç±»å
æ´æ°åç¨æ¥åå¨æ´æ°æ°å¼ï¼å³æ²¡æå°æ°é¨åçæ°å¼ãå¯ä»¥æ¯æ£æ°ï¼ä¹å¯ä»¥æ¯è´æ°ãæ´æ°æ°æ®å¨Javaç¨åºä¸æ3ç§è¡¨ç¤ºå½¢å¼ï¼åå«ä¸ºåè¿å¶ãå «è¿å¶ååå è¿å¶ã
æ´åæ°æ®æ ¹æ®å®æå å 容大å°çä¸åå¯å为4ç§ç±»åã
æ°æ®ç±»å å å
byte
8ä½
short
ä½
int
ä½
å±å¼å ¨é¨
æµ®ç¹ç±»å
æ°æ®ç±»å å å
float
ä½
double
ä½
å符类å
å符类åç¨äºåå¨å个å符ï¼å ç¨ä½ï¼ä¸¤ä¸ªåèï¼çå å空é´ãå¨å®ä¹å符ååéæ¶ï¼è¦ä»¥åå¼å·è¡¨ç¤ºã使ç¨charå ³é®åå¯å®ä¹å符åéã
æ°æ®ç±»å å å
char
ä½
å¸å°ç±»å
å¸å°ç±»åå称é»è¾ç±»åï¼éè¿å ³é®åbooleanæ¥å®ä¹å¸å°ç±»ååéï¼åªæåªætrueåfalse两个åå¼ï¼åå«ä»£è¡¨å¸å°é»è¾ä¸çâçâåâåâãå¸å°ç±»åé常被ç¨å¨æµç¨æ§å¶ä¸ä½ä¸ºå¤ææ¡ä»¶ã
å ³é®å
å ³é®å å«ä¹
abstract
æ½è±¡ç±»ææ¹æ³
assert
ç¨æ¥æ¥æ¾å é¨ç¨åºé误
break
è·³åºä¸ä¸ªswitchæ循ç¯
å±å¼å ¨é¨
å ³é®ååèèµææ¥æº[]
è¿ç®ç¬¦
è¿ç®ç¬¦æ¯ä¸äºç¹æ®ç符å·ï¼ä¸»è¦ç¨äºæ°å¦å½æ°ãä¸äºç±»åçèµå¼è¯å¥åé»è¾æ¯è¾æ¹é¢ã
èµå¼è¿ç®ç¬¦
èµå¼è¿ç®ç¬¦ä»¥ç¬¦å·â=â表示ï¼å®æ¯ä¸ä¸ªäºå è¿ç®ç¬¦ï¼å¯¹ä¸¤ä¸ªæä½æ°ä½å¤çï¼ï¼å ¶åè½æ¯å°å³æ¹æä½æ°æå«çå¼èµç»å·¦æ¹çæä½æ°ã
ä¾å¦ï¼
int a = ;
ç®æ¯è¿ç®ç¬¦
è¿ç®ç¬¦ 说æ
+
å
-
å
*
ä¹
å±å¼å ¨é¨
èªå¢åèªåè¿ç®ç¬¦
èªå¢åèªåæ¯åç®è¿ç®ç¬¦ï¼å¯ä»¥æ¾å¨æä½å ä¹åï¼ä¹å¯ä»¥æ¾å¨æä½å ä¹åãæä½å å¿ é¡»æ¯ä¸ä¸ªæ´åææµ®ç¹ååéãèªå¢ãèªåè¿ç®ç¬¦çä½ç¨æ¯ä½¿åéçå¼å¢1æå1ãæ¾å¨æä½å åé¢çèªå¢ãèªåè¿ç®ç¬¦ï¼ä¼å å°åéçå¼å 1æå1ï¼ç¶åå使该åéåä¸è¡¨è¾¾å¼çè¿ç®ãæ¾å¨æä½å åé¢çèªå¢ãèªåè¿ç®ç¬¦ï¼ä¼å 使åéåä¸è¡¨è¾¾å¼çè¿ç®ï¼ç¶ååå°è¯¥åéçå¼å 1æå1ã
ä¾å¦ï¼
å设a=5
b=++a;//å å°açå¼å 1ï¼ç¶åèµå¼ç»bï¼æ¤æ¶açå¼ä¸º6ï¼bçå¼ä¸º6
b=a++;//å å°açå¼èµå¼ç»bï¼åå°açå¼å为6ï¼æ¤æ¶açå¼ä¸º6ï¼bçå¼ä¸º5
æ¯è¾è¿ç®ç¬¦
æ¯è¾è¿ç®ç¬¦å±äºäºå è¿ç®ç¬¦ï¼ç¨äºç¨åºä¸çåéä¹é´ï¼åéåèªåéä¹é´ä»¥åå ¶ä»ç±»åçä¿¡æ¯ä¹é´çæ¯è¾ãæ¯è¾è¿ç®ç¬¦çè¿ç®ç»ææ¯booleanåãå½è¿ç®ç¬¦å¯¹åºçå ³ç³»æç«æ¶ï¼è¿ç®çç»æ为trueï¼å¦å为falseãæ¯è¾è¿ç®ç¬¦å ±æ6个ï¼é常ä½ä¸ºå¤æçä¾æ®ç¨äºæ¡ä»¶è¯å¥ä¸ã
è¿ç®ç¬¦ 说æ
>
æ¯è¾å·¦æ¹æ¯å¦å¤§äºå³æ¹
<
æ¯è¾å·¦æ¹æ¯å¦å°äºå³æ¹
==
æ¯è¾å·¦æ¹æ¯å¦çäºå³æ¹
å±å¼å ¨é¨
é»è¾è¿ç®ç¬¦
è¿ç®ç¬¦ ä½ç¨
&&
é»è¾ä¸
||
é»è¾æ
ï¼
é»è¾é
è¯è¨åºç¡åèèµææ¥æº[]
ç¨åºä¸¾ä¾
/*ä¸ä¸ªç®åçJavaåºç¨ç¨åºï¼æ¾ç¤ºå 容ï¼Hello World!
æ件å为Helloï¼java*/
class Hello{
//ç¨åºå¼å§äºmain()
public static void main(String args[]){
System.out.println("Hello World!")ï¼
}
}
mainæ¹æ³ï¼æ£å¦æ³¨éæ说ï¼è¿æ¯ç¨åºå¼å§æ§è¡ç第ä¸è¡ã对äºä¸ä¸ªJavaåºç¨ç¨åºæ¥è¯´ï¼mainæ¹æ³æ¯å¿ éçï¼Java解éå¨å¨æ²¡æçæä»»ä½å¯¹è±¡çæ åµä¸ï¼ä»¥mainä½ä¸ºå ¥å£æ¥æ§è¡ç¨åºãæ¯ä¸ªç±»ä¸å¯ä»¥å®ä¹å¤ä¸ªæ¹æ³ï¼ä½mainæ¹æ³åªè½æä¸ä¸ªãå ³é®åpublic表示访é®æéï¼ææææçç±»é½å¯ä»¥ä½¿ç¨è¿ä¸æ¹æ³ãæ¬ä¾ä¸ï¼mainå¿ é¡»è¢«å®ä¹ä¸ºpublicç±»åï¼å 为å½ç¨åºå¼å§æ§è¡æ¶å®éè¦è¢«å®çç±»ä¹å¤ç代ç è°ç¨ãå ³é®åstaticææ该æ¹æ³æ¯ä¸ä¸ªç±»æ¹æ³ãå ³é®åvoidææmain()æ¹æ³ä¸è¿åä»»ä½å¼ãmainæ¹æ³åæ¬å·ä¸å®ä¹çString args[]æ¯ä¼ éç»mainæ¹æ³çåæ°ï¼åæ°å为argsï¼å®æ¯ç±»Stringçä¸ä¸ªå¯¹è±¡ãæ¹æ³çåæ°ç¨âç±»ååæ°åâæ¥æå®ï¼å¤ä¸ªåæ°é´ç¨éå·åéã该è¡çæåä¸ä¸ªå符æ¯â{ âï¼å®è¡¨ç¤ºäºmainç¨åºä½çå¼å§ï¼ä¸ä¸ªæ¹æ³ä¸å å«çææ代ç é½å°å æ¬å¨è¿å¯¹è±æ¬å·ä¸é´ãå¦å¤ï¼mainä» æ¯è§£éå¨å¼å§å·¥ä½çå°æ¹ï¼ä¸ä¸ªå¤æçç¨åºå¯è½å å«å å个类ï¼ä½è¿äºç±»ä» éè¦ä¸ä¸ªmainæ¹æ³ã[]
è¯è¨æ å
å¹´ææ¥ï¼å½é æ ååç»ç»ï¼ISOï¼åæé纳Sunå ¬å¸çä¸å©ææ¯ââJavaä½ä¸ºISOæ åãJAVAä½ä¸ºä¸ä¸ªææ¯æ åä¾å ¬ä¼æ å¿ä½¿ç¨ãæ ¹æ®ISOçæ¹åï¼Sunå ¬å¸å°å¯æ交JAVAçæ ååå¹³å°è§èã[]
åå¸æ¶é´ å称
å¹´ææ¥
ISO/TS -:
å¹´5ææ¥
ISO/IEC -2:
å¹´7ææ¥
ISO/IEC TR -6:
å±å¼å ¨é¨
è¯è¨æ ååèèµæ[] [] [] [] []
è¯è¨è§è
JCPï¼Java Community Processï¼æ¯ä¸ä¸ªå¼æ¾çå½é ç»ç»ï¼ä¸»è¦ç±Javaå¼åè 以å被ææè ç»æï¼èè½æ¯åå±åæ´æ°Javaææ¯è§èãåèå®ç°ï¼RIï¼ãææ¯å ¼å®¹å ï¼TCKï¼ã
JCPç»´æ¤çè§èå æ¬Java MEãJava SEãJava EEãXMLãOSSãJAINçãç»ç»æåå¯ä»¥æ交JSRï¼Java Specification Requestsï¼ï¼éè¿ç¹å®ç¨åºä»¥åï¼è¿å ¥å°ä¸ä¸çæ¬çè§èéé¢ã
JSRæ¯æ©ææè®®åæç»åå¸çJavaå¹³å°è§èçå ·ä½æè¿°ãé常ï¼ä¸ä¸ªæ°çJSRçæåºæ¯ä¸ºäºå¢å æè è§èJavaå¹³å°çåè½ãæä¸ªå ·ä½çJSRç±ä¸å®¶ç»å ±åæ¥å¶å®ï¼å·¥ä½ç±ç»é¿åè°ãä¾å¦ï¼CLDC1.0ï¼Connected Limited Device Configurationï¼JSRï¼ç±Sunå ¬å¸çAntero Taivalsaariæ ä»»ç»é¿ï¼åæ¶ä¸å®¶ç»çæåè¿å æ¬SiemensãMotorolaãNokiaãSymbiançãJava MEå¹³å°è§èæ¯å¨JSRä¸å®ä¹çï¼è§èç»é¿æ¯Sunå ¬å¸çJon Courtneyã
JSRå®æåï¼ç¸å ³çè§èåJavaAPIä¼å¨JCPçå®æ¹ç½ç«åå¸ã设å¤å¶é åå¯ä»¥å¨èªå·±ç产åä¸å®ç°æ个JSRï¼å¦MIDP2.0ï¼JSRll8ï¼ãä½æ¯è¿äºé½å¿ é¡»è¦éè¿TCKï¼Technology Compatibility Kitï¼æµè¯ä»¥ç¡®ä¿ææ¯å ¼å®¹æ§ã[]
æç §ææ¯ç±»å«å¯ä»¥åæ以ä¸å ç±»ï¼
1ãJ2EEå¹³å°è§è[]
2ãJ2SEå¹³å°è§è[]
3ãJ2MEå¹³å°è§è[]
4ãè¿è¥æ¯æç³»ç»è§èï¼OSSï¼[]
5ã综åç½ç»çJava åºç¨ï¼JAINï¼[]
6ãXML æä½è§è[]
ææ¯åºç¨
1ãAndroidåºç¨
许å¤ç Androidåºç¨é½æ¯Javaç¨åºåå¼åè å¼åãè½ç¶ Androidè¿ç¨äºä¸åçJVM以åä¸åçå°è£ æ¹å¼ï¼ä½æ¯ä»£ç è¿æ¯ç¨Javaè¯è¨æç¼åãç¸å½ä¸é¨åçææºä¸é½æ¯æJAVA游æï¼è¿å°±ä½¿å¾å¤éç¼ç¨äººåé½è®¤è¯äºJAVAã
2ãå¨éèä¸åºç¨çæå¡å¨ç¨åº
Javaå¨éèæå¡ä¸çåºç¨é常广æ³ï¼å¾å¤ç¬¬ä¸æ¹äº¤æç³»ç»ãé¶è¡ãéèæºæé½éæ©ç¨Javaå¼åï¼å 为ç¸å¯¹èè¨ï¼Javaè¾å®å ¨[] ã大åè·¨å½æèµé¶è¡ç¨Javaæ¥ç¼ååå°ååå°ççµå交æç³»ç»ï¼ç»ç®å确认系ç»ï¼æ°æ®å¤ç项ç®ä»¥åå ¶ä»é¡¹ç®ã大å¤æ°æ åµä¸ï¼Java被ç¨å¨æå¡å¨ç«¯å¼åï¼ä½å¤æ°æ²¡æä»»ä½å端ï¼å®ä»¬é常æ¯ä»ä¸ä¸ªæå¡å¨ï¼ä¸ä¸çº§ï¼æ¥æ¶æ°æ®ï¼å¤çåååå¦ä¸ä¸ªå¤çç³»ç»ï¼ä¸ä¸çº§å¤çï¼ã
3ãç½ç«
Java å¨çµååå¡é¢å以åç½ç«å¼åé¢åå æ®äºä¸å®çå¸ä½ãå¼å人åå¯ä»¥è¿ç¨è®¸å¤ä¸åçæ¡æ¶æ¥å建web项ç®ï¼SpringMVCï¼Struts2.0以åframeworksãå³ä½¿æ¯ç®åç servletï¼jspå以struts为åºç¡çç½ç«å¨æ¿åºé¡¹ç®ä¸ä¹ç»å¸¸è¢«ç¨å°ãä¾å¦å»çææ¤ãä¿é©ãæè²ãå½é²ä»¥åå ¶ä»çä¸åé¨é¨ç½ç«é½æ¯ä»¥Java为åºç¡æ¥å¼åçã
4ãåµå ¥å¼é¢å
Javaå¨åµå ¥å¼é¢ååå±ç©ºé´å¾å¤§ãå¨è¿ä¸ªå¹³å°ä¸ï¼åªéKBå°±è½å¤ä½¿ç¨Javaææ¯ï¼å¨æºè½å¡æè ä¼ æå¨ä¸ï¼ã
5ã大æ°æ®ææ¯
Hadoop以åå ¶ä»å¤§æ°æ®å¤çææ¯å¾å¤é½æ¯ç¨Javaï¼ä¾å¦ApacheçåºäºJavaçHBaseåAccumulo以å ElasticSearchasã
6ãé«é¢äº¤æç空é´
Javaå¹³å°æé«äºè¿ä¸ªå¹³å°çç¹æ§åå³ä½¿ç¼è¯ï¼ä»åæ¶ä¹è½å¤å C++ ä¸æ ·ä¼ éæ°æ®ãæ£æ¯ç±äºè¿ä¸ªåå ï¼Javaæ为çç¨åºåç¼å交æå¹³å°çè¯è¨ï¼å 为è½ç¶æ§è½ä¸æ¯C++ï¼ä½å¼å人åå¯ä»¥é¿å¼å®å ¨æ§ï¼å¯ç§»æ¤æ§åå¯ç»´æ¤æ§çé®é¢ã
7ãç§å¦åºç¨
Javaå¨ç§å¦åºç¨ä¸æ¯å¾å¥½éæ©ï¼å æ¬èªç¶è¯è¨å¤çãæ主è¦çåå æ¯å 为Javaæ¯C++æè å ¶ä»è¯è¨ç¸å¯¹å ¶å®å ¨æ§ã便æºæ§ãå¯ç»´æ¤æ§ä»¥åå ¶ä»é«çº§è¯è¨ç并åæ§æ´å¥½ã
Javaè¯è¨å¥½å¦é¾ç²¾ï¼é ç½®ä¸è¥¿æ¯è¾å¤æ
java开发需要学习什么
java开发需要学习的内容有:
初级部分
Java OO程序设计基础,包括 J2sdk基础、Java面向对象基础、Java API使用、数据结构及算法基础、Java AWT图形界面程序开发;
J2SE平台Java程序设计,包括Swing图形程序设计, Socket网络应用程序设计,对象序列化,Java 常用数据结构,Applet,流和文件,多线程程序设计;
Java桌面系统项目开发,4~5人组成一个项目组,项目大小为(人*工作日);
Linux的基本操作,Linux下的Java程序开发,Linux系统的简单管理;
Oracle数据库,包括SQL/PLSQL;数据库和数据库设计;简单掌握ORACLE9i 数据库的管理;
中级部分
Java Web应用编程,包括 Java Oracle 编程,即JDBC;Java Web编程,包括JSP、Servlet,JavaBean;Java应用编程,包括Weblogic、Websphere、Tomcat;以及利用Jbuilder开发Java程序;
MVC与Struts,学习业界通用的MVC设计模式和Struts架构;
Java B/S商务项目开发,4~5人一个项目组,项目大小为(人*工作日左右)
高级部分
J2ME程序设计,包括J2EE程序、J2ME;Java高级程序设计(J2EE),包括J2EE体系结构和J2EE技术、EJB;Weblogic使用、 JBuilder开发;
Java和XML,包括Java Web Service,Java XML, 业界主流XML解析器程序设计;
软件企业规范和软件工程,包括UML系统建模型和设计(Rational Rose x)软件工程和业界开发规范;CVS版本控制、Java Code书写规范;
J2EE商务应用系统项目开发,4~5人一个项目组,项目大小为(人*工作日左右)
……………………………………………………………………………………………………
看你问的问题,应该是对java很感兴趣,其实你可以自学java。关于如何学习java,我刚才看到一篇很不错的文章,是一个农民工介绍自己如何自学java,并找到Java的工作,里面介绍了他的学习方法和学习过程,希望对你有帮助。
我是一名地地道道的农民工,生活在经济落后的农村,有一个哥哥和一个弟弟,父母都是地道的农民,日出而作,日落而息,我从小到大学习一直很好,从小学到高一都,成绩在全级一直名列前茅,这样我也顺利了考上省的重点高中,然而,每个学期开学是家里最为难的时候,每次交学费都让父母发愁许久,家里为了给我筹钱读书,都借了不少钱,才让我读上高中。我知道我读到高中家里已经欠了好多债,为了减轻家里的负担,我选择了退学。
年我高一退学,为了给家里还债,干过建筑工地的小工,搞过塑料制品加工,送水工等等。很工资都很低,一个月也就多,加上加班费一个月能拿多一点,我每个月都向家里寄回-元,到了年末,一次偶然的机会我接触了Java,听说Java的前景挺不错,工资相对于我一个农民工来说简直是天文数字,于是我在新华书店买了几本Java的书,尽管白天辛苦工作,晚上回来还是坚持看书,但有于基础太差很多都很不明白,但还是坚持看,一有看1-2个小时Java的书,看着看着许多基础都慢慢的学会了,但那些比较难的还是看不懂,后来还买了有些关于框架的书,还是看不懂,这样断断续续的持续了半年多,觉得自己Java的基础都差不多懂了,但框架还是看不懂,还有最缺的项目经验,看了很多招聘Java程序员的简介都要项目经验,相对我一个农民工来连框架都弄不明白,想找一份Java工作对我来说简直是奢侈。我只想学Java,并不敢想以后能从事Java的工作。
有一次,在百度上看到一篇让我很鼓舞的文章,是一个Java高手介绍在没有基础的朋友怎么自学入门Java,文章写的很好,包含了如何学习,该怎么学习,他提到一个方法就是看视频,因为看书实在太枯燥和费解的,不少是我们也看不懂,这点我真的很认同,我自己看书都看了很久才学会基础。曾经有想过参加培训,但是上万元的培训费让我望而却步,我工资这么低,每个月还有向家里汇钱,加上城市消费比较高,虽然每个月只有几百剩下,但是相对于上万万学费和四个月的吃住费用逼我连想不敢想。 于是我决定看视频,我就去搜索Java的视频,虽然我零星的找到一些Java的视频,但是都不系统。最重要连项目都没有。后来我找到一份很好的视频,是IT学习联盟这个网站一套视频叫<<零基础Java就业班>>的教程还不错,很完整。还赠送个顶级企业项目。价格很合理,于是我买下来。
于是开始了我的自学Java的路,收到光盘后,我就开始学习,刚开始学习还不错,是从零基础教起,老师幽默风趣而又轻松的课堂教课,使我发现原来学习JAVA并不是一件很难的事情。因为我本来基础还不错,前面的基础看一篇我就过去了,到了框架,我觉不又不是很难,可能老师太牛了,他能把复杂的问题讲的比较通俗易懂,有些难点的地方我还是连续看了五六次,把他弄懂。每天下午6点下班后,吃了饭,马上跑回家。看视频,买了几本笔记本。当时,为了编程还花几百元了台二手的台式电脑,配置一般,但编程是足够的。一边看视频,一边记笔记,把重点都记下来,还一边跟着老师敲代码,为了能尽早学会Java。每天都坚持学5-6个小时。经常学到晚上一点多才睡觉。星期六,日不用上班,每天7点多起床,学到晚上,点。那段时间特别辛苦,特别累。在学习Java的三个多月里,除了吃饭睡觉工作,剩余的时间都在学习,因为我知道自己的计算机基础不是很好,也没有学过什么计算机,只是学了些Java基础,相对于那些科班的人来说我要比他们付出更多的努力。我只能咬紧牙关,坚持下去,我不能放弃,我要完成我的梦想,我要让我的家人过上好日子。终于三个多月后我把Java教程里的内容和项目都学完了,在学项目的过程中我发现项目特别重要,他能把你学过的知识全部联系起来,能更好的理解你所学的知识。还有学习过程中,动手很重要,要经常跟着老师动手敲,动手吧,跟着做,一行一行的跟着敲,再试着加一些自己的功能,按照自己的思路敲一些代码,收获远比干听大的多。 如果遇到暂时对于一些思路不能理解的,动手写,先写代码,慢慢你就会懂了。这套视频还赠送了个顶级企业项目,对于我没有任何经验的人来说,这个太重要了,还有在学习项目是提升能力最快的方法。项目能把所有的知识点全都连到一起了,不再是分散的,而是形成一个整体了。那种感觉是仅仅深入钻研知识点而不写真实项目的人所不能体会的。一个项目就是一根绳子可以把大片的知识串到一起。 就这样,我用了两个月也把项目给学完了。其实学完教程差不错就达到就业水平,但是我可能觉得自己学历低还是把那个顶级企业项目才去找工作。
接着我就到job疯狂的投简历,因为我的学历问题,初中毕业,说真的,大公司没有人会要我。所以我头的都是民营的小公司,我希望自己的努力有所回报。没有想过几天后,就有面试了,但是第一次面试我失败了,虽然我自认为笔试很好,因为我之前做了准备,但是他们的要求比价严格,需要有一年的项目经验,所以我没有被选中。 后来陆续面试了几加公司,终于功夫不负有心人,我终于面试上了一家民营的企业。公司规模比较小,我的职务是Java程序员。我想我比较幸运,经理看中我的努力,就决定吕勇我,开的工资是一个月,虽然我知道在北京只能过温饱的生化,但是我想我足够了,比起以前的工资好了些,以后可以多寄些钱回家。我想只要我继续努力。我工资一定会翻倍的。 把本文写出来,希望能让和我一样的没有基础的朋友有信心,其实我们没有自卑,我们不比别人笨,只有我们肯努力,我们一样会成功。
……………………………………………………………………
希望我的答案能帮助你。
javaä¹ç¶ï¼
åªäºåæ家æ¯å æ¿å¤§äºº
æ马æ¯Â·é¿å°ç¦Â·ç±è¿ªçï¼ThomasAlvaEdisonï¼å¹´2ææ¥âå¹´ææ¥ï¼ï¼åºçäºç¾å½ä¿äº¥ä¿å·ç±³å °éï¼éä¸äºç¾å½æ°æ³½è¥¿å·è¥¿å¥¥å °æ²»ãåæ家ãä¼ä¸å®¶ã
èä¸ï¼åæ家å½ç±ï¼ç¾å½äººå æ¿å¤§äººèæ ¼å °äººä¸ºä»ä¹åºåï¼å½åäºåæäºç¬¬ä¸é¨å®ç¨çµè¯ãç¶èï¼ä»è®¤ä¸ºä»æèåçåææ¯å¯¹ä»ä½ä¸ºä¸åç§å¦å®¶ççå®å·¥ä½çä¾µç¯ï¼å¹¶æç»å¨ä»çç 究ä¸ä½¿ç¨çµè¯ã
å æ¿å¤§åæ家费森ç»ãå¹´ææ¥ï¼è´¹æ£®ç»å¨é©¬è¨è¯¸å¡å·çå¸å °ç¹ç½å éçå½å®¶çµå¨å ¬å¸ç±³é«çæ 线çµå¡ä¸è¿è¡äºä¸æ¬¡å¹¿æã广æçèç®æ主è¦çå°±æ¯è¯»ãå£ç»ãæå ³ä¸»è¶ç¨£åºç£éççæ äºã
å¹´è´å°ç§»æ°å°å æ¿å¤§ï¼ä¸å¹´åå°ç¾å½ãå¹´å å ¥ç¾å½å½ç±ãå æ¿å¤§è´å°ç主è¦æå°±æ¯åæäºçµè¯ãå¹´1æ1æ¥ï¼AT&Tï¼ç¾å½çµè¯çµæ¥å ¬å¸ï¼ä¸WesternElectricå ¬å¸çå·¥ç¨ç 究å¼åé¨å并ï¼æç«äºè´å°å®éªå®¤ã
äºåå±±å¤§Â·æ ¼é·åå§Â·è´å°ï¼-ï¼ç¾å½(è±å½è£)åæ家åä¼ä¸å®¶ãä»åæäºä¸çä¸ç¬¬ä¸å°å¯ç¨ççµè¯æºï¼å建äºè´å°çµè¯å ¬å¸ã被ä¸çèªä¸ºâçµè¯ä¹ç¶âãè´å°å¹´3æ3æ¥åºçå¨è±å½èæ ¼å °çç±ä¸å ¡ï¼å¹¶å¨é£éæ¥ååçæè²ã
äºåå±±å¤§Â·æ ¼ææ±å§Â·è´å°äºåå±±å¤§Â·æ ¼ææ±å§Â·è´å°ï¼è±è¯ï¼AlexanderGrahamBellï¼å¹´3æ3æ¥ï¼å¹´8æ2æ¥ï¼ï¼å æ¿å¤§åæ家åä¼ä¸å®¶ã
javaæ¯åªä¸ªå ¬å¸ç?è°å¼åç?
1ãjavaæ¯sunå ¬å¸çï¼å被ç²éª¨æ以ç°éæ¶è´Sun微系ç»å ¬å¸ãç²éª¨æå ¬å¸ï¼å ¨ç§°ç²éª¨æè¡ä»½æéå ¬å¸(ç²éª¨æ软件系ç»æéå ¬å¸)ï¼æ¯å ¨çæ大çä¼ä¸çº§è½¯ä»¶å ¬å¸ï¼æ»é¨ä½äºç¾å½å å©ç¦å°¼äºå·ç红æ¨æ»©ãå¹´æ£å¼è¿å ¥ä¸å½å¸åºã
2ãjavaæ¯ä¸ç§å¯ä»¥æ°å跨平å°åºç¨è½¯ä»¶çé¢å对象çç¨åºè®¾è®¡è¯è¨ï¼æ¯ç±SunMicrosystemså ¬å¸äºå¹´5ææ¨åºçJavaç¨åºè®¾è®¡è¯è¨åJavaå¹³å°ï¼å³JavaEE(j2ee)ï¼JavaME(j2me)ï¼JavaSE(j2se)ï¼çæ»ç§°ã
3ã詹å§æ¯Â·é«æ¯æï¼å¹´5ææ¥åºçäºå æ¿å¤§ï¼Javaç¼ç¨è¯è¨çå ±ååå§äººä¹ä¸ï¼ä¸è¬å ¬è®¤ä»ä¸ºâJavaä¹ç¶âãå¹´è·å¾äºå æ¿å¤§å¡å°å é大å¦è®¡ç®æºç§å¦å¦å£«å¦ä½ï¼å¹´è·å¾äºç¾å½å¡å åºæ¢ é大å¦è®¡ç®æºç§å¦å士å¦ä½ã
4ãjavaæ¯sunå ¬å¸å¼åçï¼äºå¹´5ææ¨åºçãå¹´ææ¥ï¼ç²éª¨æ亿ç¾å æ¶è´Sunãåå¾javaççæã
5ã交äºæä½å¼åäºä¸ä¸ªOakï¼ä¸ç§æ©¡æ çååï¼è½¯ä»¶ï¼ä»æ¯Javaçå身ã
javaä¹ç¶ä¸ºä»ä¹ä»è°·æ离èâä»è¡¨ç¤ºï¼å¨æ¶è´Sunçæ©æé¶æ®µï¼ç²éª¨æ就表示åºè¦åè°·æå±å¼æ³å¾äº¤éçææ¿ãä»æ¬äººä¹æ¾æ¹è¯Androidå¸åºä¸çç¢çåç°è±¡å¤ªè¿ä¸¥éï¼è¶³ä»¥å½±å软件å¼åè çå·¥ä½ã
为ä»ä¹è¿ä¹è®²ï¼javaä¸æ¯è°·æçãä½æ¥æå¼ã
詹å§æ¯Â·é«æ¯æã詹å§æ¯Â·é«æ¯æï¼JamesGoslingï¼æ¯ä¸å软件ä¸å®¶ï¼å¹´5ææ¥åºçäºå æ¿å¤§ï¼Javaç¼ç¨è¯è¨çå ±ååå§äººä¹ä¸ï¼ä¸è¬å ¬è®¤ä»ä¸ºâJavaä¹ç¶âã
Javaè¯è¨å ·æé¢å对象ã跨平å°ãå®å ¨æ§ãå¤çº¿ç¨çç¹ç¹ï¼è¿ä½¿å¾javaæ为许å¤åºç¨ç³»ç»ççæ³å¼åè¯è¨ã
å¹´5ææ¥åºçäºå æ¿å¤§ï¼Javaç¼ç¨è¯è¨çå ±ååå§äººä¹ä¸ï¼ä¸è¬å ¬è®¤ä»ä¸ºâJavaä¹ç¶âãå¹´è·å¾äºå æ¿å¤§å¡å°å é大å¦è®¡ç®æºç§å¦å¦å£«å¦ä½ï¼å¹´è·å¾äºç¾å½å¡å åºæ¢ é大å¦è®¡ç®æºç§å¦å士å¦ä½ã
ç¾åä¹ä¹åä¹çå¤§äº§å ¬å¸é½å¨ä½¿ç¨å®ææ¢æçç¼ç¨è¯è¨ä»æªè¢«è¶ è¶?_ç¾åº¦...1ãJavaä¹ç¶JamesGoslingæJava说ææ¯èé¢çç¼ç¨è¯è¨ï¼æææ¯è¯´ï¼Javaæ¯å¸®å©å¼åè å®æä»»å¡çä¸ä¸ªå©å¨ãå¨è¿æ¹é¢ï¼Javaæ çæ¯æåçï¼èè¿ä¸å离ä¸å¼å ¶èªèº«æå ·æçä¼å¿ï¼ç®åæ§æ¯c++è¯æ³ç纯åçã
2ãjavaæ¹é¢ï¼ç°å¨å½å¤å ä¹ææ大å¦ç计ç®æºææé½éç¨javaï¼èä¸ï¼jvmå ·æé常强大ç跨平å°æ§ï¼å¯ç§»æ¤æ§é«ï¼ä½ä¸ºå¼æºå·¨å¤´ââsunå ¬å¸æå¼ååºçè¯è¨ï¼æçé常大çæ½åï¼æ¯ä¸ç§ç°å¸¸æµè¡çè¯è¨ã
3ãJavaç¼ç¨è¯è¨å¨æ°æ®ééãæ°æ®æ¸ æ´ãæ°æ®åå¨åæ°æ®æ¥è¯¢é½æé常åºè²ç表ç°ï¼ä¸æ¤åæ¶ç±äºJavaåæ¬å¨å½å äºèç½é¢åçå¸åºä»½é¢è¾å¤§ï¼å¾å¤ä¼ä¸åºç¨çè¿ä»£å级ä¹æ¯åºäºåæçJavaç³»ç»ä¹ä¸ã
4ãCå¯ä»¥åæä½ç³»ç»ï¼C#å¯ä»¥åæ´å¤æçåºç¨ç¨åºã
Eclipseè¿è¯æ¯ä»ä¹ææ?为ä»ä¹è¦åå为è¿ä¸ªåå?Sunä¹ç¶æ¯è°?javaæ¯ç±sunå¼åçï¼IBMæ³è¦å代sunæ为javaè¯è¨ç主宰ï¼eclipseæ¯æ¥èå°±æ¯è¦é®è½sunçå è.Eclipseæ¯ä¸ä¸ªå¼æ¾æºä»£ç çãåºäºJavaçå¯æ©å±å¼åå¹³å°ãå°±å ¶æ¬èº«èè¨ï¼å®åªæ¯ä¸ä¸ªæ¡æ¶åä¸ç»æå¡ï¼ç¨äºéè¿æ件ç»ä»¶æ建å¼åç¯å¢ã
å ¶å®è¿ä¸ªåï¼è¯´èµ·æ¥ä¹è¿æ¯æç¹æ¸æºçãæ软件ç人大æ¦é½ç¥éç°å¨è½¯ä»¶è¡ä¸å大çæ3巨头ï¼å¾®è½¯ãIBMãåSUNå ¬å¸ã
ä¹å¯ä»¥æ¯æC++ãå¦æä½ æ¯é®eclipseè±æåè¯æ¯ä»ä¹ææï¼å¯ä»¥åèå¦ä¸ï¼å¤©ä½çé¨åæå ¨é¨åå ¶å®å¤©ä½çé®æ©èåå¾æ¦æâï¼æ们å¯ä»¥å°å ¶å¼ç³ä¸ºâ使黯ç¶å¤±è²âãæ¯å¦åçæ¥é£å«åsolareclipseï¼æé£å«ålunareclipseã
Eclipseæ¯ä¸ä¸ªå¼æ¾æºä»£ç çãåºäºJavaçå¯æ©å±å¼åå¹³å°ãå°±å ¶æ¬èº«èè¨ï¼å®åªæ¯ä¸ä¸ªæ¡æ¶åä¸ç»æå¡ï¼ç¨äºéè¿æ件ç»ä»¶æ建å¼åç¯å¢ã