2020 年, Java 初学者应该选用哪款 IDE?

LeeReamond:如题,C+python 写了很多年了,最近有时间想充实一下自己,学一下 java 。

我个人的感觉,码农使用 IDE 有很强的依赖性,比如我最开始写 C 语言用的是 vscode,写 python 用的是 sublime text,现在时间久了用的还是这两款,因为用熟练了,虽然有很多其他优秀的 IDE,也不想换。所以初学一门语言的时候慎重选择好用的 IDE 我觉得并不是没意义的行为。

===============================================

根据我个人的理解,java 在常用语言中,相对来讲需要敲的字符数比较多,所以 IDE 的辅助对于编写速度会有比较大的影响,涉及到的具体来说比如提示和补全。比如在 sublime text 中,如果定义了一个名叫TestStdoutClass的变量,那么当我每次调用时,基本上只需要输入 tsc 回车,或者 tc 回车,三到四个按键,就可以很轻松的输入。当然 sublime 的提示做的一般,这也是它的弱点。

再比如我在写 javascript 的时候,初学时有很多语法错误,但是 vscode 中有好用的 lint 插件,可以不需要载入虚拟机就帮我排除很多错误。

关于 DEBUG,我个人还是比较需要 stdout,打断点在复杂的程序逻辑中常用,但很多轻量场景中 stdout 更加直观。在这点上,java 似乎是需要输入system.out.println()这一长串来实现,因为我是初学,不知道有没有更简单的写法,我是觉得如果每次都要这么写的话是很麻烦的,最好 ide 能自动补出来就好了。

===============================================

以上是功能性方面的需求,最后是配置的问题。

比如用 vscode 写 C++,我觉得虽然配置好以后写的很舒服,但是我不太喜欢配置过程,我觉得比较繁琐。我还是比较喜欢 pycharm 那种开箱即用的感觉,如果功能差不多的话,请把易用性也考虑在内。

综上,有什么合适的 IDE 推荐吗?谢谢大家

Nuttertoo1s:idea

pushback:idea+1

20498860:IDEA 打 sout 就可以出来 system.out.println()
new 对象就直接写 new XXX() 然后按 ALT+ENTER 可以补全前面的

kop1989:eclipse 和 idea 均可。

lxk11153:同#4,所以我 eclipse 和 idea 都用,+ sublime text

leafre:eclipse

lonelymarried:idea 比 xcode 好,反应快

putaozhenhaochi:Vscode 够用了

Java:正则表达式模式匹配器是否有大小限制? - java

我的模式类似于OR:“word1 | word2 | word3”我大约有800个字。可能有问题吗? 参考方案 您仅受记忆和理智的限制。 :)

Java:线程池如何将线程映射到可运行对象 - java

试图绕过Java并发问题,并且很难理解线程池,线程以及它们正在执行的可运行“任务”之间的关系。如果我创建一个有10个线程的线程池,那么我是否必须将相同的任务传递给池中的每个线程,或者池化的线程实际上只是与任务无关的“工人无人机”可用于执行任何任务?无论哪种方式,Executor / ExecutorService如何将正确的任务分配给正确的线程? 参考方案 …

在Zip文件中以编程方式创建链接-Java - java

我正在使用ZipOutputStream创建一个zip文件。也将有一个清单文件(一个csv文件),该文件具有指向Zip文件中条目的链接。如何以编程方式为zip条目创建链接? 参考方案 如果在编写它们时跟踪所有条目,则应该能够添加另一个包含“链接”的条目(但是csv如何链接到文件?请指定要实现的目标)。如果打算在Windows下使用该文件,则可以以编程方式创建…

Java:我可以在Hashmaps中使用数组吗? - java

我可以在Hashmaps中使用数组吗?如果是这样,则声明这种哈希图的确切语法是什么?谢谢 参考方案 数组也是对象。甚至像int[]这样的原始数组。Map<String,String[]> map = new HashMap<String,String[]>();

JAVA:字节码和二进制有什么区别? - java

java字节代码(已编译的语言,也称为目标代码)与机器代码(当前计算机的本机代码)之间有什么区别?我读过一些书,他们将字节码称为二进制指令,但我不知道为什么。 参考方案 字节码是独立于平台的,在Windows中运行的编译器编译的字节码仍将在linux / unix / mac中运行。机器代码是特定于平台的,如果在Windows x86中编译,则它将仅在Win…