编程语言

历史悠久的超文本传输协议,即HTTP标准,这些日子版本升级了。HTTP/2在2015年5月被批准,目前已经在很多Web浏览器和服务器中得到实现(包括NGINX Plus和开源NGINX)。大约有三分之二的浏览器已经支持HTTP/2,而且这个比例每月都在增加。 HTTP/2构建在Google...

摘要 该文章内容介绍下Mysql的InnoDB索引相关知识,从各种树到索引原理到存储的细节。 InnoDB是Mysql的默认存储引擎(Mysql5.5.5之前是MyISAM,文档)。本着高效学习的目的,该文章内容以介绍InnoDB为主,少量涉及MyISAM作为对比。 这篇文章是我在学习过程中...

Python是我喜欢的语言,简洁、优美、易用。前两天,我很激昂地向朋友宣传Python的好处。 “好吧,我承认Python不错,但它为什么叫Python呢?” “呃,似乎是一个电视剧的名字。” “那你说的Guido是美国人么?” “他从Google换到Dropbox工作,但他的名字像是...

介绍 在系列教程中的最新一篇里,我们将研究大家最可能在第一个开发项目中涉及到的资源类型。项目资源当中包含布局、图片以及数据值,这些都是应用需要使用的元素。当我们创建一个新项目时,项目目录下会自动生成多个用于容纳通用资源类型的文件夹。如果需要...

应用抓包过滤,选择Capture | Options,扩展窗口查看到Capture Filter栏。双击选定的接口,如下图所示,弹出Edit Interface Settints窗口。 下图显示了Edit Interface Settings窗口,这里可以设置抓包过滤条件。假若你确知抓包过滤条件的语法,直接在Capture...

Wireshark一个强大的功能在于它的统计工具。使用Wireshark的时候,我们有各种类型的工具可供选择,从简单的如显示终端节点和会话到复杂的如Flow和IO图表。本文将介绍基本网络统计工具。包括:捕捉文件摘要(Summary),捕捉包的层次结构(Protocol Hirarchy),...

Linux的最大优点之一就是,使用一段时间后,它照样很稳定。Linux面临的最大挑战就是,将它安装起来,并找到并配置你完成工作所需要的软件。一旦你完成了这项任务,它几乎就会顺利运行起来。至于系统维护方面,倒没有太多的东西需要担心。另一方面,Windows是...

作为网络管理员,很多时间必然会耗费在修复慢速服务器和其他终端。但用户感到网络运行缓慢并不意味着就是网络问题。 解决网络性能问题,首先从TCP错误恢复功能(TCP重传与重复ACK)和流控功能说起。之后阐述如何发现网络慢速之源。最后,对网络各组成部分上...

引言 微博(Weibo)是一种通过关注机制分享简短实时信息的广播式社交网络平台。微博用户通过关注来订阅内容,在这种场景下,推荐系统可以很好地和订阅分发体系进行融合,相互促进。微博两个核心基础点:一是用户关系构建,二是内容传播,微博推荐一直致力于优...

以前经常谈论的Java对比c++的一个优势是Java中没有多继承的问题。 因为Java中子类只能继承(extends)单个父类, 尽管可以实现(implements)多个接口,但是接口中只有抽象方法,方法体是空的,没有具体的方法实现,不会有方法冲突的问题。 这些都是久远的说法了...

提问:我管理着一台多人共享的Linux服务器。我刚使用默认密码创建了一个新用户,但是我想用户在第一次登录时更换密码。有没有什么方法可以让他/她在下次登录时修改密码呢? 在多用户Linux环境中,标准实践是使用一个默认的随机密码创建一个用户账户。成功登录...

ITJS的这篇文章通过介绍Java的新/旧内存模型,来展示Java技术的历史变迁。 旧的Java内存模型 Java使用的是共享内存的并发模型,在线程之间共享变量。Java语言定义了线程模型规范,通过内存模型控制线程与变量的交互,从而实现Java线程之间的通信。在JDK5之前...

从简单I/O到异步非阻塞channel的Java Socket模型演变之旅 上世纪九十年代后期,本人在一家在线视频游戏工资工作,在哪里本人主要的工作就是编写Unix Unix Berkley Socket和Windows WinSock代码。本人的任务是确保视频游戏客户端和一个游戏服务器通信。很幸运...

按照国际惯例,从最基本的说起。 抓取报文: 下载和安装好Wireshark之后,启动Wireshark并且在接口列表中选择接口名,然后开始在此接口上抓包。例如,假若想要在无线网络上抓取流量,点击无线接口。点击Capture Options可以配置高级属性,但现在无此必要。 点...

动态库和静态库在C/C++开发中很常见,相比静态库直接被编译到可执行程序,动态库运行时加载使得可执行程序的体积更小,更新动态库可以不用重新编译可执行程序等诸多好处。作者是一个Linux后台开发,这些知识经常用到,所以整理了一下这方面的知识。静态库相对...

对于Linux下的C程序员来说,几乎天天都会和Linux打交道。但在很多人的眼中,Linux是一个易用性极差、靠命令驱动的操作系统,根本无法与有着友好用户界面的Windows相比。确实是这样的,即使大家的程序是运行在Linux下,基于以下种种原因,我们的大部分工作还是...

红黑树(Red-Black Tree,RBT)是一种平衡的二叉查找树,前面的红黑树原理与实现该文中详细介绍了红黑树的细节。在Linux的内核源代码中已经给我们实现了一棵红黑树,我们可以方便地拿过来进行使用。 本文将参考Linux内核的源码和文档资料,介绍Linux内核中红...

Linux 作为免费操作系统,与 Windows、OS x 齐名。比起后两者,Linux 显得很低调,低调得不少人都以为自己从未接触过 Linux。而事实上,在手机应用方面你最常听到的“Android”系统就是由 Linux 提供技术支持的。Linux 的代码通用性非常好,几乎能满足任何用...

问题: 本人需要使用JMX连接本地JVM的Java程序。换句话说,本人想开发一个JMX的客户端来配置一个本地Java程序。 请不要推荐使用JConsole!JConsole不合适,因为JConsole是一个通用的JMX客户端,对主程序的性能存在负面影响。 Oracle网站上有一个使用RMIConne...

当存储基于文档的 JSON 数据的时候,MongoDB 是本人最喜欢的数据库。基于 JVM 的语言在与 MongoDB 交互上有很多种选择。本人觉得拿四个最流行的解决方案并且都实现一个用例,对本人来说不失为一个好的练习。用例:创建一个可以获取一个城市和距其最近的城市的...

1. 华为电信软件技术架构演进 1.1. 电信软件 从广义上看电信软件的范围非常广,细分实际可以分为两大类:系统软件和业务应用软件。 系统软件包括路由器底层的信令机软件、手机操作系统等,业务应用软件主要包括客户关系管理CRM、网上营业厅、融合计费OCS和各...

在这篇文章中,我想介绍我知道的一种最紧凑的安装和配置Redis服务器的方式。另外,我想简短地概述一下在.NET / C#客户端下Redis hash(哈希类型)和list(链表)的使用。 在这篇文章主要讲到: 安装Redis服务器(附完整的应用程序文件设置) Redis服务器保...

日志是应用软件中不可缺少的部分,Apache的开源项目Log4j是一个功能强大的日志组件,提供方便的日志记录。在apache网站:jakarta.apache.org/log4j 可以免费下载到Log4j最新版本的软件包。 一、入门实例 1.新建一个JAva工程,导入包log4j-1.2.17.jar,整个工程...

在上一篇博客里本人用Java创建了一个简单的Ascii 字符画生成器(可以从GitHub上获取), 文章发布之后本人收到了很多反馈。所以今天本人打算继续在这个项目上添加一些新特性,期待能受到更多欢迎。本人重新设计了核心部分,目的是增加扩展性以便测试不同的算法...

网页页面上的图片尺寸似乎都千篇一律。我们最常见到的带有多图的文章页面中,图的大小通常是和页面的宽度一致,这样看起来,页面就是一个直筒形,这样的布局看多了就会觉得很单调。之所以形成这样的局面,我想很大程度上是因为老式浏览器的限制。但随着现代浏...