Netty 超时机制及心跳程序实现
2015-11-06 Netty本文介绍了 Netty 超时机制的原理,以及如何在连接闲置时发送一个心跳来维持连接。
本文介绍了 Netty 超时机制的原理,以及如何在连接闲置时发送一个心跳来维持连接。
本文介绍了使用 Eclipse Markdown Editor 插件,来实现在 Eclipse 中编写 Markdown 文件。
本文介绍了 SNMP 协议 的基本概念,SNMP 的作用,以及如何在 Windows 下使用 SNMP 来管理网络中的设备。
至今为止,Spring Framework 的最新版本为 4.2.1.RELEASE。 那么 Spring Framework 4.2 中的又有哪些新功能和增强功能呢?
原本 Jersey “Auto-Discoverable Features”(自动发现功能)中 JSON 解析在 eclipse 右键运行项目是正常的,但用 Maven 编译成 jar 后运行,就无法使用 JSON 解析了
本文介绍了如何使用 eclipse SVN 插件来共享项目。
随着 Web 的发展,用户对于 Web 的实时的要求也越来越高 ,比如,工业运行监控、Web 在线通讯、即时报价系统、在线游戏等,都需要将后台发生的变化主动地、实时地传送到浏览器端,而不需要用户手动地刷新页面。本文对过去和现在流行的 Web 实时推送技术进行了全面的总结。
项目中,由于连接数过多,提示“Too many connections”,需要增加连接数。我在 /etc/my.cnf
中修改了
max_connections = 2000
但是, 实际连接数一直被限制在 214
mysql> show variables like "max_connections";
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 214 |
+-----------------+-------+
1 row in set
MySQL max_connections 总是 214 。不能设大了?
VirtualBox 是一款开源虚拟机软件。VirtualBox 是由德国 Innotek 公司开发,由Sun Microsystems 公司出品的软件,使用 Qt 编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。Innotek 以 GNU General Public License (GPL) 释出 VirtualBox,并提供二进制版本及 OSE 版本的代码。使用者可以在VirtualBox上安装并且执行 Solaris、Windows、DOS、Linux、OS/2 Warp、BSD 等系统作为客户端操作系统。
VirtualBox 号称是最强的免费虚拟机软件,它不仅具有丰富的特色,而且性能也很优异!它简单易用,可虚拟的系统包括 Windows(从 Windows 3.1 到 Windows8、Windows Server 2012,所有的 Windows 系统都支持)、Mac OS X(32bit和64bit都支持)、Linux(2.4和2.6)、OpenBSD、Solaris、IBM OS2 甚至 Android 4.0 系统等操作系统!使用者可以在 VirtualBox 上安装并且运行上述的这些操作系统! 与同性质的 VMware 及 Virtual PC 比较下,VirtualBox 独到之处包括远端桌面协定(RDP)、iSCSI 及 USB 的支持,VirtualBox 在客户端操作系统上已可以支持USB 2.0的硬件装置,不过要安装 VirtualBox Extension Pack。
Webmin 是目前功能最强大的基于 Web 的 Unix 系统管理工具。管理员通过浏览器访问Webmin 的各种管理功能并完成相应的管理动作。目前 Webmin 支持绝大多数的Unix系统,这些系统除了各种版本的 linux 以外还包括:AIX、HPUX、Solaris、Unixware、Irix 和 FreeBSD 等。
SVN 主机IP 修改后,所有客户端需要相应的修改 SVN 的访问地址。
虚拟内存统计
用法
Usage:
vmstat [options] [delay [count]]
Options:
-a, --active active/inactive memory
-f, --forks number of forks since boot
-m, --slabs slabinfo
-n, --one-header do not redisplay header
-s, --stats event counter statistics
-d, --disk disk statistics
-D, --disk-sum summarize disk statistics
-p, --partition <dev> partition specific statistics
-S, --unit <char> define display unit
-w, --wide wide output
-t, --timestamp show timestamp
-h, --help display this help and exit
-V, --version output version information and exit
参考:http://www.waylau.com/centos-7-installation-and-configuration/
地址:http://www.centos.org/download/
本例为 Minimal ISO 版本:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1503-01.iso
CentOS 与 RHEL 是同源,所以,在 CentOS 文档不足时,可以参考 RHEL 的文档。https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Installation_Guide/index.html
Help&Manual 一个所见即所得的帮助文件制作工具,支持打印功能。还可以用来制作非常专业的使用手册、HTML页面及RTF、PDF 格式的文件。值得一提的是,它的OLE链接功能十分强大,支持26种文件格式,而且还支持未定义的某些文件格式的文本、图形、声音、动画的链接,真可谓无所不能。
该软件现在能够完美支持中文。
注意: 该软件是收费的,但可以下载试用
Spring支持不同的scope。不同scope在使用上是有差异的,比如singleton与prototype。
我们知道,Spring bean 默认的 scope 是 singleton(单例),但有些场景(比如多线程)需要每次调用都生成一个实例, 此时 scope 就应该设为 prototype。如:
A theme for Jekyll to build a personal blog. Seehttps://github.com/waylau/jekyll-bootstrap-blog
##Screenshots
##Demo
You can see the theme running on my blog.
在《MINA 快速入门》一文中,我们介绍了如何利用 MINA 快速构建一个 Time Server(时间服务器)。在《Netty 实现聊天功能》一文,我们也介绍了如何用 Netty 实现聊天功能。由于 MINA 和 Netty 是同一个作者,架构类似,如果你掌握其中一个,学习另外一个也不是难事。现在我们就用 MINA 来实现聊天功能。
##准备
当我尝试在 switch 语句使用 String 参数时(注意ctrType
为字符串)
switch (ctrType) {
case "01" :
exceptionType = "读FC参数数据";
break;
case "03" :
exceptionType = "读FC保存的当前表计数据";
break;
default:
exceptionType = "未知控制码:"+ctrType;
}
Apache MINA 是一个网络应用的框架,可以帮助用户开发的高性能、高扩展性的网络应用程序。它通过 Java NIO 提供了一个抽象的事件驱动的异步 API 用在不同传输协议上,比如 TCP/IP 和 UDP/IP 等。
本教程介绍了如何构建基于 MINA 的应用的过程。这个教程介绍的是构建一个 Time Server(时间服务器)。
Java 项目的编译文件经常被打包成 JAR(Java Archive,Java 归档文件)文件,当然,作为学习,有时候也非常想看到这个 JAR 被打包前的源代码是怎么样的。 下面提供几种查看 JAR 包的源代码方式。
##环境
在 Java 的编写过程中我们需要对一些程序进行注释,除了自己方便阅读,更为别人更好理解自己的程序,所以我们需要进行一些注释,可以是编程思路或者是程序的作用,总而言之就是方便自己他人更好的阅读。
##注释类型
Java 有两类注释: implementation comments(实现注释)和 documentation comments(文档注释)。 实现注释常见于 C++,使用 /*...*/
,和 //
。文档注释 (也称为”doc comments”) 是 Java 独有的,使用 /**...*/
。文档注释可以通过 javadoc 工具转成 HTML 文件。
上一次我们用 Netty 快速实现了一个 Java 聊天程序(见http://www.waylau.com/netty-chat/)。现在,我们要做下修改,加入 WebSocket 的支持,使它可以在浏览器里进行文本聊天。
##Optimizer for Eclipse 介绍
官网: http://zeroturnaround.com/free/optimizer-for-eclipse/
顾名思义,Optimizer for Eclipse 这个插件主要是解决 Eclipse 性能优化问题:
###1.低内存分配
较低的最小堆大小不断将导致 JVM 分配额外的内存。当你没有足够的内存,垃圾收集频繁的 JVM 会减慢你的体验。
###2.慢类验证
类在 Eclipse 执行验证类和插件类显著减慢 JVM 的启动。
###3.大索引和历史
随着时间的推移,Eclipse 会生成一个庞大的历史和索引文件缓存。这些文件在 RAM 和 SSD 硬盘使 Eclipse 迟缓,反应迟钝。
1.直接把项目复制到 Tomcat 安装目录的 webapps 目录中,这是最简单的一种Tomcat项目部署的方法,也是初学者最常用的方法。
2.在 Tomcat 安装目录的 conf 文件夹,修改配置文件 server.xml,在<host>
和</host>
之间插入如下语句。
<Context path="/emsc" docBase="D:\emsc" debug="0" privileged="true"></Context>
其中,docBase 为设置项目的路径。
将 path 设为 “/” ,则以无项目名称形式部署、访问
3.在 conf 目录中,在Catalina\localhost
(此处需要注意目录的大小写)目录下新建一个XML文件,任意命名,只要和当前文件中的文件名不重复即可,代码如下。
<Context path="/emsc" docBase="D:\emsc" debug="0" privileged="true"></Context>
Netty 是一个 Java NIO 客户端服务器框架,使用它可以快速简单地开发网络应用程序,比如服务器和客户端的协议。Netty 大大简化了网络程序的开发过程比如 TCP 和 UDP 的 socket 服务的开发。更多关于 Netty 的知识,可以参阅《Netty 4.x 用户指南》(https://github.com/waylau/netty-4-user-guide)
下面,就基于 Netty 快速实现一个聊天小程序。