该目录几乎不需要再多加说明了,其中包含你可能在JShell中使用的所有外部类库。你可以选择任何你认为最有意义的方式组织你的库,不管是全部在一个目录中,还是一个项目一个目录。
不管你的组织策略是什么,使所有外部类库都以一种易于加载的方式组织最终会为你节省大量的时间,就像我们在类路径使用技巧部分看到的那样。
Startups
你可以使用这个目录存储任何启动或初始化代码。JShell使用参数--startup直接提供了对这一特性的支持。
$ jshell --startup startups/custom-startup ##################### Loaded Custom Startup ##################### | Welcome to JShell -- Version 10.0.2 | For an introduction type: /help intro jshell>本质上讲,这些文件和位于imports目录中的文件类型类似,但是,它们不只是导入。这些文件旨在包含初始化JShell环境所需的任何必要的命令、导入、片段、方法、类等。
如果你熟悉Bash的话,你会发现,启动文件和.bash_profile文件非常像。
Utils
我们都知道Java可以多繁琐。这个目录,正如它的名字那样,是为了包含任何工具或“快捷代码”,使你可以更愉快地使用JShell。这里,你存储的文件类型和JShell专门提供的PRINTING文件很相似,它定义了若干用于文本打印的快捷方法。
例如,如果你大量使用大数值,你每次想要加、乘、减一个数时都得输入类型new BigInteger,那你很快就会厌烦。为此,你可以创建一个工具文件,其中包含可以简化代码的辅助程序或快捷方法。
jshell> /open big-integer-utils jshell> var result = add(bi("123456789987654321"),bi("111111111111111111"))result ==> 234567901098765432 我的JShell之旅我得承认,当我第一次听说JShell时,我没怎么考虑它。我一直在使用其他语言的REPL,更多的是把它看作一种“玩具”而不是工具。不过,我用的越多,我就越认识到它的好处以及如何为我所用。
对我而言,我发现JShell最大的用处是学习语言新特性、加深对现有特性的理解、调式代码、试用新类库。在我的程序开发职业生涯中,我学会了一件事,就是我应该尽力缩短反馈循环,越短越好。我就是这样最大限度地工作和学习的。我发现,JShell非常适合缩短反馈循环。它看上去可能没什么大不了的,但是,所有这些小事情(如在IDE中编译或运行单元测试)会随着时间推移慢慢积累。
我希望你会发现JShell的好处,和我一样愉快地使用它!
非常乐于听到你关于JShell的评论、想法或经验。请务必和我分享!
关于作者Dustin Schultz 是Pluralsight的一名编辑、首席软件工程师。他骨子里是一名技术布道者。他热衷于软件工程,有超过15年的企业及初创公司企业级软件开发经验。他拥有计算机科学学士和硕士学位,热爱学习。要想了解更多信息,可以阅读他的博客。
查看英文原文:JShell: A Comprehensive Guide to the Java REPL
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx