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
相关文档:
Java学习从入门到精通
一、 JDK (Java Development Kit)
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......
一:准备 www.savarese.org download
1. rocksaw-1.0.0-src.tar.gz
2. vserv-tcpip-0.9.2-src.tar.gz
二:编译源文件得到jar包 使用Ant
1. build vserv-tcpip-0.9.2-src
在vserv-tcpip-0.9.2目录下面建一个tests目录,然后在cmd窗口下进入 ......
根据制定路径,可以获取当前正在操作的文件的大小,容量为byte.
package test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class FileByte {
private String filePath = "D:\\test.mdb";
private void getFileByte(){
& ......
Java获取IP地址:request.getRemoteAddr()警惕
关键字: request ip
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr()
,这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。
如果使用了反向代理软件,将http://192.1 ......