大疆测开笔试20220814

本文最后更新于:2022年8月14日 晚上

1、int * value [10][2], 32bit机器,问sizeof(*value)的大小?
个人感觉是4字节。32位机器;
如果是64位机器,int类型指针大小就是8字节的。

2、该正则表达式的匹配结果是?:DJI\s(^Mavic|Mini)[0-3]?

3、 Linux系统中,进程的 VmHWM代表什么?
代表进程所占物理内存的峰值

cat /proc/pid/status
VmPeak: 表示进程所占用最大虚拟内存大小
VmSize: 表示进程当前虚拟内存大小
VmLck: 表示被锁定的内存大小
VmHWM: 表示进程所占用物理内存的峰值
VmRSS: 表示进程当前占用物理内存的大小(与procrank中的RSS)
VmData: 表示进程数据段的大小
VmStk: 表示进程堆栈段的大小
VmExe: 表示进程代码的大小
VmLib: 表示进程所使用共享库的大小
VmPTE: 表示进程页表项的大小
查看某个进程占用空间大小 VmHWM VmRSS终极总结

4、JVM的参数,-Xmx10240m -Xms10240m -Xmn5120 -XX:SurvivorRatia=3设置,问最小内存值 和 surviver区的总大小 分别是多少?

  • Xms: 指设定程序启动时占用的内存大小
  • Xmx:指设定程序运行期间最大可以占用的内存大小。如果程序运行时超出了这个设置值,就会报OutOfMemory异常。
  • Xmn: 设置年轻代大小整个堆大小=年轻代大小+年老代大小+持久代大小。
  • Xss:指设定的每个线程分配的堆栈内存大小。这个值根据程序,看一个线程大概需要多少内存,可能会有多少个线程同时运行来设置。
  • XX:SurvivorRatia=n, 设置年轻代中 Eden区 与 2个Surviver区的大小比值。设置为3。注意 Survivor区 有2个。如n=3,则表示Eden:Survivor=3:2,一个Survivor区占年轻代的1/5;如果设置为n=4,则Eden:Sruvivor=4:2, 一个Survivor区占年轻代的1/6.

结论:
所以最小内存值为 最初启动时的内存值,为Xms=10240m,
-Xmn5120说明年轻代大小是5120m,-XX:SurvivorRatia=3设置为3,说明Eden:Survivor=3:2,一个Survivor区占年轻代的1/5;所以一个Survivor区的大小为5120m*1/5 = 1024m, 但是年轻代中有2个Survivor区,所以 surviver区的总大小是 2048m.

5、Linux中,已有a.txt文件,哪个命令可以把该文件改名为txt.a ?
重定向机制, 使用>表示输出到一个新文件中,使用>>表示输出到已有文件的末尾。如果文件已存在,直接操作文件,否者直接创建新文件。
https://blog.csdn.net/Hongwei_1990/article/details/92382504
https://www.51cto.com/article/207528.html
https://www.runoob.com/linux/linux-comm-cat.html


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!