了解下JAVA的数组
在ruby里才是一切皆对象。当然我不并不是很了解ruby,但是ruby确实是将语法简化得很好。对数组的年夜多半需要的先容已在第4章的最初一节举行。经由过程那边的进修,人人已晓得本人该怎样界说及初始化一个数组。对象的包容是本章的重点,而数组只是包容对象的一种体例。但因为另有其他大批办法可包容数组,以是是哪些中央使数组显得云云出格呢?
有两方面的成绩将数组与其他汇合范例辨别开来:效力和范例。关于Java来讲,为保留和会见一系列对象(实践是对象的句柄)数组,最无效的办法莫过于数组。数组实践代表一个复杂的线性序列,它使得元素的会见速率十分快,但我们却要为这类速率支付价值:创立一个数组对象时,它的巨细是流动的,并且不成在谁人数组对象的“存在工夫”内产生改动。可创立特定巨细的一个数组,然后假设用光了存储空间,就再创立一个新数组,将一切句柄从旧数组移到新数组。这属于“矢量”(Vector)类的举动,本章稍后还会具体会商它。但是,因为为这类巨细的天真性要支付较年夜的价值,以是我们以为矢量的效力并没无数组高。
C++的矢量类晓得本人包容的是甚么范例的对象,但同Java的数组比拟,它却有一个分明的弱点:C++矢量类的operator[]不克不及举行局限反省,以是很简单超越界限(但是,它能够查询vector有多年夜,并且at()办法的确能举行局限反省)。在Java中,不管利用的是数组仍是汇合,城市举行局限反省——若凌驾界限,就会取得一个RuntimeException(运转期背例)毛病。正如人人在第9章会学到的那样,这类背例指出的是一个程序员毛病,以是不必要在代码中反省它。在另外一方面,因为C++的vector不举行局限反省,以是会见速率较快——在Java中,因为对数组和汇合都要举行局限反省,以是对功能有必定的影响。
本章还要进修别的几种罕见的汇合类:Vector(矢量)、Stack(仓库)和Hashtable(散列表)。这些类都触及对对象的处置——好象它们没有特定的范例。换言之,它们将其看成Object范例处置(Object范例是Java中一切类的“根”类)。从某个角度看,这类处置办法长短常公道的:我们仅需构建一个汇合,然前任何Java对象都能够进进谁人汇合(除基础数据范例外——可用Java的基础范例封装类将其作为常数置进汇合,大概将其封装到本人的类内,作为能够变更的值利用)。这再一次反应了数组优于惯例汇合:创立一个数组时,可令其包容一种特定的范例。这意味着可举行编译期范例反省,防备本人设置了毛病的范例,大概毛病指定了筹办提取的范例。固然,在编译期大概运转期,Java会避免我们将不妥的动静发给一个对象。以是我们不用思索本人的哪一种做法加倍伤害,只需编译器能实时地指堕落误,同时在运转时代加速速率,目标也就到达了。别的,用户很少会对一次背例事务感应十分惊奇的。
思索到实行效力和范例反省,应尽量地接纳数组。但是,当我们试图办理一个更惯例的成绩时,数组的范围也大概显得十分分明。在研讨过数组今后,本章残剩的部分将把重点放到Java供应的汇合类身上。
最后就是我对java的几点希望:首先是IDE工具,有人说java已经很好了,有jbuilder,eclipse,net网页编程Beans等等,但是我认为如果java想超越.net网页编程,那么他首先要解决的就是IDE工具的整合。 Java 编程语言的风格十分接近C、C++语言。 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading) 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 是一种使网页(Web Page)产生生动活泼画面的语言 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 Java是一种计算机编程语言,拥有跨平台、面向对java 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢? 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 是一种突破用户端机器环境和CPU 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
页:
[1]