RPC 远程过程调用详解与应用

RPC(Remote Procedure Call),即远程过程调用。

RPC 的核心目的是实现进程间通信,在分布式环境中广泛应用。

RPC 框架面向开发者屏蔽了网络底层逻辑,使远程调用可以像本地调用一样方便。

阅读更多

Java:JMS(Java Message Service)详解

Java消息服务Java Message ServiceJMS)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。

Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。

阅读更多

网络I/O模型详解

重要参考资料:W.Richard Stevens 的 UNIX Network Programming Volume 1:The Sockets Networking API,Third Edition(UNIX网络编程-卷1:套接字联网API 第3版),6.2 Chapter:I/O Models。

基于 Unix / Linux 的网络编程的 5 种 I/O 模型。

阅读更多

PMP6(2):范围确认之需求评审

在项目管理中,需求评审属于项目确认范围的内容。目的是判断工作和可交付成果是否符合需求和产品验收标准。

在软件项目中,需求评审非常重要。项目计划,软件设计,编码,测试等需要以需求评审为基准。

阅读更多
CentOS 升级 gcc 版本

CentOS 升级 gcc 版本

Centos 7 默认 gcc 版本为4.8,有时安装应用时会报错,需要升级 gcc 版本,分别执行下面三条命令即可。

阅读更多

Linux中Swap Space交换空间与创建

开发环境的虚拟机只分配了物理内存大小,物理内存有限且没有创建交换分区,系统总是杀进程导致服务挂掉。

Linux 可以创建 swap 交换分区,当内存不足时,把一部分磁盘空间虚拟成内存使用,在有限资源下提升系统效率。

阅读更多

Java 远程调试(Remote Debugging)

远程调试生产环境(或远程环境)的 Java 应用,以便快速定位某些在本地环境难以重现的问题。

远程部署的可能是个 Jar 包 或 Tomcat、Jetty 应用,若定位生产问题是通过反复修改 log 发包,效率就太低下了。

Java 提供了 JPDA 远程调试将本地源码与部署服务器连接,可以在本地控制断点的运行。

阅读更多

MySQL系列(27):查询数据库中各个表的容量及大小

1
2
3
4
5
6
7
8
9
10
11
12
SELECT
table_schema AS '数据库',
table_name AS '表名',
table_rows AS '记录数',
TRUNCATE (data_length / 1024 / 1024, 2) AS '数据容量(MB)',
TRUNCATE (index_length / 1024 / 1024, 2) AS '索引容量(MB)'
FROM
information_schema.TABLES
WHERE
table_schema = 'db_name' -- 数据库名字
ORDER BY
table_rows DESC;
阅读更多

设计模式:代理模式(Proxy)

代理模式 给某一对象提供一个代理对象,并由代理对象控制对原对象的引用。属于结构型模式。

代理模式在生活中有具体的表现,例如找代理售票点(或黄牛)买票,网络代理。

阅读更多