类的方式1、公开的静态变量,直接就可以用了;2、把值作为新窗体的构造函数的参数,就可以传过去了;3、新窗体设置属性,在旧窗体实例化新窗体的时候,把该属性设置为需要传的值4、旧窗体设置一个get参数的方法,在新窗体实例化旧窗体,然后通过它的方法获得需要传过来的值窗体的方式5、在旧窗体中实例化新窗体的时...
分类:
其他好文 时间:
2014-10-20 19:14:06
阅读次数:
147
java多线程编程中,存在很多线程安全问题,至于什么是线程安全呢,给出一个通俗易懂的概念还是蛮难的,如同《java并发编程实践》中所说:写道给线程安全下定义比较困难。存在很多种定义,如:“一个类在可以被多个线程安全调用时就是线程安全的”。此处不赘述了,首先给出静态变量、实例变量、局部变量在多线程环境...
分类:
编程语言 时间:
2014-10-20 14:54:36
阅读次数:
301
从编译器角度来看内存分三种情况:1 系统初始化时都已经确定好、不会再变动的内存区域,一般指的是全局变量、静态变量数组等。2 栈上内存:一般指的是函数内部的局部变量等,函数调用时分配内存,调用结束后系统自动释放不用自己考虑回收,效率高。有时候栈需要自己设定,设定不当可造成栈溢出。3 堆上内存:即用动态...
分类:
其他好文 时间:
2014-10-20 13:21:39
阅读次数:
252
一. 线程安全
线程安全问题是指程序中公用的东西被多个线程访问,比如:类的静态变量
二. 同步锁
有什么办法可以解决线程安全问题呢?那就是在程序中加锁
Java有两种加锁的方法:
1. 在代码块中加锁 synchronized (this) { ... }
2. 在方法上加锁 public synchronized void xxx(){ ... }...
分类:
编程语言 时间:
2014-10-19 23:16:38
阅读次数:
232
加载:查找并加载类的二进制数据 连接: ????-验证:确保被加载的类的正确性, ????-准备:为类的静态变量分配内存,并将其初始化为默认值 ????-解析:把类中的符号引用转换为直接引用 初始化:为类的静态变量...
分类:
其他好文 时间:
2014-10-19 11:42:35
阅读次数:
185
静态成员变量1静态成员函数只能访问静态变量,因为静态变量不含this指针2静态成员变量不但被类的各个对象共享,而且也被派生类的对象共享示例:classbase{public:staticintnum;};intbase::num=0;classderived:publicbase{};basea;d...
分类:
其他好文 时间:
2014-10-18 00:42:26
阅读次数:
243
静态构造函数是C#的一个新特性,其实好像很少用到。不过当我们想初始化一些静态变量的时候就需要用到它了。这个构造函数是属于类的,而不是属于哪里实例的,就是说这个构造函数只会被执行一次。也就是在创建第一个实例或引用任何静态成员之前,由.NET自动调用。 classSimpleClass{//Stati....
一、静态分配( Static Allocation ) 从静态存储区域分配内存。程序编译的时候内存已经分配好了,并且在程序的整个运行期间都存在,如静态变量和全局变量。 如下面这张网上找的图:把房间看做一个程序,我们可以把静态分配的内存当成是房间里的耐用家具。通常,它们无需释放和回收,因为没人会天.....
分类:
编程语言 时间:
2014-10-13 10:41:12
阅读次数:
232
“发布(Publish)“一个对象是指使对象能够在当前作用域之外的代码中使用。可以通过 公有静态变量,非私有方法,构造方法内隐含引用 三种方式。
如果对象构造完成之前就发布该对象,就会破坏线程安全性。当某个不应该发布的对象被发布时,这种情况就被称为逸出(Escape)。
下面我们首先来看看一个对象是如何逸出的。
发布对象最简单的方法便是将对象的引用保存到一个共有的静态变量中,以便任何类和线程都能看见对象,如下面代码。...
分类:
编程语言 时间:
2014-10-12 21:52:40
阅读次数:
388
静态数据成员
类是类型而不是具体的数据对象,类的对象都是该类的实例,每个类对象都具有自己的数据成员,而且是相互独立,各占内存空间。然而,程序中往往需要让类的所有对象在类的范围内共享某个数据。声明为static的类成员能够在类的范围中共享,称之为静态成员。
一、全局变量与静态数据成员
希望在同类的多个对象之间实现数据共享,可以用静态的数据成员实现。
使用静态数据成员不会破坏隐藏的...
分类:
其他好文 时间:
2014-10-12 12:55:27
阅读次数:
184