-
以前的知识有点忘记了,麻烦朋友们都进来指点指点。主要关于static的问题。纳闷着。25
1,实例化一个对象的时候里面的变量和方法会被初始化一次吗?
那这样的话我不如直接使用静态变量和静态方法呢,还可直接使用类调用,
另外我用单列模式来完成我类需要用到的static方法好,还是直接使用static来修饰?
如果用单列模式是只被初始化一次后将对象保存在static静态模块区里面吗他和直接用static来修饰变量和方法有什么区别?
2,static 用多了。会怎么样。一个类里面的方法大部分都是需要用到static方法和变量。
是用单子模式还是直接使用static来修饰。
3,单列模式需要加synchronized 同步块老修饰吗?
问题补充:
congji2002:
3.如果我单列不加synchronized不同步的话会怎么样?如果同步会有死锁的可能吗?
1.static来修饰变量和方法与直接使用static单列模式有什么区别》?
请说详细点,谢谢。
问题补充:
3.我的单列模式是以这种表示的:
private static Manager manager=null;
public static Manager getManagerFactory(){
if(manager==null){
manager = new Manager();
}
return manager;
}
public static synchronized Manager getManagerFactory(){
if(manager==null){
manager = new Manager();
}
return manager;
}
需要这样加个同步。把他同步起来吗?2008年8月01日 14:03
4个答案 按时间排序 按投票排序
-
采纳的答案
1。如果你不介意你的所有对象的全部属性全部一样的话,全部用static修饰也不是什么大不了的事情 ^_^
至于单例,他的重点是保证实例的唯一性,他要的只是结果, 至于怎样实现, 那只是过程而已。
2.static用多了,不会怎样,只不过是将你原本应该储存在堆栈中的东西一古脑全放进了静态存储区,驻留在内存当中,直到程序结束…… 如果你的机器够强悍, 其实这也并不是什么大不了的问题。
3. 用到synchronized的只是单例模式中的一种lazy initialization
而一般来说, 这种在安全性能上还是存在隐患, 所以个人意见比较推荐以下这种
public class EagerSingleton
{
private static final EagerSingleton m_instance = new EagerSingleton();
**
* 私有的默认构造器
*/
private EagerSingleton() { }
/**
* 静态工厂方法
*/
public static EagerSingleton getInstance()
{
return m_instance;
}
}2008年8月01日 14:49
-
1.一些所以实例都一样的东西用static修饰,因为一个类只有一份static的属性。那些每个类实例都不一样的就不能用static修饰
2.你可以在任何你觉得需要的地方用static,只要你认为所以的实例都可以有一个一样的属性
3.不一定,你也可以在定义变量的时候就实例化,不如private static obj=new Obj();2008年8月01日 14:40
-
1.这里面问了好多问题,首先回答
a.如果你都用static修饰,岂不是所有人都用同一个对象和变量?类不用static修饰的类变量就是要一个类一个样,所以用不用static修饰这个要看实际需要,你想要共性还是个性
b.看来LZ对单利和static有点迷茫,这么说吧,单例有static的所有好处,而没有static的坏处
2.看实际需要
3.不一定,你也可以在定义变量的时候就实例化,不如private static a=new A();2008年8月01日 14:29
相关推荐
### 关于Static与Const的理解 在程序设计领域中,`static`与`const`是非常重要的关键字,它们在C++等编程语言中有着广泛的应用。本文将深入探讨这两个关键字的含义、用法及其背后的原理。 #### Static关键字详解 ...
"关于static关键字的总结" static 关键字是 Java 语言中一个非常重要的概念,它可以用来修饰变量、方法、内部类和代码块等。下面我们将详细介绍 static 关键字的由来、作用和用法。 一、static 关键字的由来 在 ...
在《关于static的小结(Java内存溢出)》这篇文章中,作者主要探讨了与Java中的`static`关键字相关的知识点,以及如何可能导致内存溢出的情况。下面我们将深入分析这些内容。 #### Java中的`static`关键字 `static...
Visdom 是一个强大的可视化工具,主要用于深度学习和数据科学中的实验结果可视化。它提供了一个灵活的界面,可以实时展示各种类型的图表、图像和文本,帮助研究人员更好地理解和调试模型的运行过程。在您提供的信息...
在编程世界中,"static" 是一个非常关键的修饰符,它在 Java 语言中扮演着重要的角色。本文将深入探讨 "static" 关键字的含义、用途以及何时选择使用或不使用它。我们将通过分析《要 static 还是不要 static?》这篇...
首先,static关键字在C语言中具有两种主要用途,一种用于修饰变量,另一种用于修饰函数。其次,printf函数是C语言标准库中用于格式化输出的标准函数,能够按照指定的格式输出不同类型的数据。最后,全局变量是在函数...
在C++编程中,`static`关键字有着独特的用途,它主要用在变量和函数的声明上,以控制它们的存储方式、作用域和生命周期。以下是关于`static`变量和`static`函数的详细解释。 **一、static变量** 1. **静态局部变量...
`static`属性主要用于实现共享成员,即那些被类的所有实例共享的成员,而不是属于单个实例的成员。 #### Static变量 静态变量,也称为类变量,是在类的级别上声明的变量,它们被所有实例所共享。这意味着无论创建...
Static和Const用的详解 static和const是C语言中两个非常重要的关键字,它们在程序设计中扮演着不同的角色。本文将详细介绍static和const的用法和特性。 static static是C语言中的一个存储类型限定符,主要用来...
类的static、const、static const、const static成员的初始化 在 C++ 编程中,static、const、static const 和 const static 是四个常见的概念,但它们的初始化方式却容易弄混淆。下面我们将对这四种成员变量的初始...
Static控件在Windows编程中是一种常见的用户界面元素,主要用于显示静态文本,比如提示信息、标题或者标签等。然而,尽管其名称为“Static”,我们也可以通过一些技术手段使其动态显示内容,例如滚动显示文本。在本...
Java中的`static`关键字在编程中扮演着至关重要的角色,它是Java面向对象特性的一个关键组成部分。`static`关键字用于修饰变量、方法以及嵌套类,它使得这些元素可以在不创建对象的情况下被访问。 首先,我们来看...
### C语言中的`static`关键字用法详解 在C语言编程中,`static`关键字具有非常重要的作用。本文将从不同角度对`static`在C语言中的应用进行深入解析,并结合具体的示例来帮助理解其背后的逻辑。 #### 一、`static`...
在Java编程语言中,`static`关键字扮演着至关重要的角色,它定义了类级别的变量和方法,不受实例化对象的影响。本篇文章将深入探讨`static`的使用方法、原理及其在代码块中的应用。 首先,我们要理解`static`修饰符...
首先,我们需要了解Static Text控件的基础知识。Static Text是Windows API中的一种控件类型,通过`CreateWindowEx`函数创建,其窗口类名为`STATIC`。创建时,我们可以指定控件的ID、位置、大小以及文本内容等属性。 ...
首先,静态变量(static variable)的主要存在意义在于它们能够在函数调用结束后仍然保持其值。普通变量在函数内部定义时存储在栈上,函数执行完毕时会被销毁。而静态变量在程序的整个运行周期内只分配一次内存,...
### static 用法详解 #### 一、局部静态变量 局部静态变量是在C/C++中常见的一种变量类型,它的特点是生存期比普通的局部变量(即`auto`类型的局部变量)要长得多。局部静态变量存储在静态存储区,这意味着在整个...
这意味着当你改变一个类的`static`变量时,所有其他实例都将看到这个变化。例如: ```java public class MyClass { static int count = 0; } ``` 在这个例子中,`count`变量在所有`MyClass`实例之间共享。 2....
Occluder Static 和 Occludee Static 是关于 Unity3D 中与遮挡剔除技术有关的,而 Navigation Static 是生成导航网格用的。 三、静态选项的使用场景 静态选项的使用场景非常广泛,例如: * 对于游戏场景中的静止...
如果遇到问题,检查新`static`文件的完整性,确认所有必需的文件和目录都已正确替换,并且所有文件路径都与visdom的其他部分匹配。 总的来说,`static.tar.gz`提供了对visdom前端界面的定制能力,使用户可以根据...