前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >java9系列(一)安装及jshell使用

java9系列(一)安装及jshell使用

作者头像
code4it
发布于 2018-09-17 07:02:37
发布于 2018-09-17 07:02:37
1K00
代码可运行
举报
文章被收录于专栏:码匠的流水账码匠的流水账
运行总次数:0
代码可运行

本文介绍下mac下面的java9版本安装使用。

下载

官网地址http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html

安装路径

下载袭来是个pkg文件,双击安装,默认装到了/Library/Java这里,java9的Home地址是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home

看下版本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
bin ./java -version
java version "9"
Java(TM) SE Runtime Environment (build 9+181)
Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)

jshell

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  bin ./jshell
|  欢迎使用 JShell -- 版本 9
|  要大致了解该版本, 请键入: /help intro

jshell>

有了jshell就可以快速做一些验证,比如

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
jshell> "1,2,3,,4".split(",")
$2 ==> String[5] { "1", "2", "3", "", "4" }

jshell> "  a   b  ".trim()
$3 ==> "a   b"

imports

查看导入的类库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
jshell> /imports
|    import java.io.*
|    import java.math.*
|    import java.net.*
|    import java.nio.file.*
|    import java.util.*
|    import java.util.concurrent.*
|    import java.util.function.*
|    import java.util.prefs.*
|    import java.util.regex.*
|    import java.util.stream.*

方法定义及调用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
jshell> String hello(){return "htllo";}
|  已创建 方法 hello()

jshell> String hello(){return "hello";}
|  已修改 方法 hello()

jshell>

jshell>

jshell> /methods
|    String hello()

jshell> hello()
$7 ==> "hello"

查看历史

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
jshell> /list

   1 : int a = 1;
   2 : "1,2,3,,4".split(",")
   3 : "  a   b  ".trim()
   4 : new Date()
   6 : String hello(){return "hello";}
   7 : hello()
   8 : 1/0

doc

  • Java 9 (Part 2): JShell Step by Step
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-09-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码匠的流水账 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
初识C++ · 模拟实现string
继上文介绍了string的函数实现之后,本文介绍模拟实现string的大部分函数。
_lazy
2024/10/16
830
初识C++ · 模拟实现string
【C++】C++STL 揭秘:Strng背后的底层逻辑
在模拟实现string过程中,为了避免跟库中string发生冲突,需要创建个命名空间,在命名空间中实现string。
是店小二呀
2024/08/17
1340
【C++】C++STL 揭秘:Strng背后的底层逻辑
【C++指南】告别C字符串陷阱:如何实现封装string?
C 语言中,字符串是以 '\0' 结尾的一些字符的集合,为了操作方便, C 标准库中提供了一些 str 系列
egoist祈
2025/04/26
730
【C++指南】告别C字符串陷阱:如何实现封装string?
【C++】深度解析:用 C++ 模拟实现 string 类,探索其底层实现细节
2. 标准的字符串类提供了对此类对象的支持,其接口类似于标准字符容器的接口,但添加了专门用于操作单字节字符字符串的设计特性。
P_M_P
2024/05/26
1870
【C++】深度解析:用 C++ 模拟实现 string 类,探索其底层实现细节
模拟实现c++中的string
首先它并没有多大的提高效率,而是可以这么理解:它会让我们手动自行的操作减少一部分,通过调用如实现创造好的swap。比如:这个自己写的swap与std里的swap 有所不同,大概就是库里用的模版出的类,会有空间反复开辟,而自己写的这个直接交换指针就好,那么就相当于指向的空间就也互换了。
羑悻的小杀马特.
2025/01/23
760
C++ ——string的模拟实现
https://blog.csdn.net/hedhjd/article/details/142023625?spm=1001.2014.3001.5501
迷迭所归处
2024/11/19
620
探索C/C++的奥秘之string类(二)
operator[]有两个版本,意义是不一样的,普通对象调用第一个,能读能写,const对象调用第二个,只能读。
用户11290648
2024/11/21
590
探索C/C++的奥秘之string类(二)
【C++】string类
string类的文档介绍 https://cplusplus.com/reference/string/string/?kw=string
啊QQQQQ
2024/11/19
730
【C++】string类
【C++】string类(下)
构造函数new的地方开多一个空间放’\0’,因为是字符串,由于初始化时的顺序是按照声明的顺序,在初始化列表初始化指针_str会因为容量无数据导致随机值,所以我们不用初始化列表初始化指针_str,等它们通过初始化列表初始化完成后再赋初值
s-little-monster
2024/08/09
1000
【C++】string类(下)
【C++】string类的模拟实现
​ 该函数的作用:在 pos 位置上插入 字符c 或者 字符串str ,并返回该字符的位置!
利刃大大
2025/02/07
620
【C++修炼之路】9. string类的模拟实现
本篇文章是衔接上一篇string,进行string的模拟实现,其中包含了众多重载函数,以及一些实现的细节,由于上篇已经知道具体函数的含义,这一篇就以纯代码的方式进行叙述。此外,这篇还对内置类型的知识进行了进一步的扩展。
每天都要进步呀
2023/03/28
2810
【C++修炼之路】9. string类的模拟实现
【c++】string类模拟实现
我们stl库中的string类实在std命名空间的,这里我们自定义一个命名空间own,包含string类和简单的成员变量:
用户11029103
2024/04/20
910
【c++】string类模拟实现
【C++】string类模拟实现:探索其内部机制
通过对string类的学习,我们知道string类的模拟实现最主要是实现string类的构造、拷贝构造、赋值运算符重载以及析构函数,以下是对模拟实现string类变量以及函数的封装:
大耳朵土土垚
2024/05/24
1290
【C++】string类模拟实现:探索其内部机制
【C++航海王:追寻罗杰的编程之路】string类
在C语言中,字符串是以‘\0’结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串时分离开的,不太符合OOP的思想,而且底层空间需要用户自己管理,稍不留神可能还会越界访问。
枫叶丹
2024/06/04
1190
【C++航海王:追寻罗杰的编程之路】string类
【C++】string类的模拟实现
1. 库里面的构造函数实现了多个版本,我们这里就实现最常用的参数为const char *的版本,为了同时支持无参的默认构造,这里就不在多写一个无参的默认构造,而是用全缺省的const char *参数来替代无参和const char *参数的两个构造函数版本。
举杯邀明月
2023/04/12
6560
【C++】string类的模拟实现
【C++】string类模拟实现
在之前的两篇博客中已经分享关于string类的使用,有需要可以点击链接看看【C++】string类初步介绍和链接: 【C++】string进一步介绍,这次要分享用C++代码来实现string类。
zxctscl
2024/03/23
1730
【C++】string类模拟实现
string类(下)(模拟实现string类,深度剖析其底层)
断言(Assertion)是编程中一种常用的调试辅助手段,用于在代码执行期间验证某个条件是否为真。如果条件为真(即满足预期),则程序继续执行;如果条件为假(即不满足预期),则断言失败,通常会导致程序抛出一个错误、输出一条错误信息,甚至直接终止程序。断言主要用于开发和测试阶段,以确保代码的正确性和健壮性。
suye
2024/10/16
1110
C++【string类,模拟实现string类】
当在同一行声明多个变量时,这些变量必须是相同的类型,否则编译器将会报错,因为编译器实际 只对第一个类型进行推导,然后用推导出来的类型定义其他变量。
逆向-落叶
2024/11/10
1440
C++【string类,模拟实现string类】
【C++】—掌握STL string类:string的模拟实现
浅拷贝也称之为位拷贝,编译器只是将对象中的值拷贝过来。如果对象中管理资源,最后就导致多个对象公用同一份资源,当一个对象销毁时就会导致该资源释放掉,而此时的其他对象不知道该资源已经被释放掉,所以继续对资源进行操作时,就会导致访问违规。 可以使用深拷贝解决浅拷贝的问题即:每个对象都有一份独立的资源,不需要和其他对象共享。
_孙同学
2024/11/13
770
【深入探索 C++ STL 容器 string】——字符串世界里的神奇魔法棒
https://legacy.cplusplus.com/reference/stl/?kw=stl
换一颗红豆
2024/12/20
1120
【深入探索 C++ STL 容器 string】——字符串世界里的神奇魔法棒
推荐阅读
相关推荐
初识C++ · 模拟实现string
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档