小编Cra*_*lus的帖子

在 Eclipse 中的构建路径中引用其他项目的 jar

我在一个 Eclipse 项目中放置了一系列 jars。
即我有一个单独的 eclipse 项目(名为eg JARS-Project),它的构建路径中有一大堆 jars 。
例如,从另一个 Eclipse 项目中,我在构建路径中ProjectX添加了对 的引用。 问题: 我似乎无法使用from中的任何库。 我期望能够使用构建路径中的所有库,因为它在构建路径中引用了它。 我看不出我可能错过了什么其他配置。 不认为它有什么不同,但它是作为 Spring 项目创建的JARS-Project

JARS-ProjectProjectX
JARS-ProjectProjectX

ProjectX

java eclipse jar build jakarta-ee

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

Java:从InputStream读取并不总是读取相同数量的数据

无论好坏,我一直在使用以下代码而没有任何问题:

ZipFile aZipFile = new ZipFile(fileName);   
InputStream zipInput = aZipFile.getInputStream(name);  
int theSize = zipInput.available();  
byte[] content = new byte[theSize];  
zipInput.read(content, 0, theSize);
Run Code Online (Sandbox Code Playgroud)

我已经使用它(这种获取可用大小并直接读取到字节缓冲区的逻辑)用于FileI/O而没有任何问题,我也将它用于zip文件.

但最近我进入了一个案例,zipInput.read(content, 0, theSize);实际上读取的theSize可用空间少了3个字节.

并且由于代码不在循环中来检查返回的长度, zipInput.read(content, 0, theSize);我读取了最后3个字节丢失的文件,
之后程序无法正常运行(文件是二进制文件).

奇怪的是不同的较大尺寸的zip文件,例如1075字节(在我的情况下,有问题的zip条目是867字节)代码工作正常!

我知道代码的逻辑可能不是"最好的",但为什么我现在突然遇到这个问题?

如果我立即使用更大的zip条目运行程序,它怎么样?

任何意见都非常欢迎

谢谢

java file-io zip inputstream java-ee

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

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
查看次数

弹簧控制器 - 线程安全和存储资源

我对弹簧mvc和螺纹安全性有疑问.

我们正在开发将存储在tomcat上的Web应用程序.如果我理解正确,Tomcat会根据请求创建线程,并且它有一些线程池.现在,调度程序servlet在请求之间共享,可能是线程安全的.

但是当我创建这样的控制器:

@Controller
@RequestMapping("/manage")
public class QuestionManagementController {
Run Code Online (Sandbox Code Playgroud)

他有Singleton范围,所以来自每个用户的每个请求都使用相同的控制器.

我想知道这个问题通常是如何解决的:

1:是否使用Session范围创建了控制器?(但我认为如果一个用户快速做一些可能导致控制器竞争条件的事情,也可能会出现问题).

2:控制器的作用域为 request

3:创建无状态控制器,这些控制器不在类级别共享任何变量,或者将它们置于只读模式

或者也许有一些更好的"最佳实践"可以解决这类问题.

我问这个问题,因为现在我们将它们作为Singleton范围,并且存在一个问题,在大多数方法中我们在数据库中查询用户,并且由于范围,我们无法将此信息存储在类级变量中.我们可以尝试使用一些线程安全的集合,但后来可能有其他资源需要同步访问.

java tomcat spring-mvc thread-safety

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

KMP前缀表直觉

正如我所见(在所有在线资源中,甚至在这个答案中),在 KMP 中构建故障/前缀表的主要函数如下:

int j = 0;  
    for (int i = 1; i < pattern.length(); i++) {  
      while (j > 0 && pattern.charAt(j) != pattern.charAt(i)) {   
        j = failure[j - 1];  
      }  
      if (pattern.charAt(j) == pattern.charAt(i)) {   
        j++;   
      }  
      failure[i] = j;  
    }
Run Code Online (Sandbox Code Playgroud)

我无法理解这部分:
j = failure[j - 1];

为什么我们不j--返回字符串呢?j我们如何知道使用失败的表进行更新是正确的?

string algorithm pattern-matching data-structures knuth-morris-pratt

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

如何在大型代码库中运行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万
查看次数