自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (6)
  • 收藏
  • 关注

原创 Java NIO学习8(Selector 补充版DatagramChannel)

DatagramChannel正如SocketChannel对应Socket,ServerSocketChannel对应ServerSocket,每一个DatagramChannel对象也有一个关联的DatagramSocket对象。不过原命名模式在此并未适用:“DatagramSocketChannel”显得有点笨拙,因此采用了简洁的“DatagramChannel”名称。正如SocketC

2013-01-27 18:35:44 1495

转载 利用JDK7的NIO2.0进行I/O读写和文件操作监控

最近在学习新的jdk 7提供的NIO 2.0,发现这个东东提供的java.nio.file包里的若干类,大大的方便了文件读写操作,而且编码相当简单,做了很好的封装。它的一个核心类就是Path。下面就是windows系统下新增,删除,拷贝,move文件的简单示例,注意,需要JDK7的编译和运行环境[java] view plaincopyimpor

2013-01-27 18:09:44 6240 1

原创 Java NIO学习8(Selector 补充版SocketChannel)

SocketChannelpublic abstract class SocketChannel extends AbstractSelectableChannel implements ByteChannel, ScatteringByteChannel, GatheringByteChannel { // This is a partial API listing public s

2013-01-27 17:12:16 11377

原创 Java NIO学习8(Selector 补充版ServerSocketChannel)

大部分是javanio书上的内容 我来整理一番,外加一些解释,着色!ServerSocketChannel让我们从最简单的ServerSocketChannel来开始对socket通道类的讨论ServerSocketChannel是一个基于通道的socket监听器。它同我们所熟悉的java.net.ServerSocket执行相同的基本任务,不过它增加了通道语义,因此能够在非阻塞模

2013-01-27 15:54:06 7742

原创 Java NIO学习8(Selector 补充版1)

很大一部分来自于java nio那不能书上的内容!Java nio的电子版 网上有的是,给个地址:java nio 中文版新的socket通道类可以运行非阻塞模式并且是可选择的。这两个性能可以激活大程序(如网络服务器和中间件组件)巨大的可伸缩性和灵活性。本节中我们会看到,再也没有为每个socket连接使用一个线程的必要了,也避免了管理大量线程所需的上下文交换总开销。借助新的

2013-01-27 11:16:15 2297

转载 Java NIO学习8(Selector)

这个很多不是我写的  , 看 java Nio 吧 那本书上关于 selector讲的实在是太好了!!!连网和异步 I/O概述连网是学习异步 I/O 的很好基础,而异步 I/O 对于在 Java 语言中执行任何输入/输出过程的人来说,无疑都是必须具备的知识。NIO 中的连网与 NIO 中的其他任何操作没有什么不同 ― 它依赖通道和缓冲区,而您通常使用InputStream 和 Outp

2013-01-23 21:35:33 7931

原创 找出多个文本中频率高的单词(3)

采用concurrent 中的Future + ExecutorServiceFileManager.javapackage com.anders.future;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.nio.ByteBuffer;im

2013-01-23 20:42:31 1041

原创 线程安全总结1

最近在研究公司里的server代码,感觉看不懂,尤其是线程安全的方面,所以想白天在公司看代码,晚上回来总结白天看的知识。线程安全(java)1 原子性操作原子性操作,就是不能打断的操作(指令),即使是遇到了上下文切换,也要等执行完了再切换,但是高级语言通常不是原子操作的,eg i++  就不是2 认识staticstatic的成员变量和方法是属于类的,而非sta

2013-01-22 20:47:07 531

原创 找出多个文本中频率高的单词(2)

接上篇,我打算用用concurrent包里的CountDownLatch类去实现。还是直接上代码吧:Main.javapackage com.anders.thread;import java.util.HashMap;import java.util.Map;import java.util.concurrent.CountDownLatch;import ja

2013-01-17 22:13:14 1153 3

原创 找出多个文本中频率高的单词(1)

这两天写了一个app,就是统计一堆文本文件里中,出现频率最高的一些单词。eg,找出某个文件夹下的所有文件中出现频率最高的100个单词整体思路:肯定是用多线程去读取,要是一个线程的话会很慢的。1 多个线程同时去读,将读到的单词保存到自己的线程中2 多个线程将单词汇总到主线程3 主线程合并每个线程读到的单词4 主线程找出频率最高的100个ps:题外话; 并不

2013-01-17 21:27:11 1473

原创 Java NIO学习7(字符集)

根据 Sun 的文档,一个 Charset 是“十六位 Unicode 字符序列与字节序列之间的一个命名的映射”。实际上,一个Charset 允许您以尽可能最具可移植性的方式读写字符序列。Java 语言被定义为基于 Unicode。然而在实际上,许多人编写代码时都假设一个字符在磁盘上或者在网络流中用一个字节表示。这种假设在许多情况下成立,但是并不是在所有情况下都成立,而且随着计算机变得对 Un

2013-01-15 21:02:07 1259

原创 Java NIO学习6(文件锁 FileLock)

JAVA NIO 文件锁FileLock文件锁定初看起来可能让人迷惑。它 似乎指的是防止程序或者用户访问特定文件。事实上,文件锁就像常规的 Java 对象锁 ― 它们是 劝告式的(advisory) 锁。它们不阻止任何形式的数据访问,相反,它们通过锁的共享和获取赖允许系统的不同部分相互协调。您可以锁定整个文件或者文件的一部分。如果您获取一个排它锁,那么其他人就不能获得同一个文件

2013-01-13 20:44:30 8705 1

原创 Java NIO学习5(通道Channel)

在新的IO中,通道是一个可以用读取和写入数据的一种形式。通道:Channel1 通道可以用来读取和写入数据,通道类似于之前的输入、输出流,但是程序不会直接操作通道的,所有的内容都是先读到或写入到缓冲区之中,在通过缓冲区读取或者写入的2 通道与传统的流操作不同,传统的流操作分为输入或输出流的,而通道本身是双向操作的,即可以完成输入也可以完成输出。通道都是操作缓冲区完成

2013-01-13 16:42:58 1393

原创 Java NIO学习4(缓冲区2)

缓冲区分配和包装在能够读和写之前,必须有一个缓冲区。要创建缓冲区,您必须 分配它。我们使用静态方法 allocate() 来分配缓冲区:ByteBuffer buffer = ByteBuffer.allocate( 1024 );allocate() 方法分配一个具有指定大小的底层数组,并将它包装到一个缓冲区对象中 ― 在本例中是一个ByteBuffer。您还可以将一个现有的数组

2013-01-13 14:20:34 1933

原创 Java NIO学习3(缓冲区1)

1 什么是缓冲区?Buffer 是一个对象, 它包含一些要写入或者刚读出的数据。 在 NIO 中加入 Buffer 对象,体现了新库与原 I/O 的一个重要区别。在面向流的 I/O 中,您将数据直接写入或者将数据直接读到 Stream 对象中。在 NIO 库中,所有数据都是用缓冲区处理的。在读取数据时,它是直接读到缓冲区中的。在写入数据时,它是写入到缓冲区中的。任何时候访问 NIO 中的数

2013-01-13 13:40:21 1602

原创 Java NIO学习2(一个例子引起的故事)

先来个nio的例子,不然直接上技术太空泛了!读和写是 I/O 的基本过程。从一个通道中读取很简单:只需创建一个缓冲区,然后让通道将数据读到这个缓冲区中。写入也相当简单:创建一个缓冲区,用数据填充它,然后让通道用这些数据来执行写入操作。我们将从一个文件中读取一些数据。如果使用原来的 I/O,那么我们只需创建一个FileInputStream 并从它那里读取。而在 NIO 中,情况稍有不同

2013-01-13 12:46:34 1328

原创 Java NIO学习1(预习)

因为要做游戏后台开发,所以打算学习一下nio,虽然nio以后再也没有更新过,有点令人失望,但是还是值得去学习的!新的输入/输出 (NIO) 库是在 JDK 1.4 中引入的。NIO 弥补了原来的 I/O 的不足,它在标准 Java 代码中提供了高速的、面向块的 I/O。通过定义包含数据的类,以及通过以块的形式处理这些数据,NIO 不用使用本机代码就可以利用低级优化,这是原来的 I/O

2013-01-13 10:45:34 1329 1

原创 Shell 编程2(变量)

变量用于保存有用信息,如路径名、文件名、数字等,Linux用户使用变量定制其工作环境,使系统获知用户相关的配置。变量本质上是存储数据的一个或多个计算机内存地址。 变量可分为三类:本地变量是仅可以在用户当前Shell(就是现在正在使用的这个端口)生命期的脚本中使用的变量,类似于C、C++、Java等编程语言中局部变量环境变量则适用于所有由登录进程所产生的子进程,环境变量在用户登录后到

2013-01-03 20:08:51 1240

转载 老生常谈的时间你真的管理好了吗?

原始出处:http://legend2011.blog.51cto.com/3018495/1098979好长时间没更新博文了,最近忙的不可开交,请大家见谅,有23天了,也不是这段时间没有灵感爆发和成熟的思维经验可总结,而是我想给自己放松下,劳逸结合,想让自己的大脑更放松的去想事。成熟的走的路子都是不紧不慢的,说话慢条斯理的。饭要一口一口吃,路要一步一步走。慢一点,走的越快,越容易摔。今天

2013-01-03 18:45:21 528

转载 你是怎么利用时间的?

这个是转载51上的,原地址:http://legend2011.blog.51cto.com/3018495/1098979作为一种资源,时间对每个人都是平等的。要想取得更大的成就,就得更有效地利用时间。对于这一点,相信大家都没有异议。我不知道您是如何利用时间的,至少对于笔者而言,一直以来,都把时间看得很重--总是期望着自己能够时时处于紧张的状态,尽最大的可能从每一分一秒中榨取

2013-01-03 18:40:19 568

转载 Shell 学习15(tar命令)

转载别人的,然后我又稍加了一些配色!原地址:http://blueicer.blog.51cto.com/395686/88294tar命令tar可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案,如软盘。利用tar命令,可以把一大堆的文件和

2013-01-03 18:34:50 739

原创 Shell 学习14(tr命令)

tr 命令tr命令实现字符转换功能,其功能类似于sed命令,但是,tr命令比sed命令简单 tr命令能实现的功能,sed命令都可以实现 tr [选项] 字符串1 字符串2 <输入文件 tr命令要么将输入文件重定向到标准输入,要么从管道读入数据,记住tr命令的输入文件之前需要加上“1 tr命令的-d选项只需跟一个字符串,它表示删除字符串中出现的所有字符 eg :tr -d

2013-01-03 18:13:45 634

原创 Shell 学习13(split命令)

split命令:split命令用于将大文件切割成小文件,split命令可以按照文件的行数、字节数切割文件,并能在输出的多个小文件中自动加上编号 split [选项] 待切割的大文件 输出的小文件 -或者-l 指定切割城小文件的行数-b 指定切割城小文见的字节-C 与-b 类似 但是切割时候尽量保持每行的完整性egsplit -2 TEACHER.db split将文

2013-01-03 18:03:21 1611

原创 Shell 学习12(paste命令)

pastepaste命令用于将文本文件或标准输出中的内容粘贴到新的文件,它可以将来自于不同文件的数据粘贴到一起,形成新的文件 paste [选项] 文件1 文件2 -d 默认分割符是空格或tab 设置新的分割符-s 将每个文件粘帖城一行- 从标准输入中读取数据file1:1 shanghai 2 beijing 3 hangzhou file2SH BJ

2013-01-03 17:06:49 9087

原创 Shell 学习11(cut命令)

cut命令用于从标准输入或文本文件中按域或行提取文本 cut  [选项] 文件 -c 按照字符-f 指定提取的域数  或域范围-d 改变域分割符 cat TEACHER.db 结果B Liu:Shanghai Jiaotong University:Shanghai:China C Lin:University of Toronto:Toronto:

2013-01-03 16:57:08 715

原创 Shell 学习10(join命令)

join 命令join命令用于实现两个文件中记录的连接操作,连接操作将两个文件中具有相同域的记录选择出来,再将这些记录所有的域放到一行(包含来自两个文件的所有域) 和数据苦的差不多 只不过来自两个文件 join [选项] 文件1 文件21 也是按照分域和记录来操作  默认空格2 当两个文件进行连接时,文件1中的记录可能在文件2中找不到共同域,反过来,文件2中也可能存

2013-01-03 16:45:03 794

原创 Shell 学习9(uniq命令)

uniq 命令:uniq命令用于去除文本文件中的重复行,这类似于sort命令的-u选项 区别:sort -u命令时,所有重复记录都被去掉!!! uniq命令去除的重复行必须是连续重复出现的行,中间不能夹杂任何其他文本行文件内容:ThinkPad:USA:14000:2009:X301 ThinkPad:USA:14000:2009:X301 ThinkPad

2013-01-03 16:41:27 785

原创 Shell 学习8(sort命令)

Sort命令很常用!和awk类似  都吧文件看作域和记录,默认域分割符是空格sort命令与awk一样,将文件看作记录和域进行处理,默认的域分隔符是空格符,sort命令的格式为:sort [选项] [输入文件]-c 测试文件是否已经排序-k 指定排序的域(默认是第一个字符)-m 合并-n  根据数字大小进行排序-o 将输出写到指定的文件 相当于将输出重定向到指

2013-01-03 16:25:15 777

转载 Ubuntu12.04 Rhythmbox 乱码

这是在ubuntu版本到linux里面如何解决Rhythmboxmp3播放器出现中文乱码到情况1:先进入你那个存放音频文件到那个文件夹,在终端上用cd命令去进入如:syb@ubuntu:~$cd /media/downloads/entertainment/music就是我电脑里面的文件地址,就是图中那个“位置”后面的地址2:回车之后再下一行输入mid3iconv-e

2013-01-03 10:18:48 1404

转载 Shell 进程前台与后台转换方法

转载地址:http://blog.csdn.net/huaciom/article/details/6567870进程前台与后台转换需要用到以下几个命令:1. & 我们最常用到的就是这个命令了. 用法就是放在一个命令的最后, 可以把这个命令放到后台去执行. 大概用法如下:1$ tail -f log/* &

2013-01-02 20:39:07 2140

dubbo.xsd约束文件

dubbo在spring xml文件中的约束

2015-09-18

nginx的windows版本1.6.2

nginx windows版本,稳定版,有兴趣的同学可以下载试试

2015-03-15

mysql-query-brower

现在的mysql集成到了workbench,但是个人还是比较喜欢旧版的mysql的query-brower,并且包含了administrator

2015-03-12

shell编程入门.doc

简单的shell入门,增强shell基础,大牛飘过,菜鸟可以看看

2012-12-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除