亿元级IT行业生态链
一站式解决方案提供商

24小时免费咨询电话
010-52725243

新闻资讯

AJIA NEWS

苏州阿甲科技:linux命令在后台开发中的应用

来源:阿甲视点 发布日期:2018-02-07

Linux命令作为后台开发中比较常用的计算机命令,被很多的Java开发人员所使用。那么有哪些是Java程序员所必备的linux后台开发的技能?为此,苏州阿甲科技后台开发团队为Java程序员总结出以下几点关于Linux命令在后台开发中经常用到的基础技能:


苏州阿甲科技:linux命令在后台开发中的应用


1. 内存泄漏

1. cpu wait% ↑

2. top: swap memory ↑

3. kswap进程

4. valgrid中malloc/free值

5. 调用mallinfo输出当前所占内存

6. strace -p

2. 野指针

valgrid中access invalid address

3. 机器负载较高

1. 内存泄漏:top

2. 进程太多: vmstat 1

3. io阻塞:vmstat 1

4. 多线程

1. 线程参数不能是局部变量

2. pthread_join或boost::thread::join等于waitpid, 调用者会阻塞

3. socketfd等资源无法共享

4. 使用gcc -pthread 或者 -D_REENTERANT来解决全局变量重入问题

5. 使用_r版本的库函数解决库函数重入问题

6. readelf -s /lib/libc-2.17.so | grep _r@

查看所有_r版本函数

7. 互斥逻辑rcntl, flock, semaphere, mutex, rwlock

8. 内存原子操作

5. TCP

1. 状态转移图

2. CLOSED,

3. LISTEN,

4. SYN_RCVD,

5. SYN_SENT,

6. ESTABLISHED,

7. FIN_WAIT_1,

8. FIN_WAIT_2,

9. TIME_WAIT

10. 为什么要三步握手

11. 为什么要有TIME_WAIT

6. coredump

1. ulimit -c unlimited

2. gcc -g

3. gdb

4. gdb -c core bin

5. (gdb) bt

6. (gdb) l

7. (gdb) frame 0

8. (gdb) p this->m_value

7. 智能指针

1. scoped_ptr

2. shared_ptr

3. weak_ptr

4. enable_shared_from_this

5. noncopable


正是因为Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。才会被大多数的Java程序员接受和使用。以上只是苏州阿甲科技后台开发团队总结出来最基础的Linux命令在工作中的应用,希望对后台开发的Java程序员有所帮助。


免责声明:本文由小编转载自网络,旨在分享提供阅读,版权归原作者所有,如有侵权请联系我们进行删除

欢迎访问阿甲科技集团官方网站!