两者有什么区别?哪一个更好/建议设置时区?
也许我错过了一些东西,但我只想(在我的java程序中)从javax.persistence.Query对象中获取查询字符串?该Query对象本身似乎并不具备这样做的方法.另外我知道我们的经理不希望我们使用Spring框架的东西(例如使用他们的QueryUtils类).
有没有办法简单地从javax.persistence.Query对象中获取查询字符串(再次,在java程序中)?
一个看似简单的架构/设计问题:
我们的 Java 应用程序依赖于第三方代码。然而,这个第三方代码做了一些我不喜欢的事情(将时区设置为 GMT;我想根据应用程序的 TimeZoneID 以不同的方式设置时区)。我有什么选择?
1-我不能简单地扩展第三方类并覆盖不需要的行为,因为在我们的应用程序中到处都有第三方类的调用者(这是我们继承应用程序的方式)。
2-也许过于侵入性的解决方案是编写我们自己的第三方代码的等效项并依赖它。但是,这可能太多了,也太具有侵略性了。
3-我研究了一点Spring AOP(和aspectJ)的东西来进行加载时编织。我没有深入研究它,但在我看来,由于第三方代码调用 java.util.Timezone.setDefault(GMTTimeZone); (而不是调用我们自己编写/管理的类)这不是那么容易完成的。我在这里可能是错的,也许我仍然可以绕过 java.util.Timezone.setDefault()。请告诉我这是否属实,这几乎是我的(唯一的)解决方案。
4-我是否遗漏了一些东西,或者这几乎是所有可用的选项?
我正在攻读java认证,我从Mughal的书中看到了这个例子:
public class Smiley extends Thread
{
@Override
public void run()
{
while(true)
{
synchronized(this)
{
try
{
System.out.print(":");
Thread.sleep(100);
System.out.print("-");
Thread.sleep(100);
System.out.println(")");
Thread.sleep(100);
}
catch(InterruptedException e)
{
e.printStackTrace();
}
}
}
}
public static void main(String[] args)
{
new Smiley().start();
new Smiley().start();
}
}
Run Code Online (Sandbox Code Playgroud)
目的是每行打印一个笑脸:-).我的问题是,为什么同步实例(这个)不能实现这一点?为什么我们需要在静态级别上同步?
谢谢,