请大家看一个示例,我想提一个问题!

问题描述

示例1:classA{publicstaticUsersinstance=newUsers();publicintinsert(){...}}classB{A.instance.insert();}示例2:classA{publicintinsert(){...}}classB{Ainstance=newA();instance.insert();}===========================================================他们之间有什么区别,我在做网站的时候该用哪种方式调用,请高手说说他们在内存中的分配!还有个问题,是写publicstaticintinsert()好还是不用静态?

解决方案

解决方案二:
上面搞错了,应该是publicstaticAinstance=newA();
解决方案三:
看下
解决方案四:
UP
解决方案五:
publicstaticUsersinstance=newUsers();这个是静态的调用的时候通过类名A.instance.insert();来调用下面的这个方法非静态要通过实例化对象通过对象名来调用Ainstance=newA();instance.insert();

解决方案六:
示例1就是保证只有一个单实例存在,就是标准的Singleton设计模式
解决方案七:
classA如果是public的,可以用A.insert()也可以S=newA(),S.insert()我的处理方法中通常都加有static,类似方法放在另外一个.cs文件中
解决方案八:
静态的是随着其容器对象的创建分配一次内存,初始化然后随着其容器对象的生命周期变化。而非静态的则每次随着相应对象创建都要分配内存,然后初始化。这个不准确或者还有错误,但是供你参考。使用哪个需要根据实际情况来选择
解决方案九:
你想要做什么呢我怎么看不明白
解决方案十:
publicstaticintinsert()静态效率高,常驻内存,耗资源
解决方案十一:
web系统里别这么写publicstaticAinstance=newA();
解决方案十二:
学习!
解决方案十三:
这个没必要用静态吧
解决方案十四:
方法占不占用更多内存,和它是不是static没什么关系。因为字段是用来存储每个实例对象的信息的,所以字段会占有内存,并且因为每个实例对象的状态都不一致(至少不能认为它们是一致的),所以每个实例对象的所以字段都会在内存中有一分拷贝,也因为这样你才能用它们来区分你现在操作的是哪个对象。但方法不一样,不论有多少个实例对象,它的方法的代码都是一样的,所以只要有一份代码就够了。因此无论是static还是non-static的方法,都只存在一份代码,也就是只占用一份内存空间。同样的代码,为什么运行起来表现却不一样?这就依赖于方法所用的数据了。主要有两种数据来源,一种就是通过方法的参数传进来,另一种就是使用class的成员变量的值……
解决方案十五:
对于一些常用方法写成静态的,其他的用到的时候再实例化,
解决方案:
误区一、静态方法常驻内存,实例方法不是,所以静态方法效率高但占内存。事实上,方法都是一样的,在加载时机和占用内存上,静态方法和实例方法是一样的,在类型第一次被使用时加载。调用的速度基本上没有差别。误区二、静态方法在堆上分配内存,实例方法在堆栈上。事实上所有的方法都不可能在堆或者堆栈上分配内存,方法作为代码是被加载到特殊的代码内存区域,这个内存区域是不可写的。误区三、实例方法需要先创建实例才可以调用,比较麻烦,静态方法不用,比较简单。事实上如果一个方法与他所在类型的实例无关,那么它就应该是静态的,决不会有人把它写成实例方法。所以所有的实例方法都与实例有关,既然与实例有关,那么创建实例就是必然的步骤,没有麻烦简单一说。实际上上你可以把所有的实例方法都写成静态的,将实例作为参数传入即可。
解决方案:
同意上面的说法
解决方案:
up
解决方案:
测试一下
解决方案:
up
解决方案:
UP

时间: 2024-09-20 19:48:41

请大家看一个示例,我想提一个问题!的相关文章

我想写一个关于json串的sql查询,具体请看下面,

问题描述 我想写一个关于json串的sql查询,具体请看下面, 我想写一个关于json串的sql查询,比如说我数据库的某一字段是'BZ',内容是{name:123,age: 14},{name:456,age: 15}这样的,请问如何写查询,比如说通过name的值来查找 age的值,我要比如说我要查的name=123的 那么该'BZ'字段显示的就是 14 ,各位大神帮帮忙啦,小弟不胜感激!!! 解决方案 select max(case getname(BZ) when '123' then ge

更新-最近学习java的缓存机制,请大家看看我的代码有什么不足

问题描述 最近学习java的缓存机制,请大家看看我的代码有什么不足 一个简单的测试类,如果在高并发下会有问题么 package com.test.cache;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;public class CacheManager { private volatile static CacheManager cacheManager;//缓存类的实例 private long upDa

想请教一个复杂的if 判断 语句,请帮忙看一下。。

问题描述 想请教一个复杂的if 判断 语句,请帮忙看一下.. 我想写一个if 语句 同时满足如下条件, a 和b 都不等于null , c 或者d 其中一个不等于null 请问这么写对吗? if(a!=null && b!= null && c!=null || d !=null) 解决方案 if(a!=null && b!=null &&(c!=null || d!=null)) 解决方案二: if (NULL != a &&

app-想做移动APP开发想找一个中间件能够同时开发iso和安卓两个平台请给推荐一下用哪个中间件?

问题描述 想做移动APP开发想找一个中间件能够同时开发iso和安卓两个平台请给推荐一下用哪个中间件? 想做移动APP开发想找一个中间件能够同时开发iso和安卓两个平台请给推荐一下用哪个中间件? 解决方案 apache cordova phonegap xamarin 解决方案二: 那建议你用unity2d吧,我一朋友公司就用的这个框架 解决方案三: 你要是这样,我直接建议你开发html,然后使用. 解决方案四: html吧,太贪心了. 解决方案五: AppCan或者HBuilder 解决方案六:

删除-关于SQL的一个小问题 我有一个Data表 里面许多个字段 请看下面的图片

问题描述 关于SQL的一个小问题 我有一个Data表 里面许多个字段 请看下面的图片 关于SQL的一个小问题 我有一个Data表 里面许多个字段 我要删除图中DataID=24的 D_Dac Time 里面的内容 其他都不要删 sql语句怎么写? 解决方案 delete D_Dac Time from 表名 where dataID=24; 解决方案二: update xxx set xxx=null where id=xxx 解决方案三: 如果要删除DataID=24中一行全部内容又该怎么写呢

想做一个类似CSDN发帖框的HTML编辑器,可是光标问题无从入手,高手请赐教!

问题描述 想做一个类似CSDN发帖框的HTML编辑器,可是光标问题无从入手我用VS2005C#.net如何在选中的文字前后加字符?比如选中"黑体"点按钮后变为"<b>黑体</b>"不想载插件,想看看怎么写..插件功能太多..谢谢了- 解决方案 解决方案二:顶起来

想设计一个接口,请大家给予建议,非常感谢大家

问题描述 情况这样,我在某家银行工作,现在要建一个历史库,但不能直接提供数据库访问,如今想设计一个接口对历史库进行访问,该接口需要支持tcp/ip以及http等多种协议.支持大数据量的传输.提供同步联机查询功能,提供的交易比较通用易于维护和开发,请问大家有什么比较好的设计方案

陈航一直想做一个产品,可以挑战一下微信

陈航一直想做一个产品,可以挑战一下微信. 2014年5月26日,陈航带着一行20多人的团队搬离阿里巴巴的西溪园区(俗称淘宝城),搬进了湖畔花园办公.这处马云购于1998年的150平米的房子,不仅见证了淘宝.阿里巴巴的崛起,即使在西溪园区投入使用之后,这所房子也孵化出支付宝.天猫.菜鸟物流等一批阿里明星项目.陈航的团队搬进来时候,还散落着一些上一个项目--菜鸟物流的一些资料. 来往失掉了竞争先机,憋屈的是在产品上不服的团队 2013年10月21日,陈航在晚上接到领导通知,要把他从一淘事业部调到当时

想找一个大量依赖shel脚本的java开源项目

问题描述 想找一个大量依赖shel脚本的java开源项目 最新的项目中很多地方需要调用shell脚本进行操作.获取数据.编码过程中遇到很多问题不知道该怎么处理,所以想找一个这样的开源项目,看一下牛人们是怎么操作调用shell脚本的,请大家推荐一些这样的开源项目,谢谢了 解决方案 shell就是一个简单的脚本语言,可以当初编程语言,你可以根据你的需要实现各种功能 解决方案二: 为什么要找java开源项目 shell脚本和java没有任何关系,你只要学习shell就好了啊