Welcome 微信登录

首页 / 软件开发 / JAVA

Java编程那些事儿88——文件操作之写文件

Java编程那些事儿88——文件操作之写文件

Java编程那些事儿88——文件操作之写文件2010-03-15 csdn 陈跃峰11.3.1.4 写文件如前所述,将程序内部的数据输出到程序外部的数据源,应该使用IO类体系中的输出流。在实际的编程中,将程序中的数据,例如用户设定或程序运行时生成的内容,存储到外部的文件中,应该使用输出流进行编程。基本的输出流包含OutputStream和Writer两个,区别是OutputStream体系中的类(也就是OutputStream的子类)是按照字节写入的,而W...
Java编程那些事儿89——读取控制台输入

Java编程那些事儿89——读取控制台输入

Java编程那些事儿89——读取控制台输入2010-03-15 csdn 陈跃峰11.3.2 读取控制台输入前面介绍了使用IO类实现文件读写的示例,其实在很多地方还需要使用到IO类,这里再以读取控制台输入为例子来介绍IO类的使用。控制台(Console)指无图形界面的程序,运行时显示或输入数据的位置,前面的介绍中可以使用System.out.println将需要输出的内容显示到控制台,本部分将介绍如何接受用户在控制台中的输入。使用控制台输入是用户在程序运行...
Java编程那些事儿90——装饰流使用1

Java编程那些事儿90——装饰流使用1

Java编程那些事儿90——装饰流使用12010-03-15 csdn 陈跃峰11.3.3 装饰流使用除了按照流的方向可以把流划分为输入流和输出流两类,按照流读写数据的基本单位把流划分为字节流和字符流两类以外,还可以按照流是否直接连接实际数据源,例如文件、网络、字节数组等,将流又可以划分为实体流和装饰流两大类。其中实体流指直接连接数据源的流类,如前面介绍的FileInputStream/FileOutputStream和FileReader和FileWri...
Java编程那些事儿91——装饰流使用2

Java编程那些事儿91——装饰流使用2

Java编程那些事儿91——装饰流使用22010-03-15 csdn 陈跃峰11.3.3.2 BufferedReader/BufferedWriter在进行IO操作时,除了功能以外,程序的执行效率也是必须要考虑的问题。基本的IO类只是注重功能的实现,例如将特定的数据源转换为流对象,而没有过多的关注读写的效率问题,而实际在进行项目开发时,读写效率也是必须要考虑的问题。为了提高IO类的读写效率,在装饰流中专门制作了一类缓冲流,该类流的作用就是提高流的读写效...
Java编程那些事儿92——IO使用注意问题

Java编程那些事儿92——IO使用注意问题

Java编程那些事儿92——IO使用注意问题2010-03-15 csdn 陈跃峰11.3.4 注意问题上面介绍了IO类的基本使用,熟悉了实体流和装饰流的基本使用,但是在IO类实际使用时,还是会遇到一系列的问题,下面介绍一些可能会经常遇到的问题。11.3.4.1 类的选择对于初次接触IO技术的初学者来说,IO类体系博大精深,类的数量比较庞大,在实际使用时经常会无所适从,不知道该使用那些类进行编程,下面介绍一下关于IO类选择的一些技巧。选择类的第一步是选择合...
Java编程那些事儿93——多线程基础

Java编程那些事儿93——多线程基础

Java编程那些事儿93——多线程基础2010-03-15 csdn 陈跃峰第十二章 多线程当计算机处于DOS时代时,程序几乎是没有界面的,而且由于计算机运行速度等原因,那个时代的计算机只能启动一个程序,只有当该程序退出以后才可以执行其它的程序。但是随着计算机性能的提高,以及软件的丰富,如果计算机还只能同时执行一个程序的话,那么计算机恐怕是很多人都不能接受的。这种在任何一个时间点,可以有多个程序同时执行,或者有多个程序逻辑同时执行的能力,成为并发执行。现在...
Java编程那些事儿94——多线程实现方式1

Java编程那些事儿94——多线程实现方式1

Java编程那些事儿94——多线程实现方式12010-03-15 csdn 陈跃峰12.2 多线程实现方式线程的概念虽然比较复杂,但是在Java语言中实现线程却比较简单,只需要按照Java语言中对于线程的规定进行编程即可。在实现线程编程时,首先需要让一个类具备多线程的能力,继承Thread类或实现Runnable接口的类具备多线程的能力,然后创建线程对象,调用对应的启动线程方法开始执行即可实现多线程编程。在一个程序中可以实现多个线程,多线程编程指在同一个程...
Java编程那些事儿95——多线程实现方式2

Java编程那些事儿95——多线程实现方式2

Java编程那些事儿95——多线程实现方式22010-03-15 csdn 陈跃峰12.2.2实现Runnable接口一个类如果需要具备多线程的能力,也可以通过实现java.lang.Runnable接口进行实现。按照Java语言的语法,一个类可以实现任意多个接口,所以该种实现方式在实际实现时的通用性要比前面介绍的方式好一些。使用实现Runnable接口实现多线程的示例代码如下:/*** 测试类*/public class Test2 { public s...
Java编程那些事儿96——多线程使用示例1

Java编程那些事儿96——多线程使用示例1

Java编程那些事儿96——多线程使用示例12010-03-15 csdn 陈跃峰12.3 多线程使用示例多线程技术对于初学者来说,是编程思维的一种跳跃,在实际学习时,一定要熟悉线程的基础知识,掌握线程的实现方式,然后就是开始大量的进行实践,从实践中领悟线程编程的奥妙以及实现的原理。下面通过几个常见的例子演示多线程的基本使用。12.3.1 定时炸弹定时炸弹是在电影中常见的一种装置,在该部分就使用多线程技术模拟该功能。实现的功能为:在程序启动以后进行倒计时,...
Java编程那些事儿97——多线程使用示例2

Java编程那些事儿97——多线程使用示例2

Java编程那些事儿97——多线程使用示例22010-03-15 csdn 陈跃峰12.3.2 模拟网络数据发送在实际的网络程序开发中,由于网络通讯一般都需要消耗时间,所以网络通讯的内容一般都启动专门的线程进行处理。这样,在一个最简单的网络程序程序中,至少就包含了两个线程:处理界面绘制和接收用户输入的系统线程,以及至少一个网络通讯线程。下面以一个简单的模拟程序,实现模拟网络数据的发送功能,关于更详细的网络编程中线程的使用,可以参看后续的网络编程章节。在该示...
Java编程那些事儿98——多线程问题及处理1

Java编程那些事儿98——多线程问题及处理1

Java编程那些事儿98——多线程问题及处理12010-03-15 csdn 陈跃峰12.4 多线程问题及处理多线程编程为程序开发带来了很多的方便,但是也带来了一些问题,这些问题是在程序开发过程中必须进行处理的问题。这些问题的核心是,如果多个线程同时访问一个资源,例如变量、文件等,时如何保证访问安全的问题。在多线程编程中,这种会被多个线程同时访问的资源叫做临界资源。下面通过一个简单的示例,演示多个线程访问临界资源时产生的问题。在该示例中,启动了两个线程类D...
Java编程那些事儿99——多线程问题及处理2

Java编程那些事儿99——多线程问题及处理2

Java编程那些事儿99——多线程问题及处理22010-03-15 csdn 陈跃峰如果这个例子还不能帮助你理解如何解决多线程的问题,那么下面再来看一个更加实际的例子——卫生间问题。例如火车上车厢的卫生间,为了简单,这里只模拟一个卫生间,这个卫生间会被多个人同时使用,在实际使用时,当一个人进入卫生间时则会把卫生间锁上,等出来时打开门,下一个人进去把门锁上,如果有一个人在卫生间内部则别人的人发现门是锁的则只能在外面等待。从编程的角度来...
Java编程那些事儿100——多线程问题及处理3

Java编程那些事儿100——多线程问题及处理3

Java编程那些事儿100——多线程问题及处理32010-03-15 csdn 陈跃峰12.4.3 死锁多线程编程在实际的网络程序开发中,在客户端程序实现中使用的比较简单,但是在服务器端程序实现中却不仅是大量使用,而且会出现比客户端更多的问题。另外一个容易在服务器端出现的多线程问题是——死锁。死锁指两个或两个以上的线程为了使用某个临界资源而无限制的等待下去。还是以前面卫生间的例子来说明死锁,例如两个人都同时到达卫生间,而且两个人都比...
Java编程那些事儿101——网络编程概述

Java编程那些事儿101——网络编程概述

Java编程那些事儿101——网络编程概述2010-03-15 csdn 陈跃峰第十三章 网络编程网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入网络编程的大门而放弃了对于该部分技术的学习。在学习网络编程以前,很多初学者可能觉得网络编程是比较复杂的系统工程,需要了解很多和网络相关的基础知识,其实这些都不是很必需的。首先来问一个问题:你会打手机吗?很多人可能说肯定会啊,不就是按按电话号码,拨打电话嘛,很简单的...
Java编程那些事儿102——网络编程技术1

Java编程那些事儿102——网络编程技术1

Java编程那些事儿102——网络编程技术12010-03-20 csdn 陈跃峰13.2 网络编程技术前面介绍了网络编程的相关基础知识,初步建立了网络编程的概念,但是实际学习网络编程还必须使用某种程序设计语言进行代码实现,下面就介绍一下网络编程的代码实现。13.2.1 网络编程步骤按照前面的基础知识介绍,无论使用TCP方式还是UDP方式进行网络通讯,网络编程都是由客户端和服务器端组成。当然,B/S结构的编程中只需要实现服务器端即可。所以,下面介绍网络编程...
Java编程那些事儿103——网络编程技术2

Java编程那些事儿103——网络编程技术2

Java编程那些事儿103——网络编程技术22010-03-20 csdn 陈跃峰13.2.3 TCP编程按照前面的介绍,网络通讯的方式有TCP和UDP两种,其中TCP方式的网络通讯是指在通讯的过程中保持连接,有点类似于打电话,只需要拨打一次号码(建立一次网络连接),就可以多次通话(多次传输数据)。这样方式在实际的网络编程中,由于传输可靠,类似于打电话,如果甲给乙打电话,乙说没有听清楚让甲重复一遍,直到乙听清楚为止,实际的网络传输也是这样,如果发送的一方发...
Java编程那些事儿104——网络编程技术3

Java编程那些事儿104——网络编程技术3

Java编程那些事儿104——网络编程技术32010-03-20 csdn 陈跃峰为了一步一步的掌握网络编程,下面再研究网络编程中的两个基本问题,通过解决这两个问题将对网络编程的认识深入一层。1、如何复用Socket连接?在前面的示例中,客户端中建立了一次连接,只发送一次数据就关闭了,这就相当于拨打电话时,电话打通了只对话一次就关闭了,其实更加常用的应该是拨通一次电话以后多次对话,这就是复用客户端连接。那么如何实现建立一次连接,进行多次数据交换呢?其实很简...
Java编程那些事儿105——网络编程技术4

Java编程那些事儿105——网络编程技术4

Java编程那些事儿105——网络编程技术42010-03-20 csdn 陈跃峰13.2.4 UDP编程网络通讯的方式除了TCP方式以外,还有一种实现的方式就是UDP方式。UDP(User Datagram Protocol),中文意思是用户数据报协议,方式类似于发短信息,是一种物美价廉的通讯方式,使用该种方式无需建立专用的虚拟连接,由于无需建立专用的连接,所以对于服务器的压力要比TCP小很多,所以也是一种常见的网络编程方式。但是使用该种方式最大的不足是...
Java编程那些事儿106——网络编程技术5

Java编程那些事儿106——网络编程技术5

Java编程那些事儿106——网络编程技术52010-03-20 csdn 陈跃峰该示例的功能是实现将客户端程序的系统时间发送给服务器端,服务器端接收到时间以后,向客户端反馈字符串“OK”。实现该功能的客户端代码如下所示:package udp;import java.net.*;import java.util.*;/*** 简单的UDP客户端,实现向服务器端发生系统时间功能*/public class SimpleUDPClie...
Java编程那些事儿107——网络协议概念

Java编程那些事儿107——网络协议概念

Java编程那些事儿107——网络协议概念2010-03-20 csdn 陈跃峰13.2.5 网络协议对于需要从事网络编程的程序员来说,网络协议是一个需要深刻理解的概念。那么什么是网络协议呢?网络协议是指对于网络中传输的数据格式的规定。对于网络编程初学者来说,没有必要深入了解TCP/IP协议簇,所以对于初学者来说去读大部头的《TCP/IP协议》也不是一件很合适的事情,因为深入了解TCP/IP协议是网络编程提高阶段,也是深入网络编程底层时才需要做的事情。对于...
<< 341 342 343 344 345 346 347 348 349 350 >>