- 浏览: 149021 次
- 性别:
- 来自: 北京
最新评论
文章列表
一个对象实例化之后,在它的方法体中出现的this就是指自身。addItem(menu1,"跑步",this)在MenuWindow类的方法中,因此这个this为MenuWindow对象,使用自身对象是因为MenuWindow对象实现了ActionListener接口,所以可以作为监视器注册给菜单项。这个程序中getsource()不是获得数据源,而是获得产生某个ActionEvent事件的对象的引用,具体来说就是当鼠标点击的为button对象时e.getSource()==button才为真。
可执行程序包括BSS段、数据段、代码段(也称文本段)。
BSS(Block Started by Symbol)通常是指用来存放程序中未初始化的全局变量和静态变量的一块内存区域。
注意和数据段的区别,BSS存放的是未初始化的全局变量和静态变量,数据段存放的是初始化后的全局变量和静态变量。
UNIX下可使用size命令查看可执行文件的段大小信息。如size a.out。
static变量生存周期
- 博客分类:
- CoreJava
标准规定static变量保证在第一次使用前初始化,但是并不保证一定会在程序开始运行前初始化。 对于简单类型,一般是放在bss段里,程序载入的时候已经被设定好了初值,但是对于对象来说,并没有规定对象的构造函数一定要在某个时刻调用,只是保证在第一次使用前会被调用。 考虑一个极端情况,假设系统上有一个动态库,其中实现了一个类,并且定义了该类的一个static/global实例,如果这个OS做得够聪明,很可能在程序没有使用这个动态库前根本就不载入它,此时这个static对象根本就不存在,直到程序使用了这个动态库,OS将其载入,并通过特定的手段对这个动态库进行初始化(比如Win32中的DllEntryPo ...
String 引用类型与基本类型区别
- 博客分类:
- CoreJava
String a="A"; String b="A"; String c=new String("A"); System.out.println(a==b);//true System.out.println(a==c);//false
我认为String a="A"; 这种形式声明的变量在比较的时候将会隐式调用equals方法,而new出来的要自己手动去调用
但是我还不明白,两个对象相互比较的时候是怎么判断的 这个是String.equals方法:
public boolean ...
java文件中为什么会有serialVersionUID 。
一些java类中为什么需要重载 serialVersionUID 属性。
在Java中,软件的兼容性是一个大问题,尤其在使用到对象串行性的时候,那么在某一个对象已经被串行化了,可是这个对象又被修改后 ...
首先,我们来看一下抽象类的概念,java编程思想中说“万物皆对象”,我们知道所有的对象都是通过类来描绘的,但是反过来却不是这样。并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类是表征我们对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。好比,我们都知道三角形是一个形状,世界上有三角形这样具体的东西,但是确没有形状这样具体的东西,我们要描述这个形状的概念就要用到抽象类。因此在java中抽象类是不允许被实例化的。在面向对象领域,抽象类主要用来进行类型隐藏。那什么是类型隐藏呢?我们可以构造出一 ...
如果过去使用过JSTL,那么您可能已经熟悉了EL。EL在JSTL 1.0规范中被引入,现在已经被合并到JSP规范中。并且,从JSP 2.0开始,JSP容器已经可以单独理解EL表达式。也就是说,有了EL,我们就可以不用在JSP页面上写繁琐的java
<%
Response.Buffer = True
Server.ScriptTimeOut=9999999
On Error Resume Next
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
">
<html xmlns="http://www.w3.org/1999/xhtml
&qu ...
ASP(Active Server
Pages)是Microsoft很早就推出的一种WEB应用程序解决方案,也是绝大多数从事网站开发人员很熟悉的一个比较简单的编程环境。通过ASP我
们可以创建功能强大的动态的WEB应用程序。ASP虽然功能很强大,但有些功能用纯ASP代码完成不了,为了能保证开发出功能更加强大的WEB应用程序,
我们可以借助调用COM组件。
在日常工作中,例如开发一个“商品网上销售系统”吧,为了使顾客对商品的外观有所了解,也就是顾客在看商品的文字介绍的同时在文字的旁边有该商
品的图片加以说明,这样顾客就可以对该商品有个系统的了解,对推销商品有很大的帮助。所以我们在 ...
Access与Sql区别
- 博客分类:
- Access
like查询用*
SELECT *
FROM flash
WHERE filename like '*http*';
DELETE *
FROM company_guangxi
WHERE 机构名称 not like '*公司*' and 机构名称 not like '*工厂*';
删除查询
DELETE * FROM 订单 WHERE 订单.下单日期<=#1/1/2002#
更新查询
UPDATE 产品 SET 产品.建 ...
Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。transient是Java语言的关键字,用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的。
首先,让我们看一些Java serialization的代码:public class LoggingInfo imple ...
度(degree):是子树的个数
叶子(leaf):度为0
Height或者Depth:最大层数
Ancestor&Descendant:祖先与子孙
二叉树可以没有左子树而有右子树,也就是可以是无序的
二叉树与树是两种不同的数据结构.
完全二叉树:最多只有最下一层度数可以小于2,并且最下一层的结点都集中在左边.
二叉树性质:
1:第i(i>=1)层上的结点数最多为2^i-1
2:高度为K的二叉树最多有2^k-1个结点
3:对任何二叉树T,设n0,n1,n2分别表示度为0,1,2的结点个数,则n0=n2+1
4:具有n个结点的完全二叉树的高度为
5:非空满二叉 ...
Linux/ˈlɪnəks/ /ˈlɪnʊks/(EU)Linux 是一类 Unix 计算机操作系统的统称。该操作系统的核心的名字也是“ Linux” 。参考:
<!-- m -->
http://upload.wikimedia.org/wikipedia/c ... -linux.ogg
<!-- m -->
GNU/ɡəˈnuː/GNU 通用公共许可协议(英语: GNU General Public License ,简称 GNU GPL 或 GPL ),是一个广泛被使用的自由软件许可协议GNOME/ˈnəʊm/GNOME ,即 GNU 网络对象模型环境 ...
Sourceforge 开源软件库
<!-- m -->
http://sourceforge.net/
<!-- m -->
FreshMeatWeb's largest index of Unix and cross-platform software, themes and related "eye-candy", and Palm OS software
<!-- m -->
http://freshmeat.net/
<!-- m -->
GetdebUbuntu软件包
<!-- m --> ...