小编Fra*_*kPl的帖子

java远程调试Tomcat app:为什么JVM不能监听?

我想远程调试在Tomcat 7中运行的应用程序.Tomcat作为Win2008服务器上的服务运行.我将以下内容添加到Tomcat的Java配置面板中的Java选项中: -Xdebug -Xrunjdwp:transport=dt_socket,address=4711,server=y,suspend=n并在我的工作站和此端口的服务器上打开防火墙.但是当我在工作站上尝试从IntelliJ 9进行调试时,我收到一条错误消息Unable to open debugger port : java.net.ConnectException "Connection timed out: connect".jvm是备用的Sun/Oracle 64位JVM版本1.6.0_27.

我通过访问ManagementFactory.getRuntimeMXBean().getInputArguments()部署到Tomcat的应用程序并将结果记录到日志文件来验证命令行参数正在使用中.我通过Wireshark在我的工作站和服务器上验证了端口4711上的TCP请求是从我的电脑发送到达服务器的,但是没有答案.netstat -a在服务器上运行不会显示侦听此端口的进程.所以我假设Tomcat/JVM不会启动远程调试.

java remote-debugging tomcat7

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

Java泛型是一个全有或全无的决定吗?

我有以下代码:

public class Main {
    public static void main(String[] args) {
        Generic generic = new Generic<Integer>(5);
        List<String> stringList = generic.getStringList(); // this line is where the compiler complains
    }
}

public class Generic<T> {
    private T member;

    public Generic(T member) {
        this.member = member;
    }

    public T getMember() {
        return member;
    }

    public List<String> getStringList() {
        return new ArrayList<String>();
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,类Generic使用泛型类型参数声明,但generic方法中的变量main属于擦除类型,即没有类型参数.我不明白的是为什么编译器抱怨分配的行List<String>:

Warning:(6, 56) java: unchecked conversion
  required: java.util.List<java.lang.String>
  found:    java.util.List
Run Code Online (Sandbox Code Playgroud)

该方法明确返回a …

java generics

9
推荐指数
1
解决办法
490
查看次数

创建虚拟索引 - 仅适用于计划

我正在优化长时间运行的T-SQL查询.不知何故,我记得SQL Server中有一个功能,它允许检查索引存在时计划的方式.有点像CREATE VIRTUAL INDEX然后检查计划.但我没有找到如何实现这一目标.

SQL Server 2008R2中是否有这样的功能?

sql-server indexing sql-server-2008-r2 sql-execution-plan

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

OutOfMemoryError(超出GC开销限制)但仍有很多可用空间

在我们的Tomcat应用程序中,我们得到"OutOfMemoryError:超出GC开销限制".但Runtime.getRuntime().freeMemory()报告576 MB是免费的.

怎么会发生这种情况?

从SQL Server JDBC驱动程序中抛出错误,我无法想象这将尝试在一个内存请求中分配数百兆字节.GarbageCollectorMXBean在错误被抛出之前的几分钟内,"PS Scavenge"以及"PS MarkSweep" 的s计数没有增加太多.

Runtime.getRuntime().maxMemory()以及Runtime.getRuntime().totalMemory()报告4.5 GB.这与64位Sun JVM for Java 7一起运行.

java tomcat garbage-collection out-of-memory

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