小编Ash*_*dal的帖子

Intellij:搜索项目中maven依赖项的来源

是否可以通过项目的所有maven依赖项的源代码搜索一些文本?

例如:如果您导入以下示例maven项目:https://github.com/ajorpheus/javadoc-mem-test/tree/search-in-jars,搜索tempHeaders应该会显示AbstractClientHttpRequest.java为搜索结果.

有插件可以让人这样做吗?

如果Intellij不支持这个,那么在给定maven项目的情况下,你会知道一种与IDE无关的方法吗?我看过像jarexplorer这样的工具,但他们似乎没有做到这一点.

java intellij-idea maven

25
推荐指数
3
解决办法
9269
查看次数

与Apache DBCP的连接池

我想使用Apache Commons DBCP在Java应用程序中启用连接池(此处没有容器提供的DataSource).在Web的许多站点(包括Apache站点)中,库的使用基于以下代码段:

BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName("oracle.jdbc.driver.OracleDriver");
ds.setUsername("scott");
ds.setPassword("tiger");
ds.setUrl(connectURI);  
Run Code Online (Sandbox Code Playgroud)

然后通过getConnection()方法获得数据库连接.但是在其他站点 - 以及Apache站点 - 数据源实例是通过以下方式实现的:

ConnectionFactory connectionFactory = new DriverManagerConnectionFactory(connectURI,null);
PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(connectionFactory);
ObjectPool objectPool = new GenericObjectPool(poolableConnectionFactory);
PoolingDataSource dataSource = new PoolingDataSource(objectPool);
Run Code Online (Sandbox Code Playgroud)

他们之间有什么区别?我正在使用连接池BasicDataSource,或者我需要一个使用连接池的实例PoolingDataSource?是BasicDataSource线程安全的(我可以将它用作Class属性)还是我需要同步它的访问?

database-connection apache-commons-dbcp

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

使用Maven和IntelliJ IDEA处理大型项目的提示

我正在阅读这篇关于团队使用Intellij Idea进行大型maven项目的经历的博客文章,并且还看了两年前为IDEA v.10.0.2发布的类似问题.

前者提到的一个提示很有意义:
移动C:\Users\$user\.IntelliJIdea12到防病毒无法访问扫描的文件夹中.

我一直在寻找以性能为中心的VM选项,目前我idea64.exe.vmoptions看起来像这样:

-Xms1200m
-Xmx1200m
-XX:MaxPermSize=200m
-ea
-server
-XX:+DoEscapeAnalysis
-XX:+UseCompressedOops
-XX:+UnlockExperimentalVMOptions
-XX:+UseParallelGC
-XX:ReservedCodeCacheSize=64m
-XX:+UseCodeCacheFlushing
-Dsun.io.useCanonCaches=false
Run Code Online (Sandbox Code Playgroud)

问题

  1. 您是否有更多此类技巧可以改善Intellij IDEA(12.1.3,64位)与大型/巨型maven项目的性能?

  2. 您能否分享一下您在VM中的VM选项idea64.exe.vmoptions 和/或IDEA配置中所做的发现idea.properties.

  3. 我已经尝试过使用JDK 7来启动IDEA,但这似乎并没有以某种方式影响它的性能.如果您尝试过这样做,您是否也遇到过相同的情况?

ide performance configuration intellij-idea maven

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

IntelliJ - 在调试时暂停一个线程

我可以在intellij上调试时暂停一个线程吗?我想要的是与其他ID类似的东西 - 右键单击​​一个线程并暂停它.

debugging multithreading intellij-idea

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

如何创建MyEclipse快捷方式来打开多个工作区?

我有两个不同的MyEclipse工作区,包含一组不同的项目.我希望通过创建直接打开工作区的快捷方式来避免在两者之间切换.

这可能吗 ?

eclipse workspace myeclipse desktop-shortcut

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

有没有办法使用intelliJ IDEA创建对bitbucket git存储库的拉取请求

我在 bitbucket 中有一个 git 存储库,有什么方法可以使用 IntelliJ IDEA 而不是通过网络创建拉取请求吗?

我发现这可以在 IntelliJ 中为 github 存储库完成。但是没有发现任何与 Bitbucket 类似的东西。

git bitbucket intellij-idea pull-request bitbucket-server

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

当hashcode()实现返回常量值时,为什么哈希表会退化为链表?

// The worst possible legal hash function - never use!
@Override public int hashCode() { return 42; }
Run Code Online (Sandbox Code Playgroud)

这是合法的,因为它确保了相等的对象具有相同的哈希码.这很糟糕,因为它确保每个对象都具有相同的哈希码.因此,每个对象都会散列到同一个存储桶,并且散列表会退化为链接列表.应该以线性时间运行的程序改为以二次方运行.

我试图弄清楚如何(引自第47页,第9项,Joshua Bloch的Effective Java).

我看到它的方式如下(考虑以下代码):

Map<String, String> h = new HashMap<String,String>();
h.put("key1", "value1");
h.put("key1", "value2");
Run Code Online (Sandbox Code Playgroud)

什么与第二发生h.put("key1",...)命令如下:1.获取的散列码key1 2.获取到表示上述哈希码3.在该桶桶中,为每个对象,调用equals方法找到相同的对象是否存在.

这有点快,因为首先你找到对象的"组"(桶),然后找到实际的对象.

现在,当哈希码实现42ALL对象返回相同的整数(如上所述)时,只有一个桶,并且需要在整个hashmap中的每个对象上逐个调用equals方法/哈希表.这与链表一样糟糕,因为如果链表中的对象也是如此,则必须逐个比较(调用equals)每个对象.

有人说,这就是哈希表退化为链表的原因吗?

(我为上述文本的冗长而道歉.我的概念中我不够清楚地说明它更简洁)

java algorithm equals hashcode

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

如何在返回响应之前获取AJAX get-request以等待呈现页面?

我正在为此站点(Site1)中的页面编写Greasemonkey脚本.Site1有各种交易和优惠,我的GM脚本旨在执行以下操作:

当访问Site1上的商品时,脚本会查询 Site2以查明该商店是否也列在Site2上.如果是这样,请在Site1上显示Site2的搜索结果.

问题是Site2显示进度条("加载结果"),然后显示结果.因此,我的Ajax请求总是返回空结果,看起来像这样(参见红色框部分):(
点击查看大图)未完成的结果


但是,它实际上应该具有Site2搜索结果的完整内容,如下所示:(
点击查看大图)完成结果


我尝试过同步Ajax请求GM_xmlhttpRequest,但无济于事.

这是Site 2的问题进度条:(
点击查看大图)状态栏


在将响应返回到Site1之前,如何让AJAX请求等待Site2上的搜索完全呈现?

作为参考,我的完整工作脚本代码位于pastebin.com.

这是相关的片段:

$(document).ready(function(){   
var rewardsSiteResults = $('<div class="panel deal-panel rc-lr"></div>').attr('id', "rewardsSiteResults")
        .html("<p>" + progressMessageText + "</p> ").append(spinnerGif);
$(insertSelector).after(rewardsSiteResults);

var addressMap = getAddressOfHotel();
var pinCode = addressMap[pinCodePlaceHolder];
var hotelName = addressMap[hotelNamePlaceHolder];
var queryURL = constructQueryURL(pinCode, hotelName);

$.ajaxSetup({async:true, timeout: 5000});
$.get(queryURL,null, function(response) {
    if(!displayed){
        displayed=true;
        //rewardsSiteResults.html("adfaasddsf");
        var text = $(response).find("#col2");
        $(text).find("script").remove();

        //console.log(text.html())
//          $('<iframe id="someId"/>').appendTo('#rewardsSiteResults')
//          .contents().find('body').append(response);
        rewardsSiteResults.html("<div class='panel deal-panel rc-lr'>" …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery greasemonkey tampermonkey

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

调整Builder模式以进行方法调用

这是尝试从Effective Java 2nd Edition中仔细理解ITEM 40:设计方法签名的一部分.

建议改进方法签名可读性的一个目的是瞄准四个或更少的参数.建议使用多种技术管理较长的参数列表,其中一种技术如下:

结合前两个方面的第三种技术是使Builder模式(第2项)从对象构造适应方法调用.如果你有一个包含许多参数的方法,特别是如果它们中的一些是可选的,那么定义一个代表所有参数的对象并允许客户端对该对象进行多次"setter"调用是有益的.它设置单个参数或小的相关组.一旦设置了所需的参数,客户端就会调用对象的"执行"方法,该方法对参数进行任何最终有效性检查并执行实际计算.

我熟悉Builder模式,因为它用于对象构造,但我不确定我是否正确理解了如何使其适应方法调用.

这是我到目前为止:(
我试图改进方法的方法调用move)

public class Space {

    public static class Builder {
        // Required parameters
        private final int x;
        private final int y;
        private final int z;

        // optional params
        private long time = 0;

        public Builder(int x, int y, int z) {
            this.x = x;
            this.y = y;
            this.z = z;
        }

        public Builder time(long val) {
            time = val;
            return this;
        }

        public void move() …
Run Code Online (Sandbox Code Playgroud)

java methods design-patterns builder effective-java

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

使用activeByDefault是否违反maven最佳做法?

我想知道是否使用<activeByDefault>是一个maven最佳实践?

这里的建议似乎很合理,但你认为它是绝对的还是在某些情况下它不适用?

我发布了该页面上内容的快照以供后代使用:

在此输入图像描述

maven maven-profiles

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