我刚读完这篇文章:Java-5 ThreadPoolExecutor相对于Java-7 ForkJoinPool有什么优势?觉得答案不够直接.
您能用简单的语言和示例来解释,Java 7的Fork-Join框架与旧解决方案之间的权衡取舍是什么?
我还阅读了Google关于Java提示的#1热门提示:何时从javaworld.com 使用ForkJoinPool vs ExecutorService但文章没有回答标题问题时,它主要讨论api差异......
我的容器XML配置:
<rabbit:listener-container
connection-factory="myConnectionFactory"
acknowledge="none"
concurrency="10"
requeue-rejected="false">
<rabbit:listener ref="myListener" queues="myQueue"/>
</rabbit:listener-container>
Run Code Online (Sandbox Code Playgroud)
而且myListener只是一堂课
@Component("myListener")
public class MyListener implements MessageListener {
@Autowired
SomeDependency dependency;
....
}
Run Code Online (Sandbox Code Playgroud)
我concurrency="10"在我的XML中指定了.这是什么意思完全相同?
我找到了一些文档.他们没有那么有用的陈述:
指定要创建的并发使用者数.默认值为1.
我感兴趣的是是否MyListener必须是线程安全的,即
SomeDependency dependency 一次或为每个线程/实例实例化?dependency需要线程安全吗?Java 8接口默认方法与抽象类中的非抽象方法 - 两者之间是否存在任何差异(除了iface的类别,可见性等)
不是Java中的默认方法,这意味着它违背了Java多年来所宣传的本质?!
对于关联数组,我们可以编写
if( elem in array) { .. }
Run Code Online (Sandbox Code Playgroud)
我们为一个简单的数组写了什么?我想写验证,例如
enforce(input in [10,20,40]);
Run Code Online (Sandbox Code Playgroud) 有一个标准的维基表
{| class="sortable wikitable"
! Title
! Authors
! ID Number
|-
| '''Applying UML and Patterns'''
| Craig Larman
| ID432
...
Run Code Online (Sandbox Code Playgroud)
如何使表按第3列(ID)升序对表进行排序?
我有一些使用Generics编写的Java代码.这是一个简单的版本:
// In Java
public interface Testable {
void test();
}
public class TestableImpl implements Testable {
@Override
public void test(){
System.out.println("hello");
}
}
public class Test {
public <T extends Testable> void runTest(Collection<T> ts){
System.out.println("Collection<T>");
for(T t: ts)
t.test();
}
public void runTest(Object o){
System.out.println("Object");
System.out.println(o);
}
}
// in Groovy - this is how I have to use the code
Test test = new Test()
test.runTest([new TestableImpl(), new TestableImpl()])
test.runTest([1,2,3]) //exception here
Run Code Online (Sandbox Code Playgroud)
我很惊讶第二个方法调用被调度到错误的方法(在我的Javish理解中是错误的).而是调用Object重载,调用Collectiongets.
我使用的是Groovy …
我有兴趣使用StringTemplate模板引擎编写类似于嵌套循环的东西.在C#中有一个HashTable,其中每个Key包含Document对象列表,每个Document都有一个标题和源.我想在电子邮件的开头列出每个来源的文档标题摘要.
<h1>Summary</h1>
<h2>Source A</h2>
<ul>
<li>title 1</li>
<li>title 2</li>
</ul>
<h2>Source B</h2>
<ul>
<li>title 3</li>
<li>title 4</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
使用StringTemplate实现此目的的最佳方法是什么?
我需要执行N次动作.D的最佳方式是什么?
for(uint i=0; i<N; i++)
action();
foreach(uint i; 0.. N)
action();
Run Code Online (Sandbox Code Playgroud)
也许更好的东西?理想的情况是我想要的东西像Groovy的/ Ruby的times如
N.times {
action();
}
Run Code Online (Sandbox Code Playgroud)
可能吗?
我想测试用D编写的代码.我正在使用DUB来构建项目(但是到目前为止配置是相当基本的:只是名称和dunit依赖项).
我在很多项目中都看到,单元测试放在实际代码旁边(例如http://wiki.dlang.org/Unittest#Placement).
虽然对于小模块和简单测试来说这是IMO,但如果我真的想测试我的代码呢?
在Java(和其他JVM语言)中,惯例恰恰相反 - 将测试保存在单独的文件中(通常反映测试中的单元包装).
是否有可能在D中为单元测试提供单独的文件?
我很想拥有一个经典的设置:
dub.json
/source/mylib/app.d
/tests/mylib/app_tests.d
Run Code Online (Sandbox Code Playgroud)
与DUB集成的文件app_tests(与其他文件一样tests) - 仅在--unittests等等期间编译/运行
我有一个字节(我知道这是一个保存为小端的整数),我想将它们转换为整数.
当我有一个静态大小的数组时没问题,但现在我有一个slice(ubyte[]).
是否仍然可以将其转换为整数,例如以这种方式?
ubyte[] bytes = ...;
uint native = littleEndianSliceToNative!uint(bytes);
Run Code Online (Sandbox Code Playgroud)