Think in java第一周

来源:互联网 发布:java获取服务器端口号 编辑:程序博客网 时间:2024/04/29 22:53

        周末抽空把自己看java编程思想的情况给自己,和广大网友做个汇报,我会尽量每个周末写一篇针对这个星期的学习内容,当成是学习笔记吧。由于本人刚开始做java开发,对java理解不是很透彻,希望有朋友看到不对的地方能帮我指正。先谢谢了各位,也希望大家一起讨论,共同进步。希望自己可以坚持到把Think in java 看完,祝福每个It人工作顺利,身体健康。废话不多说了,下面开始。

         引用和对象:每种编程语言都有自己操作内存中元素的方式,在java中操作内存的方式得到了简化,一切都被视为对象,因此可以采用单一、固定的语法,尽管一切都是对象,但操作的标示符实际上是对象的一个“引用”,可以把这一情形相像成遥控器(引用)来操作电视机(对象)。只要携带遥控器(引用)而不是电视机(对象)就可以操作电视机(对象)。另外即使没有电视机,遥控器也可以单独存在,也就是说你可以持有一个引用,而这个引用并不一定要和一个对象关联。

         存储位置:程序运行时,内存的分配,有五个地方可以存储数据:1,寄存器:最快的存储区,位于处理器内部,数量极其有限,按需分配,不能直接控制,也不能再程序中感受到寄存器存在的任何迹象。2,堆栈:位于RAM(随机访问存储器),但通过堆栈指针可以从处理器那里获得直接支持,堆栈指针若向下移动则分配新的内存,若向上移动则释放那些内存,效率仅次于寄存器,创建程序时,java必须知道存储在堆栈中所有项的确切生命周期,以便上下移动堆栈指针,这一约束限制了程序的灵活性,所以虽然某些java数据存储于堆栈中--特别是对象的引用,但是java对象并不存储在其中。3,堆:一种通用的内存池,用于存储所有的java对象,堆不同于堆栈的好处是编译器不需要知道存储的数据在堆里存活多长时间。因此在堆里分配存储有很大的灵活性。4,常量存储:常量值通常直接存放在程序代码内部。5,非RAM存储。如果数据完全存活于程序之外,那么它可以不受程序的任何程序的控制,在程序没有运行时也可以存在,如流对象和持久化对象。这种存储方式的技巧在于,把对象转化成可以存放在其他媒介上的事物,在需要时可以恢复成常规的,基于RAM的对象。

基本类型:在程序中经常用到一系列类型,它们需要特殊对待(基本类型),之所以特殊,是因为new将对象存储在“堆”中,故用new创建一个对象--特别是小的、简单的变量,往往不是很有效,因此,对于这些类型,java不用new来创建变量,而是创建一个并非是引用的“自动”变量,这个变量直接存储“值”,并置于堆栈中。

         方法,参数和返回值:java的方法决定了一个对象能够接收什么样的消息,方法的基本组成部分包括:名称,参数,返回值和方法体。返回类型是描述是在调用方法之后从方法返回的值,参数列表给出了要传递给方法的信息的类型和名称,方法名和参数列表(它们合起来被称为“方法签名”)唯一标示出某个方法。java中方法的调用通常被称为发送消息给对象。方法的参数列表指定了要传递给方法什么样的信息,这些信息像java中的其他信息一样,采用的都是对象形式。因此,在参数列表中必须指定每个所传递的对象的类型及名字。像java中任何传递对象的场合一样,这里传递的实际上也是引用(基本类型例外)。并且引用的类型必须正确。若方法的返回类型是void,return关键字的作用只是用来推出方法,可以在任何地方返回。但是如果返回类型不是void,那么无论在何处返回,编译器都会强制返回一个正确类型的返回值。

           static关键字:通常来说当创建类时,就是在描述那个类的对象的外观(字段)于行为(方法)。除非用new创建那个类的对象,否则实际上并未获得任何对象,执行new来创建对象时,数据空间才能被分配,方法才能供外界调用。这样有两种情况不能解决。a,只想为某特定域分配单一的存储空间,而不去考虑究竟要创建多少对象,甚至根本就不创建对象。b,希望某个方法不与包含它的类的任何对象关联在一起,即没有创建对象,也能够调用这个方法。static关键字可以解决上面两个问题。当申明一个事物是static时,就意味着这个域或方法不会与包含它的类的任何对象实例关联在一起。static字段对每个类都只有一份存储空间,而非static字段则是每个对象有一个存储空间。

ok第一周就先写到这吧,等于是把java编程思想中的某些话打了出来。呵呵。

原创粉丝点击