java 队列, Queue, Deque

java 队列, Queue, Deque 名称 deque 是 “double ended queue (双端队列)” 的缩写, 通常读为 “deck”。 大多数 Deque 实现对于它们能够包含的元素数没有固定限制, 但此接口既支持有容量限制的双端队列, 也支持没有固定大小限制的双端队列. ArrayBlockingQueue 基于数组的阻塞队列 http://wiloon.com/ArrayBlockingQueue LinkedBlockingQueue 链表结构组成的有界阻塞队列。 PriorityBlockingQueue 支持优先级排序的无界阻塞队列。 DelayQueue 一个使用优先级队列实现的无界阻塞队列。 SynchronousQueue 不存储元素的阻塞队列 LinkedTransferQueue 一个由链表结构组成的无界阻塞队列。 LinkedBlockingDeque 一个由链表结构组成的双向阻塞队列。 https://blog.wiloon.com/?p=8256 ConcurrentLinkedDeque 非阻塞线程安全列表 ConcurrentLinkedQueue ConcurrentLinkedQueue 是一个基于链接节点的无界线程安全队列 http://blog.wiloon.com/?p=11670 Queue add 增加一个元索 如果队列已满, 则抛出一个 IIIegaISlabEepeplian 异常 offer 添加一个元素并返回 true 如果队列已满, 则返回 false put 添加一个元素 如果队列满, 则阻塞 remove 移除并返回队列头部的元素如果队列为空, 则抛出一个 NoSuchElementException 异常 poll 移除并返回队列头部的元素如果队列为空,则返回 null take 移除并返回队列头部的元素 如果队列为空,则阻塞 element 返回队列头部的元素 如果队列为空,则抛出一个 NoSuchElementException 异常 ...

2016-05-08 · 2 min · 268 words · -

netctl

netctl pacman -S wpa_actiond pacman -S dialog systemctl stop dhcpcd systemctl disable dhcpcd cp /etc/netctl/example/wireless-wpa sudo chmod u+x /etc/netctl/* emacs wireless-wpa sudo netctl start xxxxxx sudo netctl enable wireless-wpa wireless #http://www.wiloon.com/?p=7520

2016-04-26 · 1 min · 31 words · -

解决 archlinux 和 windows 双系统启动时间不准的问题

解决 archlinux 和 windows 双系统启动时间不准的问题 https://bbs.archlinuxcn.org/viewtopic.php?id=424 pacman -S openntpd systemctl start openntpd ntpd -s -d hwclock -w http://mindonmind.github.io/notes/linux/arch_time.html```

2016-04-25 · 1 min · 18 words · -

archlinux netctl wifi

archlinux netctl wifi Essay Address: http://blog.csdn.net/sunnypotter/article/details/23201339 # 如果之前systemctl enable dhcpcd.service systemctl dhcpcd.service systemctl disable dhcpcd.service 然后 cd /etc/netctl cp examples/wireless-wpa . # A simple WPA encrypted wireless connection vim wireless-wpa # Modify Interface=wlp8s0 # iw dev查看, 或ip link 或ifconfig Connection=wireless Security=wpa IP=dhcp ESSID=‘wifi-name’ Key=‘wifi-passwd’ 注意,必须先完成以上才能进行一下,否则有一系列问题 netctl enable wireless-wpa netctl start wireless-wpa reboot ( 相关文件夹: /etc/netctl # 网络配置文件夹,假如配置名字叫 wireless-wpa /etc/systemd/system # /etc/systemd/system # netctl@wireless-wpa.service /etc/systemd/system/multi-user.target.wants # netctl@wireless-wpa.service 相关命令: journalctl -xn systemctl -failed ...

2016-04-25 · 1 min · 96 words · -

小平岛 玉皇顶

小平岛 玉皇顶 小平岛之巅是玉皇顶,海拔73米,与之相连的是城山头,海拔53米。在它的半腰处有一堵30多米长的残垣断壁,面对大海,青石累累。据说,宋金时期为了抗击外来的海盗,驻守这里的将士们筑起了这堵城墙。现已被列为大连市重点保护文物。[1] 在城墙的西端有一个两米多高的黑褐色圆台形礁石屹立在海中,渔民叫它钓鱼角。每逢金秋季节,这里常有墨鱼和鲅鱼涌到岸边觅食,只要在鱼钩上包上锡纸当诱饵,放到海中片刻就可引来墨鱼。在这里吊鲅鱼的方法更是奇特: 只要把一种金属铅和鱼钩铸在一起的流线型钩坠猛地甩向几十米远,随即再迅速收线,钩坠就在水中游动,鲅鱼一发现钩坠,会误认为是饵料,便穷追不舍,一口吞下。 大连老偏岛—玉皇顶海洋生态自然保护区于2000年8月建立。该保护区地理坐标为东经121°28′46″~121°36′37″,北纬38°47′29″~38°50′00″,总面积为1580公顷。 保护范围 保护区总面积为1580公顷。其中: 缓冲区的范围是岛坨海岸线向外延伸1000米范围内,面积为1310公顷;核心区的范围是玉皇顶海岸线向外延伸100米范围内,大坨子、二坨子、三坨子、四坨子海岸线向外延伸200米范围内,老偏岛海岸线向外延伸50米范围内,面积为270公顷(包括老偏岛及大坨子、二坨子、三坨子、四坨子海岸线以上向陆部分,面积为70公顷)。 保护对象 刺参、皱纹盘鲍、紫海胆、紫石房蛤、香螺、魁蚶、马尾藻及周围海洋生态系统;老偏岛的喀斯特地貌,玉皇顶及大坨子、二坨子、三坨子、四坨子的海蚀地貌景观。 独特景观 老偏岛由于岩石性质、地质构造和古气候等多种因素影响,形成国内北方岛屿罕见的喀斯特溶洞景观。 玉皇顶是小平岛的陆连岛,由五个山包构成起伏山崖,其外侧是清澈的海水。岩石是坚硬的震旦纪桥头组中厚石英岩,岩层产状近于水平。由于构造裂隙及强烈海蚀作用,形成各种海蚀景观,如海蚀洞、象鼻洞。其中一较大洞长约30米,高15米。 该区有天然海草床,水下植物种类齐全,如皱纹盘鲍、紫海胆、刺参、香螺等海珍品,其资源量和质量有区域优势。 该保护区对在大连市西部建一处"海洋公园"来讲是一处较好的选址,对大连沿海旅游业的立体发展和资源开发与保护并举有重要的示范作用,她必将成为一张亮丽的城市名片。 历史 这个岛还有一段美丽的传说。很久以前,这里没有小岛,只有一个小渔村。村西头住着一个叫海生的渔民,他自幼练得一身捕鱼的好本领,还会吹笛。一天,他下完网正要拿出笛子吹,忽听一阵呼救声传来,举目望去, 小平岛 小平岛 只见一个大海蚌被鲨鱼咬住了。海生急忙摇船过去,操起桨把鲨鱼打跑了。突然间,大海蚌变成了一个俊俏的姑娘跳上了船头,不停磕头还要嫁他为妻以谢他的救命之恩。海生听她讲了事情的起因: 她叫蚌花,常躲在珊瑚洞里听他吹笛,今天不巧被独眼鲨发现了,一直追到了人间,非要逼她为妻。海生看她对自己一往情深,欣然接受,当晚就举行了婚礼。独眼鲨得知后非常气愤,掀起一股巨浪把村子淹没了一半,还要渔民们在中秋节送一对童男童女给它,否则就淹没整个村子。正当期限将到,渔民们急得团团转时,蚌花从龙王那里借来了"吞海宝瓶",在中秋节把宝瓶放在海滩上。当独眼鲨奔到岸边时,被宝瓶吸进肚中,顿时潮水退去,渔民们又可以安居乐业了。 不久龙王派大将来索取宝瓶,并说若不从速还就把他俩变成礁石。 小平岛 小平岛 为了不让独眼鲨出来祸害百姓,他俩宁死不还宝瓶。龙王被激怒了,就把宝瓶变成了像花瓶似的大礁石,与陆地紧紧相连。蚌花却被变成了花,海生则被变成了树,结伴生长在"花瓶"上。此后,每逢阳春三月,绿树和鲜花就会把小岛打扮得比花瓶还美丽。为感谢他俩给人间留下的幸福,渔民们也就把这块大礁石叫做"小瓶岛",以寄托哀思。时间长了叫成了"小平岛"。[2]

2016-04-24 · 1 min · 26 words · -

OSI 七层协议, TCP/IP 四层协议, osi 7层, tcp/ip 4层

OSI 七层协议, TCP/IP 四层协议, osi 7层, tcp/ip 4层 OSI 七层协议和TCP/IP四层协议之比较 TCP/IP四层协议 数据链路层, Data Link Layer: ARP, RARP, PPPoE (Ethernet 以太网协议,MAC 地址) , 数据链路层和物理层合并为网络接口层 网络层, Network Layer: IP,ICMP,IGMP (IPv4 / IPv6 协议,IP 地址) 传输层: TCP(网络端口),UDP,UGP, QUIC, SCTP (流控制传输协议) 应用层: Telnet,FTP,SMTP,SNMP OSI 七层协议 物理层 Physical Layer: EIA/TIA-232, EIA/TIA-499, V.35, V.24, RJ45, Ethernet, 802.3, 8025, FDDI, NRZI, NRZ, B8ZS 数据链路层 Data Link Layer : Frame Relay, HDLC, PPP, IEEE 802.3/802.2, FDDI, ATM, IEEE 8025/802.2 网络层 Network Layer: IP, IPX, AppleTalk DDP 传输层 Transport Layer: TCP, UDP, SPX, QUIC, SCTP (流控制传输协议) 会话层 Session Layer: RPC, SQL, NFS, NetBIOS, names, AppleTalk, ASP, DECnet, SCP 表示层 Presentation Layer :TIFF,GIF,JPEG,PICT,ASCII,EBCDIC,encryption,MPEG,MIDI,HTML 应用层 Application Layer : FTP, WWW, Telnet, NFS, SMTP, Gateway, SNMP 应用层 为特定应用程序提供数据传输服务,例如 HTTP、DNS 等协议。数据单位为报文。 ...

2016-04-24 · 2 min · 319 words · -

archlinux init

archlinux init openssh ssh key neovim ln -s … vi… vim to nvim sudo nopassword for wiloon python for ansible pacman -Syu yay for telegraf after install mesa, to confirm it works 被正确加载 glxinfo | grep "OpenGL renderer" # OpenGL renderer string: AMD Radeon Graphics (radeonsi, phoenix, LLVM 19.1.7, DRM 3.61, 6.14.9-arch1-1) # 看内核模块是否加载成功 lsmod | grep amdgpu vulkaninfo | grep "deviceName" after install vkcube # 测试 vulkan su - wiloon echo $WAYLAND_DISPLAY # wayland-0 # vkcube 默认会尝试用 xlib(X11)作为窗口系统接口, 如果你想要使用 Wayland, 需要指定 --wsi wayland vkcube --wsi wayland before ansible script pacman -Syu && pacman -S git ansible clone ansible script git clone git@github.com:wiloon/ansible.git config network by systemd-networkd http://blog.wiloon.com/?p=9881 ...

2016-04-21 · 2 min · 355 words · -

Invalid partition table

Invalid partition table syslinux root和boot在 逻辑分区上 启动时会提示 Invalid partition table 回国后正常进入syslinux http://bbs.sjtu.edu.cn/bbscon,board,GNULinux,file,M.1398935226.A.html

2016-04-21 · 1 min · 12 words · -

e2fsck command

e2fsck command linux 下磁盘检查修复命令 # 注意, 是对分区进行检查, 如果参数只写磁盘 /dev/sda, 有可能会报分区表异常之类的... e2fsck: Bad magic number in super-block while trying to open /dev/vdb1 e2fsck -f /dev/sda2 e2fsck 用于检查和修复 ext 文件系统的硬盘分区, 不过这个命令还有专有形式: fsck.ext3, fsck.ext2分别用于检测ext3和ext2。 使用方法: 1。首先在检查之前一定要卸载待检查的文件系统分区。 2。主要参数包括: -a: 检查 partition,如发现问题会自动修复。 -b: 设定 superblock 位置。 -B size: 指定 size 作为区块大小。 -c: 检查 partition 是否有坏轨。 -C file: 将检查结果储存到 file。 -d: 输出 e2fsck debug 结果。 -f: e2fsck 预设只会对错误的档案系统检查,加上 -f 是强制检查。 -F: 在检查前将硬盘它的参数包括有: -a:

2016-04-18 · 1 min · 67 words · -

iotop

iotop iotop命令是专门显示硬盘IO的命令,界面风格类似top命令。这个命令只有在kernelv2.6.20及以后的版本中才有。 只显示io的进程pid iotop -oP install yum install iotop 参数 -o, -only Only show processes or threads actually doing I/O, instead of showing all processes or threads. This can be dynamically toggled by pressing o. -b, -batch Turn on non-interactive mode. Useful for logging I/O usage over time. -n NUM, -iter=NUM Set the number of iterations before quitting (never quit by default). This is most useful in non-interactive mode. -d SEC, -delay=SEC ...

2016-04-17 · 2 min · 262 words · -

java 命名

java 命名 包名,使用网络地址倒置,小写,如com.myssh.action。(RFC规定url不准带下划线) 类名,大写开头,驼峰写法,如LoginAction。 方法名,小写开头,驼峰写法,如getUser()。 变量名,小写开头,驼峰写法,如userId。 常量名,大写开头,下划线分割,如MAX_LENGTH。 作者: Intopass 链接: http://www.zhihu.com/question/27648518/answer/37495417 来源: 知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 http://www.zhihu.com/question/27648518 http://blog.csdn.net/skyremember/article/details/2934851

2016-04-13 · 1 min · 16 words · -

DbUnit

DbUnit http://yangzb.iteye.com/blog/947292 博客分类: QC 单元测试XML数据结构OraclePostgreSQL 相信做过单元测试的人都会对JUnit 非常的熟悉了,今天要介绍的DbUnit(http://dbunit.sourceforge.net/ ) 则是专门针对数据库测试的对JUnit 的一个扩展,它可以将测试对象数据库置于一个测试轮回之间的状态。鉴于目前国内介绍DbUnit 的系统教程比较少见,本文将分从理论和实例两个方面带你领略DbUnit 的精彩世界。 DbUnit 设计理念 熟悉单元测试的开发人员都知道,在对数据库进行单元测试时候,通常采用的方案有运用模拟对象(mock objects)和stubs 两种。通过隔离关联的数据库访问类,比如JDBC 的相关操作类,来达到对数据库操作的模拟测试。然而某些特殊的系统,比如利用了EJB 的CMP(container-managed persistence) 的系统,数据库的访问对象是在最底层而且很隐蔽的,那么这两种解决方案对这些系统就显得力不从心了。 DBUnit 的设计理念就是在测试之前,备份数据库,然后给对象数据库植入我们需要的准备数据,最后,在测试完毕后,读入备份数据库,回溯到测试前的状态; 而且又因为DBUnit 是对JUnit 的一种扩展,开发人员可以通过创建测试用例代码,在这些测试用例的生命周期内来对数据库的操作结果进行比较。 DbUnit 测试基本概念和流程 基于DbUnit 的测试的主要接口是IDataSet 。IDataSet 代表一个或多个表的数据。 可以将数据库模式的全部内容表示为单个IDataSet 实例。这些表本身由Itable 实例来表示。 IDataSet 的实现有很多,每一个都对应一个不同的数据源或加载机制。最常用的几种 IDataSet 实现为: FlatXmlDataSet : 数据的简单平面文件 XML 表示 QueryDataSet : 用 SQL 查询获得的数据 DatabaseDataSet : 数据库表本身内容的一种表示 XlsDataSet : 数据的excel 表示 一般而言,使用DbUnit 进行单元测试的流程如下: 1 根据业务,做好测试用的准备数据和预想结果数据,通常准备成xml 格式文件。 2 在setUp() 方法里边备份数据库中的关联表。 3 在setUp() 方法里边读入准备数据。 4 对测试类的对应测试方法进行实装: 执行对象方法,把数据库的实际执行结果和预想结果进行比较。 ...

2016-04-13 · 2 min · 385 words · -

BGP 链路

BGP 链路 http://blog.sina.com.cn/s/blog_5128081e01008kbc.html BGP双链路动态接入技术介绍 (2008-04-07 15:53:27) 转载▼ 标签: it 分类: 新网资讯 BGP双链路动态接入 BGP双链路动态接入可实现对中国电信的用户和中国网通用户对机房服务器的高速访问,解决了中国网通和中国电信互连带宽瓶颈及访问国际网站的限制。 双线|智能双线|BGP双线详解 IDC双线路技术就是在互联网数据中心(IDC)通过特殊的技术手段把不同的网络接入商(ISP)服务接入到一台服务器上或服务器集群,使服务器所提供的网络服务访问用户能尽可能以同一个ISP或互访速度较快的ISP连接来进行访问,从而解决或者减轻跨ISP用户访问网站的缓慢延迟(南北网络瓶颈)问题。IDC双线路是一个技术概念可以多有具体实现方式,目前国内的IDC提供商分别提出了"双IP双线路"、“单IP双线路”、“CDN多线路"和"BGP单IP双线路"等双线路实现方法,下面来对以上提出的双线路实现方式进行具体说明: 一、 双IP双线路实现方式 双IP双线路实现方式是指在一台服务器上安装两块网卡,分别接入电信网线与网通网线并设置一个网通IP与一个电信IP,这样一台服务器上就有了两个IP地址,需要在服务器上添加网通或电信的路由表来实现网通用户与电信用户分别从不同的线路访问。双IP双线路具有常用的两种使用方式: 1. ICP用户在网站设置两个IP地址不同的链接,网通用户点击网通IP访问服务器,电信用户点击电信IP访问。 2.使用BIND9 (DNS服务器软件) 对不同的 IP地址请求返回不同的服务器IP的功能来实现网通用户请求域名时返回网通的IP,电信用户请求域名时返回电信的IP,这个方式就是一些IDC提出的智能DNS的方案。 双IP双线路在一定程度上提高了网通与电信用户访问网站的速度,但缺点是由于服务器接入的是双网卡必须在服务器上进行路由表设置,这给普通用户增加了维护难度,并且所有的数据包都需要在服务器上进行路由判断然后再发往不同的网卡,当访问量较大时服务器资源占用很大。此方案是最简单的双线解决方案,一般限于规模较小的IDC提供商使用。 二、 单IP双线路 普通的单IP双线路是指在服务器上设置一个IP,此IP是网通IP或是电信IP,通过路由设备设置数据包是通过是电信网络或是网通网络发出来实现的双线技术。此方案也可以提高网通用户与电信用户的访问速度,解决了双IP双线需要在服务器上设置路由的问题,但由于IP地址采用的是网通或电信的IP,访问用户在发送请求数据包时不会自动判别最好的路由。所以这种解决方案只能说是半双线的技术方案、是一种过渡形式的解决方案。此方案一般为单线IDC服务商往双线IDC服务商转型期所采用的临时方案。 三、 CDN方式实现双线路 CDN (Content Delivery Network) 互联网内容分发网络,就是多服务器分网托管加智能域名DNS,即服务器是CDN服务商提供,放在不同网络节点上,通过缓冲程序自动抓取用户源服务器的数据,然后缓存在不同网段节点的服务器上。再配合智能DNS服务器的分网解析功能,实现不同网络用户都能访问到离自己最近网段上的网站,从而避免因为网络问题而影响网站访问速度的目的。现绝大部份CDN技术在处理静态网站上比较成熟,对交互性很强如全动态页面的网站还不是很成熟。目前CDN方案主要作为一种辅助的解决方案需要配合其它的双线方案才能达到最好的效果。 四、 用BGP协议实现的单IP双线路 BGP (边界网关协议) 协议主要用于互联网AS (自治系统) 之间的互联,BGP的最主要功能在于控制路由的传播和选择最好的路由。中国网通与中国电信都具有AS号 (自治系统号) ,全国各大网络运营商多数都是通过BGP协议与自身的AS号来互联的。使用此方案来实现双线路需要在CNNIC (中国互联网信息中心) 申请IDC自己的IP地址段和AS号,然后通过BGP协议将此段IP地址广播到网通、电信等其它的网络运营商,使用BGP协议互联后网通与电信的所有骨干路由设备将会判断到IDC机房IP段的最佳路由,以保证网通、电信用户的高速访问。 使用此方案具体以下优点: 1. 服务器只需要设置一个IP地址,最佳访问路由是由网络上的骨干路由器根据路由跳数与其它技术指标来确定的,不会对占用服务器的任何系统资源。服务器的上行路由与下行路由都能选择最优的路径,所以能真正实现高速的单IP双线访问。 2. 由于BGP协议本身具有冗余备份、消除环路的特点,所以当IDC服务商有多条BGP互联线路时可以实现路由的相互备份,在一条线路出现故障时路由会自动切换到其它线路。 3. 使用BGP协议还可以使网络具有很强的扩展性可以将IDC网络与其他运营商互联,轻松实现单IP多线路,做到所有互联运营商的用户访问都很快。这个是双IP双线无法比拟的。 虽然BGP方案是最好的解决方案但由于此方案需要IDC提供商的设备投入与带宽投入方面较大并且技术上较为复杂,所以目前国内采用此方案仅限于实力较强的专业IDC服务商。 以上各种双线实现的方式各有优缺点,双IP双线成本较低,但网络不够稳定并且占用大量的服务器资源,普通单IP双线路只是实现了部分双线路的效果所以访问速度不佳,CDN方式对静态网页效果很好但对交互性很强的网页效果不太理想,BGP单IP双线路解决了以上所有的问题是最 BGP是运行于 TCP 上的一种自治系统的路由网关协议,融合几大运营商线路,主要是解决南北互通的问题! BGP线路是由两条或两条以上的线路组成的多线路带宽,每条线路都在运营商那里广播了,如电信、联通、移动组成的三线BGP,就是机房的线路分别在电信、联通、移动运营商那里都做了广播的,自动识别来自不同线路的访问用户,并快速响应;通常把多线统称BGP,但实际上真正的BGP区别于普通多线,BGP线路是只有一个IP线路连接到服务器上,而普通双线或多线,需要有两个或多个IP线路连接到服务器上。

2016-04-13 · 1 min · 59 words · -

MySQL 字符串操作函数

MySQL 字符串操作函数 substring substring(‘sqlstudy.com’, 4, 2) 从字符串的第 4 个字符位置开始取,取 2 个字符。 -- 下标从1开始 MySQL> select substring('sqlstudy.com', 4, 2); +---------------------------------+ | substring('sqlstudy.com', 4, 2) | +---------------------------------+ | st | +---------------------------------+ http://www.cnblogs.com/xiangxiaodong/archive/2011/02/21/1959589.html MySQL常用字符串操作函数大全,以及实例 今天在论坛中看到一个关于MySQL的问题,问题如下 good_id cat_id 12654 665,569 12655 601,4722 goods_id是商品id cat_id是分类id 当我,怎么根据这种分类ID查数据 (一个商品有多个分类,而且用逗号隔开了) 我现在用的是like 这样的话,输入一个分类id是688,或者4722都能出来这个商品,但输入一个722也出来这个商品了。 如果用like做的话,肯定会有问题的,我的开始的想法是,把cat_id里面的字符串换成数组,这样可以利用MySQL里面的in操作,这样就不会出现查找722,而4722类别下的产品都跑出来了。我从网上找了半天,这方面的字符串操作函数,没找到,不过我发现了find_in_set这个函数虽然不能,将字符串转换成数组,但是也不会出现上面的情况。我发现自己有好多函数不知道,所以我从手册中,以及网上收集了半天,做了一些例子。 一,测试准备 查看复制打印? 测试表 CREATE TABLE string_test ( id int(11) NOT NULL auto_increment COMMENT ‘用户ID’, name varchar(50) NOT NULL default " COMMENT ‘名称’, ...

2016-04-11 · 7 min · 1357 words · -

iostat

iostat command 通过 iostat 方便查看 CPU、网卡、tty 设备、磁盘、CD-ROM 等等设备的活动情况, 负载信息。 命令格式 iostat [参数] [时间] [次数] sudo pacman -S sysstat sudo yum install sysstat sudo apt install sysstat iostat -sxz 1 iostat 1 iostat -x 1 参数 -x Display extended statistics; 显示详细信息, 显示扩展统计信息(extended statistics),包括每个设备的利用率、服务时间等。 -C 显示CPU使用情况 -d 显示磁盘使用情况 -k 以 KB 为单位显示 -m 以 M 为单位显示 -N 显示磁盘阵列(LVM) 信息 -n 显示NFS 使用情况 -p [磁盘] 显示磁盘和分区的情况 -t 显示终端和CPU的信息 -V 显示版本信息 -s: 显示所有设备的汇总统计(summary) -z: 省略所有值为零的设备(即没有活动的设备)。 字段 rrqm/s: 每秒进行 merge 的读操作数目。即 delta(rmerge)/s wrqm/s: 每秒进行 merge 的写操作数目。即 delta(wmerge)/s r/s: 每秒完成的读 I/O 设备次数。即 delta(rio)/s w/s: 每秒完成的写 I/O 设备次数。即 delta(wio)/s rsec/s: 每秒读扇区数。即 delta(rsect)/s wsec/s: 每秒写扇区数。即 delta(wsect)/s rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。(需要计算) wkB/s: 每秒写K字节数。是 wsect/s 的一半。(需要计算) avgrq-sz: 平均每次设备 I/O操作的数据大小 (扇区)。delta(rsect+wsect)/delta(rio+wio) avgqu-sz: 平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。 await: 平均每次设备I/O操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio) svctm: 平均每次设备I/O操作的服务时间 (毫秒)。即 delta(use)/delta(rio+wio) %util: 一秒中有百分之多少的时间用于 I/O 操作, 或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒) Linux 系统中的 iostat 是I/O statistics (输入/输出统计) 的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。iostat属于sysstat软件包。可以用yum install sysstat 直接安装。 ...

2016-04-10 · 6 min · 1162 words · -

用dd实现linux硬盘备份

用dd实现linux硬盘备份 一个去年的老本,500G硬盘,空间各种捉急,准备迁移到公司的台式机上,却发现Linux上迁移环境没有Windows下那么方便,只能复制整块硬盘了。 从公司拿了一块1T的硬盘,插入移动硬盘盒 (淘宝上搞的一个移动硬盘盒,40元) ,加电识别,格式化,开始硬盘复制。 市面上针对数据备份的软件不计其数,我们不讨论他们的优缺点。但是如果你正在使用Linux (其实如果你没有使用Linux,而是通过一些Linux live CD来启动计算机,我想也是一样的) ,那么恭喜你,你可以简单地使用系统命令"dd"来完成磁盘克隆,分区克隆或者磁盘或分区到磁盘镜像的复制。一般情况下,这几个任务已经可以满足你日常工作的需要了。 先说明几个概念,在Linux上,一块硬盘或者一个分区都由一个目录表示,一般存在于系统根目录的/dev/之下。例如/dev/hda代表你的第一块IDE硬盘,/dev/sdb代表第二块SCSI硬盘,/dev/fd0代表系统的软盘驱动器等等。同样每块硬盘上的分区也有独特的目录名,例如/dev/hda1表示你第一块硬盘上的第一个分区 (至于这个分区上有什么东西在进行备份操作的时候并不重要) 。 磁盘克隆 也就是把整个硬盘复制一份。当然你首先需要在计算机上在接上一块新硬盘,并让系统识别。例如这块硬盘可能被识别为/dev/sdb,原有硬盘叫/dev/sda. 然后你可以在linux命令行上简单地执行: # 硬盘 到 硬盘 dd if=/dev/sda of=/dev/sdb bs=2MB # 硬盘 到 文件 dd if=/dev/sda of=~/disk1.img 对就这么简单,此命令完成后,你的第二块硬盘上将有一个和第一块硬盘一模一样的副本,也是可以启动的。因为dd操作就是简单的按字节复制,什么分区表啊,MBR啊统统照搬。 当然你也可以做一些微调,来定制一下克隆操作。例如你可能希望把硬盘上的内容全部备份到一个磁盘文件中,而不是另一块新硬盘,你可以 dd if=/dev/sda of=~/disk1.img 之后,disk1.img就是备份好的磁盘映像文件,你可以复制或转移到其他介质也可以压缩一下: gzip disk1.img #generates disk1.img.gz 或者在创建磁盘映像文件的同时就执行压缩: dd if=/dev/sda | gzip > disk.img.gz dd if=/dev/sda | bzip2 > disk.img.bz2 不错吧!ghost的功能都有了。 2.分区克隆 如果我们不想克隆整块磁盘,只想把某些存放数据的分区备份一下,你会需要克隆一个分区。正如预备知识所述,分区在linux下也是一个文件。例如 dd if=/dev/sda1 of=~/part1.img 将把第一块磁盘的第一个分区备份到名为part1.img的文件中。 也可以进行分区复制: dd if=/dev/hda1 of=/dev/hda3 将把分区一原样复制到分区3. 从镜像文件恢复磁盘或分区 很简单,把上面命令中,of和if指向的文件名互换一下即可实现恢复。例如 dd if=disk1.img of=/dev/sda 把保存在disk1.img中的映像恢复到第一块磁盘 dd if=part1.img of=/dev/hda2 把保存在part1.img中的映像恢复到第一块硬盘的第二个分区 ...

2016-04-08 · 1 min · 82 words · -

Calendar compareTo

Calendar compareTo http://www.pocketdigi.com/20110712/383.html Calendar类的compareTo方法可以比较两个Calendar表示的时间的早晚: Calendar a= Calendar.getInstance(); a.set(2011, 05,28, 19,50, 2); //参数为年 月 日 时 分 秒 a.set(Calendar.MILLISECOND, 0); //设置毫秒 Calendar c= Calendar.getInstance(); c.set(2011, 05,28, 19,50, 3); c.set(Calendar.MILLISECOND, 0); System.out.println(a.compareTo(c)); //a比c早,返回-1, //a与c相同,返回0 //a比c晚,返回1 compareTo只能比较两个时间的早晚,并不能比较时差,如果需要得到时差,可以使用getTimeInMillis方法,得到的是距格林威治标准时间的毫秒值,两个值相减,就是时差. © 2011, 冰冻鱼. 请尊重作者劳动成果,复制转载保留本站链接! 应用

2016-04-07 · 1 min · 39 words · -

JS合并数组

JS合并数组 http://blog.csdn.net/renfufei/article/details/39376311 比较JS合并数组的各种方法及其优劣 标签: 数组合并拼接slicereduce 2014-09-18 18:09 8077人阅读 评论(0) 收藏 举报 分类: JS笔记 (29) 原文链接: Combining JS Arrays 原文日期: 2014-09-09 翻译日期: 2014-09-18 翻译人员: 铁锚 本文属于JavaScript的基础技能. 我们将学习结合/合并两个JS数组的各种常用方法,并比较各种方法的优缺点. 我们先来看看具体的场景: [javascript][/javascript] 在CODE上查看代码片派生到我的代码片 var q = [ 5, 5, 1, 9, 9, 6, 4, 5, 8]; var b = [ “tie”, “mao”, “csdn”, “ren”, “fu”, “fei” ]; 很明显,数组 q 和 b 简单拼接的结果是: [javascript][/javascript] 在CODE上查看代码片派生到我的代码片 [ 5, 5, 1, 9, 9, 6, 4, 5, 8, “tie”, “mao”, “csdn”, “ren”, “fu”, “fei” ...

2016-03-30 · 2 min · 387 words · -

Java读带有BOM的UTF-8

Java读带有BOM的UTF-8 http://www.linuxidc.com/Linux/2012-12/76707.htm http://akini.mbnet.fi/java/unicodereader/

2016-03-28 · 1 min · 3 words · -

java8 日期/date time

java8 日期/date time 在java8中,java.time包下主要包含下面几个主要的类 Instant 时间戳,含有时区信息, Instant与ZonedDateTime是等价的 Instant是时间戳,是指世界标准时格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数,Instant本身实际上就指明时区了,0时区。 ZonedDateTime 是含有时区信息的时间,本质上是根据时区对Instant的格式化显示。 LocalDateTime 包含日期和时间,比如: 2016-10-20 23:14:21, 不含时区信息的时间, 没有偏移信息或者说时区。 Duration: 持续时间,时间差 LocalDate: 只包含日期,比如: 2016-10-20 LocalTime: 只包含时间,比如: 23:12:10 Period: 时间段 ZoneOffset: 时区偏移量,比如: +8:00 ZonedDateTime: 带时区的时间 Clock: 时钟,比如获取目前美国纽约的时间 localdatetime > date public static void main(String[] args) { ZoneId zoneId = ZoneId.systemDefault(); LocalDateTime localDateTime = LocalDateTime.now(); ZonedDateTime zdt = localDateTime.atZone(zoneId); Date date = Date.from(zdt.toInstant()); System.out.println("LocalDateTime = " + localDateTime); System.out.println("Date = " + date); } String foo = ""; DateTimeFormatter formatterCompact = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssXXX"); foo = ZonedDateTime.now().format(formatterCompact); System.out.println(foo); # String to LocalDateTime DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"); LocalDateTime dateTime = LocalDateTime.parse("2016-09-21 13:43:27.000", formatter); # LocalDateTime to String DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); LocalDateTime dateTime = LocalDateTime.of(1986, Month.APRIL, 8, 12, 30); String formattedDateTime = dateTime.format(formatter); // "1986-04-08 12:30" instant > Date Date myDate = Date.from(instant); 计算时间间隔 Java8之前,我们想要确定一个方法的运行时间长度,可以这样: ...

2016-03-27 · 10 min · 1971 words · -