我正在寻找Java中的对象池的现代实现.我可以看到apache commons one,但说实话,我宁愿使用泛型,以及来自更新版本java的并发内容.
公共泳池真的运作良好吗?代码看起来很漂亮,呃,丑陋.
我需要一些允许自定义活动验证等的东西.
谢谢!
如何使用automake安装HTML文件,样式表和图像的目录树,而无需在每个子目录中创建Makefile?
在顶层目录中使用以下内容
htmldir = $(docdir)/foo/html
html_DATA = \
stylesheets/foo.css \
images/foo.jpg \
index.html \
about/index.html \
faq/index.html
EXTRA_DIST = $(html_DATA)
Run Code Online (Sandbox Code Playgroud)
失败,因为在install调用之前未创建子目录.
在变量上使用volatile可以降低内存一致性错误的风险(如果这揭示了我对任何相关概念的理解中的一些漏洞,请纠正我).因此,在下面的示例中,即使变量c1是易失性的,仍然发生内存持续性错误导致c1在输出中变为15或有时为14而不是正确的输出16.
class Lunch implements Runnable {
private volatile long c1 = 0;
private Object lock1 = new Object();
private Object lock2 = new Object();
public void inc1() {
// synchronized(lock1) { c1 is volatile
c1++;
// }
}
public void run() {
try {
inc1();
Thread.sleep(1000);
inc1();
Thread.sleep(1000);
inc1();
Thread.sleep(1000);
inc1();
inc1();
Thread.sleep(1000);
inc1();
Thread.sleep(1000);
inc1();
Thread.sleep(1000);
inc1();
}
catch(InterruptedException e) {
return;
}
}
public long value() {
return c1;
}
public static void main(String args[]) throws InterruptedException { …Run Code Online (Sandbox Code Playgroud) 在我的机器上,默认情况下,variant = release的cxxflags是-O3.
我需要将它改为-O2.请告知如何继续.
如果有人可以就此提出建议,我也可以定义一个新变种.
我刚遇到这种情况,我认为这是一个使用default关键字的好机会.但它没有编译,我想不出为什么.以下示例说明了我的问题:
public class Test<TDataSource>
{
public IQueryable<TDataSource> DataSource { get; set; }
public bool GetOneOrDefaultResult()
{
var result = DataSource.SingleOrDefault();
return result != default(TDataSource);
}
}
Run Code Online (Sandbox Code Playgroud)
你会在第8行得到一个错误("运算符'=='不能应用于'TDataSource'和'TDataSource'类型的操作数.").我认为使用default关键字将消除引用类型和值类型之间的任何比较问题.
添加将TDataSource限制为引用类型的通用约束使得这段代码可以编译.
有人可以解释为什么编译器不会为我解决这个问题吗?只是不够聪明才能看到这会起作用吗?
这是相关的: 不能将operator ==应用于C#中的泛型类型?
[编辑] SLaks的答案给了我一些灵感,'=='运算符不起作用,但Equals函数应该.
public class Test<TDataSource>
{
public IQueryable<TDataSource> DataSource { get; set; }
public bool GetOneOrDefaultResult()
{
var result = DataSource.SingleOrDefault();
return result.Equals(default(TDataSource));
}
}
Run Code Online (Sandbox Code Playgroud)
这个编译会正常吗?
现在不需要这样做但是考虑未来......
通过自定义编码cms将网站"脱机"一点的方法是什么?含义赋予管理员登录管理面板,在框中键入消息并提交表单的功能.除非用户是管理员,否则该消息将显示给任何用户而不是任何其他页面.
我之前已经完成了这个并且使用了一个if xml文件,然后从xml文件加载内容并在消息后面添加一个构造背景,其中一个登录框只允许管理员登录.当管理员将消息输入到框中时它将文本存储到xml中.当他们将网站"恢复生机"时,它只会删除xml文件.
唯一的问题是,一旦网站增长,它需要更多的点击并检查文件存在每个页面加载变得缓慢.任何人都有更好的解决方案吗?
谢谢.
可以说我有这个代码.
<asp:TextBox ID="TextBox1" runat="server" />
<asp:CustomValidator ID="CustomValidator1" runat="server"
ClientValidationFunction="ValidationFunction1"
ControlToValidate="TextBox1"
Display="Dynamic" />
Run Code Online (Sandbox Code Playgroud)
还有一个validationFunction:
function ValidationFunction1(sender, args)
{
}
Run Code Online (Sandbox Code Playgroud)
而且我想知道,如果在函数内部我可以让Control来验证类似的东西:
var v = sender.ControlToValidate;
Run Code Online (Sandbox Code Playgroud) 假设我们的应用程序中有一个CountryList对象,它应返回国家/地区列表.加载国家是一项繁重的操作,因此应该缓存该列表.
其他要求:
我提出了以下解决方案:
public class CountryList {
private static final Object ONE = new Integer(1);
// MapMaker is from Google Collections Library
private Map<Object, List<String>> cache = new MapMaker()
.initialCapacity(1)
.makeComputingMap(
new Function<Object, List<String>>() {
@Override
public List<String> apply(Object from) {
return loadCountryList();
}
});
private List<String> loadCountryList() {
// HEAVY OPERATION TO LOAD DATA
}
public List<String> list() {
return cache.get(ONE);
}
public void invalidateCache() {
cache.remove(ONE);
}
}
Run Code Online (Sandbox Code Playgroud)
你怎么看待这件事?你觉得它有什么坏处吗?还有其他办法吗?我怎样才能让它变得更好?我应该在这种情况下寻找另一种解决方案吗?
谢谢.
我有一个9补丁图像文件,如下所示:

当我使用它时,它看起来像这样:

我实际想要实现的是中心的完整点重复而不是拉伸.我希望这是可能的.
java ×3
c# ×2
.net ×1
.net-3.5 ×1
android ×1
asp.net ×1
automake ×1
bjam ×1
boost ×1
boost-build ×1
caching ×1
concurrency ×1
generics ×1
lazy-loading ×1
nine-patch ×1
offline-mode ×1
performance ×1
php ×1
rubygems ×1
validation ×1
volatile ×1