- 浏览: 87405 次
- 性别:
- 来自: 西安
最新评论
-
xuhang1128:
good
Spring源码解析 BeanPostProcessor的实现 -
zhudaokun:
呵呵……好帖,收藏一下
Spring源码解析1 IOC容器的初始化
package com.io; import java.io.*; import java.nio.channels.FileLock; import java.util.concurrent.TimeUnit; public class FileLocking { /** * 文件加锁,Java的文件加锁直接映射到了本地操作系统的加锁工具 * @throws FileNotFoundException * @throws Exception */ public static void main(String[] args) throws FileNotFoundException, Exception { FileOutputStream fos=writeFile("file.txt"); try { FileLock fl=fos.getChannel().tryLock(); System.out.println(fl.isShared()); if(fl!=null){ System.out.println("Lock file:"); //TimeUnit 表示给定单元粒度的时间段,它提供在这些单元中进行跨单元转换和执行计时及延迟操作的实用工具方法。 TimeUnit.MILLISECONDS.sleep(100); fl.release(); System.out.println("Released lock"); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } fos.close(); } public static FileOutputStream writeFile(String filename){ FileOutputStream fos=null; try { fos=new FileOutputStream(filename); PrintStream ps=new PrintStream(fos); ps.println("面朝大海春暖花开"); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } return fos; } } package com.io; import java.io.FileNotFoundException; import java.io.IOException; import java.io.RandomAccessFile; import java.nio.ByteBuffer; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; import java.nio.channels.FileLock; public class LockingMappedFiles { /** * 对映射文件的部分上锁 *利用两个线程,分别加锁文件的不同部分 */ static FileChannel fc; static final int LENGTH=0x8FFFFFF; public static void main(String[] args) throws IOException { fc=new RandomAccessFile("test.dat","rw").getChannel(); MappedByteBuffer out=fc.map(FileChannel.MapMode.READ_WRITE, 0,LENGTH); for(int i=0;i<LENGTH;i++){ out.put((byte)'x'); } new LockAndModify(out,0,0+LENGTH/3); new LockAndModify(out,LENGTH/2,LENGTH/2+LENGTH/4); } private static class LockAndModify extends Thread{ private ByteBuffer buff; private int start,end; public LockAndModify(ByteBuffer mbb,int start,int end){ this.start=start; this.end=end; mbb.limit(end); mbb.position(start); buff=mbb.slice(); start(); } public void run(){ try { FileLock fl=fc.tryLock(start, end, false); System.out.println("Locked: "+start+" to"+end); while(buff.position()<buff.limit()-1){ buff.put((byte)(buff.get()+1)); } fl.release(); System.out.println("Released : "+start+" to"+end); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
发表评论
-
MapReduce
2011-03-07 11:55 18631.什么是MapReduce? MapRedu ... -
java Web
2010-10-20 19:55 62response.sendRedirect(): Web服务 ... -
JDK动态代理
2010-10-05 14:12 2406注意在使用JDK提供的动态代理要求我们的目标对象必须实现接 ... -
java的反射机制
2010-10-05 11:16 1683反射:运行时类型 如果你不知道某个对象的确切类型,RTT ... -
如何判断两个类之间的差异
2010-08-16 09:35 1028代码实现 package net.mindview.util ... -
HashSet和散列码的研究
2010-08-10 19:13 1615散列表(Hash table,也叫 ... -
持有对象Arrays.asList异常解决办法
2010-08-08 17:50 1281添加一组元素 package com.day1; im ... -
java编程思想 IO13 源码 文件解压缩
2010-05-09 15:21 1603package com.io; import java.io ... -
java编程思想 IO11 源码 内存映射访问与性能
2010-05-08 21:32 1875package com.io; import java. ... -
java编程思想 IO10 文件操作源码
2010-05-08 16:05 1241package com.dirlist; import ... -
java编程思想 IO9 文件操作源码
2010-05-06 22:00 1021缓冲器的详细应用: package com.dirlist; ... -
java编程思想 IO8 文件操作源码
2010-05-06 20:24 1011通道与缓冲器的探究 pa ... -
java编程思想 IO7 文件操作源码
2010-05-06 09:42 1394希望大家留言一起讨论 ... -
java编程思想 IO6 文件操作源码
2010-05-05 23:26 1666package com.dirlist; import ... -
java编程思想 IO5 文件操作源码
2010-05-05 11:24 1429package com.dirlist; import ... -
java编程思想 IO4源码
2010-05-03 17:24 835目录的检查及创建 package com.dirlist; ... -
java编程思想 IO3源码
2010-05-03 16:27 1215利用策略设计模式来进行目录的遍历和文件的过滤 package ... -
java编程思想 IO2源码
2010-05-03 15:32 1172package net.mindview.util; impo ... -
java静态内部类
2010-05-03 11:31 2062引用别人的博客 在一 ... -
java编程思想 IO1源码
2010-05-03 09:48 1336目录列表器与目录过滤器的运用 package com.dirl ...
相关推荐
《Java编程思想》第四版是Java开发者必备的经典书籍之一,由Bruce Eckel撰写,深入浅出地介绍了Java语言的核心概念和技术。在这个压缩包文件中,包含的主要是与本书相关的类库资源,特别是针对"mindview.net"包的,...
《JAVA编程思想习题及答案》是一份针对Java编程学习者的宝贵资源,它涵盖了Java语言的核心概念、设计模式以及实际编程技巧。这份资料通过习题的形式帮助学习者深入理解和掌握Java编程思想,同时提供了解答,使学习...
《JAVA编程思想》是 Bruce Eckel 的经典著作,中文版为国内Java开发者提供了深入理解Java语言的宝贵资源。这本书全面而深入地介绍了Java编程的核心概念和技术,是学习和提升Java编程技能的重要参考资料。 本书主要...
"Java编程中多种IO API复制文件的性能分析" Java编程中提供了多种编程接口进行流、文件、网络的操作。其中,IO API是Java中的一种基本编程接口,用于进行文件、网络、流等操作的输入输出。Java中的IO API可以分为两...
- Java标准库:IO流、集合框架、多线程API、网络编程、XML处理等。 3. **源码分析** - 代码结构:模块化、包管理、类与接口设计。 - 设计模式:单例、工厂、观察者、装饰器、适配器、策略等23种设计模式在源码中...
在Java编程语言中,文件复制是一项常见的操作,可以用于备份数据、迁移文件或者在程序中处理数据。IO(Input/Output)流是Java提供的一种处理输入输出数据的方式,包括读取和写入文件。本篇文章将详细介绍如何使用...
JAVA源码Java二进制IO类与文件复制操作实例
基于java的开发源码-二进制IO类与文件复制操作实例.zip 基于java的开发源码-二进制IO类与文件复制操作实例.zip 基于java的开发源码-二进制IO类与文件复制操作实例.zip 基于java的开发源码-二进制IO类与文件复制操作...
《Java编程思想》是Bruce Eckel的经典之作,它深入浅出地介绍了Java语言的核心概念和技术。这本书中的练习题是学习者提升技能的重要途径,而这个压缩包提供的就是这些练习题的解答,以源码的形式保存为.java文件。...
《Java编程思想习题及答案》是一份针对Java编程学习者的宝贵资源,它包含了大量实践题目和详尽的解答,旨在帮助读者深入理解和掌握Java语言的核心概念与技术。这个压缩包包含以下几个部分: 1. `javabcsxxtda.chm`...
java源码资源Java二进制IO类与文件复制操作实例提取方式是百度网盘分享地址
《Java编程思想》是 Bruce Eckel 的经典著作,这本书深入浅出地讲解了Java语言的各个方面,对于初学者和有经验的程序员来说都是极好的学习资源。提供的压缩包"java编程思想例题源代码和答案.zip"包含了书中部分例题...
《Java编程思想》是Java开发领域的一本经典著作,由美国著名程序员Bruce Eckel撰写,侯捷翻译的中文版在中文读者中广受欢迎。这本书深入浅出地介绍了Java语言的核心概念和技术,对于初学者和有经验的开发者来说,都...
本项目是一个基于Java语言开发的t-io高性能网络编程项目,包含442个文件,主要文件类型包括Java源代码、BAT批处理文件、XML配置文件、Git忽略文件、文本文件、图片、Shell脚本、属性文件和DOCX文档。系统设计旨在...
《Java编程思想》是 Bruce Eckel 的著作,它在编程界享有极高的声誉,被誉为Java学习的经典之作。这本书深入浅出地介绍了Java编程语言的核心概念和技术,为读者提供了全面而深刻的Java理解。中文版的清晰度高,使得...
这个示例源码提供了关于Java二进制IO类和文件复制操作的实际应用,对于学习和理解这一主题非常有用。通过分析和实践这些代码,开发者可以更好地掌握Java的文件处理能力,为日常开发工作奠定坚实基础。
《Java编程思想》是 Bruce Eckel 的经典著作,第四版更是深受广大Java程序员喜爱的一本教程。这本书深入浅出地讲解了Java语言的核心概念和技术,包括面向对象编程、泛型、集合框架、IO流、多线程、网络编程等多个...
Java IO流和Socket是Java编程语言中用于处理输入输出和网络通信的重要概念。在这个示例中,我们将深入探讨如何利用Java IO流与Socket实现简单的文本传输。对于初学者来说,理解这两个概念及其交互是非常关键的。 ...
Java的IO流是Java编程语言中的重要组成部分,它主要用于数据的输入和输出操作。在Java中,IO流被设计为处理任何类型的数据,包括字符、字节甚至对象。本练习旨在帮助初学者理解和掌握Java IO流的基础知识。 一、IO...