小编Hen*_*sen的帖子

DebuggerStepThrough等效于Java

.NET有一些方便的注释,指示调试器逐步执行某些方法.我想知道是否有一个可以在Java平台上运行的等价物.

例如:

@DebuggerStepThrough
public void foo() {
  ..
}
Run Code Online (Sandbox Code Playgroud)

会导致调试器在步进时不会停止foo.

我尝试了什么

  • 在类文件中使用SYNTHETIC标志.这导致javac禁止用户代码调用此类方法.
  • 自定义属性.没有JDI API来检索注释.在这个论坛上也提到过.

PS.我正在实现一个调试器并控制发出的字节码

java debugging jdi jvmti

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

如何使用SLF4JBridgeHandler以编程方式设置slf4j logger

我正在尝试设置slf4j来拦截所有日志记录语句,然后根据特定条件以编程方式添加处理程序.我的代码是:

private void init()
{
    SLF4JBridgeHandler.removeHandlersForRootLogger();
    SLF4JBridgeHandler.install();

    if(condition1)
        appendHandler(console, Level.DEBUG);
    if(condition2)
        appendHandler(logfile1, Level.INFO);
    ...
}
Run Code Online (Sandbox Code Playgroud)

如何编写appendHandler方法代码?我花了几个小时试图阅读文档,但找不到解决方案.有很多关于如何在配置文件中执行但不在代码中的参考.

我也是正确的,因为这段代码拦截了所有不同日志框架的所有日志记录语句?

java logging slf4j

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

Oracle Coherence稳定吗?

有没有人使用过Oracle Coherence?在路演中看起来非常有前途.

我担心的是,它是否足够稳定,足以实施关键任务金融解决方案.

对于其性能,稳健性和易维护性的任何反馈,我将不胜感激.

oracle distributed-caching oracle-coherence

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

将HashMap存储在另一个HashMap中并提高性能

我应该创建一个HashMap内部的另一个HashMap,如下所示,它可以HashMap根据HashMap运行时外部的键将值存储在内部

即程序所需的输出应为格式

   { 1 = {11 = "aaa",15 = "bbb"}, 2 = {13 = "ccc", 14 = "ddd"} }
Run Code Online (Sandbox Code Playgroud)

其中1,2是外部HashMap的键值.

以下是为其提供的代码是否有更好的方法来提高性能

HashMap<Integer, HashMap<Integer, String>>Outer 
                   = new HashMap<Integer, HashMap<Integer,String>>();

    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    int count = Integer.parseInt(br.readLine());
    for(int i =0;i<count;i++)
    {
        String input[] = br.readLine().split("\\s");

        //HashMap<Integer,String>inner = new HashMap<Integer, String>();
        int key = Integer.parseInt(input[0]);
        if(Outer.isEmpty() || !Outer.containsKey(key))
        {
            HashMap<Integer, String> inner = new HashMap<Integer, String>();
            inner.put(Integer.parseInt(input[1]),input[2]);
            Outer.put(key, inner);
        }
        else if(Outer.containsKey(key)) …
Run Code Online (Sandbox Code Playgroud)

java hashmap

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

我如何分割OrientDB?

我想分割OrientDB以在多个服务器上运行,但我找不到真正的方法来实现它.

我该怎么做?

sharding scale orientdb

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

在Jersey REST Client中设置内容类型/编码

我一直试图使用泽西REST客户端调用REST POST API.API是docs是URL:METHOD:POST标题信息: - X-GWS-APP-NAME:XYZ接受:application/json或application/xml

我的样本泽西客户端代码是

Client client = Client.create();

WebResource resource=client.resource(URL);

resource.accept(javax.ws.rs.core.MediaType.APPLICATION_XML);
resource.type(javax.ws.rs.core.MediaType.APPLICATION_XML);
resource.type("charset=utf-8");
ClientResponse response = resource.post(ClientResponse.class,myReqObj);
Run Code Online (Sandbox Code Playgroud)

自从过去一周以来,我一直在尝试这种代码变化,但它无法正常工作.在这方面的任何帮助都非常感谢.

post jersey contenttype

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

覆盖DropWizard ConstraintViolation消息

所以我想通过DropWizard资源更改用于验证模型的验证消息.

我正在使用java bean验证注释.例如,这是我要验证的字段之一:

@NotEmpty(message = "Password must not be empty.")
Run Code Online (Sandbox Code Playgroud)

我可以使用验证器按预期测试它的工作原理.

但是,当我使用DropWizard对资源进行验证时,它会为该消息添加一些额外的内容.我看到的是这个 - password Password must not be empty. (was null)我发现这里的代码 - https://github.com/dropwizard/dropwizard/blob/master/dropwizard-validation/src/main/java/io/dropwizard/validation/ ConstraintViolations.java

具体这个方法 -

public static <T> String format(ConstraintViolation<T> v) {
    if (v.getConstraintDescriptor().getAnnotation() instanceof ValidationMethod) {
        final ImmutableList<Path.Node> nodes = ImmutableList.copyOf(v.getPropertyPath());
        final ImmutableList<Path.Node> usefulNodes = nodes.subList(0, nodes.size() - 1);
        final String msg = v.getMessage().startsWith(".") ? "%s%s" : "%s %s";
        return String.format(msg,
                             Joiner.on('.').join(usefulNodes),
                             v.getMessage()).trim();
    } else {
        return String.format("%s %s (was %s)",
                             v.getPropertyPath(),
                             v.getMessage(),
                             v.getInvalidValue());
    }
}
Run Code Online (Sandbox Code Playgroud)

有什么办法可以覆盖这种行为吗?我只想显示我在注释中设置的消息...

java jax-rs dropwizard

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

Java:如何有效地存储稀疏数据

我有超过10亿个项目,大约有1000列(矩阵).但是对于95%列的唯一值比率小于百分比,因此该数据可以归类为稀疏数据.

什么是用于在Java中存储此类数据的高效且生产的解决方案?

java sparse-matrix data-structures

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

CSS AST 分析器

我有风格

.a{width: 10px;}
...
.a{width: 20px;}
Run Code Online (Sandbox Code Playgroud)

很明显,第一个选择器未使用。我正在寻找一个工具,可以为我提供有关 css 中此类位置的信息。例如getUnusedRule(styles)-> style.css、规则、选择器等处的行号。别的。

第二种情况是通知过于嵌套的选择器

.a .b .c .d{...}
Run Code Online (Sandbox Code Playgroud)

getTooLongSelectors(styles, maxNestingNum)-> 在源代码中查找位置的信息

我不想缩小输出CSS,但需要在代码中找到这些地方并手动修复它。重点不是缩小代码,而是使源代码更准确,以便更好地维护并防止堆积不必要的东西。

我认为它可能是 css AST 分析器,它输出用于手动源代码改进的信息。

我更喜欢基于javascript的工具,我们团队中有一些 js 程序。

有任何想法吗?不仅欢迎现成的工具,而且欢迎思维方式。

javascript css optimization abstract-syntax-tree

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

禁用 Ginkgo 的“慢测试”警告

我正在使用 Ginkgo 执行一些相对长时间运行的集成测试。我的测试输出中偶尔会出现警告,表明我的测试执行时间太长:

\n\n

\xe2\x80\xa2 [SLOW TEST:30.000 seconds]

\n\n

通过标准 Go 测试库运行 Ginkgo 时,有没有办法禁用这些警告?该文档提到了 Ginkgo 测试运行程序的一个参数 ( --slowSpecThreshold=TIME_IN_SECONDS),但似乎没有提到如何以编程方式实现相同的目的。

\n

go ginkgo

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