您应该知道的UNIX工具系列之2:Netcat

这是“您应该知道的UNIX工具系列”里的第二篇。在这一篇文章里,我将介绍netcat工具,简称nc。Netcat常被称为“瑞士军刀”。就像古老瑞士军刀的多功能实用性一样,Netcat的功能也是非常实用的。它的功能包括端口扫描、文件传输、端口监听,而且它可以用作一个后门。在2006年的“Top 100 Network Security Tools“调查中,netcat排名第四。所以它绝对是您应该
阅读本文

Epoll在Java Nio中的实现

Nio与Epoll 一直对nio和epoll没有系统的认识,最近看了下openjdk,简单的做个记录。 Linux2.6之后支持epollwindows支持select而不支持epoll不同系统下nio的实现是不一样的,包括Sunos linux 和windowsselect的复杂度为O(N)select有最大fd限制,默认为1024修改sys/select.h可以改变select的fd数量
阅读本文

野(wild)指针与悬空(dangling)指针

1. 什么是野指针(wild pointer)?A pointer in c which has not been initialized is known as wild pointer.野指针(wild pointer)就是没有被初始化过的指针。例如,o foo1.c1 int main(int argc, char *argv[]) 2 { 3 int *p; 4 retur
阅读本文

【Darwin学习笔记】之获取系统处理器数量的方法

阅读Darwin源码的时候看到这个方法,感觉挺有用处,且考虑了多种平台下的实现方式,直接贴代码,以后说不定会用到~ 单一种平台下的实现方法可能很容易,但是把这些个系统都收集在一起,在一个函数中实现还是极好的 PS:  函数摘自Darwin源码:StreamServerCommonUtilitiesLibOS.cpp
阅读本文

20155203 2016-2017-2 《Java程序设计》第1周学习总结

20155203 2016-2017-2 《Java程序设计》第1周学习总结学习目标- 了解Java基础知识【第一章】Java是各应用平台的基础,Java分为三大平台:Java三大平台javaSE(标准版)、javaEE(企业版)、javaME(迷你版)想要学习其他的平台应用,就必须先以了解Java SE为基础。Java SE可以分为三个主要部分:JVM(虚拟机)、JRE(执行环境)、JDK(工具
阅读本文

0002 真的吗,700元的电脑可以学会编程?

工欲善其事,必先利其器。--《论语》 计算机的历史 我们先来看看计算机的历史: 1946年,美国军方定制了第一台计算机,占地170m2,重量重达30多吨。 1946-1957,第一代,电子管计算机。 1957-1964,第二代,晶体管计算机。 1964-1971,第三代,中小规模集成电路计算机。 1971-2015,第四代,大规模和超大规模集成电路计算机。 第五代,具有人工智能的
阅读本文

Linux监控命令整理(top,free,vmstat,iostat,mpstat,sar,netstat)

1.1 top1.1.1 命令说明Top 命令能够实时监控系统的运行状态,并且可以按照cpu、内存和执行时间进行排序1.1.2 参数说明 命令行启动参数: 用法: top -hv | -bcisSHM -d delay -n iterations [-u user | -U user] -p pid [,pid ...] -b : 批次模式运行。通常用作来将top的输出的结果传送给其他程式或
阅读本文

Oracle之利用iscsi构建RAC共享存储测试

Centos下配置iscsi 共享存储ISCSI存储分为服务端(server,提供target存储给客户端挂载使用)和客户段(client,使用服务端提供的target来存放文件等),Centos6.8下对应的agent为scsi-target-utils(服务端安装)和iscsi-initiator(客户端安装),以下的安装,全部是用虚拟机安装的。 我们在搭建RAC的时候会用到iscsi来构
阅读本文

【7】JVM参数说明和分析

不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择, 调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为 复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各 个机器上的配
阅读本文

centos快速安装redis

mkdir redis cd redis wget http://labfile.oss.aliyuncs.com/files0422/redis-2.8.9.tar.gz 解压 tar -xvfz redis-2.8.9.tar.gz 编译cd redis-2.8.9 make make install  编译如果没报错,安装就算初步完成了.查看目录cd srcadlist.c
阅读本文

Socket详解

网络中进程之间的通信Socket是什么?Socket的基本操作           3.1、socket()函数           3.2、bind()函数           3.3、listen()、connect()函数           3.4、accept()函数    3.5、read()、write()函数    3.6、close()函数     4. socket中TCP三次
阅读本文

python paramiko模块简介

一:简介paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux, Solaris, BSD, MacOS X, Windows等,paramiko都可以支持,因此,如果需要使用SSH从一个平台连接到另外一个平台,进行一系列的操作时,parami
阅读本文

centos 6.7 (UDEV,、etc/hosts)安装 RAC 11.2.0.4 报错处理

环境说明: ​db 11.2.0.4        os: centos 6.7    UDEV管理ASM      没有配置DNS服务器,采用/etc/hosts​​报错:​​1.    CVU(Cluster Verification Utility)检查 CRS 的安装前环境。    (正常没有配置DNS服务器,采用/etc/hosts报错,可以忽略)​​node1-> ./runcluvf
阅读本文

三次握手 四次握手 与socket函数的关系

“一切皆Socket!”话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。——有感于实际编程和开源项目研究。   1、网络中进程之间如何通信? 2、Socket是什么? 3、socket的基本操作 3.1、socket()函数 3.2、bind()函数 3.3、listen()、connect()函数 3.4、accept()函数 3.5、read(
阅读本文

Socket 深度探究 4 PHP (二)

上一篇《》中,大家应该对 poll/select/epoll/kqueue 这几个 IO 模型有了一定的了解,为了让大家更深入的理解 Socket 的技术内幕,在这个篇幅,我会对这几种模式做一个比较详细的分析和对比;另外,大家可能也同说过 AIO 的概念,这里也会做一个简单的介绍;最后我们会对两种主流异步模式 Reactor 和 Proactor 模式进行对比和讨论。首先,然我们逐个介绍一下 2.
阅读本文

java--jvm启动的参数

java启动参数共分为三类其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容;其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容;其三是非Stable参数(-XX),此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用;    标准参数中比较有用的: verbose -verbose:class  输出
阅读本文

Unix/Linux文件类型及访问权限

在Linux系统中,有7种文件类型。普通文件 (regular file)目录文件 (directory)管道文件 (FIFO)套接字文件 (socket)字符设备文件 (character device)块设备文件    (block device)在Solaris上,还有一种文件类型, 叫做door文件。而一个文件的Unix访问权限,包括12位,通常用4个8进制位表示, 标志 8进制值 含义
阅读本文

Windows下libevent C++封装类实现(为什么要使用封装好的网络库?)

题记windows平台下对于服务器高并发的网络模型选型中,使用libevent是个不错的选择。 1. Libevent介绍[维基百科]libevent是一个异步事件处理软件函式库,以BSD许可证发布。libevent提供了一组应用程序编程接口(API),让程序员可以设定某些事件发生时所执行的回调函数,也就是说,libevent可以用来取代网络服务器所使用的事件循环检查框架。由于可以省去对网络的处理
阅读本文

/etc/fstab 文件解释

/etc/fstab 文件解释文件fstab包含了你的电脑上的存储设备及其文件系统的信息。它是决定一个硬盘(分区)被怎样使用或者说整合到整个系统中的唯一文件。具体来说:用fstab可以自动挂载各种文件系统格式的硬盘、分区、可移动设备和远程设备等。对于Windows与arch双操作系统用户,用fstab挂载FAT格式和NTFS格式的分区,可以在Linux中共享windows系统下的资源。fstab文
阅读本文

nova系列一:虚拟化介绍

一 什么是虚拟化     虚拟化(Virtualization)技术最早出现在 20 世纪 60 年代的 IBM 大型机系统,在70年代的 System 370 系列中逐渐流行起来,这些机器通过一种叫虚拟机监控器(Virtual Machine Monitor,VMM)的程序在物理硬件之上生成许多可以运行独立操作系统软件的虚拟机(Virtual Machine)实例。         随着近年多核
阅读本文