最新整理秋第一次语音答疑教学课件

上传人:沈*** 文档编号:242657085 上传时间:2024-08-30 格式:PPT 页数:60 大小:956KB
返回 下载 相关 举报
最新整理秋第一次语音答疑教学课件_第1页
第1页 / 共60页
最新整理秋第一次语音答疑教学课件_第2页
第2页 / 共60页
最新整理秋第一次语音答疑教学课件_第3页
第3页 / 共60页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,一、,JAVA,程序设计开发工具及实例,Java,已经不仅仅是一种编程语言,它同时还是一种开发环境和一种应用环境,因此我们对,Java,的掌握也不应该仅仅停留在一门语言的层次上,只有系统、完整地理解和应用,Java,,我们才能更好的驾御和把握它。,Java,语言与,C+,都是一种面向对象的程序语言,但是它比,C+,更简单,省去了如运算符重载、多重继承等模糊的概念,并且通过实现自动垃圾收集简化了程序设计者的内存管理工作。,JAVA,十个特点:简单、面向对象、分布性、鲁棒性、安全性、平台独立性、可移植性、解释执行、多线程、动态性,一、,JAVA,程序设计开发工具及实例,1、Java开发环境的相关概念:,JDK,(Java Development Kit):,Java语言开发包,SUN公司发布,主要有JDK1.0,JDK1.1版。,SDK,(,Java Software Development Kit,):,Java软件开发包,SUN公司从JDK1.2开始就改名为SDK1.2,现在版本包括SDK1.3,SDK1.4。如果不作严格区分,可以把SDK和JDK都叫作JDK。,JDK主要组成:,由Java类库,Java语言编译器,Java调试工具,Java解释器,Java运行时环境(Java Runtime Environment), Java Applet浏览器等构成。,一、,JAVA,程序设计开发工具及实例,2、下载并设置软件,JDK,可以在很多网站上(如)下载,然后在“导学材料汇编”下载,软件Jcreator,。,这个软件不用再进Dos用命令行运行了!而且也无需配置什么路径.,一、,JAVA,程序设计开发工具及实例,一、,JAVA,程序设计开发工具及实例,一、,JAVA,程序设计开发工具及实例,一、,JAVA,程序设计开发工具及实例,一、,JAVA,程序设计开发工具及实例,一、,JAVA,程序设计开发工具及实例,一、,JAVA,程序设计开发工具及实例,3、JDK常用工具介绍,1) Javac.exe,:Java编译器,负责将Java源文件(.java)编译为字节码文件(.class),例,javac c:Javatest test1.Java,2)Java.exe,:,Java,解释器,编译后的,Java,字节代码(,.class,)无法直接在机器上运行,需要由解释器对其解释执行。,例java c:javatesttest1,一、,JAVA,程序设计开发工具及实例,4、JDK开发和运行,Java,程序的基本过程,利用编辑器编写,Java,源程序,我们可以采用任何文本编辑工具(如,Notepad,)编写,Java,的源程序,也可以采用专门的,Java,开发工具,利用编译器将源程序编译成类文件,利用,javac,命令,可以很容易的做到。但如果该过程中编译器指示任何语法错误,则我们需要根据错误提示重新修改源文件,再进行编译,直至产生正确的,class,文件。,运行,获得的,class,文件可以在本地或通过网络传给任何其它,Java,虚拟机执行。,Java,平台包括两个组件,Java,虚拟机(,JVM,)和,Java,应用程序接口(,Java API,),Java,虚拟机(,JVM,),是在一台在物理计算机上由软件模拟实现的假想计算机,从结构上分析,它由一些抽象的部件组成:包括指令集,寄存器集、堆栈、存储区等。,Java,是一种通用的高级语言和功能强大的软件平台。,通过使用功能强大的,Java API,(,Application Program Interface,),可以实现各种程序。,二、重点运算符,自增运算符”+”和自减运算符”-”,单目运算符,只能用于变量,不能用于表达式,表示使运算数据加1或减1。,有前缀和后缀两种形式,当是前缀形式(即+、-符号出现在变量的左侧)时,对变量实施的运算是”先增值后使用”;当是后缀形式(即+、-符号出现在变量的右侧)时,对变量实施的运算是”先使用后增值”。,例如:x=5;y=+x;表示先将x加1(得6)然后将结果(6)赋给y,所以x,y的值都为6。 x=5; y=x+;表示将x的值(5)先赋给y然后再将x加1(得6),所以y的值为5,而x的值为6。,JAVA程序,class test,public static void main(String args),int j=5;,int I=1;,do,if (I-j),I+;,while(I5);,System.out.println(i=+I+ “j=+j);,例,class test ,public static void main(String args) ,int i=1;,int j=i+;,if (i=+j | i+ = j ) ,i+=j;,System.out.println(i);,答案: 4,例,class test,public static void main(String args),int x=2,j=0;,switch(x),case 1: j+; break;,case 2: j+;,case 3: j+; break;,case 4: j+;,default: j+;,System.out.println(j);,答案:2,条件运算符“ ?:”,三元运算符,它的一般形式为:,表达式1 ? 表达式2: 表达式3,其中表达式,1,的值为布尔型,如果该值为,true,,则执行表达式,2,,否则执行表达式,3,,而且表达式,2,和表达式,3,需要返回相同的数据类型,且该类型不能是空(,void,),例result= (condition=0,?,0,:,1),;,该例中,如果condition=0为真,则result=0,否则result=1,三、面向对象的基本思想,类和对象,对象,可以是现实世界中的任何事物,包括可见和不可见的实体,如人、动物、桌椅、规则、事务等。,类,是对具有相同基本特征对象的一种抽象。,如现实世界中的各种小车、卡车、客车等,,可以,抽象出“汽车”这一个类,。,一个类可以生成多个不同的对象,具有不同的属性值。,类是一个抽象的概念,而对象是一个具体的实体。,定义一个类圆,class Circle,String color; /颜色,int length; /半径,Void expand() /方法:放大,Void reduce() /方法:缩小,Circle c1=new Circle() /生成类Circle的实例c1,对象具有属性和行为。与之相对应,类在定义时,需要声明类的变量(数据)和方法。,传递消息,单个对象完成的功能十分有限,实际系统中通常需要多个对象配合才能完成一个复杂的功能。那么对象之间如何通讯呢?所有这一切都只能通过传递消息来实现。,一般发送的消息包含三个部分:,接受消息的对象,接受消息的对象应执行的方法,方法所需要的参数,继承性,继承性是指一个新的类继承原有类的基本特征,并可增加新的特性。,原有的类称为父类或基类,新的类称为子类或派生类。由父类生成子类的过程称为类的派生。在子类中,不仅包含父类的数据和方法,还可增加新的数据和方法。,Java,中只支持单继承。,封装,封装是一种信息隐蔽技术,它将类的基本成员(数据和方法)封装在类体中,使用者只能看到被封装对象界面上的信息,而对象内部对使用者是隐藏的。,将这种思想借鉴到类的实现中,将类的数据与方法封装起来。如将数据说明为私有的,它的实现细节由开发者进行,使用者无须了解也不能访问这些数据。同时将一些方法说明为公共的,这些方法不仅可以操作对象内的数据,而且作为使用者访问的界面(接口),用户可以通过它操纵内部的数据。,多态性,多态性是指一个名称对应有多种不同的功能,或者相同的接口有多种实现方法。,Java,中,类的多态性主要通过方法的重载,覆盖和接口来实现,1)方法,重载,是指多个方法具有相同的名称,但每个方法的参数表不同 ,即参数类型和参数数量不同。,例如,定义一个求和的方法,它有三种不同类型的参数:,int Add(int i,int j),float Add(float i,float j),double Add(double i,double j),系统调用,Add,方法时,系统根据实际参数的类型和数量等自动调用相应的方法,如,Add(1,2),,,Add(1.2f,3.4f),,,Add(1.2,3.4),。,多态性,2,),方法,覆盖,是指在类的继承过程中,子类与父类的方法不仅名称相同,而且参数也完全相同,但方法体(方法的具体实现)不同。这时子类中的方法覆盖了父类中同名的方法。,例:对public float test(int a) 方法的重载方法应返回( ),A,),void B,),int C,),float D,),任何类型,例,:在某个类,A,中存在一个方法:,void Get(int x),以下能作为这个方法的重载的声明的是,( ),。,A void Get(float x) B int Get(int y),C double Get(int y) D void get(int x,int y),习题,以下由do-while语句构成的循环执行的次数是( B )。,int k = 0;,do +k; while ( k 1 );,A,一次也不执行,B,执行,1,次,C,无限次,D,有语法错,不能执行,提示:,参考课本,P26,27,do-while语句执行的特征是:先循环,后判断。与while语句相区别,它的循环体至少会被执行一次,因为执行过程中,它将循环条件的判断放在了循环体的后边。,习题,下列语句执行后,a的值是( D )。,int a=13;,a%=a/5;,A 3 B 13,C 169 D 1,提示:,参考课本,P17,a%=a/5,相当于,a=a%(a/5) =13%(13/5),:取余。,习题,下列类头定义中,错误的是( B )。,A class x B public x extends y, . . ,C public class x extends y D class x extends y implements y1, . . ,提示:,参考课本,P40,6.1.1,类声明,在类的声明中必须含有关键字,class,习题,设,i,j,为类,x,中定义的,double,型变量名,下列,x,类的构造函数中不正确的是,( A ),。,A double x(double k ) i=k; return i; ,B x(double m, double n ) i=m; j=n; ,C x( )i=0;j=0 ,D x(double k ) i=k; ,提示:,参考课本,P46,6.1.6,构造方法,构造方法具有和类相同的名称,而且不返回任何返数据类型。,习题,以下程序,boolean a=false; boolean b=true; boolean c=(a&b)&(!b),;,int result=c=false?1:2;,执行完后,,c,与,result,的值是,( A ),:,A c=false;result=1; B c=true;result=2;,C c=true;result=1; D c=false;result=2;,提示:,1,、,boolean c=(a&b)&(!b),;,a,为,false, b,为,true,所以,(a&b),为,false,;,b,为,true,,所以,!b,为,false,c=(a&b)&(!b),所以,c,为,false,2,、,result=c=false?1:2,c,为,false,,所以,c=false,为真,所以,c=false?1:2,的结果为,1,所以,result,的结果为,1,习题,有一函数(写一程序,给定,x,值,输出,y,值):,x (x1),y= 3x-2 (1,x10),4x (x,10 ),程序:,public class p3_3,public static void main(Stringargs) ,int x=17;,if(x1) System.out.println(y=+x);,else if(x10),System.out.println(y=+(3*x-2);,else,System.out.println(y=+(4*x); ,四、线程等难点,1、线程的概念,一般把正在运行中的一个程序,称为进程。线程和这个进程很相像。从概念上讲,一个线程是一个程序内部的顺序控制流。,虽然线程和进程都是顺序执行的指令序列,但是又有很多不同点:,进程:每个进程都由独立的代码和数据空间,进程切换的开销大。,线程:轻量的进程,同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器,(PC),,,线程切换的开销小。,多进程:在操作系统中,能同时运行多个任务,(,程序,),。,多线程:在同一应用程序中,有多个顺序流同时执行。,线 程,2、JAVA中的线程,很多程序语言都需要外部的软件包来实现多线程,而Java则内在支持多线程,它的所有类都是在多线程的思想下定义的。,每个线程都是通过特定对象的run()方法来完成操作的。方法run()成为线程体。通常run()方法是一个循环。,线 程,3、线程的状态,在一个线程的生命周期中,它总是处于某一个状态中。线程的状态表示了线程正在进行的活动以及线程能完成的任务。,线程的状态分为:创建态,可运行态,不可运行态,死亡状态等4种状态,线 程,A.创建态( new Thread ),当新生成一个线程时,生成的线程就处于创建态。,例如,我们定义一个类MyThreadClass继承Java.io.Thread,Thread t new MyThreadClass(),线程没有启动,属于创建态,仅仅是空的线程对象,系统没有为它分配资源。,处于这一状态,只能启动和终止线程,即调用start()或者stop()方法,调用其他方法都会失败,引起非法状态处理( IllegalThreadStateException)。,例:线程一旦被创建就处于可运行状态。(错),线 程,B.可运行态(Runnable),当执行t.start()后,产生了运行这个线程所需的系统资源,安排其运行,并调用线程体run()方法,这样使线程处于可运行态。,需要说明的是,可运行态并不是运行中(running)状态,因为,也许线程并未实际运行。由于很多计算机都是单处理器的,同一时刻运行所有的处于可运行态的线程是不可能的,Java的运行时系统必须实现调度来保证这些线程共享处理器。,当一个线程正在运行时,它是处于可运行态的。,线 程,C.不可运行态(Not Runnable),出现下面四种情况时,线程就处于不可运行态。,1、调用了sleep()方法,2、调用了suspend()方法。,3、为等候一个条件变量,线程调用wait()方法。,4、IO发生线程阻塞。,例如:,调用 t. sleep(1000)后,线程休止1秒,1秒后,线程t又处于可运行态。,线 程,D.死亡状态( Dead ),死亡状态就是线程的消亡状态,可以有两种方法实现:自然撤销,被停止(stop)。,自然撤销是线程的 run() 方法正常退出。,线程体run()方法中有一个循环语句,10次循环完毕后,run()方法执行完毕,线程自然终止。,调用 stop ()终止线程,如下面的程序,t.start () / t是一个线程,.,/省略了一些语句,t.stop (); /调用stop()终止线程,stop()是一种强制终止方式,它不会保存和程序运行有关的信息,在复杂程序中一般不建议使用,线 程,E.非法状态处理,对于任何状态,如果调用的方法和状态不符,都会引起非法状态处理。,比如:线程刚创建后,只能调用 start ()或者 stop ()方法,如果调用其它方法就会引起非法状态处理。,isAlive()方法,在类Thread中提供了方法isAlive(),如果线程已经启动,但是未终止,返回true,反之,返回 false,表示该线程未启动,或者已终止。,如果isAlive()方法返回true,不能区分是可运行态(runnable)还是不可运行态(not runnable)。,线 程,4、构造线程体有两种方式:,定义一个线程类,它继承Thread类,并重写其中的run()方法。直接生成这个类的对象就可以构造一个线程。,提供一个实现接口 Runnable的类作为线程的目标对象。在构造线程对象时,通过方法 Thread(Runnable target,String name)把目标对象传给这个线程实例。,例:如何构造一个线程(两种方法)(多次考察)?,线 程,5、基本的线程控制(终止、暂停和恢复),a、终止线程,线程终止后,其生命周期就结束了,也就是进入了死亡状态,终止后的线程不能再被调度执行。在下面的一些情况下,线程进入终止态。1、线程执行完线程体run()方法后,自然终止。在前面的例子中,线程都是执行完run()方法后自然终止的,可以参考例11.1的程序。2、通过调用线程的实例方法stop()后,终止线程。,线 程,例:,下列哪种情况无法使当前线程停止执行( )A. 线程执行过程中的异常被抛出发生B. 线程执行了sleep()方法.C. 产生了一个新线程D. 具有更高优先级的线程准备就绪,线 程,b、线程的暂停和恢复,1、sleep()方法,2、suspend()和resume(),3、join()方法,例:调用sleep()方法可使线程进入不可运行状态(对),线 程,例 关于线程的下列说法正确的是(D)A. 线程只能通过继承类Thread创建。B. 执行suspend方法将使线程停止并不能被重新start。C. 线程与进程实际是同一个概念。D. 线程的终止可以通过两种方式实现:自然撤销或被停止。,A、有两种方法构造线程体B、执行suspend方法将使线程挂起,可以用resume方法恢复线程的执行。C、虽然线程和进程都是顺序执行的指令序列,但线程和进程不同。,Java Applet,Applet就是用Java编写的一段代码,可以在浏览器中运行。与Application 的主要区别是执行方式不同,Application从main()方法开始执行,而Applet 在浏览器中运行,比较复杂,Applet在浏览器中运行,必须创建一个html文件,把Applet嵌入到html中,在浏览器中给出html文件的URL地址即可。,例什么是Applet,如何运行一个Applet,Java Applet,Applet是一个AWT组件,具有一般AWT组件图形绘制功能。这些方法是由Component类提供的。主要的方法有:paint(),update(),repaint()方法。 详细说明见下页,Java有其自己的AWT绘图系统控制何时和怎样进行绘画。当repaint()方法被调用时,AWT调用成员的update()方法,update()调用paint()。AWT有时可以直接调用paint()方法。比如被其它窗口覆盖。,Java Applet,1、paint( )进行绘图的具体操作,必须重写。,2、update( )用于更新图形,先清除背景、前景,再调用paint(),3、repaint( )用于重绘图形,在组件外形发生变化,即大小改变或位置移动时,repaint( )方法立即被系统自动调用。有几种不同的重载形式,可以实现局部重绘,延时重绘等。,例,:进行,AWT,绘制时,需要程序员重写,repaint(),方法(错),Java Applet,例 paint()方法使用( )作为起输入参数。AGraphicsB.Graphics2DC.StringD.Color,Graphics可以支持两种绘图,一种是基本的,如画线,画矩形,另一类是画图像,主要用于动画制作。,Java Applet,例题:Applet中方法init(),start(),stop()和destroy()的作用?,(多次被考到),Init()方法在applet被首次载入时执行,作用是在applet被执行前执行一些必要的初始化操作。,Start()方法是applet的主体,由系统调用,其作用是执行或启动必要的任务或线程。,Stop()方法的作用是停止applet中一些耗费系统资源任务的执行。,Destroy()方法用于清除无用的applet,释放相关的资源。,五、作业简答题,简答题之-简述Java具有可移植性的原因?,Java虚拟机(JVM)是在一台在物理计算机上由软件模拟实现的假想计算机,从结构上分析,它由一些抽象的部件组成:包括指令集,寄存器集、堆栈、存储区等。指令集采用与平台无关的字节码形式,寄存器集包括计数器、堆栈指针等,堆栈用于存放传递的参数和运行结果等,存储区则存放字节码。对不同的硬件平台Java虚拟机提供了不同的编译代码规范,该规范可以屏蔽机器硬件的差异,使Java软件独立于操作平台。,简答题之-简述Java中方法重载和方法重写的区别?,方法重载是指多个方法具有相同的名称,但每个方法的参数表不同 ,即参数类型和参数数量不同。方法覆盖是指在类的继承过程中,子类与父类的方法不仅名称相同,而且参数也完全相同,但方法体(方法的具体实现)不同。这时子类中的方法覆盖了父类中同名的方法。,(方法重写又称方法覆盖),简答题之-说明JavaApplication与JavaApplet有何区别?,(1),运行方式不同。,Java Application是完整的程序,可以独立运行;Java Applet程序不能单独运行,它必须嵌入到用HTML语言编写的Web页面中,通过与Java兼容的浏览器来控制执行。(2),运行工具不同。,Java Application程序被编译以后,用普通的Java解释器就可以使其边解释边执行,而Java Applet必须通过网络浏览器或者Applet观察器才能执行。(3),程序结构不同。,每个Java Application程序必定含有一个并且只有一个main方法,程序执行时,首先寻找main方法,并以此为入口点开始运行。含有main方法的那个类,常被称为主类,也就是说,Java Application程序都含有一个主类。而Applet程序则没有含main方法的主类,这也正是Applet程序不能独立运行的原因。尽管Applet没有含main方法的主类,但Applet一定有一个从 java.applet.Applet派生的类,它是由Java系统提供的。(4),受到的限制不同。,Java Application程序可以设计成能进行各种操作的程序,包括读写文件的操作,但是 Java Applet 对站点的磁盘文件既不能进行读操作,也不能进行写 操作。然而,由于 Applet的引入,使Web页面具有动态多媒体效果和可交互性能,这使由名为超文本、实为纯文本的HTML语言编写成的Web页面真正具有了超文本功能,不但可以显示文本信息,而且还可以有各种图片效果和动态图形效果,从而使页面显得生动美丽;另外,Applet使Web页面增加了按钮等功能,从而增加了交互性。,简答题之-关键字this和super在成员方法中的主要作用是什么?,如果要访问父类中被覆盖的成员,可以this用来引用当前对象一样,super用来引用当前对象的父类。,如果对重载构造方法,如果需要,可以用super调用父类的构造方法,用this调用当前对象的构造方法。,简述Java的异常处理机制?,Java的异常处理机制分为两部分:抛弃异常(throw)和捕获异常(catch)。,抛弃异常在Java程序的执行过程中,如果出现了异常事件,就会生成一个异常对象。这个对象可能是由正在运行的方法生成,也可能由Java虚拟机生成,其中包含一些信息指明异常事件的类型,以及当异常发生时程序的运行状态等。生成的异常对象传递给Java运行时系统(Java Runtime System),这一异常对象的产生和提交过程称为抛弃(throw)异常。,捕获异常 Java运行时系统得到一个异常对象时,它将会寻找处理这一异常的代码。寻找的对象从生成异常对象的代码块开始,沿着方法的调用栈逐层回溯,直到找到一个方法能够处理这种类型的异常为止。然后运行时系统把当前异常对象交给这个方法进行处理。这一过程称为捕获(catch)异常。,简答题之-String类与StringBuffer类的主要区别是什么?,JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。如频繁的修改字符串值,可以使用StringBuffer,简答题之-什么是静态方法和静态变量,他们同普通的成员方法和变量有什么区别?,静态变量 按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量;另一种是没有被static修饰的变量,叫实例变量。两者的区别是: 对于静态变量在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可用类名直接访问(方便),当然也可以通过对象来访问(但是这是不推荐的)。 对于实例变量,没创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响。,静态方法 静态方法可以直接通过类名调用,任何的实例也都可以调用,因此静态方法中不能用this和super关键字,不能直接访问所属类的实例变量和实例方法(就是不带static的成员变量和成员成员方法),只能访问所属类的静态成员变量和成员方法。因为实例成员与特定的对象关联。,使用socket进行通讯的基本步骤是什么?,无论一个socket通信的功能多么齐全、程序多么复杂,其基本步骤都是一样的,都包括以下四个基本的步骤: 1、创建socket 首先创建ServerSocket,在客户端创建Socket后,连接服务器,在服务器端创建一个和它对应的一个Socket。 2、打开连接到socket的输入/出流在客户端和服务器端分别用Socket创建输入流和输出流,把客户端的输入流和服务器的输出流连接起来,客户端的输出流和服务器端的输入流连接起来。 3、按照一定的协议对socket进行读/写操作每个程序都可能不同。 4、关闭socket 使用Socket的close()方法。,简述Applet中方法paint(),update(),repaint()方法的关系?,paint()方法中进行绘图具体操作,但是Component类只提供了paint()方法的架子,并未实现任何操作,即实际上只进行了空操作,而没有在组件中绘制具体图案。update()方法用于更新图形,它首先清除背景,然后设置前景,再调用paint()方法完成组件中的具体绘图。 repaint()方法主要用于重绘图形。在组件发生变化,即大小改变或位置移动时,repaint()方法立即被系统自动调用。它调用update()方法以实现对组件的更新。repaint()方法有几种重载的方法,分别调用不同的repaint()方法,可实现对组件的局部进行重绘、延时重绘。,什么是线程,Java中线程由哪几部分组成?,线程与进程相似,是一段完成某个特定功能的代码,是程序中单个顺序的流控制;但与进程不同的是,同类的多个线程是共享一块内存空间和一组系统资源,而线程本身的数据通常只有微处理器的寄存器数据,以及一个供程序执行时使用的堆栈。所以系统在产生一个线程,或者在各个线程之间切换时,负担要比进程小的多,正因如此,线程被称为轻负荷进程(light-weight process)。一个进程中可以包含多个线程。,线程的模型是由CPU、程序代码和数据封装体组成的集合,1、虚拟的 CPU(Virtual CPU),封装在Java.lang.Thread类中。,2、CPU所执行的代码(Code),传递给Thread类。,3、CPU所处理的数据(Data),传递给Thread类。,使用缓冲区输出流有什么作用?,BufferedOutputStream这两个类实现了带缓冲的过滤流,由于提供了缓冲机制,把任意的输入流或者输出流“捆绑”到缓冲流上会获得性能的提高。 在初始化BufferedOuputSream时,除了要指定所连接的输出流外,还可以指定缓冲区的大小。缺省使用32字节大小的缓冲区。通常程序中指定的缓冲区大小应是内存页或磁盘块等的整数倍,最优的缓冲区大小常依赖于主机操作系统、可使用的内存空间、机器的配置等。一般可选8192字节或者较小的缓冲区以提高性能。,在使用BufferedOutputStream进行输出时,数据首先写入缓冲区,当缓冲区满时,其中的数据写入所连接的输出流。,讨论时间,欢迎大家共同讨论问题!,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!