java 的 IO简单理解】的更多相关文章

首先要先理解什么是 stream ? stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源. 一.不同导向的 stream 1)以字节为单位从 stream 中读取或往 stream 中写入信息 InputStream: a)ByteArrayInputStream:把内存中的一个缓冲区作为InputStream使用 b)FileInputStream:把一个文件作为InputStream,实现对文件的读取操作 c)PipedInputStream:实现了pipe的概念…
java编程IO操作必不可少的,很久不玩IO,回顾一下,写了几个小程序,记录一下,方便查阅和学习. 1.给出一个整数数组,将其写入一个文件,再从文件中读出,并按整数大小逆序打印. package com.io.test; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileReader; import java.io.FileWriter; i…
在J2EE项目中,开发的都是分层来做的: 1.service层:用于暴露给网络调用 2.Impl层:统一规范接口 3.bean层:实体对象,也就是表 4.DAO(Data Access Object) 层:数据操作,实现对bean的增删改查 5.action或者controler层:业务实现 上面包括的项目开发的主要层级关系的M(模型层)C(控制层)V(视图层)中的M和C两层,即第五和第三层,对于V层一般是原始的servlet或Struts或SpringMVC实现的. 纯属个人简单理解,如有不对…
集合(容器) Java的集合类分别是Collection接口和Map接口派生而来. Collection接口 对于实现Collection接口的子类,都会实现Collection接口中抽象方法,所以他们子类都包含一部分相同的方法(从Collection中继承过来的). 下面是Collection接口中的方法列表: 简单的泛型 这里只是简单提一下泛型,不做深入讲解. 泛型可以理解为:指定容器存放的元素的类型,比如Collection<T>,则容器中的元素就应该是T类型. List List是有序…
1.抽象层次:普通类 -> 抽象类 -> 接口 普通类:就是我们常用的类: 抽象类:专门用来被子类继承的,主要是为了符合现实世界的规律 如: Animal类:(每个现实的对象都有类与它相对于,但反之不然,有些代码类在现实中就不存在,因为动物只是一类物体的总称,没有叫做动物的个体) 所以,抽象类与它的子类们,可以理解为一个家族,并且它们都有很多相同的属性 接口:可以实现不相关类的相同行为,而不需要考虑这些类的层次关系.(特殊的抽象类,层级高于普通抽象类) 2.继承与实现(凡是继承用的是exten…
一.什么是双指针 双指针我所理解地是在遍历对象时,不是使用单个指针进行访问,而是使用两个相同方向或者相反方向的指针进行遍历,从而达到相应的目的. 在JAVA中并没有像C/C++指针地概念,所以这里所说的双指针是指索引,游标或可迭代对象等. 双指针在链表中也有很多用处,比如前面写到过的找出链表中的倒数第k个结点,就巧妙地利用到了双指针,此外,判断链表中是否有环也可以使用双指针,设两个快慢指针,让快指针一次移动两步,慢指针一次移动一步,若链表中有环,那么快指针与慢指针一定能够相遇,若两者没有相遇,说…
Java虚拟机JVM的作用: Java源文件(.java)通过编译器编译成.class文件,.class文件通过JVM中的解释器解释成特定机器上的机器代码,从而实现Java语言的跨平台. JVM的体系结构包含三个主要的子系统和一个内存区,分别是: 垃圾回收器:用于回收堆(heap)中无引用的对象. 类装载子系统:定位及导入二进制class文件,校验被导入类的正确性,为类变量分配初始化内存,以及帮助解析符号引用. 执行引擎:执行被转载类中的方法指令. 运行时数据区:又叫做虚拟机内存或Java内存.…
想要实现线程可以继承Thread也可以实现接口runnable,在类中重写 run()方法在主函数调用start方法就可以开辟线程. 对于java对象都有一个wait()和notify().notifyAll()方法这是线程对这个对象资源的使用顺序的调和,在调用这些方法钱必须先使用同步锁synchronized(对象)将方法用在锁的里面就可以了. 一般来说,调用start()方法后run内的内容结束该线程就自动结束了,但是如果里面有线程还在等待某对象则通过人物管理器的详细信息可以看到该进程一直存…
1. 大家都知道, 普通的try, catch, finally格式: try{ //有可能会抛出异常的代码 }catch{ //抛出异常时处理的代码 }finally{ //无条件执行的代码,就不管是否抛出异常都会执行 } 2. 加入是这样呢,程序try catch部分中有return呢 try{ //有可能会抛出异常的代码 }catch{ //抛出异常时处理的代码 return://这里有return,finally还会执行吗 }finally{ //无条件执行的代码,就不管是否抛出异常都会…
以下内容转载lzzzl Channel 通道 Buffer 缓冲区 Selector 选择器 其中Channel对应以前的流,Buffer不是什么新东西,Selector是因为nio可以使用异步的非堵塞模式才加入的东西. 以前的流总是堵塞的,一个线程只要对它进行操作,其它操作就会被堵塞,也就相当于水管没有阀门,你伸手接水的时候,不管水到了没有,你就都只能耗在接水(流)上. nio的Channel的加入,相当于增加了水龙头(有阀门),虽然一个时刻也只能接一个水管的水,但依赖轮换策略,在水量不大的时…