**总结**

18 篇文章 2 订阅
8 篇文章 1 订阅
String a="My field1";
String b="My field1";
String c=new String("My field1");
String d=new String("My field1");
  • a. a==b
  • b. a==c
  • c. c=d
  • d. a.equals(b)
  • e. a.equals (c )

🐖 a d e正确

  • 1.”==“,如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等; 如果作用于引用类型的变量,则比较的是所指向的对象的地址
  • 2.String类对equals方法进行了重写,用来比较指向的字符串对象所存储的字符串是否相等
  • 3.equals不能作用于基本数据类型的变量。equals重写了“==“,比较的是对象值,所以abcd任何两个用equals都true

HTTPS采用的是TLS协议+SSL证书实现安全网站访问的。

概述:SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。

  • 单元测试更适用于编码阶段的检查。
  • 网络端口号大小受限于TCP协议。
  • const使用方法. const修饰符可以把对象转变成常数对象,意思就是说利用const进行修饰的变量的值在程序的任意位置将不能再被修改,就如同常数一样使用!. 任何修改该变量的尝试都会导致编译错误。

Linux系统上的/proc目录是一种文件系统,即proc文件系统。

与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可以通过更改其中某些文件来改变内核的运行状态。

宏替换:

A、宏替换不占用运行时间 占用编译时间, 在编译时被引用替换
B、 宏名无类型 宏名没有类型,其参数也没有类型
C、 宏替换只是字符替换 不做计算,不做表达式求解
D、 宏名必须用大写字母表示(X)宏名不是必须用大写字母表示,习惯上宏名用大写字母表示,以便于与变量区别。

进程间通信的方式

  1. 管道pipe:管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。
  2. 命名管道FIFO:有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。
  3. 消息队列MessageQueue:消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。
  4. 共享存储SharedMemory:共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的 IPC 方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号两,配合使用,来实现进程间的同步和通信。
  5. 信号量Semaphore:信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。
  6. 套接字Socket:套解口也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同及其间的进程通信。
  7. 信号 ( sinal ) : 信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。

linux du命令用法

du 是计算档案或目录占用的空间,而不是真正的字节数,比如一个档案它可能真正只含有2个字节,但是他实际上占用4K的磁盘容量

du 不加任何参数,则统计当前目录和各子目录的容量
du -a 列出该目录下所有的档案和子目录(包括隐藏目录)容量,包括子目录下的档案。
du -h --以人们较易读的格式显示(K/M/G)
du -s 列出目录的总量,不列出各子目录的容量
du -k 以K bytes容量显示(默认)
du -m 以M bytes容量显示
🐖 常用 du -sh filename

Linux下配置文件中参数带引号和不带引号的区别

(1)单引号:
单引号’'是全引用,被单引号括起的内容不管是常量还是变量都不会发生替换。
(2)双引号:
双引号""是部分引用,被双引号括起的内容常量还是常量,变量则会发生替换,替换成变量内容。
(3)不加引号:
不会将含有空格的字符串视为一个整体输出, 如果内容中有命令、变量等,会先把变量、命令解析出结果,然后在输出最终内容来。

grep "$a" file        #引用变量a,查找变量a的值
grep '$a' file        #查找“$a”字符串

🐖 这四个字符在双引号中是具有特殊含义的,其他都没有,而单引号使所有字符都失去特殊含义。
1、$ 美元符
2、\ 反斜杠
3、` 反引号
4、" 双引号

输入命令输出内容解 释
echo ‘$USER * $(date)’$USER * $(date)单引号无视所有特殊字符,所有字符在它眼里 都是普通字符,都是芸芸众生
echo “$USER * $(date)”root * Thu Feb 25 12:03:48 CST 2016双引号会无视文件通配符,但“$”、“\”、 会起作用,我管它们叫“美金”、“砍刀”、 “硫酸雨”
echo $USER * $(date)root book others Thu Feb 25 12:03:48 CST 2016$USER 被翻译了 root, * 被翻译了 book, others是我当前目录下的目录结构

export命令用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。

一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。

python中对象赋值、浅拷贝和深拷贝的区别如下:

  • 在python中,对象赋值实际上是对象的引用。当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用;
  • 如果拷贝对象是一个一维列表,那么浅拷贝和深拷贝没什么不同,都是重新申请一个新的内存地址。
  • 但是对于复杂一些的列表,例如嵌套列表、字典嵌套列表。浅拷贝与深拷贝两者便展示出完全不同的结果。
  • 他们本质的区别是拷贝出来的对象的地址是否和原对象一样,也就是地址的复制还是值的复制的区别。
  1. 直接赋值,默认浅拷贝传递对象的引用而已,并没有拷贝这个对象,原始列表改变,被赋值的b也会做相同的改变
  2. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象,所以原始数据改变,子对象会改变
  3. copy.deepcopy 深拷贝 拷贝对象及其子对象,所以原始对象的改变不会造成深拷贝里任何子元素的改变
    🐖对象被拷贝,不会随原始对象的改变而改变;对象未被拷贝,会随原始对象的改变而改变。

python的复制,深拷贝和浅拷贝的区别

软链接和硬链接:

软链接: ln -s
1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以 跨文件系统 ,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接

硬链接:
1.硬链接,以文件副本的形式存在。但不占用实际空间。
2.不允许给目录创建硬链接
3.硬链接只有在同一个文件系统中才能创建

set命令作用

主要是显示系统中已经存在的shell变量,以及设置shell变量的新变量值。 使用set更改shell特性时,符号"+“和”-"的作用分别是打开和关闭指定的模式。 set命令不能够定义新的shell变量。 如果要定义新的变量,可以使用 declare 命令以变量名=值的格式进行定义即可。

Linux 下 Make 命令

在Linux中,有一个用来维护程序模块关系和生成可执行程序的工具-make。他可以根据程序模块的修改情况重新编译链接生成中间代码或最终的可执行程序。
执行make 命令,需要一个名为“makefile”或“Makefile”的文本文件,这个文件定义了整个项目的编译规则。它定义了模块间的依赖关系,指定文件的编译顺序,以及编译所使用的命令。有了make命令和Makefile文件,整个项目的源程序文件可以自动编译,极大地提高了软件的开发效率。
Linux 下 Make 命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值