静态方法 &singleton模式--(摘抄csdn论坛,作者:hhhh63(hhhh63))

原创 2004年09月02日 21:16:00

从底层来说,编译完成后主要是两个部分,一是CPU指令,这一部分包含各种方法;二是数据,也就是程序定义的各种类型的变量。运行程序实例化一个对象时,按如下方式分配内存:
1。在程序启动时将静态数据和静态方法放入堆内存中。
2。第一次实例化对象时将其它方法放入代码段中。
3。每次实例化对象时将其它数据放入栈内存中。
实例化同一个对象时,上述1、2项不动,只是再加一个第3项即可。销毁一个实例的时候,如果还有其它的实例存在,就只释放该实例的栈数据段(上述第3项)。

根据以上原理回答您的问题
静态方法和数据一般都是Public型的,用于类的极普遍的事物处理,可以在程序的任意地方调用,在整过程序运行过程中始终占用计算机内存,一搬少用。如果一个程序中的各个对象都用一个数据库的话,可以使用静态方法连接。

单件模式的实例销毁时可以释放所有的非静态方法和数据,,如果把这个类的所有方法都设计为静态的,这些方法将一直占用内存,浪费资源,不可取。

在new一个对象时,只是加一个数据段,并不重新加载方法和静态变量。

最后说一个变量传送的问题,网上很多朋友在回答类之间参数传递时都说用静态变量,我认为这种方法不好,本来加类的目的就是为了封装,如果用一个类似于全局变量的静态变量作为参数就大大削弱了封装的意义。

实际上,系统和应用程序对内存的管理相当复杂.
=======================下面摘自思归的文字

从表面上看,静态(static)成员可以通过 类名.成员名 来直接调用,而实例(instance)成员需要生成一个对象后才能调用。同一个操作,性能当然静态成员好

但其实区别是跟对象设计有关的,一般来说实例成员跟实例的状态有关,某个方法的调用可能需要访问当前对象的状态,并改变其状态,从而影响其他方法的结果

而静态成员是跟类本身有关,与单独的实例状态无关。但静态成员不要太多了,否则就沦为以前的procedural programming风格了,也许对象需要重新设计或重构。

静态成员往往会在多线程下操作,需要做同步化控制

Taglib指令

定义一个标签库以及其自定义标签的前缀. JSP 语法 例子  . .  描述指令声明此JSP文件使用了自定义的标签,同时引用标签库,也指定了他们的标签的前缀。 这里自定义的标签含有标签和元素之分。因为...
  • asper
  • asper
  • 2001-05-30 12:16:00
  • 745

MFC自定义界面包括按钮标签等,用于工控,展示等

  • 2014年02月25日 23:24
  • 225KB
  • 下载

简单的Singleton模式的实现

(实现方法按照由易至杂,由好到坏排列) solution1: /**  * Created by Bob on 15/9/27.  */ public class Singleton {     pr...
  • Bob1993_Dev
  • Bob1993_Dev
  • 2015-10-02 22:39:34
  • 711

java设计模式学习系列之一:单例模式(Singleton)

单例模式(Singleton)    1.介绍:也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们...
  • qjyong
  • qjyong
  • 2007-08-01 17:09:00
  • 22022

java实现单例singleton的几种模式

Singleton的4种实现方式1.静态工厂实现法静态工场估计是最常用的单例实现方式,例子如下(详细见注解)// 静态工厂实现法 public class CommonSingleton { /...
  • u012233832
  • u012233832
  • 2016-08-08 23:37:15
  • 526

Python实现Singleton模式

Singleton模式即单例对象必须必须保证只有一个实例存在。可以说Singleton是设计模式中最基本一种设计模式,在学习设计模式时一般都会先了解该模式。在Python中实现单例模式有很多方法,下面...
  • lqxqust
  • lqxqust
  • 2016-07-14 16:49:18
  • 584

singleton模式的几种实现方式

一、最简单的方式 public static Singleton getInstance() { if (instance == null) { instance = new...
  • lxgwm2008
  • lxgwm2008
  • 2012-07-02 22:17:36
  • 3705

java singleton三总模式(转载学习)写的很好

概念:   java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。   单例模式有以下特点:   1、单例类只能有一个实例。  ...
  • crysatlmly
  • crysatlmly
  • 2015-12-22 16:58:58
  • 293

写一个Singleton模式的例子

public class Singleton{  private static Singleton single = new Singleton();  private Singleton(){}  ...
  • owenliu563
  • owenliu563
  • 2014-03-08 13:18:03
  • 1018

C++ Singleton模式之线程安全

转自: http://blog.csdn.net/insistgogo/article/details/9412863 定义: 保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程...
  • nodeathphoenix
  • nodeathphoenix
  • 2016-06-13 15:09:19
  • 931
收藏助手
不良信息举报
您举报文章:静态方法 &singleton模式--(摘抄csdn论坛,作者:hhhh63(hhhh63))
举报原因:
原因补充:

(最多只允许输入30个字)