小编Sim*_*son的帖子

为什么PrintStream.close()最终会被调用两次?

令我惊讶的是,下面的代码打印出两次"关闭".通过调试器,它似乎MyPrintStream.close()调用super.close(),最终MyPrintStream.close()再次调用.

    
import java.io.*;

public class PrintTest
{
    static class MyPrintStream extends PrintStream
    {
        MyPrintStream(OutputStream os)
        {
            super(os);
        }

        @Override
        public void close()
        {
            System.out.println("Close");
            super.close();
        }
    }

    public static void main(String[] args) throws IOException
    {
        PrintStream ps = new MyPrintStream(new FileOutputStream(File.createTempFile("temp", "file")));
        ps.println("Hello");
        ps.close();
    }
}

为什么会这样?我不应该扩展PrintStream吗?

java inheritance printstream

7
推荐指数
2
解决办法
2122
查看次数

我可以从应用服务器外部向JMS队列发送消息吗?

据我了解,J2EE容器需要包含JMS提供程序.独立Java应用程序是否可以将消息发送到容器提供的JMS队列?如果是这样,我如何从容器外部访问JNDI查找?

(我正在尝试使用Geronimo,如果它有任何区别,但我希望有一种标准的方法来做到这一点.)

java jms java-ee

7
推荐指数
1
解决办法
9131
查看次数

为什么我的QuendConnectionFactory的JNDI查找返回null?

我试图寻找一个QueueConnectionFactoryQueue通过Geronimo的JNDI.在Queue获取返回正常,但QueueConnectionFactory查找始终返回null.它不会抛出一个NamingException,如果JNDI名称不正确,这就是我所期望的.

谁能看到我做错了什么?下面的测试代码输出:

true
false

import javax.jms.Queue;
import javax.jms.QueueConnectionFactory;
import javax.naming.InitialContext;
import javax.naming.NamingException;

public class JndiTest
{
    private final static String QUEUE_NAME = "jca:/org.apache.geronimo.configs/activemq-ra/JCAAdminObject/SendReceiveQueue";
    private final static String FACTORY_NAME = "jca:/org.apache.geronimo.configs/activemq-ra/JCAManagedConnectionFactory/DefaultActiveMQConnectionFactory";

    public static void main(String[] args) throws NamingException
    {
        InitialContext ctx = new InitialContext();
        QueueConnectionFactory factory = (QueueConnectionFactory) ctx.lookup(FACTORY_NAME);
        Queue queue = (Queue)ctx.lookup(QUEUE_NAME);
        System.out.println(factory == null);
        System.out.println(queue == null);      
    }

}
Run Code Online (Sandbox Code Playgroud)

如果它有所不同:我已将openejb-client-3.0.1.jar,geronimo-ejb_3.0_spec-1.0.1.jar和activemq-core-4.1.2-G20090207.jar添加到我的类路径中,并且我的jndi.properties文件具有以下属性:

java.naming.factory.initial = org.apache.openejb.client.RemoteInitialContextFactory
java.naming.provider.url = ejbd://127.0.0.1:4201

java jndi jms geronimo java-ee

7
推荐指数
1
解决办法
3万
查看次数

如何以编程方式获取SAS编码选项?

如何以encoding编程方式查找SAS全局选项?我可以跑proc options,它会给我答案,但我需要从代码中做到.

我希望得到一个"看宏符号和sysencoding"的答案,但这可能是太多希望了.我宁愿避免像写入外部文件和重新解析等脆弱的事情.

sas character-encoding

6
推荐指数
1
解决办法
3755
查看次数

为什么m2eclipse会从Eclipse构建路径中排除资源?

我正在尝试m2eclipse,Maven的Eclipse插件,并注意到资源现在被排除在我所有项目的构建路径之外.

在M2Eclipse常见问题解答页面上看到了一个似乎处理这个确切问题的问题,但答案(解释)似乎是说这是故意允许资源过滤,一切都应该正常工作.

但是,当我从Eclipse中运行我的应用程序时,依赖项目中的大量资源无法被我的应用程序找到.

我尝试过我常用的Eclipse挥动 - 橡皮鸡动作(清洁所有项目,从-clean开始)无济于事.我敢肯定我错过了一些相当简单的东西.有没有人有什么建议?

编辑:m2控制台中的一些挖掘显示其中一个项目没有正确构建.ClassNotFoundException当它试图找到org.apache.maven.plugin.MojoFailureException用于构建其中一个项目的自定义插件时,我得到了一个.

org.apache.maven.lifecycle.LifecycleExecutionException: Internal error in the plugin manager executing goal 'ourdemain:ourcustomplugin:2.0:process': Mojo execution failed.
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:505)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmentForProject(DefaultLifecycleExecutor.java:265)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:191)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:149)
    at org.apache.maven.DefaultMaven.execute_aroundBody0(DefaultMaven.java:223)
    at org.apache.maven.DefaultMaven.execute_aroundBody1$advice(DefaultMaven.java:304)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:1)
    at org.apache.maven.embedder.MavenEmbedder.execute_aroundBody2(MavenEmbedder.java:904)
    at org.apache.maven.embedder.MavenEmbedder.execute_aroundBody3$advice(MavenEmbedder.java:304)
    at org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java:1)
    at org.maven.ide.eclipse.internal.project.DefaultBuildParticipant$1.execute(DefaultBuildParticipant.java:130)
    at org.maven.ide.eclipse.internal.project.MavenProjectManagerImpl.execute(MavenProjectManagerImpl.java:986)
    at org.maven.ide.eclipse.internal.project.MavenProjectFacade.execute(MavenProjectFacade.java:320)
    at org.maven.ide.eclipse.internal.project.DefaultBuildParticipant.executePostBuild(DefaultBuildParticipant.java:116)
    at org.maven.ide.eclipse.internal.project.DefaultBuildParticipant.build(DefaultBuildParticipant.java:80)
    at org.maven.ide.eclipse.internal.builder.MavenBuilder.build(MavenBuilder.java:84)
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:633)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:170)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201)
    at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:253)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:256)
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:309)
    at …

java eclipse maven-2 m2eclipse

6
推荐指数
1
解决办法
3116
查看次数

我该如何诊断和防止JVM崩溃?

当我遇到JVM崩溃时,我应该做什么(作为一个对JVM内部不了解的Java程序员)呢?

特别是,您将如何生成可重现的测试用例?我应该在Sun(或IBM)的bug数据库中搜索什么?我可以从生成的日志文件中获得哪些信息(例如hs_err_pidXYZ.log)?

java crash jvm

6
推荐指数
2
解决办法
3323
查看次数

为什么Java在Windows中选择协调的通用时间时区时返回GMT-4.5中的日期?

我们在一些涉及"协调世界时"时区的Windows XP机器上看到了一个奇怪的问题.并非所有的Windows XP机器似乎都拥有它,但在那些机器上,以下是简单的Java程序

public class TimeTest {
    public static void main(String[] args) {
        System.out.println(java.util.TimeZone.getDefault());
        System.out.println(new java.util.Date());
    }
}
Run Code Online (Sandbox Code Playgroud)

在JDK 1.6.0_06上打印:

sun.util.calendar.ZoneInfo[id="America/Caracas",offset=-16200000,dstSavings=0,useDaylight=false,transitions=5,lastRule=null]
Fri Nov 13 05:34:14 VET 2009

(即比格林威治标准时间晚4个半小时).我应该补充一点,我的总部设在伦敦,从未去过南美洲.:-)

我的问题是:

  • Java从哪里获得这个时区?我认为协调世界时是应该是GMT的新名称.
  • 为什么有些Windows机器有这个时区但没有其他机器?

java windows timezone utc

5
推荐指数
1
解决办法
2498
查看次数

提取特定的文字行?

我有几个hudred千行文本文件.我必须在随机点中提取30,000个特定行,这些行都在文本文件中.这是我必须一次提取一行的程序:

big_file = open('C:\\gbigfile.txt', 'r')
small_file3 = open('C:\\small_file3.txt', 'w')
for line in big_file:
   if 'S0414' in line:
      small_file3.write(line)
gbigfile.close()
small_file3.close()
Run Code Online (Sandbox Code Playgroud)

如何加速我需要查看的30,000行>?

python

5
推荐指数
1
解决办法
1万
查看次数

在C中初始化struct里面的数组

struct myStruct
{   
    short int myarr[1000];//want to initialize all elements to 0
}
Run Code Online (Sandbox Code Playgroud)

如何初始化阵列?

我尝试short int* myarr[1000]={0}在结构中做,但这是错误的.我怎样才能做到这一点?我不介意在实现文件中这样做.此结构包含在头文件中.

c arrays struct initialization header-files

5
推荐指数
1
解决办法
3476
查看次数

C中的宏观和功能冲突

当C中的宏和函数冲突出现时会引发什么错误?是宏处理器错误还是由于某些语言违规而发生此错误?

例如,在此代码中:

#include <stdio.h>
#define MAX(i, j) (i>j)? i : j

int MAX(int i, int j){
  return (i>j) ? i : j;
}

int main(){
  int max = MAX(5, 7);
  printf("%d",max);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

该程序抛出编译时错误.但我不明白它是否是某种语言违规或宏扩展错误或其他原因.

c macros function

4
推荐指数
1
解决办法
1582
查看次数

写入XLSX文件(POI)时JVM崩溃

尝试写入.xlsx文件时JVM崩溃.我正在使用POI(XSSF).代码中的错误位置点是写入method--> workBook.write(fileOutputStream);

在控制台我得到..

A fatal error has been detected by the Java Runtime Environment:
  SIGBUS (0x7) at pc=0xb68d77f3, pid=14653, tid=1849355120
  JRE version: 7.0_04-b20
 Java VM: Java HotSpot(TM) Server VM (23.0-b21 mixed mode linux-x86 )
 Problematic frame:
 C  [libzip.so+0x47f3]  newEntry+0x73
 Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
 If you would like to submit a bug report, please visit:
   http://bugreport.sun.com/bugreport/crash.jsp
 The crash happened outside the Java …
Run Code Online (Sandbox Code Playgroud)

java crash jvm apache-poi jvm-crash

4
推荐指数
1
解决办法
2034
查看次数

使用Java代码启动Oracle存储过程

我在Oracle中编写了一个存储过程,现在,我想用Java代码启动它.我将描述一个问题.我有一个对象类型:

TYPE PERSON_TYPE AS OBJECT (ID NUMBER(38), NAME VARCHAR2(20));
Run Code Online (Sandbox Code Playgroud)

和表类型:

TYPE PERSON_TYPE_TABLE AS TABLE OF PERSON_TYPE;
Run Code Online (Sandbox Code Playgroud)

我的程序看起来像这样:

PROCEDURE EVALUATE_PERSON_PROC(P_PERSON_ID IN NUMBER, return_data OUT NOCOPY PERSON_TYPE_TABLE) 
AS
--Some code
BEGIN
--Some code
END;
Run Code Online (Sandbox Code Playgroud)

如何在Java代码中启动此过程?哪个班级最好?

java oracle plsql stored-procedures jdbc

2
推荐指数
2
解决办法
2905
查看次数

是否可以在Oracle的regexp_replace中引用第10个及后续的替换字符串?

在Oracle的regexp_replace功能,有一个参数replace_string,可以在其中指定反向引用\1\9.

有没有办法在第9个之后引用反向引用?Oracle将其\10视为\1文字0.

regex oracle

2
推荐指数
1
解决办法
232
查看次数