我有这个代码:
return DurationFormatUtils.formatDuration(2034430000000L, yyyy-MM-dd_HH:mm:ss.SSS)
Run Code Online (Sandbox Code Playgroud)
结果是: 0000-00-23546_15:26:40.000
为什么年和日都是0多天?
我正在使用Play framework 2.1.
我正在使用web-socket,我需要找到从服务器关闭它们的方法.
有没有办法做到这一点?
我的services.xml中有以下代码
<bean id="executorService" class="java.util.concurrent.Executors" factory-method="newFixedThreadPool">
<constructor-arg value="10" />
</bean>
<task:annotation-driven executor="executor" />
<task:executor id="executor" pool-size="10" queue-capacity="100" rejection-policy="CALLER_RUNS" />
Run Code Online (Sandbox Code Playgroud)
在同一项目中,我还具有使用dbcp.BasicDataSource的数据库连接。
我已经读到DBCP在您的应用程序是单线程而不是多线程时才有效。使用executor告诉我该应用程序是多线程的。您认为在这里使用DBCP是否不合适?这是一个好习惯吗?或者,我是否有一个古老的神话,那就是DBCP无法处理多种环境?
朝着正确方向的任何指导将不胜感激。
java spring multithreading executorservice apache-commons-dbcp
var date = new Date()
Run Code Online (Sandbox Code Playgroud)
输出: "Wed Nov 28 2012 14:55:24 GMT-0500 (Eastern Standard Time)"
想要摆脱UT和时间输出:
"Wed Nov 28 2012"
Run Code Online (Sandbox Code Playgroud) 我正在尝试将 org.apache.commons.dbcp.BasicDataSource 配置为使用 tomcat 6 的 tomcat 项目下 web.xml 中的 bean。(它是 red5 和 tomcat,我们可以忽略主服务器实际上是 red5,因为我实际上运行的是 jsp 5080端口下的文件,不要使用RTMP协议直接连接到red5)
我的 web.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/ j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>gamesisland-login-red5</display-name>
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>/[myapp]</param-value>
</context-param>
<listener>
<listener-class>org.red5.logging.ContextLoggingListener</listener-class>
</listener>
<filter>
<filter-name>LoggerContextFilter</filter-name>
<filter-class>org.red5.logging.LoggerContextFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>LoggerContextFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>rtmpt</servlet-name>
<servlet-class>org.red5.server.net.rtmpt.RTMPTServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>rtmpt</servlet-name>
<url-pattern>/fcs/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>rtmpt</servlet-name>
<url-pattern>/open/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>rtmpt</servlet-name>
<url-pattern>/close/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>rtmpt</servlet-name>
<url-pattern>/send/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>rtmpt</servlet-name>
<url-pattern>/idle/*</url-pattern>
</servlet-mapping>
<security-constraint>
<web-resource-collection>
<web-resource-name>Forbidden</web-resource-name>
<url-pattern>/streams/*</url-pattern>
</web-resource-collection>
<auth-constraint/>
</security-constraint>
<bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> …Run Code Online (Sandbox Code Playgroud) while(true){
try
{
if(Calendar.DATE == X){
startTask();
}
long delay = timeUntilNextCheck();
Thread.sleep(delay);
}
catch (Throwable t)
{
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个程序,需要在一个月的特定日期运行特定任务.在任务运行之后(或者如果它不是那天),线程会一直睡到明天它将再次检查.
但是,我收到了死代码警告,因为部分代码仅在该月的特定日期运行.
我已经阅读了这个警告是什么,我发现在某些情况下编译器不会编译死代码.所以我的问题是,这总是会被编译吗?
我在下面的Spring 3.0文档中阅读:
强类型集合(仅限Java 5+)
在Java 5及更高版本中,您可以使用强类型集合(使用泛型类型).也就是说,可以声明Collection类型,使其只能包含String元素(例如).如果您使用Spring依赖注入一个强类型的Collection到bean中,您可以利用Spring的类型转换支持,这样强类型Collection实例的元素在被添加到之前就会转换为适当的类型收藏.
public class Foo {
private Map<String, Float> accounts;
public void setAccounts(Map<String, Float> accounts) {
this.accounts = accounts;
}
}
<beans>
<bean id="foo" class="x.y.Foo">
<property name="accounts">
<map>
<entry key="one" value="9.99"/>
<entry key="two" value="2.75"/>
<entry key="six" value="3.99"/>
</map>
</property>
</bean>
</beans>
Run Code Online (Sandbox Code Playgroud)
当foo bean的accounts属性准备好进行注入时,可以通过反射获得有关强类型Map的元素类型的泛型信息.因此,Spring的类型转换基础结构将各种值元素识别为Float类型,并将字符串值9.99,2.75和3.99转换为实际的Float类型.
这怎么可能?据我所知,通用类型信息在编译期间被删除.
当我启动JVM时,它至少保留{{xms}}个内存,对吗?这意味着这个内存对于JVM进程是私有的(它是malloced),是吗?当JVM需要增加堆储备(mallocs)的内存时.但是多少钱?我不相信它保留的确尽可能多,可能有一定的步骤(池?)大小.
如何配置这个"步长"?
所有这一切都会发生,直到达到{{xmx}}并抛出OOM,对吧?
当JVM启动GC时?不是说xmx,而是保留堆大小(这个池的顶部)?
如果是这样,最好将xms设置为接近xmx以防止许多无用的GC.我会有一个巨大的GC,而不是很多小的,每个GC冻结我的JVM的bug,所以最好有一个,对吗?
我有一个代码如下:
Class A{
protected void method1(){
//i have logic which will fetch the results from the database
}
}
Run Code Online (Sandbox Code Playgroud)
我还有一个课程扩展了A班:
Class B extends A{
//some logic
}
Run Code Online (Sandbox Code Playgroud)
现在执行了多少个数据库调用?一个或两个?
java ×6
spring ×3
date ×2
comments ×1
dead-code ×1
duration ×1
generics ×1
inheritance ×1
jakarta-ee ×1
javabeans ×1
javascript ×1
jvm ×1
jvm-hotspot ×1
object ×1
php ×1
scheduling ×1
time ×1
tomcat ×1
type-erasure ×1
web.xml ×1
websocket ×1