我对eclipse ide如何向您显示建议并如此快速地显示结果感兴趣。我使用1000个和1000个类的巨大代码库,我认为在建议拼写错误的类名时会有一些滞后。
如何搜索可能的建议? 为什么这么快? 它是否可以快速访问所有可能的情况?
因为我每天都使用eclipse,所以我感兴趣的东西:) 干杯
答案 0 :(得分:9)
Google可以搜索数十亿条目,或像Lucene这样的文字索引系统。这些系统首先索引要搜索的文本,并且可能非常冗长;您可以在Eclipse中首次导入项目时看到它,在后台花费大量时间来索引所有内容。
然而,一旦数据被索引,就可以以令人难以置信的速度搜索数据。我相信这种搜索的复杂性是O(log n),这意味着它需要1个单位的时间来搜索10个项目,2个用于100个项目,3个用于1000个项目,6个用于100万个,9个用于10亿个等等。 ..
对于这种有效的算法,数据大小几乎没有相关性。
答案 1 :(得分:1)
以下是JDT Core(Java开发工具)页面的摘录:
JDT Core是Java IDE的Java基础结构。它包括:
...
- 基于索引的搜索基础结构,用于搜索,代码辅助,类型层次计算和重构。 Java搜索引擎可以在源代码或二进制文件中准确找到精确匹配。
答案 2 :(得分:0)
它可能有一个K-gram索引来进行快速前缀搜索。或者也许是Trie数据结构。