自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(140)
  • 资源 (1)
  • 收藏
  • 关注

原创 Linux 上分析死锁的最简单方法

简介死锁 (deallocks): 是指两个或两个以上的进程(线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程(线程)称为死锁进程(线程)。 由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程(线程)在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象...

2020-04-11 22:58:23 50

原创 10 个超级有趣的 Linux 终端游戏

Linux 终端在多数人眼中,是一个非常单调和无聊的工作环境,一个纯黑色背景的输入框,一串串让人记哭的命令,仿佛这些就是它的全部。而相比 Windows 系统,Linux 确实也少了许多的娱乐性。但是这篇文章可能会改变你的一些想法,其实 Linux 终端也有不少有意思的小游戏。虽然比不上 Windows 下的华丽,但足矣让你在闲暇之余,玩上一整天!好了,下面就让我为大家逐一介绍下它们。2048...

2020-04-11 22:57:10 114

原创 在 Linux 中永久并安全删除文件和目录 只需这 3 招

在大多数情况下,我们习惯于使用Delete键、垃圾箱或rm命令从我们的计算机中删除文件,但这不是永久安全地从硬盘中(或任何存储介质)删除文件的方法。该文件只是对用户隐藏,它驻留在硬盘上的某个地方。它有可能被数据窃贼、执法取证或其它方式来恢复。假设文件包含密级或机密内容,例如安全系统的用户名和密码,具有必要知识和技能的攻击者可以轻松地恢复删除文件的副本并访问这些用户凭证(你可以猜测到...

2020-04-11 22:56:27 85

原创 Linux 编程之 Ping 的实现

PING(Packet InterNet Groper)中文名为因特网包探索器,是用来查看网络上另一个主机系统的网络连接是否正常的一个工具。ping命令的工作原理是:向网络上的另一个主机系统发送ICMP报文,如果指定系统得到了报文,它将把回复报文传回给发送者,这有点象潜水艇声纳系统中使用的发声装置。所以,我们想知道我这台主机能不能和另一台进行通信,我们首先需要确认的是我们两台主机间的网络是不是通的...

2020-04-11 22:55:27 49

原创 Linux 开发者必须了解的常见文件系统对比

本文将对Linux下常见的几种文件系统进行对比,包括ext2、ext3、ext4、XFS和Btrfs,希望能帮助大家更好的选择合适的文件系统。内容来自于网上找的资料以及自己的一些经验,能力有限,错误在所难免,仅供参考历史文件系统 创建者 创建时间 最开始支持的平台 ext2 Rémy Card 1993 Linux,Hurd XFS ...

2020-04-11 22:54:07 79

原创 Linux 性能分析工具汇总合集

出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章。本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面。如果没有完善的计算机系统知识,网络知识和操作系统知识,文档中的工具,是不可能完全掌握的,另外对系统性能分析和优化是一个长期的系列。本文档主要是结合Linux 大牛,Netflix 高级性能架构师 Brendan Gregg 更新 Linux 性能调优...

2020-04-11 22:53:11 51

原创 9 个超有趣的 Linux 命令动画演示

Linux最强大的一个特征就是它有大量的各种小命令工具,这也可以称做是它最有趣的一个地方了。在这些大量的有用的命令和脚本中,你会发现有少部 分命令工具不那么有用的——如果你不愿意说是完全没用处的话。你要知道,Linux命令终端并不是总来干一些严肃的事情的,这里列举的几个没有实际用处、 但很有趣的命令。它们的有趣并不是因为无用,而是真的有趣,接下来就让我们看看它们是如何搞怪的吧。...

2020-04-11 22:52:03 94

原创 最实用的 Linux 命令行使用技巧汇总

我们每天都会频繁使用Linux命令行,虽然网上关于其使用技巧的资料多种多样,但很多朋友应该并没有进行过实际尝试。因此,今天的文章将对此进行汇总,希望能为大家带来一点帮助。1.将输出结果显示为表有时候,当我们查看命令的输出结果时,大量拥护的字符串可能很难进行阅读。如果将命令整理为表?其实非常简单!只需要输入:mount | column –t:在以上示例中,输出结果因为被空格隔...

2020-04-11 22:51:12 44

原创 关于 Linux 进程你所需要知道的一切

在这篇指南中,我们会逐步对进程做基本的了解,然后简要看看如何用特定命令管理 Linux 进程。进程process是指正在执行的程序;是程序正在运行的一个实例。它由程序指令,和从文件、其它程序中读取的数据或系统用户的输入组成。进程的类型在 Linux 中主要有两种类型的进程:前台进程(也称为交互式进程) – 这些进程由终端会话初始化和控制。换句话说,需要有一个连接到系统中的用户来启动...

2020-04-11 22:50:13 96

原创 每个开发人员应该知道的 10 个 Linux 命令

作为一名软件工程师,学习Linux是我所做的最好投资。因为Linux是一个用户必须理解和维护的系统,所以日常体验就像向水坑加水滴一样。时间一长,水坑就会成为湖泊,甚至是海洋。所以我们必须杜微慎防。今天,我作为一名30多岁的工程师,仍然受益于我几年前机缘巧合学到的一大堆知识,在我还是一个具有雄心壮志的初学者的时候。在另一篇博客中,我已经更详细地解释了为什么Linux对于软件开发人员来说是一个更加...

2020-04-11 22:48:37 43

原创 别再说编程是青春饭了,来自日本的82岁APP开发者

82岁的若宮正子第一次工作时,还是使用算盘来进行计算——而如今,她是世界上年纪最大的iPhone应用开发者之一,也是使得智能手机走入老年人生活的先驱者。有感于科技行业对老年人关注度不高的事实,若宮正子决定开始独立学习编程。她坚持认为,60岁以上的老人,需要积极地学习新的技能来保持大脑灵活。“当你越来越老,你会失去很多东西:丈夫,工作,头发,视力,生活中的减号数不胜数。但是,如果你学习新的东...

2020-04-04 11:29:38 88

原创 最全面的 Spring 学习笔记

Spring致力于提供一种方法管理你的业务对象。在大量Java EE的应用中,随处可见Spring。今天我将简单的介绍一下Spring这个框架。本文适合读者:想学Spring的Java开发者 刚用Spring不久的人Why为什么要使用Spring?Spring主要两个有功能为我们的业务对象管理提供了非常便捷的方法:DI(Dependency Injection,依赖注入)...

2020-04-04 11:28:34 34

原创 JVM 内存分代、垃圾回收漫谈

关于 JVM 内存模型以及垃圾回收的文章网上很多,自己以前也看过很多,但是却从来也没有系统的去了解学习过,这次正巧看到一本讲解 JVM 的好书 – 周志明老师的《深入理解 Java 虚拟机》,然后就花了点时间,认真系统的学习了一遍,尽管还没有看完,但是已经爱耐不住,觉得要写点东西出来,写的过程是一个思考融汇的过程,也是一个知识升华的过程。这篇主要简单分享一下关于 JVM 内存模型、内存溢出、内...

2020-04-04 11:27:40 32

原创 Java Socket 编程原理及教程

对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是Socket。服务端和客户端之间通过Socket建立连接,之后它们就可以进行通信了。首先ServerSocket将在服务端监听某个端口,当发现客户端有Socket来试图连接它时,它会accept该Socket的连接请求,同时在服务端建立一个对应的Socket与之进行通信。这样就有两个Socket了,客户端和服务端...

2020-04-04 11:26:50 32

原创 Java 并发开发:Lock 框架详解

摘要:我们已经知道,synchronized 是java的关键字,是Java的内置特性,在JVM层面实现了对临界资源的同步互斥访问,但 synchronized 粒度有些大,在处理实际问题时存在诸多局限性,比如响应中断等。Lock 提供了比 synchronized更广泛的锁操作,它能以更优雅的方式处理线程同步问题。本文以synchronized与Lock的对比为切入点,对Java中的Lock...

2020-04-04 11:25:41 42

原创 这样做,你的面试成功率将达到90%以上

一、概述面试,难还是不难?取决于面试者的底蕴(气场+技能)、心态和认知及沟通技巧。面试其实可以理解为一场聊天和谈判,在这过程中有心理、思想上的碰撞和博弈。其实你只需要搞清楚一个逻辑:“面试官为什么会这样问?他希望听到什么答案?”然后针对性的准备和回答就行了,无他。“你的优势是什么?”多年前我觉得这个问题很无聊,现在我经常这么问面试者,因为我真的想知道他的优势是什么,能给公司带来什么。最终能...

2020-03-11 23:26:10 122

原创 区分一个程序员是小白还是大神,一般都看这5点

经历过或者听别人说过程序员面试的朋友都清楚,很多公司在面试程序员的时候根本都不笔试的,直接和你谈上一段时间就能够决定是不是要录用你。其实在谈话中,你的编程能力已经有了展现,对方已经通过这5点已经分辨出你是不是一个合格的程序员了!第一点,关于编程基本功的提问。在面试的时候,一些面试官就会问来应聘的程序员某个项目中常见的语法细节,当然这是一种非常原始的考察方式了,经常用在面试刚刚毕业的学生上面...

2020-03-08 13:45:21 227

原创 十大经典排序算法:桶排序 & 基数排序

知识回顾:排序算法分类排序算法通常可以分成两大类:比较类排序:通过比较来决定元素的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。知识回顾:排序算法复杂度桶排序(BucketSort)...

2020-03-08 13:44:08 129

原创 十大经典排序算法:堆排序 & 计数排序

知识回顾:排序算法分类排序算法通常可以分成两大类:比较类排序:通过比较来决定元素的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。知识回顾:排序算法复杂度堆排序(HeapSort)...

2020-03-08 13:42:40 74

原创 十大经典排序算法:归并排序 & 快速排序

知识回顾:排序算法分类排序算法通常可以分成两大类:比较类排序:通过比较来决定元素的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。知识回顾:排序算法复杂度归并排序(MergeSort)...

2020-03-08 13:41:24 435

原创 十大经典排序算法:插入排序 & 希尔排序

知识回顾:排序算法分类排序算法通常可以分成两大类:比较类排序:通过比较来决定元素的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。知识回顾:排序算法复杂度插入排序(InsertionSort...

2020-03-08 13:39:55 44

原创 十大经典排序算法:冒泡排序 & 选择排序

排序算法的分类排序算法通常可以分成两大类:比较类排序:通过比较来决定元素的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。排序算法复杂度相关概念稳定:如果a原本在b前面,而a=b,排...

2020-03-08 13:38:35 58

原创 嫁给程序员有多好,看完这篇文章或许就明白了

01首先,我们来普及一下,什么是程序员?程序员是做什么的?程序员(英文Programmer)是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、中级程序员、高级程序员、系统分析员,系统架构师,测试工程师六大类。岗位职责要求:对项目经理负责,负责软件项目的详细设计、编码和内部测试的组织实...

2020-03-08 13:36:58 194 1

原创 图解Java常用数据结构(一)

最近在整理数据结构方面的知识,系统化看了下Java中常用数据结构,突发奇想用动画来绘制数据流转过程。主要基于jdk8,可能会有些特性与jdk7之前不相同,例如LinkedList LinkedHashMap中的双向列表不再是回环的。HashMap中的单链表是尾插,而不是头插入等等,后文不再赘叙这些差异,本文目录结构如下:LinkedList经典的双链表结构,适用于乱序插入、删...

2020-03-08 13:35:26 47

原创 程序员必读的30本书籍(下)

16. 《修改代码的艺术》作者: MichaelFeathers我们都知道,即使是最训练有素的开发团队,也不能保证始终编写出清晰高效的代码。如果不积极地修改、挽救,随着时间流逝,所有软件都会不可避免地渐渐变得复杂、难以理解,最终腐化、变质。因此,理解并修改已经编写好的代码,是每一位程序员每天都要面对的工作,也是开发程序新特性的基础。然而,与开发新代码相比,修改代码更加令人生畏,而且长...

2020-03-08 13:32:26 73

原创 程序员必读的30本书籍(上)

1. 《代码大全》(第二版)作者:[美]史蒂夫·迈克康奈尔第2版的《代码大全》是著名IT畅销书作者史蒂夫·迈克康奈尔11年前的经典著作的全新演绎:第2版不是第一版的简单修订增补,而是完全进行了重写;增加了很多与时俱进的内容。这也是一本完整的软件构建手册,涵盖了软件构建过程中的所有细节。它从软件质量和编程思想等方面论述了软件构建的各个问题,并详细论述了紧跟潮流的新技术、高屋建瓴的观点...

2020-03-08 13:30:28 739

原创 男孩年级轻轻就猝死,看到他最后时刻做的事,我被警醒了(漫画)

我的公众号「码农之屋」(id: Spider1818),分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。...

2020-03-04 23:28:53 899

原创 小白照样读懂的VLAN原理讲解

我的公众号「码农之屋」(id: Spider1818),分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。为什么需要VLAN1. 什么是VLAN?VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是...

2020-03-04 23:28:22 76

原创 拼夕夕真的是“套路之王”,每个活动都真实有效,但又遥不可及

我的公众号「码农之屋」(id: Spider1818),分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。...

2020-03-04 23:22:53 134

原创 发朋友圈也是门“技术活”!你真的会发朋友圈吗?(漫画)

我的公众号「码农之屋」(id: Spider1818),分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。...

2020-03-04 23:21:29 106

原创 这个“常识误区”,你知道吗?(漫画)

我的公众号「码农之屋」(id: Spider1818),分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。...

2020-03-04 23:18:08 54

原创 Redis 在现实世界的 5 个用法

我的公众号「码农之屋」(id: Spider1818),分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。Redis是一个强大的内存数据结构存储,包含数据库,缓存和消息代理等多种用途。大多数人经常认为它不过是一个简单的键值存储,但...

2020-03-04 23:15:53 83

原创 考试“崩溃”事故合集!有没有你的影子?(漫画)

我的公众号「码农之屋」(id: Spider1818),分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。...

2020-03-04 23:13:10 61

原创 程序员如何巧用Excel提高工作效率

我的公众号「码农之屋」(id: Spider1818),分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。作为一名程序员,我们可能很少使用Excel,但是公司的一些职能部门,比如HR,财务等,使用Excel真的是太熟练了,以至于一...

2020-03-04 23:12:06 84

原创 “近视眼”的人到底有多痛苦?(漫画)

我的公众号「码农之屋」(id: Spider1818),分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。...

2020-03-04 23:10:09 491

原创 程序员应该看的十大电影

我的公众号「码农之屋」(id: Spider1818),分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。作为程序员,你知道我们领域杰出的电影吗?下面就是我最喜欢的10大电影,它们都在某方便帮助了我理解编程中的某些概念,同时也让我...

2020-03-04 23:08:18 338

原创 开发导致的内存泄漏问题,这样排查不背锅

我的公众号「码农之屋」(id: Spider1818),分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。由来前些日子小组内安排值班,轮流看顾我们的服务,主要做一些报警邮件处理、Bug 排查、运营 issue 处理的事。工作日...

2020-03-03 23:17:18 44

原创 11个代码质量审核和管理工具,程序员收藏

我的公众号「码农之屋」(id: Spider1818),分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。如今,代码质量分析和审核已成为每个企业的基本流程。随着开源代码库使用的增加,安全性和代码质量对于构建高质量软件至关重要。不良...

2020-03-03 23:13:20 118

原创 技术选型之Docker容器引擎

我的公众号「码农之屋」(id: Spider1818),分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。最近对Docker和Kubernetes进行了一番学习,前两天做了一次技术分享,回去听了一遍自己演讲的录音,发现单单PPT做...

2020-03-03 23:11:32 230

原创 以卡通的方式了解Kubernetes

我的公众号「码农之屋」(id: Spider1818),分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。最近,我开始了Kubernetes之旅,希望更好地了解其内部。我在这些方面做了一个演讲。容器在我们尝试了解Kub...

2020-03-03 23:10:05 121

正则化正交匹配追踪代码

实现正则化正交匹配追踪的算法代码,也就是ROMP实现的代码

2012-08-20

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除