问题标签 [static]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
7848 浏览

php - 将 __call 与静态类一起使用?

__call静态调用函数时可以使用魔术方法吗?

0 投票
5 回答
1316 浏览

emacs - 用于 Haskell 等静态强类型语言和 Common LIsp 等动态(强)语言

我正在使用 Lisp 方言,但也学习了一些 Haskell。它们有一些相似之处,但在 Common Lisp 中的主要区别似乎是您不必为每个函数、参数等定义类型,而在 Haskell 中则需要。此外,Haskell 主要是一种编译语言。运行编译器以生成可执行文件。

我的问题是,在不同的应用程序或用途中,像 Haskell 这样的语言可能比像 Common Lisp 这样更动态的语言更有意义。例如,似乎 Lisp 可以用于更多的底层编程,例如构建网站或 GUI,其中 Haskell 可以用于更需要编译时间检查的地方,例如构建 TCP/IP 服务器或代码解析器。

流行的 Lisp 应用程序:Emacs

流行的 Haskell 应用程序:PUGS Darcs

你同意吗,有没有这方面的研究?

0 投票
4 回答
594 浏览

c++ - 在全局函数或由全局函数包装的类中实现

根据预定义的签名,我必须实现一组 60 个函数。它们必须是全局函数,而不是某些类的成员函数。当我实现它们时,我使用了一组由第 3 方提供的做得很好的类。

我对大多数功能的实现都很短,大约 5-10 行,主要处理对 3rd 方类的不同访问。对于一些更复杂的函数,我创建了几个新类来处理所有复杂的东西,我也在函数中使用它们。所有状态信息都存储在我和第 3 方类的静态成员中,因此我不必创建全局变量。

问题:如果我实现一个有 60 个成员函数的大类,并在那里完成所有实现(现在在全局函数中)会更好吗?我必须编写的每个函数都只会调用类中相应的成员函数。

0 投票
5 回答
206 浏览

.net - 帮助识别公共 DLL 的哪些部分仅由一个项目使用的工具?(。网)

我们小组有一个“工具库”DLL,我们的几个内部项目(都是 C#)都在使用它。我产生了一种直觉,即大部分工具库仅由其中一个项目使用——让我们称该项目为“项目 A”。是否有任何 .NET 工具可以检查工具 DLL 和所有项目(可能是项目 EXE),并枚举工具库中确实仅由项目 A 使用的所有方法和类?我认为一些重构是有序的(将工具库的一部分移回项目 A 自己的代码库),这样的列表听起来会很有帮助。

由于反思,我不认为一个工具可以 100% 正确地完成这项工作。但是假设我知道我们的项目都没有使用任何巧妙的反射技术调用工具库;他们只使用应该适合静态分析的正常方法调用来调用它。

0 投票
6 回答
21420 浏览

memory - 将数据存储在内存中:会话 vs 缓存 vs 静态

一些背景故事:我正在开发一个 Web 应用程序,该应用程序需要相当多的时间来准备/处理数据,然后再将其提供给用户进行编辑/操作。数据请求任务 ~ 15 / 20 秒完成,几秒处理。在那里,用户可以即时操作值。对值的任何操作都需要完全重新处理数据。

更新:为避免混淆,我只进行 1 次数据调用(命中 15 秒),然后希望将结果保存在内存中,这样我就不必再次调用它,直到用户 100% 完成使用它. 因此,第一次拉取需要一段时间,但是,使用 Ajax,我将访问内存中的数据以不断更新并将响应时间保持在 2 秒左右(我希望如此)。

为了提高效率,我将初始数据移动到内存中并使用 Ajax 调用回服务器,这样我就可以减少处理时间来处理此用户更新时发生的重新计算。

这是我的问题,考虑到性能,什么是存储这些数据的最佳方式,假设在任何给定时刻只有 1 个用户将使用这些数据。

此外,用户可能会在此过程中工作几个小时。当用户使用数据工作时,如果他们的会话以某种方式中断,我将需要某种故障保护来保存用户的当前数据(在数据库或序列化二进制文件中)。换句话说,我需要一个具有适当钩子的解决方案,以允许我在用户断开连接/分心太久的情况下转储内存对象的数据。

到目前为止,这是我的想法:

会话状态 - 优点:锁定一个用户。具有符合我的故障安全要求的会话结束事件。缺点:我当前选项中最慢的性能。会话结束事件有时很难确保正确触发。

缓存 - 优点:良好的性能。可以访问依赖项,这可能是以后的奖励,但在当前范围内并不真正有用。缺点:除了基于时间间隔的写入之外,没有简单的故障保护步骤。全球范围 - 必须确保用户不会与彼此的工作发生冲突。

静态 - 优点:最佳性能。易于维护,因为我可以直接利用我当前的班级结构。缺点:除了基于时间间隔的写入之外,没有简单的故障保护步骤。全球范围 - 必须确保用户不会与彼此的工作发生冲突。

有人对我应该选择的选项有任何建议/意见吗?

谢谢!

更新:忘了提,我正在使用 VB.Net、Asp.Net 和 Sql Server 2005 来执行此任务。

0 投票
5 回答
5446 浏览

java - 通过 EJB 共享静态单例

我正在尝试在 Web 服务中创建缓存。为此,我创建了一个新的无状态 Bean 来将此缓存提供给其他无状态 bean。此缓存只是一个静态 ConcurrentMap,其中 MyObject 是一个 POJO。问题是似乎有不同的缓存对象。一个用于客户端 bean,另一个用于本地。

在这个分配之后,如果我从 CacheServiceBean 内部调用 cache.size,我得到 0。甚至可以通过 bean 共享静态单例吗?最后我决定使用数据库表,但我仍在考虑这个问题。

感谢您的回复。

0 投票
8 回答
3626 浏览

php - 从超类访问子变量而不实例化

我试图通过父类访问子类中的成员变量而无需实例化。

这是我的尝试之一,但B::getStatic()Access to undeclared static property.

是否有另一种解决方案,可能没有静态?

0 投票
9 回答
776 浏览

c# - Java 的静态概念与 C# 的概念有何不同?

我正在阅读 Josh Bloch 的《Effective Java 》一书,他建议在构建具有大量成员的对象时使用构建器设计模式。据我所知,这不是香草设计模式,而是看起来像他的变体。我更喜欢它的外观,并试图在我正在编写的 C# Web 应用程序中使用它。这是用Java编写的代码并且可以完美运行

当我把它放入我认为是 C# 等价物时

然后我得到编译器警告。他们中的大多数“不能在静态类中声明实例成员”。

所以我的问题首先是我错过了什么?如果我遗漏了某些东西,我可以按照 Josh Bloch 推荐的方式但在 C# 中进行操作,最后,这一点也很重要,这是线程安全的吗?

0 投票
3 回答
50619 浏览

c++ - 派生类如何从基类继承静态函数?

HandleTimer 需要是静态的,因为我将它传递给 C 库(libevent)。

我想从这个类继承。如何才能做到这一点?

谢谢。

0 投票
40 回答
582742 浏览

design-patterns - 静态类和单例模式之间的区别?

静态类和单例模式之间存在什么真正的(即实际的)区别?

两者都可以在没有实例化的情况下调用,都只提供一个“实例”,而且它们都不是线程安全的。还有其他区别吗?