我在一个 Eclipse 项目中放置了一系列 jars。
即我有一个单独的 eclipse 项目(名为eg JARS-Project),它的构建路径中有一大堆 jars 。
例如,从另一个 Eclipse 项目中,我在构建路径中ProjectX添加了对 的引用。
问题:
我似乎无法使用from中的任何库。
我期望能够使用构建路径中的所有库,因为它在构建路径中引用了它。
我看不出我可能错过了什么其他配置。
不认为它有什么不同,但它是作为 Spring 项目创建的JARS-ProjectJARS-ProjectProjectXJARS-ProjectProjectXProjectX
无论好坏,我一直在使用以下代码而没有任何问题:
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条目运行程序,它怎么样?
任何意见都非常欢迎
谢谢
我需要将来自同一类的调试消息记录到不同的文件中.
我的意思是,从同一个类我需要一个特定的调试语句去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?
我试图计算字符串对集合的编辑距离,以找到最接近的匹配.我目前的问题是集合非常大(大约25000个项目),所以我不得不将集合缩小到相似长度的字符串,但仍然只会将其缩小到几千个字符串,这仍然非常慢.是否存在允许快速查找类似字符串的数据结构,还是有另一种方法可以解决此问题?
java algorithm edit-distance pattern-matching data-structures
X.509中DN的所有部分都是可选的吗?
来自RFC3280:
必须准备本规范的实现,以便在发行者和主题(第4.1.2.6节)名称中接收以下标准属性类型:
Run Code Online (Sandbox Code Playgroud)* country, * organization, * organizational-unit, * distinguished name qualifier, * state or province name, * common name (e.g., "Susan Housley"), and * serial number.
我找不到这些是否是强制性的.
我问,因为我看到一个由受信任的CA签署但在发行人的字段CN中丢失的证书(C但我不认为这很重要).
我当时希望这CN是强制性的.是吗?
遗漏CN发行人的领域是否有任何安全隐患?
说实话,我的位操作生锈了.
我感兴趣的是XOR操作.好吧,我知道它的作用是什么,并且它用于加密,我们可以在没有任何临时变量的情况下进行交换,但我感兴趣的是算法的特定方法是否XOR适合.
我的意思是我对XOR算法的实际应用感兴趣(例如我们可以用它来找到重复的独特元素).是否存在一种问题模式(或问题的表述),人们可以看到使用方法XOR是什么?(与何时使用二进制搜索的模式相同?)
是否有一些XOR与核心算法相关的算法的实际应用列表,而不是简单地使用它,例如更快地进行数学运算,就像我们可以使用>>而不是划分2.
欢迎任何输入
我正在研究AVL树,似乎无法找到关于删除的参考代码(通过谷歌搜索或从我有用的几本教科书).
我不知道为什么会这样,但你知道在java中删除AVL的任何参考/例子吗?
(我只发现了这个:avl树删除它在测试失败的链接中声明)
我对弹簧mvc和螺纹安全性有疑问.
我们正在开发将存储在tomcat上的Web应用程序.如果我理解正确,Tomcat会根据请求创建线程,并且它有一些线程池.现在,调度程序servlet在请求之间共享,可能是线程安全的.
但是当我创建这样的控制器:
@Controller
@RequestMapping("/manage")
public class QuestionManagementController {
Run Code Online (Sandbox Code Playgroud)
他有Singleton范围,所以来自每个用户的每个请求都使用相同的控制器.
我想知道这个问题通常是如何解决的:
1:是否使用Session范围创建了控制器?(但我认为如果一个用户快速做一些可能导致控制器竞争条件的事情,也可能会出现问题).
2:控制器的作用域为 request
3:创建无状态控制器,这些控制器不在类级别共享任何变量,或者将它们置于只读模式
或者也许有一些更好的"最佳实践"可以解决这类问题.
我问这个问题,因为现在我们将它们作为Singleton范围,并且存在一个问题,在大多数方法中我们在数据库中查询用户,并且由于范围,我们无法将此信息存储在类级变量中.我们可以尝试使用一些线程安全的集合,但后来可能有其他资源需要同步访问.
正如我所见(在所有在线资源中,甚至在这个答案中),在 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
假设我有一个代码目录结构如下:
/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吗?如果我的代码库很大怎么办?我真的需要在每个目录中运行它吗?