Victor's Code Journey
Victor's Code Journey

linux命令tumx

命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令。用户与计算机的这种临时的交互,称为一次"会话"(session)。

会话的一个重要特点是,窗口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。

一个典型的例子就是,SSH 登录远程计算机,打开一个远程窗口执行命令。这时,网络突然断线,再次登录的时候,是找不回上一次执行的命令的。因为上一次 SSH 会话已经终止了,里面的进程也随之消失了。

为了解决这个问题,会话与窗口可以"解绑":窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口。

linux命令sed

sed 是linux 中的流式编辑器,用于过滤和修改文本。sed 会根据脚本命令来处理文本文件中的数据,这些命令要么从命令行中输入,要么存储在一个文本文件中,此命令执行数据的顺序如下:

  1. 每次仅读取一行内容;
  2. 根据提供的规则命令匹配并修改数据。注意,sed 默认不会直接修改源文件数据,而是会将数据复制到缓冲区中,修改也仅限于缓冲区中的数据;
  3. 将执行结果输出。
  4. 当一行数据匹配完成后,它会继续读取下一行数据,并重复这个过程,直到将文件中所有数据处理完毕。

Java quickstart

在开始学习java语言之前,先了解Java的一些特性:

  • 简单:语言简单,方便掌握语言特性,快速展开工作。
  • 面向对象: 面向对象的编程模型。
  • 分布式:支持分布式网络环境运行。
  • 健壮:java的目的是创建可靠的软件,提供了编译时检查,运行时检查。通过GC简化开发自己对内存的管理。
  • 安全:通过在语言和运行时系统中设计的安全功能,Java技术使您可以构建无法从外部入侵的应用程序。
  • 体系结构中立,可移植:Java技术旨在支持将部署到异构网络环境中的应用程序。在这样的环境中,应用程序必须能够在各种硬件体系结构上执行。字节码是一种中立的体系结构,是将代码有效地传输到多个硬件和软件平台的中间格式。此外Java通过严格定义基本语言,将可移植性进一步提高了。
  • 解释型:解释和运行系统已经被移植在任何机器上,Java解释器可以直接执行Java字节码。
  • 高性能:Java解释器可以全速运行而无需检查运行时环境,从而实现了卓越的性能。自动垃圾收集器运行作为一个低优先级后台线程,确保大概率下的更好的性能和内存可用。
  • 多线程:Java多线程功能提供了构建具有许多并发活动线程的应用程序的方法。因此,多线程为最终用户带来了高度的交互性。Java平台通过添加复杂的同步原语来支持语言级别的多线程:语言库提供了 Thread类,运行时系统提供了监视和条件锁定原语。此外还有高层级的库api提供同步功能
  • 动态:Java编译器在编译时静态检查方面非常严格,而语言和运行时系统在其链接阶段是 动态的。类仅在需要时链接。新的代码模块可以按需链接到各种来源,甚至可以来自网络上的各种来源。

James Gosling和Henry McGilton撰写的白皮书 The Java Language Environment中解释了上述每个流行词 。

Java开发过程:

  1. 首先将所有源代码编写为以.java扩展名结尾的纯文本文件。
  2. 然后,将这些源文件由javac编译器编译为.class文件。
  3. .class文件中是Java虚拟机的机器语言(字节码)。然后,Java虚拟机实例运行java应用程序。

Java平台包含两个组件:Java虚拟机和Java应用程序编程接口(API).虚拟机用于执行java程序,sdk 提供了系统库和部分高级API库。