我很快就会教"Java崩溃课程".虽然假设观众成员会知道Big-O表示法可能是安全的,但假设他们知道各种集合实现的各种操作的顺序是什么可能是不安全的.
我可以花时间自己生成一个摘要矩阵,但如果它已经在公共领域的某个地方出现,我肯定想重复使用它(当然还有适当的信用.)
任何人有任何指针?
我有一个Java库我正在考虑移植到C#.Java库广泛使用注释(在构建时和运行时).
我从未使用过C#属性,但是要明白它们是Java注释的粗略等价物.
如果我使用属性来替换注释继续使用端口,我需要知道什么?什么会是一样的?不同?什么会咬我?
我在解决一些看起来像这样的代码时遇到了非常痛苦的故障排除经验:
try {
doSomeStuff()
doMore()
} finally {
doSomeOtherStuff()
}
Run Code Online (Sandbox Code Playgroud)
这个问题很难解决,因为doSomeStuff()引发了异常,这又导致doSomeOtherStuff()也抛出异常.第二个异常(由finally块抛出)被抛到我的代码中,但它没有第一个异常的句柄(从doSomeStuff()抛出),这是问题的真正根本原因.
如果代码说了这个,那么问题就很明显了:
try {
doSomeStuff()
doMore()
} catch (Exception e) {
log.error(e);
} finally {
doSomeOtherStuff()
}
Run Code Online (Sandbox Code Playgroud)
所以,我的问题是:
是没有任何catch块使用的finally块是一个众所周知的java反模式?(这显然是一个不太明显的子类,显然是众所周知的反模式"不要狼吞虎咽的例外!")
我最近将我的CI服务器从旧版本的CruiseControl迁移到了Hudson.我错过了CruiseControl的唯一功能是能够接收每个构建的电子邮件构建通知,而不仅仅是那些导致项目状态发生变化的通知.
我特别感兴趣的是对所有成功构建的构建通知感兴趣.
有人这样做吗?或者是时候让我学习Hudson插件开发了吗?
build-automation continuous-integration build-process hudson
当我复制一个Eclipse项目目录时,它包含.classpath和.project文件,这样当我将同一个目录带到另一个Eclipse实例时,我不需要设置我的构建路径等(假设所有资源都包含在内)在项目中,而不是外部.)
但是,此过程不会导致启动配置文件与目录"一起".
是否有其他文件/目录结构我可以"携带"到另一个包含我的启动配置文件的Eclipse实例?
我有一个项目(类型'jar')(显然)构建一个jar.但该项目有很多依赖性.我希望Maven构建一个包含我的jar,所有依赖jar和一些脚本(启动应用程序等)的"包"或"程序集"
最好的方法是什么?具体来说,让家属进入大会的最佳方法是什么?
有时我们会遇到一个绝对拒绝正确摆脱的SWT复合材料.当我们在复合材料上调用dispose然后用另一个替换它时,我们经常会遇到这种情况; 虽然它似乎并不严格限于这种情况.
当我们遇到这个问题时,大约50%的时间,我们可以打电话pack()
和layout()
违规复合,一切都会好的.但是,大约50%的时间我们必须这样做:
Point p = c.getSize();
c.setSize(p.x+1, p.y+1);
c.setSize(p);
Run Code Online (Sandbox Code Playgroud)
几乎每种布局管理器组合都会发生这种情况.
我希望我有一个漂亮,简单,可重复的案例,但我没有.我希望有人能认出这个问题并说:"好吧,呃,你错过了xyz ......"
当我调用getBean(name)
a时BeanFactory
,我会返回应用程序上下文中定义的bean实例.但是,当我getBean(name)
再次调用(使用相同的名称)时,我得到了相同的bean实例.我理解在某些(很多?)情况下这是如何可取的,但是如何告诉BeanFactory
我给我一个新实例?
示例Spring配置(简洁地说......我遗漏了一些冗长,但这应该得到重点):
<beans>
<bean id="beanA" class="misc.BeanClass"/>
</beans>
Run Code Online (Sandbox Code Playgroud)
示例Java:
for(int i = 0;i++;i<=1) {
ApplicationContext context = ClassPathXmlApplicationContext("context.xml");
Object o = context.getBean("beanA");
System.out.println(o.toString()); // Note: misc.BeanA does not implement
// toString(), so this will display the OOID
// so that we can tell if it's the same
// instance
}
Run Code Online (Sandbox Code Playgroud)
当我运行这个时,我会得到类似的东西:
misc.BeanClass@139894
misc.BeanClass@139894
Run Code Online (Sandbox Code Playgroud)
请注意,两者都具有相同的OOID ...所以这些是相同的实例...但我想要不同的实例.
我完全不确定这是否是一个可解决的问题,但假设我有一个freemarker模板,我希望能够向模板询问它使用的变量.
出于我的目的,我们可以假设freemarker模板非常简单 - 只是"根级"条目(这种模板的模型可以是一个简单的Map).换句话说,我不需要处理调用嵌套结构等的模板.
我有一个WSDL,它指定一个元素的类型为xs:date.
当我使用Apache CXF生成Java类时,它将变量呈现为javax.xml.datatype.XMLGregorianCalendar(到目前为止都是好的).
当CXF呈现包含此文档的XML文档时,它将以此形式呈现它(其中-06:00表示时区):
2000-01-18-06:00
如何配置CXF不渲染时区?
java ×9
c# ×2
annotations ×1
attributes ×1
big-o ×1
c++ ×1
collections ×1
cxf ×1
eclipse ×1
exception ×1
freemarker ×1
hudson ×1
maven-2 ×1
soap ×1
spring ×1
swt ×1
web-services ×1