Java 8时区转换

在Java 8中,我想将日期时间从UTC转换为ACST(UTC + 9:30)。 输入 – > 2014-09-14T17:00:00 + 00:00 output-> 2014-09-15 02:30:00 String isoDateTime = “2014-09-14T17:00:00+00:00”; LocalDateTime fromIsoDate = LocalDateTime.parse(isoDateTime, DateTimeFormatter.ISO_OFFSET_DATE_TIME); ZoneOffset offset = ZoneOffset.of(“+09:30”); OffsetDateTime acst = OffsetDateTime.of(fromIsoDate, offset); System.out.println(acst.toString()); // 2014-09-14T17:00+09:30 System.out.println(acst.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME)); // 2014-09-14T17:00:00+09:30 为什么没有执行偏移?

根据“尽力而为1PC”模式实现Spring ChainedTransactionManager

最好的努力1PC在这篇文章中很好地描述。 为SpringSource工作的作者David Syer提供了一个扩展Spring AbstractPlatformTransactionManager类的ChainedTransactionManager实现。 此特定事务管理器可以启动n个事务,例如JDBC或JMS会话,并使用AbstractPlatformTransactionManager n个实例执行提交/回滚,每个资源一个。 这在XA驱动程序不可用的情况下非常有用。 由于post很老,代码在Spring 2.5中运行良好,但在Spring 3+中失败了。 在Spring 3+中有一个实现类似function的请求票 。 我愿意尝试一下,但我想我先问:那里有没有实现? 谢谢

为什么Java中需要String args?

我理解String [] args是一个传递给main作为参数的字符串数组。 java Print “Hello, World!” class Print { public static void main(String[] args) { System.out.println(args[0]); } } 但是,如果不将其作为参数包含(即使不使用),则会引发exception。 那为什么需要呢? 另外,为什么它不能是int []或boolean []?

如何比较java中的两个URL?

这是一个简单的问题 – 给定两个url,是否有一些内置方法,或者一个Apache库来决定它们(逻辑上)是否相等? 例如,这两个url是相同的: http://stackoverflow.com http://stackoverflow.com/

如何为PrintWriter使用flush()

我有一些像这样的代码: PrintWriter pw = new PrintWriter(new BufferedReader(….)); for(int i=0; i<10; i++) { pw.println("a"); pw.flush();// flush each time when println()? } pw.close(); 每个’for’语句中的flush()是否必然? 我听说flush()会在调用close()时自动调用。 如果我写这样的代码: PrintWriter pw = new PrintWriter(new BufferedReader(….), true); 我不会再写pw.flush()了吗? 谢谢。

Maven项目取决于同一工件的两个版本

我有一个项目有两个单独的模块,使用sqlline和另一个依赖于jline的库(比如OtherLib)。 但是在不同的版本上。 外部图书馆 Module1使用Sqlline依赖于jline 2.10 Module2使用OtherLib依赖于jline 0.9.94 这两个版本是不兼容的。 因此,我设置了类路径,以便Module1首先在$ HOME / lib / module1文件夹中搜索,在$ HOME / lib文件夹中搜索Module2。 有没有办法指定maven首先将工件下载到源目录(例如../resources/lib ),然后在assembly.xml打包时间内将其复制到包中? 我知道,对于从源目录复制,可以使用以下代码。 ../resources/lib ${HOME}/lib/module1 755 644 *.jar 也是为了让maven下载我可以使用的依赖项(对于Module2) false ${HOME}/lib 755 644 jline:jline:jar:0.9.94 如何确保jline:jline:jar:2.10首先下载到../resources/lib文件夹?

HibernateException:无法获取当前线程的事务同步会话

尝试使用我的@Service注释类时,我收到以下exception: org.hibernate.HibernateException: Could not obtain transaction-synchronized Session for current thread at org.springframework.orm.hibernate4.SpringSessionContext.currentSession(SpringSessionContext.java:134) ~[spring-orm-4.1.1.RELEASE.jar:4.1.1.RELEASE] at org.hibernate.internal.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:1014) ~[hibernate-core-4.3.6.Final.jar:4.3.6.Final] at webapp.base.repository.GenericDaoImpl.saveOrUpdate(GenericDaoImpl.java:59) ~[base-0.0.1-SNAPSHOT-classes.jar:na] at com.example.repository.PageViewDaoImpl.saveOrUpdate(PageViewDaoImpl.java:19) ~[site-0.0.1-SNAPSHOT.jar:na] at com.example.repository.PageViewDaoImpl.saveOrUpdate(PageViewDaoImpl.java:14) ~[site-0.0.1-SNAPSHOT.jar:na] at com.example.service.PageViewServiceImpl.savePageView(PageViewServiceImpl.java:26) ~[site-0.0.1-SNAPSHOT.jar:na] at com.example.interceptor.PageViewInterceptor.preHandle(PageViewInterceptor.java:29) ~[site-0.0.1-SNAPSHOT.jar:na] at org.springframework.web.servlet.HandlerExecutionChain.applyPreHandle(HandlerExecutionChain.java:130) ~[spring-webmvc-4.1.1.RELEASE.jar:4.1.1.RELEASE] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938) ~[spring-webmvc-4.1.1.RELEASE.jar:4.1.1.RELEASE] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877) ~[spring-webmvc-4.1.1.RELEASE.jar:4.1.1.RELEASE] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966) [spring-webmvc-4.1.1.RELEASE.jar:4.1.1.RELEASE] at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857) [spring-webmvc-4.1.1.RELEASE.jar:4.1.1.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:620) [servlet-api-3.0.jar:na] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842) [spring-webmvc-4.1.1.RELEASE.jar:4.1.1.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) [servlet-api-3.0.jar:na] […]

为我的Web应用程序编写授权filter(JSF 2.0)

根据一些建议,我决定为我的网络应用程序编写自己的授权filter(我没有使用容器管理的安全性,所以我必须这样做)。 这是我的第一个filter,所以我对如何实现它有点困惑。 这就是我到目前为止所做的: package filters; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import entities.Role; public class RestrictPageFilter implements Filter { FilterConfig fc; public void init(FilterConfig filterConfig) throws ServletException { // The easiest way to initialize the filter fc = filterConfig; } public […]

Java:设置“user.dir”时File.exists()不一致

JRE 6,在Windows XP上。 使用不同构造函数实例化两个File对象会导致File.exists()方法中的结果不一致。 免责声明: 以下代码是摘要,而不是实际代码。 我根本不相信这是一个File.separator问题。 我首先要求得到早期反应,以防我错过了一个很好理解的问题。 现在看来,重置user.dir系统属性是导致此问题的原因之一。 下面的代码现在可以重现并且可以按原样使用。 您可以复制/粘贴Java类并尝试它,它应该与我列出的结果一致。 建立: 创建文件夹架构C:\toto\tmp\sub 。 从任何不包含tmp/sub子文件夹体系结构的文件夹中启动以下类。 码: public class TestFileExists { public static void main(String[] args) { System.setProperty(“user.dir”, “C:\\toto\\”); File root = new File(“tmp”); File sub_a = new File(root, “sub”); File sub_b = new File(root.getAbsolutePath()+”/sub”); System.out.println(“sub_a path ? “+sub_a.getAbsolutePath()); System.out.println(“sub_a exists ? “+sub_a.exists()); System.out.println(“sub_b path ? […]

JVM中的最大线程数?

Java虚拟机可以维护的最大线程数是多少? 我没有在原始问题中解释这一点,但我试图对JVM进行基准测试,并希望尝试查看它可以同时维护多少个线程。 在循环中创建线程直到抛出exception是一个选项,但是,我想知道是否有更好的方法来执行此操作。