java;Pascal;等都在学Linux内核 ,就你还在犹豫!

我觉得java;Pascal程序员或者说服务器端程序员对linux的学习可以分几个部分:

运维相关的,你得知道怎么运行cmd,编写简单的shell脚本,基本的string处理(grep sed这些东西),查看系统日志,查看系统软硬件的当前状态,更新软件包和打补丁等。这又分为你是只操作一台linux服务器,还是操作一个几百甚至上万台服务器/容器的集群。你肯定会借助不同的工具,有些朋友也提到了docker等。不能啥事都指望运维,有些事得研发来看的。

IO相关的,我们做服务器端开发的,其实会有非常多时间在和io打交道,对于大多数应用io也最容易产生瓶颈。比如说你可以学学epoll,这样比较容易理解nio。还有文件系统等等。

安全相关的,这个对于开发人员也很重要。各种文件的权限,也包括如何进行安全的网络传输和加密等等。

进程/线程调度,比如说线程是怎么park/block/wait的,这对你开发高并发应用是很有必要的。

网络。linux的网络配置还是挺繁复的,而java其实是一门网络编程语言(这个是96年java创始人定下来的基调)。还有就是socket编程,虽然windows下也有socket编程,但是写c写的多的朋友肯定知道linux和win下面差别还挺大的,不过这点java已经封装的很好了,但出了问题的时候还是需要程序员能对底层有一定了解的。

有些东西我觉得没必要学,除非你特别有兴趣:

x相关,以及图形界面的开发,有qt呢,再说.net都能跨平台呢//笑

过于高端的shell脚本技巧和string处理技巧,有python呢


作为近年来运用越来越广泛,被互联网企业越来越认可的技术,内核底层原理技术该如何学习呢?

这里给大家推荐零声教育全网独家的【Linux内核源码课程体系,通过20项目案例,2W+行手写代码,全面解析6个内核技术方向。

学习路线

进程管理专题

内存管理专题

网络协议栈专题

设备驱动专题

文件系统及内核组件专题

零声服务与内核参考资料

等等。。

进程管理专题

内存管理专题


网络协议栈专题


设备驱动专题


文件系统及内核组件专题


零声服务与内核参考资料


适合于

Linux 内核优化、内存管理 ,内核开发岗位、定制化自己OS

深入系统内核研究、网络安全逆向分析

提升自己能力,为了更好做应用层开发提供核心依据

跳槽面试大厂(腾讯、华为、中兴、中微、中芯等等)

从事业务开发多年,对底层原理理解不够深入的在职工程师

从事嵌入式方向开发,想转入内核开发的在职工程师

从事Qt/MFC等桌面开发的,薪资多年涨幅不大的在职工程师

从事非开发岗位(算法岗,运维岗,测试岗),想转内核开发岗位的在职工程师

【文章福利】小生推荐自己的Linux后台/内核技术交流群【 318652197】整理了一些个人觉得比较好的学习书籍,视频资料共享在群文件里面,有需要的自行添加哦!!!前100名进群领取,额外赠送一份价值699的内核资料包(含视频、电子书、实战项目及代码)

资料免费领

学习直通车

你可能感兴趣的:(java;Pascal;等都在学Linux内核 ,就你还在犹豫!)