• 星月
    2021-11-17
    范老师好,作为一名有些Java基础的图书策划编辑,我惦记新Java这个选题很久了哈哈,感谢您的这次课程。但我也会认真听课哒,力求为可能有的相关图书选题锦上添花!

    作者回复: 出乎意料,居然有出版圈的朋友来。 谢谢来看这个专栏,希望可以帮到你。另外,现在图书编辑真是全能啊, 看得懂技术,够得着大势, 顾得上读者。

    
    10
  • 人要活泼些才好
    2021-11-16
    我把例子跟着打出来,比如那个switch,换行时会报错,这个问题大家遇到过没,我现在系统是win11,jdk11 ,求解答。

    作者回复: 这是一个很好的经验啊?JDK 11报的是语法错误吗?推荐使用JDK 17来学习这个专栏。这是一个switch的新用法。switch的问题,我们会在第5和第6讲里来说。

    共 14 条评论
    10
  • 黄剑豪
    2021-11-18
    输入一下这段代码出错的规避方法: jshell> greeting = switch (language) { ...> case "English" -> "Hello"; ...> case "Spanish" -> "Hola"; ...> case "Chinese" -> "Nihao"; ...> default -> throw new RuntimeException("Unsupported language"); ...> }; 使用/edit 命令打开编辑器,然后输入代码,保存退出后运行就没有错误了。我觉得这个是JDK17当前版本的jshell的bug。 其实复杂命令的输入都建议用编辑器编写。可以设置自己喜欢的编辑器。例如下面的命令将vscode设置为编辑器。 /set editor -retain <path-to-code> -w 进一步,可以在vscode的终端运行jshell,然后用/edit直接打开vscode打开一个窗口编辑。这样也不用来回切换终端和vscode窗口。

    作者回复: 看起来是输入字符解析的bug。是的,复杂的输入使用编辑器更清晰些。

    
    7
  • bigben
    2021-11-16
    有意思

    作者回复: 会越来越有意思的,这一讲就是个开胃的小菜。

    
    4
  • 都选C
    2021-11-15
    jshell> String firstString= "Hello, world"; firstString ==> "Hello, world" | modified variable firstString : String | update overwrote variable firstString : String jshell> String sameString= "Hello, world"; sameString ==> "Hello, world" | modified variable sameString : String | update overwrote variable sameString : String jshell> firstString == sameString $2 ==> true | created scratch variable $2 : boolean

    作者回复: 熟悉的ID啊,应该是老朋友了。

    
    4
  • 王位庆
    2021-11-15
    还停留在jdk8[捂脸]

    作者回复: 哈哈,老问题了。

    共 4 条评论
    4
  • 3.141516
    2021-11-15
    话说 Java11 免费吗

    作者回复: OpenJDK都是免费的。 Oracle发布的版本,JDK 17也是免费的。是不是免费这个问题,有很多误解。你可以看看我在InfoQ上写的文章(https://xie.infoq.cn/article/a72ca12f97838e16ba2c91937)。 这个文章稍微有点老了,没有反应JDK 17之后的规则,不过大致的方向没有问题。

    
    2
  • Jxin
    2021-11-17
    实现层面 1.仅展示的能力来看,感觉自己实现个jshll也不难。计算逻辑直接执行字符串就能拿到结果,特殊语法就做一层识别转换,变量就自己维护个上下文。 价值层面 1.对于新手。大大降低了起手难度,而简单就意味着易于推广。虽然一门语言的获客主要还是靠市场诉求驱动,但帮助新顾客更快更舒适的着陆,确实能更好的壮大社区。新人~社区~市场诉求~新人 是一条有力的增强回路。而jshll能加速新人到社区这条连线,进而也能推动整个增强回路的运作。不过,还是得看实际推行情况。需要着力推行在面向初学者的培训机构或学校的使用上。毕竟这些机构滞后可是非常严重的,能用上8都算靠前了。 2.对于刚入门的。语法上的模糊可以借助其快速验证,有利于更快的熟练语法。 3.对于老手。新语言特性可以在这个上面验证。就是还是太局限。稍微复杂点的验证都不适用。基本只能验证某些类库的函数方法的单一效果,或则某些语法单一的效果。反正我的话多半走单测,虽然不即时,但写起来快呀。 展望 1.能否连上本地java进程呢?能的话抛开安全因素,其实可以做很多东西。

    作者回复: "需要着力推行在面向初学者的培训机构或学校的使用上",如果教育和图书能够先行起来,对Java的发展会有巨大的推动。

    
    1
  • 注定非凡
    2021-11-17
    真是有趣的新特性,确实有很长一段时间没有关注JAVA的新特性了

    作者回复: 快来一起学...

    
    1
  • will
    2021-11-16
    老师,github连接在哪呢?

    作者回复: 每一讲的末尾,都有一个注。 说的就是GitHub的链接, 和PR请求提交的目录。

    
    1