如何在Excel中访问ActiveX组合框对象的SelectedIndex?我需要一个整数.
我想强制if-lock-if模式来检查多线程环境中字典中是否存在对象.所以,我正在考虑的代码如下:
private IDictionary<string, SomeType> m_dic = new Dictionary<string, SomeType>();
private SomeType GetSomeObject(string key)
{
SomeType obj;
if (!m_dic.TryGetValue(key, out obj))
{
lock(m_dic)
{
if (!m_dic.TryGetValue(key, out obj))
{
m_dic[key] = obj = CreateSomeObject(key);
}
}
}
return obj;
}
Run Code Online (Sandbox Code Playgroud)
我假设即使另一个线程现在正在同一个键上插入对象,TryGetValue也不会返回部分设置的引用(这样的东西在.NET中不存在,是吗?),而是返回null所以我们进入受保护的部分并重复检查.
我的问题是我的假设是正确的,代码是对的?
谢谢.
编辑
让我加入一个限制.字典实际上是单例对象的字典.因此,一旦条目被占用,它就永远不会改变.就像单例的Instance属性一样 - 一旦设置,它就永远不会改变.鉴于这种约束,我们可以使用if-lock-if模式吗?
例:
class Class1:
def __init__(self):
self.x = Class2('Woo!')
class Class2:
def __init__(self, word):
print word
meow = Class1()
Run Code Online (Sandbox Code Playgroud)
如何派生创建self.x实例的类名?换句话说,如果给我实例self.x,我怎么得到名称'Class1'?使用self.x.__class__.__name__显然只会给你Class2名称.这甚至可能吗?谢谢.
如何编写离线silverlight应用程序?我在数据库服务器上运行数据库,在应用程序服务器上运行应用程序,但是如果用户想要在离线模式下运行应用程序,则可以在离线状态下向他看到相同的ui,也可以在文件中本地存储所有数据稍后同步.
我只是认为现在通常在数据库服务器上有足够的RAM来缓存你的完整数据库为什么内存数据库中的专家 (例如TimesTen,另见维基百科页面)几年前风靡一时不被使用更多?
似乎随着时间的推移,没有更少的基于磁盘的数据库被使用,例如,现在大多数应用程序都建立在传统的理性数据库上.我原本期望相反,因为RAM已经接近很多服务器的免费.
我问这个问题,因为我刚刚阅读了堆栈溢出架构,页面上写道
这很重要,因为Stack Overflow的数据库几乎完全在RAM中,并且连接的成本仍然太高.
但是,如果使用"指针"和"集合"而不是普通的btree,我认为这不会是一个问题.Btree非常聪明地限制磁盘访问速度,例如它们交换CPU使用以减少磁盘使用.但是我们现在有匹配ram.
但我们仍然需要数据库,就像做自己的一样
很难.
@ S.Lott,鉴于我们都花了这么长时间选择索引,避免加入和调查数据库性能问题.肯定有更好的办法.几年前,我们被告知"内存数据库"是更好的方法.所以在我开始使用其他之前,我想知道为什么其他人不再使用它们.
(我不太可能自己使用TimesTen,因为价格很高(41,500.00美元/处理器)而且我不喜欢和Oracle销售人员交谈 - 我宁愿花时间编写代码.)
也可以看看:
更新:
我问这个问题一个长的时间以前,这几天的Microsoft SQL Server具有" 在内存OLTP ",也就是集成到SQL Server引擎内存优化的数据库引擎.它并不便宜,但对某些工作负载来说似乎非常快.
我正在尝试使用Qt/C++调试大型应用程序构建,而valgrind报告了内部Qt内容的大量内存泄漏.任何人都可以为Qt应用程序共享适当的valgrind抑制文件吗?
谢谢 !
例如.
#include <qobject.h>
int main()
{
QObject o;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
收益:
$ valgrind --leak-check=full --show-reachable=yes ./leak ==12655== Memcheck, a memory error detector ==12655== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al. ==12655== Using Valgrind-3.5.0-Debian and LibVEX; rerun with -h for copyright info ==12655== Command: ./leak ==12655== ==12655== ==12655== HEAP SUMMARY: ==12655== in use at exit: 744 bytes in 7 blocks ==12655== total heap usage: 28 allocs, 21 frees, 1,640 bytes allocated ==12655== ==12655== …
我正在寻找一个在PHP5中实现并使用MySQL作为存储db 的轻量级电子商务Web应用程序.
主要要求是:
请不要推荐Magento,因为我发现它有点膨胀,因为我正在寻找的功能.
期待您的提示/推荐
我一直在使用XmlSerializer类对.net对象进行序列化和反序列化而没有问题,但是我们现在需要其他人来查看该数据以对其执行一些分析.
为了帮助我们,我们已经根据我们的类生成了一个XSD:xsd.exe/t:DataClass Assembly.exe
XSD的开头如下所示:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="DataClass" nillable="true" type="DataClass" />
<xs:complexType name="DataClass">
<xs:complexContent mixed="false">
<xs:extension base="BaseDataClass">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="StudyID" type="xs:string" />
<xs:element minOccurs="1" maxOccurs="1" name="Position" type="xs:int" />
<xs:element minOccurs="1" maxOccurs="1" name="IViewer" type="xs:string" />
Run Code Online (Sandbox Code Playgroud)
XML是这样生成的(其中obj是我们的DataClass的一个实例):
Dim xs As New XmlSerializer(obj.GetType)
Dim xmlTextWriter As New XmlTextWriter(memoryStream, Encoding.UTF8)
xs.Serialize(xmlTextWriter, obj)
Run Code Online (Sandbox Code Playgroud)
...生成如下所示的XML:
<?xml version="1.0" encoding="utf-8"?>
<DataClass xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Version>SixMonthQ-E1</Version>
<IViewer xsi:nil="true" />
<Language xsi:nil="true" />
...
<StudyID>12345</StudyID>
Run Code Online (Sandbox Code Playgroud)
奇怪的是,生成的XML不符合从同一个类生成的XSD.
我的问题是,有没有办法告诉XmlSerializer基于给定的XSD序列化对象?
顺便说一句,我已经看过其他修复方法:我尝试从生成的XSD重新生成类 - 这似乎有同样的问题.我可以使用XmlElement属性明确说明元素的排序,但我不喜欢为400多个公共属性做这个.
我试图让JLabel显示一个使用相对路径引用图像的html.但是我不能让JLabel定位图像.当我使用绝对路径时,它工作正常.
我已经尝试从命令行或从eclipse运行程序并添加对话框以显示当前工作目录的位置但是有用.因此我得出结论,在当前目录中没有搜索到图像 - 这让我想到了这一点.图像在哪里寻找?
这是一个测试代码,显示我在做什么:
import javax.swing.*;
public class HTMLLabel extends JFrame {
public HTMLLabel() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JOptionPane.showMessageDialog( this,
System.getProperty("user.dir"));
String html = "<html>\n" +
" <body>\n" +
" <div style=\"text-align: center;\">\n" +
" <img src=\"file://s.png\">\n"+
" </div>\n"+
" </body>\n"+
"</html>";
JLabel label = new JLabel(html);
add(label);
pack();
setVisible(true);
}
public static void main(String[] args) {
new HTMLLabel();
}
}
Run Code Online (Sandbox Code Playgroud) 什么是jquery中的Join()?例如:
var newText = $("p").text().split(" ").join("</span> <span>");
Run Code Online (Sandbox Code Playgroud) .net ×2
c# ×1
class ×1
combobox ×1
database ×1
dictionary ×1
e-commerce ×1
excel ×1
html ×1
instance ×1
java ×1
jlabel ×1
jquery ×1
multilingual ×1
php ×1
python ×1
qt ×1
silverlight ×1
transactions ×1
valgrind ×1
vb.net ×1
vba ×1
xsd ×1