小编Cra*_*lus的帖子

关于ArrayList的文档不清楚

对于我来说,ArrayList文档的以下部分似乎不正确:

size,isEmpty,get,set,iterator和listIterator操作以恒定时间运行.

现在set定义为:

set(int index,E element)
用指定的元素替换此列表中指定位置的元素.

因此,这可以用于在ArrayList的中间添加一个元素,并导致其余元素移位.
但这被认为是线性操作而不是恒定的.

我错了吗?还是我想念一些东西?

java collections list arraylist

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

java log4j选择要登录的文件

我需要将来自同一类的调试消息记录到不同的文件中.
我的意思是,从同一个类我需要一个特定的调试语句去fileA另一个特定的调试语句去fileB.

如果不清楚,我想要做的是将网络消息记录到一个完全独立的文件,而不是该类输出的其他登录消息.

如果我做

<logger name="com.test.modules" additivity="false" >
    <priority value="debug"/>
    <appender-ref ref="netWorkCommunication"/>  
    <appender-ref ref="generalDebug"/>  
  </logger>  
Run Code Online (Sandbox Code Playgroud)

然后我的类的日志记录将转到两个文件(因为它来自同一个包).

如何配置log4j以便我可以从哪个类中选择哪个日志语句com.test.modules哪个文件appender

java logging tomcat log4j

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

快速将字符串与Java中的Collection进行比较

我试图计算字符串对集合的编辑距离,以找到最接近的匹配.我目前的问题是集合非常大(大约25000个项目),所以我不得不将集合缩小到相似长度的字符串,但仍然只会将其缩小到几千个字符串,这仍然非常慢.是否存在允许快速查找类似字符串的数据结构,还是有另一种方法可以解决此问题?

java algorithm edit-distance pattern-matching data-structures

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

X.509 DN的所有部分都是可选的吗?

X.509中DN的所有部分都是可选的吗?
来自RFC3280:

必须准备本规范的实现,以便在发行者和主题(第4.1.2.6节)名称中接收以下标准属性类型:

  * country,
  * organization,
  * organizational-unit,
  * distinguished name qualifier,
  * state or province name,
  * common name (e.g., "Susan Housley"), and
  * serial number.
Run Code Online (Sandbox Code Playgroud)

我找不到这些是否是强制性的.
我问,因为我看到一个由受信任的CA签署但在发行人的字段CN中丢失的证书(C但我不认为这很重要).
我当时希望这CN是强制性的.是吗?
遗漏CN发行人的领域是否有任何安全隐患?

security encryption ssl x509certificate x509

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

XOR在算法中有哪些实际应用

说实话,我的位操作生锈了.
我感兴趣的是XOR操作.好吧,我知道它的作用是什么,并且它用于加密,我们可以在没有任何临时变量的情况下进行交换,但我感兴趣的是算法的特定方法是否XOR适合.
我的意思是我对XOR算法的实际应用感兴趣(例如我们可以用它来找到重复的独特元素).是否存在一种问题模式(或问题的表述),人们可以看到使用方法XOR是什么?(与何时使用二进制搜索的模式相同?)
是否有一些XOR与核心算法相关的算法的实际应用列表,而不是简单地使用它,例如更快地进行数学运算,就像我们可以使用>>而不是划分2.

欢迎任何输入

algorithm bit-manipulation xor

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

从AVL树中删除示例代码

我正在研究AVL树,似乎无法找到关于删除的参考代码(通过谷歌搜索或从我有用的几本教科书).
我不知道为什么会这样,但你知道在java中删除AVL的任何参考/例子吗?
(我只发现了这个:avl树删除它在测试失败的链接中声明)

java algorithm tree avl-tree data-structures

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

加入线程时处理异常的最佳方法

由于某种原因,我对以下内容感到困惑:
假设我Thread A绝对需要Thread B在完成处理后执行。
一种方法是Thread A加入Thread B.
简单的例子:

public class MainThread {  
    public static void main(String[] args){   
        Thread b = new Thread (new SomeRunnable(args[0]));  
        b.start();  
        try {   
            b.join();   
        } catch(InteruptedException e) {  
        }  
        // Go on with processing  
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题如下:在这种情况下处理异常的正确方法是什么?

在我见过的各种例子中,即使在教科书中,异常也被忽略。
因此,如果Thread A需要确保Thread B在继续之前完全完成,如果我由于异常而最终陷入困境,那么这种情况是否Thread B实际上仍然可以运行/正在运行?那么处理这个异常的最佳方法是什么?

java concurrency multithreading exception

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

通过合同和断言声明进行设计

我对这种Design by Contract方法很感兴趣.似乎preconditions必须使用已检查的异常来强制执行它们.
但是post-conditions,class-invariants我认为这assertions是首选.
我对吗?如果我是正确的,为什么允许post-conditionsclass-invariants禁用可能被禁用的断言?不应该强制执行后置条件和不变量吗?

java assert design-by-contract post-conditions

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

主键默认为NULL吗?为什么这样描述?

我有一张桌子,当describe它是:

mysql> DESC my_table;  
+------------+-------------+------+-----+---------+----------------+  
| Field      | Type        | Null | Key | Default | Extra          |  
+------------+-------------+------+-----+---------+----------------+  
| contact_id | int(11)     | NO   | PRI | NULL    | auto_increment |  
| location   | varchar(20) | YES  |     | NULL    |                |  
| city       | varchar(20) | YES  |     | NULL    |                |  
| state      | varchar(2)  | YES  |     | NULL    |                |  
+------------+-------------+------+-----+---------+----------------+  
4 rows in set (0.01 sec)  
Run Code Online (Sandbox Code Playgroud)

我的问题是:为什么主键contact_idDefault显示为NULL …

mysql sql database primary-key

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

如何在大型代码库中运行ctags?

假设我有一个代码目录结构如下:

/top  
   /second  
       /core  
           a.pl  
           b.pl  
           c.pl  
       /common  
           d.pl  
           e.pl  
       /util  
           f.pl  
           g.pl  
           h.pl    
Run Code Online (Sandbox Code Playgroud)

我应该在哪里运行,ctags以便我可以通过跳转到函数定义vi

比如我有:

/dir
   /perl  
      a.pl  
Run Code Online (Sandbox Code Playgroud)

我在dir命令中运行ctags -R perl但是a.pl我无法跳转到同一文件中存在的函数定义.
如果我ctags -R . perl目录里面做了它.

所以我无法理解这种模式.我应该ctags参加core, common,util吗?如果我的代码库很大怎么办?我真的需要在每个目录中运行它吗?

linux vi vim cygwin ctags

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