我目前正在构建一个将由Web服务使用的API.
我想知道如果我使用大量静态方法构建API,我会遇到哪些性能问题.
最初的想法是建立充当服务的专家对象.
在单一用户环境中,这种方法非常棒!但我很快就需要将其移植到多/并发用户环境中.
这种架构可能遇到什么样的性能问题?
最好的祝福,
编辑:
静态方法不包含静态变量,也没有副作用.它们只是执行一个普通的例程,其中一切都被实例化.(即,变种和物体)
我想知道以下Java代码:
"的System.out.println".我是对的:
"系统"是一个静态类.".out"是类"系统"的方法.这是我对".println"感到困惑的一点 - 这个方法是什么类/对象?
此外,这个概念被称为"方法链"吗?
谢谢
GF
在过去的几年里,我被C#编码所困扰,现在我又回到了C++,并发现我遇到的问题很简单.我正在使用名为DarkGDK的gamedev的第三方库(任何以db为前缀的命令),但DGDK不是问题.
继承我的代码:
system.h中
#pragma once
#include <string>
#include <map>
#include "DarkGDK.h"
using namespace std;
class System
{
public:
System();
~System();
void Initialize();
static void LoadImage(string fileName, string id);
static int GetImage(string id);
private:
map<string, int> m_images;
};
Run Code Online (Sandbox Code Playgroud)
System.cpp
#include "System.h"
System::System()
{
}
System::~System()
{
}
void System::Initialize()
{
dbSetDisplayMode (1024, 640, 32);
dbSetWindowTitle ("the Laboratory");
dbSetWindowPosition(100, 10);
dbSyncOn ();
dbSyncRate (60);
dbRandomize(dbTimer());
}
void System::LoadImage(string fileName, string id)
{
int i = 1;
while (dbImageExist(i))
{
i++;
}
dbLoadImage(const_cast<char*>(fileName.c_str()), …Run Code Online (Sandbox Code Playgroud) 我想有一个加载文件的函数(在这种情况下是一个OpenGL纹理),但实际上只加载文件一次,每次调用它之后它只返回它最初加载的内容.
这样做有什么好办法?
谢谢.
我有以下课程:
public abstract class A
{
public abstract String doSomething(String X, String Y);
public static String doSomething(String X, String Y){return X + Y;}
...
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是静态和抽象doSomething()方法似乎是重复的.我认为这应该没问题,因为静态方法属于类,而不是类的实例,因此我将使用抽象方法在所有子类上强制执行该方法,并将静态方法作为帮助程序,以便我很好地使用因子代码.
我知道我可能会在混合中添加一个接口,但我真的不明白我在同一个类上存在的抽象和静态方法有什么问题.这有什么问题?
我有一个webform,在那个webform中,我试图从静态方法访问Panel对象,但无法访问它如何从静态方法访问Panel对象.为什么我要尝试从静态访问对象?因为我使用的JQUERY只接受静态方法.
我试图在Page_Load()中将Panel存储在会话中,并从静态方法中检索它,但它不起作用.
继承和多态如何与静态方法一起使用?有人可以解释一下这里应该是什么样的输出以及它是如何导出的?
class A { public static int get() { return 17; } }
class B extends A { public static int get() { return 42; } }
Main
A x = new B();
x.get();
Run Code Online (Sandbox Code Playgroud)
错误消息,
应该以静态方式访问类型A的静态方法get()
我想我知道如何以静态方式访问它,但这是一个来自类的问题,它暗示将返回一个或另一个值
在我们的程序中,我们有类定义:
class A { public static int get() { return 17; } }
class B extends A { public static int get() { return 42; } }
Run Code Online (Sandbox Code Playgroud)
以及我们宣布的其他地方 A x = new B();
电话会x.get()回来几号?
我在JLS 7中读到了以下句子.
在类方法的标题或正文中使用任何周围声明的类型参数的名称是编译时错误.
请解释一下它的含义.
我有以下代码:
#include <iostream>
using namespace std;
class Test {
public:
static Test& get() {
static Test testSing;
return testSing;
}
};
int main() {
Test a = Test::get();
Test b = Test::get();
cout << &a << endl;
cout << &b << endl;
}
Run Code Online (Sandbox Code Playgroud)
我认为a并且b应该有相同的地址,因为我认为它们应该只构造一次.但是,我在此测试中获得了不同的memmory地址.
我缺少一些微不足道的东西吗?他们不应该有相同的地址吗?
我在这里面对EL一个奇怪的问题。
我只想在EL中使用String.join(),但是它不起作用。
#{String.join(',', myList)}
Run Code Online (Sandbox Code Playgroud)
除了阻止我的页面加载之外,这在JSF中没有做任何事情。我知道我可以做到这一点,<ui:repeat>但我需要在EL表达式中使用它。
有任何想法吗 ?
static-methods ×10
java ×4
c++ ×3
.net-3.5 ×1
asp.net ×1
concurrency ×1
el ×1
inheritance ×1
jls ×1
jquery ×1
jsf ×1
opengl ×1
performance ×1
polymorphism ×1
static ×1