问题列表 - 第29691页

哪种实现更好:基于WeakHashMap的缓存还是基于ThreadLocal的缓存?

我很难在以下两个实现之间做出决定.我想缓存每个线程的javax.xml.parsers.DocumentBuilder对象.我主要担心的是运行时性能--Hench我很乐意避免使用尽可能多的GC.记忆不是问题.

我已经写了两个POC实现,很高兴听到社区PROS/CONS关于每个实现.

谢谢你的帮助.

选项#1 - WeakHashMap

import java.io.IOException;
import java.io.StringReader;
import java.util.WeakHashMap;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;


public class DocumentBuilder_WeakHashMap {
    private static final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    private static final WeakHashMap<Thread, DocumentBuilder> CACHE = new WeakHashMap<Thread, DocumentBuilder>();

    public static Document documentFromXMLString(String xml) throws SAXException, IOException, ParserConfigurationException {
        DocumentBuilder builder = CACHE.get(Thread.currentThread());
        if(builder == null) {
            builder = factory.newDocumentBuilder();
            CACHE.put(Thread.currentThread(), builder);
        }

        return builder.parse(new InputSource(new StringReader(xml)));
    }

}
Run Code Online (Sandbox Code Playgroud)

选项#2 - ThreadLocal

import java.io.IOException; …
Run Code Online (Sandbox Code Playgroud)

java performance multithreading caching

3
推荐指数
1
解决办法
3159
查看次数

框架和模板引擎有什么区别?

zendframework和像smarty这样的模板引擎之类的框架有什么区别?

作为初学者,我应该从哪开始?

php frameworks template-engine

12
推荐指数
2
解决办法
9541
查看次数

无法禁用Vardecimal存储格式

我最近将数据库从"SQL Server 2005 SP1"实例移动到"SQL Server 2008 SP1"(使用detach-attach).我现在需要将其移回但它失败并出现错误:

无法打开数据库"MyDB",因为它是版本655.此服务器支持版本612及更早版本.不支持降级路径.

经过一些研究后,我认为这与新的数据库选项"Vardecimal Storage Format"有关,该选项以某种方式为我的所有数据库设置为ON.我没有自己设置这个,但如果我检查Management Studio(2008)中的数据库选项,我可以看到它对于我的所有数据库都设置为'True'.此外,在UI中禁用此特定选项,因此我无法将其关闭.

然后我尝试以下方法将其关闭:

exec sp_db_vardecimal_storage_format'MyDB','OFF'go

报告成功,但当我检查选项时它仍然是ON.

然后我读了这篇非常详细的文章:" http://msdn.microsoft.com/en-us/library/bb508963.aspx ",其中说明了关闭此选项的以下要求:

  1. 确保没有表使用vardecimal存储.证实.
  2. 将恢复模式设置为简单并执行完全备份.我这样做了

但这一切都没有任何区别.该选项仍然存在,我无法更改它.

SQL Server的两个实例都是Express Edition(它不应该支持Vardecimal存储格式).

有关如何关闭此选项的任何想法?

sql-server sql-server-2005 downgrade sql-server-2008

3
推荐指数
1
解决办法
3517
查看次数

git上的每个目录权限

我们正在考虑将我们的VCS转换为git或subversion.我更喜欢切换到git,但是subversion有一个很好的功能,我没有在git中看到:每个目录访问控制.

我们目前在cvs中有project1,project2存储库,具有不同的权限.我们想拥有一个单独的存储库,其中两个目录project1和project2具有不同的权限.是否可以使用git,因为它与svn一样?

我知道子模块,它可能实现这一点,但我们的目标是能够通过project1和project2中的更改进行一次提交.

我们主要有IP问题,并希望确保有些人无法读取(而不仅仅是推送)某些目录.那么,是应对挑战还是我必须使用git-svn?

谢谢

svn git git-svn

15
推荐指数
1
解决办法
8309
查看次数

使用netbeans,xdebug,symfony和phpunit

我在我的Apache上安装了xdebug,如果我在Netbeans中定义一个断点,那么执行会很好.但是如果我执行测试symfony phpunit:test-all,执行将不会在给定的断点上中断.

有任何想法吗?cowabunga!

php phpunit netbeans symfony1 xdebug

4
推荐指数
1
解决办法
3315
查看次数

程序员应该设计用户界面吗?

程序员通常充当用户界面的设计者.你可以争论它是否好.但是,特别是在小公司中,这是一个不变的现实.
作为程序员,你个人认为,我们的设计UI是什么?我个人认为不是这样,特别是当你打算在Web应用程序上工作时,他们也会让你设计UI.
****如果我错了,请纠正我.****

user-interface gui-designer

10
推荐指数
2
解决办法
708
查看次数

使用"filename:line"语法打开一个文件

通常,编译错误会随file:line语法一起显示.

将它直接复制粘贴以打开右侧的文件会很不错.

Emacs已经有一些模式可以在缓冲区(compile-mode,iirc)中处理这个问题,但我想从shell命令行中获取它,因为我在emacs之外的大部分时间都使用标准shell.

知道如何调整emacs来学习在线file:line打开的语法吗?(显然,如果真的存在于磁盘上,最好应该打开)filelinefile:line

emacs bash

49
推荐指数
7
解决办法
1万
查看次数

Hibernate JPA - 没有填充ManyToOne关系

我目前正在将一个(工作)应用程序从使用EclipseLink转移到Hibernate JPA,大多数情况下它已经非常顺利,但我找到了一件我无法解释的事情,也无法想到任何好的搜索术语!

基本上,我有四个实体,一对多的关系形成一个链:

EntityA有一个EntityB列表,每个列表都有一个EntityC列表,每个列表都包含一个EntityD列表

然后,每个人都有一个多对一的关系,所以:

EntityD有一个EntityC,它有一个EntityB,它有一个EntityA.

那是(为了清晰起见而大大减少):

@Entity
public class EntityA {
  @OneToMany (cascade = CascadeType.All, mappedBy = "entityA")
  private List<EntityB> entityBList;
  ...
}

@Entity
public class EntityB {
  @OneToMany (cascade = CascadeType.All, mappedBy = "entityB")
  private List<EntityC> entityCList;

  @JoinColumn (name = "ENTITY_A", referencedColumnName = "ENTITY_A_ID")
  @ManyToOne (cascade = CascadeType.PERSIST, optional = false)
  private EntityA entityA;
}

@Entity
public class EntityC {
  @OneToMany (cascade = CascadeType.ALL, mappedBy = "entityC")
  private List<EntityD> entityDList;

  @JoinColumn (name = "ENTITY_B", referencedColumnName = "ENTITY_B_ID")
  @ManyToOne …
Run Code Online (Sandbox Code Playgroud)

java orm hibernate jpa lazy-loading

6
推荐指数
1
解决办法
5855
查看次数

Django将HttpResponseRedirect返回到带参数的url

我的项目中有一种情况,我需要将用户重定向到包含参数的url(它在urls.py中声明如下:

url(r'^notamember/(?P<classname>\w+)/$', 
                           notamember,
                           name='notamember'),)
Run Code Online (Sandbox Code Playgroud)

如何将该参数放入返回HttpResponseRedirect?我尝试过:返回HttpResponseRedirect('/ classroom/notamember/classname'),无论如何,这是愚蠢的,我知道,我不能把'classmane'当作参数.为清楚起见,我的观点是:

def leave_classroom(request,classname):
theclass = Classroom.objects.get(classname = classname)
u = Membership.objects.filter(classroom=theclass).get(member = request.user).delete()
return HttpResponseRedirect('/classroom/notamember/theclass/')
Run Code Online (Sandbox Code Playgroud)

我怎样才能在该网址中包含变量'theclass'?非常感谢!

django url httpresponse urlvariables

31
推荐指数
3
解决办法
5万
查看次数

nunit单元测试的参考/指南

任何人都可以提出有关nunit和visual studio 2008入门的好参考/指南.(除了Nunit文档本身!).我特别想在vs 2008中建立一个测试项目.

c# nunit unit-testing nunit-2.5 visual-studio-2008

0
推荐指数
1
解决办法
569
查看次数