Thinking in Java学习笔记(一)
在java程序中,万事万物皆对象,即使是java程序本身,也是一个对象
一、Reference是操纵对象之钥匙
c语言中是使用指针来操纵对象的,但是java呢?用的是reference来操纵对象,我习惯把他叫做句柄,句柄和对象的关系就想是电视遥控器和电视机的关系一样,既然是这样,那么遥控器和电视机都是可以独立出现的
例如:String name;
这个java语句只会产生句饼(遥控器),并不产生实际的对象(电视机),就想你老婆还没生孩子之前你们就把名字给取好了一样,句柄并没有连接到实际的对象上。这个样子写代码是不推荐的,一个没有指向对象的句柄在调用的时候编译器会抱错,应当使用String name="baby";,或者使用String name =new String("baby");这里new的意思是产生一个string类型的对象,并且这个string叫做baby。这2个方法都可以实现对象的建立。
二、所有的对象都需要你来建立
1、储存在那里
a、寄存器 这里是核心的存储空间,我们是没办法操纵的
b、栈 (stack )这里的存取速度快,效率高,因为这里要求被存储的数据有具体大小和存活时间限制,使用弹性小,这里一般存储的是我们的对象句柄,而对象是不存在这里的
c、堆 (heap) 这里是通用的存储空间,他比stack好在编译器不需要知道实际在heap中存储数据的大小,也不知道这个空间需要分配多长时间,弹性好,所以用来存储对象,但是速度要比stack慢很多
d、静态存储空间(static storage)这里是存放被声明为static的特定成员,java对象本身是不会分配在这里的
e、常量储存空间 这里存放的是程序中的常量,常量值不会改变,最安全
f
相关文档:
1.2.5.Method类:
Method代表某个类的一个方法,提供关于类或接口上单独某个方法的信息。所反映的方法可能是类方法或实例方法(包括抽象方法)。 这个类不难理解,它是用来封装反射类方法的一个类。
方法
描述
public String getName()
返回此 Method 对象表示的方法名称
public Object invoke(Object obj,Object... ......
由于网络带宽有限,所以数据文件的压缩有利于数据在Internet上的快速传输,同时也节
省服务器的外存空间。
Java 1.1实现了I/O数据流与网络数据流的单一接口,因此数据的压缩、网络传输和解
压缩的实现比较容易,下面介绍利用ZipEntry、ZipInputStream和ZipOutputStream三个Java
类实现zip数据压缩方式的编程方法。 ......
以下是在网上找到的别人总结的学习方法,经验借鉴中。
1. Java语言基础
谈到Java语言基础学习的书籍,大家肯定会推荐Bruce Eckel的《Thinking in Java》。它是一本写的相当深刻的技术书籍,Java语言基础部分基本没有其它任何一本书可以超越它。该书的作者Bruce Eckel在网络上被称为天才的投机者,作者的《Thinking in C+ ......
一种是继承自Thread类.Thread 类是一个具体的类,即不是抽象类,该类封装了线程的行为。要创建一个线程,程序员必须创建一个从 Thread 类导出的新类。程序员通过覆盖 Thread 的 run() 函数来完成有用的工作。用户并不直接调用此函数;而是通过调用 Thread 的 start() 函数,该函数再调用 run()。
&nb ......
Java获取IP地址:request.getRemoteAddr()警惕
关键字: request ip
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr()
,这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。
如果使用了反向代理软件,将http://192.1 ......