小编And*_*ich的帖子

将URL转换为普通的Windows文件名Java

有没有办法转换这个:

/C:/Users/David/Dropbox/My%20Programs/Java/Test/bin/myJar.jar
Run Code Online (Sandbox Code Playgroud)

进入这个?:

C:\Users\David\Dropbox\My Programs\Java\Test\bin\myJar.jar
Run Code Online (Sandbox Code Playgroud)

我使用以下代码,它将返回.JAR存档的完整路径或/ bin目录.

fullPath = new String(MainInterface.class.getProtectionDomain()
            .getCodeSource().getLocation().getPath());
Run Code Online (Sandbox Code Playgroud)

问题是,getLocation()返回一个URL,我需要一个正常的Windows文件名.我尝试过以后添加以下内容getLocation():

toString()并且toExternalForm()都返回:

file:/C:/Users/David/Dropbox/My%20Programs/Java/Test/bin/
Run Code Online (Sandbox Code Playgroud)

getPath() 收益:

/C:/Users/David/Dropbox/My%20Programs/Java/Test/bin/
Run Code Online (Sandbox Code Playgroud)

请注意%20哪些应转换为空格.

有这么简单快捷的方法吗?

java url filenames file path

56
推荐指数
2
解决办法
4万
查看次数

有没有办法分割/分解Gradle构建的常见部分

我们有几个独立的构建(每个独立构建是一个多项目构建).主要的构建脚本变得非常大,因为我们有一组子项目重用的常见任务,以及独立构建之间有很多重复.我们要找的是:

  1. 一种将主构建文件拆分为较小文件的方法
  2. 一种在其他独立构建中重用构建的某些部分的方法

在Gradle中实现这一目标的最佳方法是什么?

build-process gradle

50
推荐指数
2
解决办法
3万
查看次数

Spring ApplicationListener未接收事件

我有以下ApplicationListener:

package org.mycompany.listeners;

import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextStartedEvent;

public class MyApplicationListener implements ApplicationListener<ContextStartedEvent> {

  public MyApplicationListener() {
    super();
    System.out.println("Application context listener is created!");
  }

  /**
   * {@inheritDoc}
   */
  public void onApplicationEvent(final ContextStartedEvent event) {
    System.out.println("Context '" + event.getApplicationContext().getDisplayName() + "' is started!");
  }

}
Run Code Online (Sandbox Code Playgroud)

以下bean定义:

<bean name="myApplicationListener" class="org.mycompany.listeners.MyApplicationListener" />
Run Code Online (Sandbox Code Playgroud)

我可以看到bean是在打印构造函数的消息时创建的,但是从不收到上下文启动事件.我错过了什么?

java spring listener applicationcontext

39
推荐指数
2
解决办法
4万
查看次数

java.lang.IllegalMonitorStateException:(m = null)无法获取监视器

为什么会这样?问题是监视器对象肯定不是null,但我们仍然经常得到这个异常:

java.lang.IllegalMonitorStateException: (m=null) Failed to get monitor for (tIdx=60)
        at java.lang.Object.wait(Object.java:474)
        at ...
Run Code Online (Sandbox Code Playgroud)

引发这种情况的代码是一个简单的池解决方案:

    public Object takeObject() {
        Object obj = internalTakeObject();
        while (obj == null) {
            try {
                available.wait();
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
            obj = internalTakeObject();
        }
        return obj;
    }

    private Object internalTakeObject() {
        Object obj = null;
        synchronized (available) {
            if (available.size() > 0) {
                obj = available.keySet().iterator().next();
                available.remove(obj);
                synchronized (taken) {
                    taken.put(obj, Boolean.valueOf(true));
                }
            }
        }
        return obj;
    }

    public void returnObject(Object …
Run Code Online (Sandbox Code Playgroud)

java multithreading locking pool

36
推荐指数
2
解决办法
8万
查看次数

如何在Groovy中检查该对象是列表或集合或数组?

问题就像标题一样简单.如何在Groovy中检查该对象是列表或集合或数组?但找不到一种简单的检查方法.有任何想法吗?

collections groovy

32
推荐指数
3
解决办法
4万
查看次数

如何根据字符串匹配过滤R中的字符串向量

我在R中有以下向量:

X <- c("mama.log", "papa.log", "mimo.png", "mentor.log")
Run Code Online (Sandbox Code Playgroud)

如何识别另一个仅包含以"m"开头并以".log"结尾的元素的向量?

regex indexing r vector

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

从日志文件中提取Java堆栈跟踪的工具

是否有任何工具可以提取出现在日志文件中的堆栈跟踪列表,并且可能会计算唯一的堆栈跟踪列表?

编辑:我会做一些不基于GUI的东西,并在后台运行并提供某种报告.我从很多环境收集了很多日志,只是想快速浏览一下.

java logging exception stack-trace

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

线程互斥部分

您好,我刚刚接受电话采访我无法回答这个问题,我想知道答案,我相信,建议找到您不知道的答案.请鼓励我理解这个概念.

他的问题是:

"synchronized块只允许一个线程一次进入互斥段.当一个线程退出synchronized块时,synchronized块没有指定哪个等待线程接下来会进入互斥段?使用synchronized和方法在Object中,你能实现先到先得的互斥部分吗?保证线程按到达顺序进入互斥部分?

 public class Test {
   public static final Object obj = new Object();

   public void doSomething() {
     synchronized (obj) {
          // mutual exclusive section
     }
   }
 }
Run Code Online (Sandbox Code Playgroud)

java concurrency multithreading

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

XML排序/格式化工具

是否有任何工具可以(漂亮地打印)格式化XML文件以及对其元素和属性进行排序?

xml formatting

15
推荐指数
4
解决办法
4万
查看次数

什么是weblogic.socket.Muxer?

您是否了解WebLogic 8.1中使用的weblogic.socket.Muxer是什么?

通常在线程转储中,我看到类似于此的堆栈跟踪:

"ExecuteThread: '0' for queue: 'weblogic.socket.Muxer'" id=20 idx=0x68 tid=26709 prio=5 alive, in native, blocked, daemon
    -- Blocked trying to get lock: java/lang/String@0x2b673d373c50[fat lock]
    at jrockit/vm/Threads.waitForUnblockSignal()V(Native Method)
    at jrockit/vm/Locks.fatLockBlockOrSpin(Locks.java:1675)[optimized]
    at jrockit/vm/Locks.lockFat(Locks.java:1776)[optimized]
    at jrockit/vm/Locks.monitorEnterSecondStageHard(Locks.java:1312)[optimized]
    at jrockit/vm/Locks.monitorEnterSecondStage(Locks.java:1259)[optimized]
    at jrockit/vm/Locks.monitorEnter(Locks.java:2439)[optimized]
    at weblogic/socket/EPollSocketMuxer.processSockets(EPollSocketMuxer.java:153)
    at weblogic/socket/SocketReaderRequest.run(SocketReaderRequest.java:29)
    at weblogic/socket/SocketReaderRequest.execute(SocketReaderRequest.java:42)
    at weblogic/kernel/ExecuteThread.execute(ExecuteThread.java:145)
    at weblogic/kernel/ExecuteThread.run(ExecuteThread.java:117)
    at jrockit/vm/RNI.c2java(JJJJJ)V(Native Method)
    -- end of trace
Run Code Online (Sandbox Code Playgroud)

这不是我有任何问题,它只是有趣的理解:

1)它在做什么?
2)它会影响任何表现吗?

java sockets weblogic weblogic8.x muxer

12
推荐指数
3
解决办法
4万
查看次数