File tree Expand file tree Collapse file tree 2 files changed +15
-12
lines changed
Expand file tree Collapse file tree 2 files changed +15
-12
lines changed Original file line number Diff line number Diff line change @@ -10596,23 +10596,26 @@ Return Address:存放调用该方法的 PC 寄存器的值
1059610596
1059710597本地方法栈是为虚拟机执行本地方法时提供服务的
1059810598
10599- JNI:Java Native Interface,通过使用 Java 本地接口书写程序 ,可以确保代码在不同的平台上方便移植
10599+ JNI:Java Native Interface,通过使用 Java 本地接口程序 ,可以确保代码在不同的平台上方便移植
1060010600
1060110601* 不需要进行 GC,与虚拟机栈类似,也是线程私有的,有 StackOverFlowError 和 OutOfMemoryError 异常
10602-
1060310602* 虚拟机栈执行的是 Java 方法,在 HotSpot JVM 中,直接将本地方法栈和虚拟机栈合二为一
10604-
1060510603* 本地方法一般是由其他语言编写,并且被编译为基于本机硬件和操作系统的程序
10606-
1060710604* 当某个线程调用一个本地方法时,就进入了不再受虚拟机限制的世界,和虚拟机拥有同样的权限
1060810605
1060910606 * 本地方法可以通过本地方法接口来**访问虚拟机内部的运行时数据区**
1061010607 * 直接从本地内存的堆中分配任意数量的内存
1061110608 * 可以直接使用本地处理器中的寄存器
1061210609
10613- <img src="https://seazean.oss-cn-beijing.aliyuncs.com/img/Java/JVM-本地方法栈.png" style="zoom:67%;" />
10614-
10615-
10610+
10611+ 原理:将本地的 C 函数(如 foo)编译到一个共享库(foo.so)中,当正在运行的 Java 程序调用 foo 时,Java 解释器利用 dlopen 接口动态链接和加载 foo.so 后再调用该函数
10612+
10613+ * dlopen 函数:Linux 系统加载和链接共享库
10614+ * dlclose 函数:卸载共享库
10615+
10616+ <img src="https://seazean.oss-cn-beijing.aliyuncs.com/img/Java/JVM-本地方法栈.png" style="zoom:67%;" />
10617+
10618+
1061610619
1061710620图片来源:https://github.com/CyC2018/CS-Notes/blob/master/notes/Java%20%E8%99%9A%E6%8B%9F%E6%9C%BA.md
1061810621
Original file line number Diff line number Diff line change @@ -31,7 +31,7 @@ Git 是分布式版本控制系统(Distributed Version Control System,简称
3131
32324.提交到本地仓库。本地仓库中保存修改的各个历史版本
3333
34- 5.修改完成后,需要和团队成员共享代码时,将代码push到远程仓库
34+ 5.修改完成后,需要和团队成员共享代码时,将代码 push 到远程仓库
3535
3636
3737
@@ -66,7 +66,7 @@ GitLab(地址: https://about.gitlab.com/ )是一个用于仓库管理系
6666设置用户信息:
6767
6868* git config --global user.name “Seazean”
69- * git config --global user.email “zhyzhyang@sina .com ” //用户名和邮箱可以随意填写,不会校对
69+ * git config --global user.email “imseazean@gmail .com ” //用户名和邮箱可以随意填写,不会校对
7070
7171查看配置信息:
7272
@@ -108,8 +108,8 @@ GitLab(地址: https://about.gitlab.com/ )是一个用于仓库管理系
108108 * -t 指定密钥类型,默认是 rsa ,可以省略
109109 * -C 设置注释文字,比如邮箱
110110 * -f 指定密钥文件存储文件名
111- * 查看命令: cat ~ /.ssh/id_rsa.pub
112- * 公钥测试命令: ssh -T git@github.com
111+ * 查看命令: cat ~ /.ssh/id_rsa.pub
112+ * 公钥测试命令: ssh -T git@github.com
113113
114114
115115
@@ -2245,7 +2245,7 @@ pid_t wait(int *status)
22452245
22462246参数:status 用来保存被收集的子进程退出时的状态,如果不关心子进程** 如何** 销毁,可以设置这个参数为 NULL
22472247
2248- 父进程调用 wait () 会一直阻塞 ,直到收到一个子进程退出的 SIGCHLD 信号,wait () 函数就会销毁子进程并返回
2248+ 父进程调用 wait () 会阻塞等待 ,直到收到一个子进程退出的 SIGCHLD 信号,wait () 函数就会销毁子进程并返回
22492249
22502250* 成功,返回被收集的子进程的进程 ID
22512251* 失败,返回 -1,同时 errno 被置为 ECHILD(如果调用进程没有子进程,调用就会失败)
You can’t perform that action at this time.
0 commit comments