Java第三阶段学习(四、缓冲流)】的更多相关文章

一.缓冲流: Java中提供了一套缓冲流,它的存在,可提高IO流的读写速度 缓冲流,根据流的分类分为:字节缓冲流与字符缓冲流. 二.字节缓冲流: 字节缓冲流根据流的方向,共有2个: 1.写入数据到流中,字节缓冲输出流 BufferedOutputStream 2. 读取流中的数据,字节缓冲输入流 BufferedInputStream 它们的内部都包含了一个缓冲区,通过缓冲区读写,就可以提高了IO流的读写速度 2.1字节缓冲输出流 BufferedOutputStream类 public cla…
一.流的操作规律 四个明确: 明确一:明确要操作的数据是数据源还是数据目的地 源:InputStream   Reader 目的地:OutputStream Writer 先根据需求明确是要读还是写 明确二:明确要操作的数据是字节还是文件(字符) 源: 字节:InputStream 文件:Reader 目的地: 字节:OutputStream 文件:Writer 已经明确到了具体的体系上 明确三:明确数据所在的具体设备 源设备: 硬盘:文件  File开头. 内存:数组,字符串. 键盘:Syst…
一.字节流读取中文时出现的问题: 文件中有中文时,用字节流读取会出现乱码的问题,因为一个中文为两个字节. 二.字符编码表 编码表:其实就是生活中字符和计算机二进制的对应关系表. 1.ascii: 一个字节中的7位就可以表示.对应的字节都是正数.0-xxxxxxx 2.iso-8859-1:拉丁码表 latin,用了一个字节用的8位.1-xxxxxxx  负数. 3.GB2312:简体中文码表.包含6000-7000中文和符号.用两个字节表示.两个字节第一个字节是负数,第二个字节可能是正数 GBK…
一.JSP技术 1.jsp脚本和注释 jap脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部,比如写在doget.dopost 内的代码 2)<%=java变量或表达式> ----- 会被翻译成service方法内部out.print().不能写方法,只能写变量或表达式,输出值. 3)<%!java代码%> ---- 会被翻译成servlet的成员的内容.比如成员变量 jsp注释: 不同的注释可见范围是不同的,看到的人越少越…
一.递归 定义:指方法在方法内调用自己 适用于方法的运算主体不变,但运行的时候,参与运算的方法参数会变化注意:一定要给递归一个出口,否则内存溢出 练习题1:使用递归打印文件夹中所有的文件,包含子目录中的文件 public static void main(String[] args) { File f=new File("e:\\java"); getAllFile(f); } public static void getAllFile(File f){ File[] file=f.l…
一.IO概述: 把内存中的数据存入到硬盘(持久化设备)中叫做:输出(写)Output操作.JAVA软件往电脑硬盘上走叫输出. 把硬盘中的数据读取到到内存里叫做:输入(读)Input操作.电脑硬盘上往JAVA软件里走叫输入. 以JAVA软件为参照物. 这种输入输出的动作叫做IO操作. 二.File类(文件类) 2.1定义:File是文件和目录(文件夹)路径名的抽象表现形式,即:JAVA把文件和目录都封装为File对象. 2.2构造函数: //File构造方法无法判定你写的这个文件是否真的存在 //…
一.网络通信协议 1.概念: 通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,在计算机网络中,这些连接和通信的规则被称为网络通信协议,它对数据的传输格式.传输速率.传输步骤等做了统一规定,通信双方必须同时遵守才能完成数据交换. 网络通信协议有很多种,目前应用最广泛的是TCP/IP协议(Transmission Control Protocal/Internet Protoal传输控制协议/英特网互联协议),它是一个包括TCP协议和IP协议,U…
一.HttpServletRequest 1.概述: 我们在创建Servlet时会覆盖service()方法,或doGet()/doPost(),这些方法都有两个参数,一个为代表请求的request和代表的响应response. service方法中的request的类型是ServletRequest,而doGet/doPost方法的request的类型是HttpServletRequest,HttpServletRequest是ServletRequest的子接口,功能和方法更加强大,今天我们…
一.Servlet简介  1.什么是servlet: sun公司提供的一套规范(接口),用来处理客户端请求.响应给浏览器的动态资源.但servlet的实质就是java代码,通过java的API动态的向客户端输出内容. servlet规范:包含三个技术点 1)servlet技术 2)filter技术---过滤器 3)listener技术---监听器 2.怎么创建servlet 实现步骤:1.创建类实现servlet接口    2.覆盖尚未实现的方法---重点实现service方法    3.在we…
一.XML学习 1.模拟Servlet执行 在学习完前端及java与数据库后,将进行WEB编程阶段的学习.在WEB编程中,可以通过浏览器访问WEB服务器上的数据.这时WEB服务器就相当于另一台计算机. 浏览器的入口不同(访问路径),访问的资源也不同. 网址就是浏览器访问服务器的路径: 2.相关技术 为了灵活实现不同路径执行不同的资源,我们需要用XML进行配置,为了限定XML内容,我们需要用XML约束(DTD或schema),为了获得XML的内容,我们需要用dam4j解析. 2.1 什么是XML?…
一.类加载器 1.类的加载: 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化. 1.1 加载: 就是指将class文件读入内存,并为之自动创建一个Class对象(字节码对象). 任何类被使用时系统都会建立一个Class对象. 1.2 连接 验证 是否有正确的内部结构,并和其他类协调一致 准备 负责为类的静态成员分配内存,并设置默认初始化值 解析 将类的二进制数据中的符号引用替换为直接引用 1.3 初始化 就是初始化步骤 2.类初始化时…
一.进程和线程的区别: 进程:指正在运行的程序,当一个程序进入内存运行,就变成一个进程. 线程:线程是进程的一个执行单元. 总结:一个程序运行后至少会有一个进程,一个进程可以有多个线程. 多线程:多线程就是一个程序有多个线程在进行. 多线程程序与单线程程序的区别: 单线程程序:若有多个任务同时执行,只能执行完上一个程序后,才可以执行下一个程序. 多线程程序:若有多个程序可以同时执行. 二.程序运行原理 1.分时调度:CPU为线程平均分配使用时间,所有线程轮流使用CPU 2.抢占式调度:优先让优先…
一.会话技术  1. 存储客户端状态 会话技术是帮助服务器记住客户端状态(区分客户端)的.  2. 会话技术 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,称为一次会话.会话技术就是记录这次会话中客户端的状态与数据的. 会话技术分为Cookie和Session: Cookie:数据存储在客户端本地,减少服务器端的存储的压力,安全性不好,客户端可以清除cookie Session:将数据存储到服务器端,安全性相对好,增加服务器的压力  二.Cookie技术 1.服务器端向客户端发送一个…
一.线程池 1.概念: 线程池,其实就是一个容纳多个线程的容器,其中的线程可以重复使用,省去了频繁创建线程对象的过程,无需反复创建线程而消耗过多资源,是JDK1.5以后出现的. 2.使用线程池的方式----Runnable接口 线程池是由线程池工厂创建的,再调用线程池中的方法调用线程,再通过线程去执行任务方法. 构造代码:2.1 Executors:线程池创建工厂类 2.2 ExecutorService:线程池类      Future<?> submit(Runnable task):获取…
20165210 Java第三周学习总结 教材学习内容总结 - 第四章学习总结 编程语言的几个发展阶段: 面向机器语言 面向过程语言 面向对象语言 类: 类声明: class People { ... } class 动物 { ... } 类体: class People { 类体的内容 } class 动物 { 类体的内容 } 成员变量: 1. 类型: class Factory { float [] a; Workman zhang; } class Workman { double x;…
Java第三阶段总结 前言 到这里,Java课程学习进入了尾声,在这学习过程中,我学习到很多,也发现了自己的很多不足,这篇博客主要针对的是Java整门课程学习的总结. 课程收获 对整门课程的学习,我有很多的收获,从之前c语言的面向过程概念到面向对象这一巨大的转变,从刚开始我刚接触到Java,安装eclipse运行环境,编写第一个“Hello World”程序有点不习惯,毕竟受到了c语言的影响,有一些固定的格式,老师也说过,学习这门课程思维要转变,慢慢的理解,在后来的学习中,我越来越感受到,Jav…
Java第三阶段复习: 1. Spring 1. IOC: 定义:Inverse Of Controller:反转控制,将bean对象的创建和对象之间的关联关系的维护由原来我们自己创建.自己维护反转给了spring 的容器来创建bean对象及维护关联关系 解决:解决了上层建筑严重依赖下层建筑的问题,实现了上层建筑对下层建筑的控制 实现:DI[Dependency Injection], xml解析+反射+容器+设计模式 2. Aop: 定义:Aspect Oreinted Programming…
缓冲流.数据流以及对象流 一.缓冲流 缓冲流的概念:在读写的时候,对于单字节的读取会造成硬盘的频繁读写,增加访问次数,降低了读取文件的效率.而引入缓冲流之后,就可以将多个字节写入缓冲区,在缓冲区积累之后再输入输出. 注意:缓冲流属于包装流,只能对已有的流进行封装,不能直接关联文件进行操作. 1.1 字节缓冲流 字节缓冲输入/输出流:BufferedInputStream/BufferedOutputStream 1)继承自FilterInputStream/FilterOutputStream类…
20175308 2018-2019-2 <Java程序设计>第三周学习总结 教材学习内容总结 本周的学习内容为整个第四章的内容,学习中感觉知识点既多又杂,故在总结时尽量选用重要的或高度概括的知识点. 面向对象语言特点:封装性.继承.多态 类:类是java程序的基本要素,一个java程序就是由若干个类所构成,类是java语言中最重要的数据类型,类声明的变量被称为对象变量 类.对象.方法三者的关系(理解):对象作为类的实例,方法是对象的行为.对象操作自己的变量体现了对象的属性,对象调用类中的方法…
System类的支持和缓冲流 System类对IO的支持 在System类中,为了支持IO操作提供了三个常量: 错误输出: public static final PrintStream err; 输出到标准输出设备(显示器) public static final PrintStream out; 从标准输入(键盘)设备输入 public static final InputStream in; 错误输出 System.err 是 PrintStream 类对象,此对象专门负责进行错误信息的输…
20145304 <Java程序设计>第三周学习总结 教材学习内容总结 1.定义类: 类定义时使用class关键词,建立实例要使用new关键词. 代码如下: /*定义类 书上例子 衣服的型号与颜色 */ package cc.openhome; import java.sql.SQLOutput; class Clothes{//定义类 String color; char size; } public class Field { public static void main(String[…
1:缓冲流 BufferedReader  BufferedWriter 具有较强的读写能力,能单独读写一行数据,能够减少对硬盘的访问次数. /** * 缓冲流 能够增强对问价数据的可读性,减少访问读取硬盘的次数,提高效率 * */ public static void bufferedDemo() throws IOException{ File fread=new File("E:\\input.txt"); File fwrite=new File("E:\\outpu…
20175303 2018-2019-2 <Java程序设计>第三周学习总结 教材学习内容总结 •编程语言的发展分为三个阶段,分别是:面向机器,面向过程,面向对象的语言.Java属于面向对象的语言,具有封装性,继承,多态的特点. •类是java程序的基本要素,一个java程序就是由若干个类所构成.用"class 类名"的方式声明类,类体里含有成员变量和方法. •方法的参数和方法里定义的变量,成为局部变量,局部变量只在方法内有效.若成员变量和局部变量同名,需在成员变量前加th…
/** * !!:以后写流的时候一定要加入缓冲!! * 对文件或其它目标频繁的读写操作,效率低,性能差. * 缓冲流:好处是能更高效地读写信息,原理是将数据先缓冲起来,然后一起写入或读取出来. * * BufferedInputStream:字节缓冲流(有一个内部缓冲区数组,用于缓冲数据) */ public class Main { public static void main(String[] args) { input(); output(); } /** * 使用字节缓冲流进行读取操作…
缓冲流 1.缓冲流涉及到的类 BufferedInputStream BufferedOutputStream BufferedReader BufferedWriter 2.作用 提升流的读取.写入的速度. 原因:内部提供了一个缓冲区,默认情况下是8192,即8kb. 3.使用BufferedInputStream和BufferedOutputStream 处理非文本文件 //实现文件复制的方法 public void copyFileWithBuffered(String srcPath,S…
Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将近8年的时间,但随着Java 6,7,8,甚至9的发布,Java语言发生了深刻的变化. 在这里第一时间翻译成中文版.供大家学习分享之用. 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java…
知识点回顾 类与对象学习总结 类:java作为面向对象型语言具有三个特性:①封装性.②继承性.③多态性.java中类是基本要素,类声明的变量叫对象.在类中定义体的函数题叫方法. 类与程序的基本结构: (一)构造方法:创建对象时用,构造方法与类同名,没有类型.可以创建构造方法,但要保证参数个数不同或参数类型不同. (二)为对象分配变量时要用new字符.用"."运算符来操作对象. (三)java有若干个类构成,这些类可以在一个源文件也可以在若干文件夹里. 参数传值: (一)传值机制:方法中…
Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将近8年的时间,但随着Java 6,7,8,甚至9的发布,Java语言发生了深刻的变化. 在这里第一时间翻译成中文版.供大家学习分享之用. 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java…
几乎所有学习Java的同学写的第一个程序都是hello world,使用的也都是System.out.println()这条语句来输出"hello world",我也不例外,当初学的时候只是简单拿来用,平时学习的时候需要打印日志也会使用这条语句,并没有去探究这条语句背后的原理,本文就来研究一下其原理. System.out.println()提供的能力属于标准I/O的范畴,标准I/O这个术语参考的是Unix中“程序所使用的单一信息流”这个概念,即程序的所有输入都可以来自标准输入,它的所…
Day01 1.线程 进程:进程就是正在运行的应用程序.进程负责了内存空间的划分. 线程:一个进程中的代码是由线程去执行的,线程也就是其中一个执行路径. 多线程:一个进程中有多个线程可以同时执行任务. 线程的状态…