在C#中以最佳性能获取线程安全计数器的方法是什么?
这很简单:
public static long GetNextValue()
{
long result;
lock (LOCK)
{
result = COUNTER++;
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
但是有更快的选择吗?
我现在正在玩REST,并认为我正确地实现了HATEOAS,只是为了让所有概念都正确.
为此,我想创建自己的媒体类型(application/vnd[...]+xml
和application/vnd[...]+json
).
第一个问题:媒体类型是否定义了我的服务器和客户端之间的合同?
媒体类型将定义我的消息格式,因此我需要添加XML模式和JSON模式以配合新的媒体类型(以便REST客户端知道消息中的内容以及要发回的内容).
我已经在网上做了一些研究,但缺少一个人如何做到这一点的细节.它是否只涉及编写详尽的规范/文档或是否有一些技术步骤来实现?(我不需要在IANA注册吗?)
如何application/vnd
创建一个全新的功能 - 媒体类型?你需要照顾什么才能让客户正确使用它?
我正在给JAX-WS一个高概述,并注意到一些引用sun-jaxws.xml
(以及com.sun.xml.ws.transport.http.servlet.WSServletContextListener
和com.sun.xml.ws.transport.http.servlet.WSServlet
).
在什么情况下需要这个?(我认为JSR 109服务器?!)
我正在尝试为版本3.2.4.RELEASE构建一个完整的Spring Framework发行版,而不使用maven(只是spring jar)并设法手动获取除spring-asm之外的所有jar.
Spring-asm在版本3.1.4停止.这是为什么?
我有更高的弹簧分布,高达3.1.1(那些你有一个zip文件,没有被迫使用maven)并且所有内部都有相同的spring-asm jar,版本相同.
为什么没有spring-asm-3.2.4.RELEASE jar?
如果Assembly.Load
多次呼叫会导致任何副作用吗?
例如
for (int i = 0; i < N; i++)
{
Assembly.Load(assemblyStrongName);
// .......
}
Run Code Online (Sandbox Code Playgroud)
这一次装载组件不是吗?我已经检查过AppDomain.CurrentDomain.GetAssemblies()
之前和之后它似乎已经加载一次(应该如此)但是它有副作用吗?
在长时间运行的服务器应用程序(运行数月/年而不重启)上面是否会导致任何问题?
我在Spring 3应用程序中注册了自定义转换服务.它适用于POJO,但它不适用于列表.
例如,我从转换String
到Role
,它工作正常,但不是List<String>
到List<Role>
.
ClassCastExceptions
在尝试注入列表时,无论它们包含什么,都可以在应用程序中飞行.转换服务调用转换为List<String>
对List<Role>
所有.
如果你考虑一下,这是有道理的.类型擦除是罪魁祸首,转换服务实际上是看到List
的List
.
有没有办法告诉转换服务使用泛型?
我还有其他选择吗?
我正在寻找一个专门存储二进制数据(实际上是文件)的数据库.这是将数据存储在数据库中的旧讨论.但我不是在寻找利弊,我正在寻找一个专为此而设计的数据库.
它可以是关系型或NoSQL.
我似乎无法找到关于此的任何信息,我的所有搜索都会导致在数据库中存储文件的优缺点,谈论MS-SQL的FILESTREAM等.
我目前正在考虑为应用程序存储一些文件,并且提到了两个选项.除了两种解决方案的所有优缺点之外,我还在寻找两者之间的东西,以确保在实际选择毒药之前我已经涵盖了所有内容.
让我们想象一下,我们的应用程序需要从关系数据库到另一个关系数据库的ETL(提取,转换,加载)数据.最简单(和大多数性能,恕我直言)的方式是在数据库之间建立链接并编写简单的存储过程.在这种情况下,我们使用最少的技术和组件,所有功能都是"开箱即用".
但这是SOA(面向服务的架构)的良好实践吗?紧耦合怎么样?我们是否永远将数据库强烈地相互耦合?
还有另一种方法:我们在每一侧构建2个Java应用程序,并通过SOAP Web服务进行通信.这更加SOA友好!但性能下降和额外的失败点值得吗?
在这种情况下,最佳做法是什么?ETL如何适应SOA?
我理解是什么__new__
(以及它与之有什么不同__init__
)所以我对定义不感兴趣,我对何时以及如何使用感兴趣__new__
.
文件说:
在一般情况下,你不应该需要重写
__new__
,除非你继承一个不变型像str
,int
,unicode
或tuple
但我无法想到使用其他情况__new__
或如何正确使用它(例如,当子类化不可变类型或为什么在这种情况下需要它时).
那么,何时,为什么以及如何使用__new__
?
我对用例很感兴趣,而不是它的用途(我知道它的作用).
c# ×2
database ×2
java ×2
spring ×2
.net ×1
architecture ×1
assemblies ×1
blob ×1
counter ×1
decoupling ×1
etl ×1
hateoas ×1
hypermedia ×1
jar ×1
jax-ws ×1
load ×1
maven ×1
media ×1
nosql ×1
open-source ×1
python ×1
rest ×1
soa ×1
spring-3 ×1
ssis ×1
storage ×1
web-services ×1