自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 收藏
  • 关注

原创 学习博客:线程池简单应用

线程池简单应用//JDK5新增了一个Executors工厂 类来产生线程池,有如// 下几个方法//public static ExecutorService newCachedThreadPool() 创造一个具有缓冲区的线程池//public static ExecutorService newFixedThreadPool(int nThreads)// 创造多个线程池,多个取决n//public static ExecutorSenvice newSingleThreadE

2020-07-31 22:16:39 89

原创 学习博客:卖包子案例封装改进版

没啥说的就是上一次的包子铺案例加入了封装,还把方法简化了下。package cn.zsp.thread_05;//wait() ; / /使用了wait就等待了。立即释放锁。将来醒过来的时候,是从这里醒过来的时候public class BaoZiDemo { public static void main(String[] args) { BaoZiType baozi= new BaoZiType(); ConsumeBaozi1 b1= new ConsumeBaozi

2020-07-31 21:34:50 127

原创 学习博客:线程的等待唤醒机制---卖包子案例

//wait() ; / /使用了wait就等待了。立即释放锁。将来醒过来的时候,是从这里醒过来的时候// b.notify(); 唤醒线程的方法主方法:package cn.zsp.thread_03;//wait() ; / /使用了wait就等待了。立即释放锁。将来醒过来的时候,是从这里醒过来的时候public class BaoZiDemo { public static void main(String[] args) { BaoZiType baozi= new Ba

2020-07-31 20:14:46 84

原创 学习博客:死锁案例

为了更加了解死锁,所以索性写一个死锁。 同步的弊端:A:效率低B :容易产生死锁死锁:两个或两个以上的线程在争夺资源的过程中,发生的- -种相互等待的现象。举例:中国人,美国人吃饭案例。正常情况:中国人:筷子两支美国人:刀和叉现在:中国人:筷子1支,刀一把美国人:筷子1支,叉一把package cn.zsp.thread_02;public class DieLock implements Runnable { public boolean flag; .

2020-07-31 14:56:09 160

原创 学习博客:线程安全锁lock

//虽然我们可以理解同步代码块和同步方法的锁对象问题,但是我们并没有直接看到在哪里加上了锁,在哪里釋放了锁,// 为了更清晰的表达如何加锁和释放锁, JDK5以后提供了一个新的锁对象Lock.// Lock:// void lock() :获职锁。// void unlock() :释放锁。// ReentrantLock是Loc k的实现类package cn.zsp.thread_01;import java.util

2020-07-31 14:09:42 130

原创 学习博客:同步代码锁的对象

同步代码锁的对象//A :同步代码块的锁对象是谁呢?// 任意对象。// B:同步方法的格式及锁对象问题?// 把同步关键字加在方法上。// 同步方法是谁呢?// this// C :静态方法及锁对象问题?// 静态方法的锁对象是谁呢?// 类的字节码文件对象。(反射会讲 )package threadstudy_08;//A :同步代码块的锁对象是谁呢?//

2020-07-31 02:06:41 312

原创 学习博客:解决卖票案例的线程安全问题

因为网络存在时延,所以我们的卖票程序很容易在判断的时候同时跑过两个线程从而导致一张票卖两次,所以我们这里来解决下线程安全问题。同步代码块:synchronized (对象) {需要同步的代码;}A:对象是什么呢?我们可以随便创建一一个对象试试。B :需要同步的代码是哪些呢?把多条语句操作共享数据的代码的部分给包起来注意:同步可以解决安全问题的根本原因就在那个对象上。该对象如同锁的功能。多个线程必须是同一把锁。package threadstudy_07;//某电影院目前正在上映贺岁

2020-07-31 01:48:13 111

原创 学习博客:多线程卖票案例

//某电影院目前正在上映贺岁大片(红高粱,少林寺传奇藏经阁) ,// 共有100张票,而它有3个售票窗口售票,// 请设计一个程序模拟该电影院售票。// 继承Thread类来实现。package threadstudy_07;//某电影院目前正在上映贺岁大片(红高粱,少林寺传奇藏经阁) ,// 共有100张票,而它有3个售票窗口售票,// 请设计一个程序模拟该电影院售票。// 继承Thread类来实现。pu

2020-07-31 00:57:51 218

原创 学习博客:多线程的创建----方法2

//方式2 :实现Runnable接口// 步骤:// A:自定义类MyRunnable实现Runnable接口// B:重写run()方法// C :创建MyRunnabl e类的对象// D:创建Threa d类的对象,并把C步骤的对象作为构造参数传递package threadstudy_06;//方式2 :实现Runnable接口// 步骤:// A:自定义类MyRunnable实现R

2020-07-31 00:24:13 57

原创 学习博客:线程中断线程

线程中断线程//public void interrupt () :中断线程。把线程的状态终止,并抛出-一个InterruptedException继承线程的类:package threadstudy_05;import java.util.Date;public class MyThread extends Thread{ @Override public void run() { try { Thread.sleep(10000);

2020-07-31 00:13:49 50

原创 学习博客:线程常用方法一

////public static void sleep(long millis)线程休眠//public final void join() :等待该线程终止。//public static void yield() :暂停当前正在执行的线程对象,并执行其他线程。// 让多个线程的执行更和谐,但是不能靠它保证一人一次。继承线程的类:package threadstudy_03;import java.util.Date;public class MyThread exten

2020-07-30 23:00:57 73

原创 学习博客:线程优先级

//我们的线程没有设置优先级,肯定有默认优先级。// 那么,默认优先级是多少呢?// 如何获取线程对象的忧先级?//public final int getPriority() :返回线程对象的优先级// 如何设置线程对象的忧先级呢?//public final void setPriority(int newPriority) :更改线程的优先级。// 注意:// 线程默认优先级是5.// 线程优先级的范围

2020-07-30 22:05:01 113

原创 学习博客:多线程的创建---方法1

多线程的初步使用想要用多线程首先定义一个类,然后类里面要继承Thread,再者去重写run方法。就可以了,在主方法记得使用的是对象的start方法。创造的类:package threadstudy_01;//如何获取线程对象的名称呢?//public final String getName () :获取线程的名称。// 如何设置线程对象的名称呢?//public final void setName (String name) :设置线程的名称public class MyT

2020-07-30 21:41:20 72

原创 学习博客:用Properties和集合写一个猜字游戏的付费功能

//我有一个猜数字小游戏的程序,请写一个程序实现在测试类中只能用5次,超过5次提示:游戏试玩已结束,请付费。主代码:package cn.study_11;import java.io.*;import java.util.Properties;//我有一个猜数字小游戏的程序,请写一个程序实现在测试类中只能用5次,超过5次提示:游戏试玩已结束,请付费。public class GuessGameDemo { public static void main(String[] args)

2020-07-30 14:43:22 98

原创 学习博客:Properties和I/O的操作

Properties :属性集合类。是一个可以和IO流相结合使用的集合类。Properties可保存在流中或从流中加载。 属性列表中每个键及其对应值都是一个字符串。是Hashtable的子类,说明是一-个Map集合。这里的集合必须是Properties集合:public void load (Reader reader) : 把文件中的数据读取到集合中public void store (Writer writer, String comments) :把集合中的数据存储到文件package c

2020-07-30 13:32:43 103

原创 学习博客:Properties的使用

//Properties:属性集合类。是一个可以和工O流相结合使用的集合类。// Properties可保存在流中或从流中加载。 属性列表中每个键及其对应值都是一个字符串。// ,是Hashtable的子类,说明是一-个Map集合。package cn.study_09;import java.util.Properties;import java.util.Set;//Properties:属性集合类。是一个可以和工O流相结合使用的集合类。// P

2020-07-30 00:06:36 70

原创 学习博客:序列化流---存储对象的I/O

序列化流—存储对象的I/O//序列化流:把对象按照流一样的方式存入文本文件或者在网络中传输。// 对象–流数据 (objectOutputStream)// 反序列化流:把文本文件中的流对象数据或者网络中的流对象数据还原成对象。// 流数据–对象(ObjectInputStrear//NotSeriali zableException:未序列化异常// 类通过实现java. io. Serializable接口以启用其序列化功能。

2020-07-29 23:39:54 157

原创 学习博客:合并流合并多个文件写入数据

合并流合并多个文件写入数据//需求:把下面的三个文件的内容复制到Copy. java中// ByteArraySt reamDemo. java, CopyFileDemo. java, DataStreamDemo. java// Sequence InputStream (Enumeration e)//通过简单的回顾我们知道 了Enumerati on是Vector中的一个方法的返回值类型。// Enumeration elements ()package cn.study_07;im

2020-07-29 22:13:11 143

原创 学习博客:随机留写入和读出数据

随机留写入和读出数据//public RandomAccessFile (String name, String mode) :// RandomAccessFile raf =new RandomAccessFile(“random.txt”,“rw”);//rw表示可以读写 r表示只读package cn.study_05; import java.io.IOException;import java.io.RandomAccessFile;//public RandomAc

2020-07-29 20:11:08 178

原创 学习博客:随机流输入和输出

随机流输入和输出//public RandomAccessFile (String name, String mode) :// RandomAccessFile raf =new RandomAccessFile(“random.txt”,“rw”);//rw表示可以读写 r表示只读package cn.study_05;import java.io.IOException;import java.io.RandomAccessFile;//public RandomAccessFil

2020-07-29 19:51:47 129

原创 学习博客:自己包装输出和输入方法

自己包装输出和输入方法没啥说的,就用 BufferedReader包装以前我们学过的System.out.和in方法来输入和输出:package cn.study_04;import java.io.*;public class SystemDemo { public static void main(String[] args) throws IOException { BufferedReader br=new BufferedReader(new InputStre

2020-07-29 19:34:43 137

原创 学习博客:用打印流来进行文件读写复制

用打印流来进行文件读写复制//需求: DataStreamDemo . j ava复制到Copy. java中// 数据源:// DataStreamDemo. java --读职数据 – FileReader – BufferedReader// 目的地:// Copy.java --写出数据一一FileWriter – BufferedWriter – Printwriterpackage cn.study_03;import ja

2020-07-29 17:56:54 117

原创 学习博客:打印流自动刷新方法使用

//1 :可以操作任意类型的数据。// print ()// println()// 2:启动自动刷新// Printwriter pW = new Printwriter (new Filewriter (“pw2.txt”),true) ;// 还是应该调用println ()的方法才可以// 这个时候不仅仅自动刷新了,还实现了数据的換行。// println()// 其实等价

2020-07-29 17:22:39 508

原创 学习博客:打印流概述及简单方法应用

打印流概述及简单方法应用打印流宇节流打印流PrintStream字符打印流Printwriter打印流的特点:A:只有写数据的,没有读取数据。只能操作目的地,不能操作数据源。B:可以操作任意类型的数据。C:如果启动了自动刷新,能够自动刷新。D:该流是可以直按操作文本文件的。哪些流对象是可以直接操作文本文件的呢?FileInputStreamFi leOutputStreamFileReaderFileWriterPrintstreamPrintwriter看API,查流对

2020-07-29 17:18:01 131

原创 学习博客:常见内存操作流的使用

常见内存操作流的使用//内存操作流:用于处理临时存储信息的,程序结束,数据就从内存中消失。// 字节数组:// ByteArrayInputStream// ByteArrayOutputStream// 字符数组:// CharArrayReader// CharArraywriter// 字符串:// StringReader// StringWriterp

2020-07-29 16:50:39 106

原创 学习博客:DataInputstream的使用

//可以读写基本数据类型的数据// 数据输入流: DataInputStream// DataInputstream (InputStream in)// 数据输出流: Da taOutputStream// DataOutputStream (OutputStream out )package cn.study_01;import java.io.*; public class DateStreamDemo { publi

2020-07-29 16:45:59 4077

原创 学习博客:I/O改进登陆注册案例

I/O改进登陆注册这个是我当时学完集合的登陆注册版本:https://editor.csdn.net/md/?articleId=107515089今天我们来用I/O改进下,主要就是把信息写入文件然后实现用户信息存储并且调取使用:这是用户实现类接口:package cn.zsp.dao;import cn.zsp.pojo.User;/** * 这个是一个接口,告诉我们用户实现类要实现的基本功能 * @author zsp * @version v1.1 * 现在这个是I/O文件

2020-07-29 15:47:51 92

原创 学习博客:自定义模拟LineNumberReader

自定义模拟LineNumberReader//BufferedReader// | - - LineNumberReader//public int getLineNumber ()获得当前行号。//public void setLineNumber (int lineNumber )代码如下:package cn.zsp.io_study13;import java.io.IOException;import java.io.Reader;public class My

2020-07-28 19:55:58 84

原创 学习博客:用Reader模拟BufferedReader的功能

用Reader模拟BufferedReader的readLine ()功能readLine() :一次读取一行,根据换行符判断是否结束,只返回内容,不返回换行符代码如下:package cn.zsp.io_study11;import java.io.IOException;import java.io.Reader;// 用Reader模拟BufferedReader的readLine ()功能// readLine() :一次读取一行,根据换行符判断是否结束,

2020-07-28 19:52:09 139

原创 学习博客:将学生类存入文档

//键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成缋),按照总分从高到低存入文本文件// 分析:// A:创建学生类// B:创建集合对象// TreeSet//C:键盘录入学生信息存储到集合// D:遍历集合,把数据写到文本文件student类:package cn.zsp.io_study09;//键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成缋),按照总分从高到低存入文本文件//

2020-07-27 23:57:21 168

原创 学习博客:递归复制多级文件

递归复制多级文件需求:复制多极文件夹数据源: D:\java项目\普通攻击目的地: D:\example\test分析:A:封装数据源File IB:封装目的地FileC:判断该File是文件夹还是文件a:是文件夹就在目的地目录下创建该文件夹b:是文件就复制(字节流)不容易 ,今天终于搞清楚递归了~~~package cn.zsp.io_study08;import java.io.*;//需求:复制多极文件夹// 数据源: E: \JavaSE\day21\

2020-07-27 22:54:02 62

原创 学习博客:复制文件并且改后缀

复制文件并且改后缀需求:复制单极文件夹// 数据源: D:\java项目\普通攻击// 目的地: D:\example\test// 分析:// A:封装目录// B :获取该目录下的所有文本的File数组// C:遍历该File数组,得到每个File对象// D :把该File进行复制package cn.zsp.io_study07;import java.io.*;//需求:复制

2020-07-27 22:04:37 115

原创 学习博客:从集合存取文件中的字符串

从集合存取文件中的字符串//从文本文件中读取数据(每-一行为一一个字符串数据)到集合中,并遍历集合// 通过题目的意思我们可以知道如下的-些内容,// 数据源是一个文本文件。// 目的地是一个集合。// 而且元素是字符串。package cn.zsp.io_study06;import java.io.BufferedReader;import java.io.FileReader;import java.io.IOExceptio

2020-07-27 21:05:03 110

原创 学习博客:4种字节流复制图片方法

4种字节流复制图片方法复制图片分析:复制数据,如果我们知道用记事本打开并能够读懂,就用字符流,否则用字节流。通过该原理,我们知道我们应该采用字节流。而字节流有4种方式,所以做这个题目我们有4种方式。推荐掌握第4种。数据源:c: \a.jpg 一- FileInputStream – BufferedInputStream目的地:d:\b.jpg – FileOutputStream – BufferedoutputStream代码如下:package cn.zsp.io_study05

2020-07-27 20:42:57 217

原创 学习博客:5种字符流复制文本文件

5种字符流复制文本文件//复制文本文件// 分析:// 复制数据,如果我们知道用记事本打开并能够读懂,就用字符流。否则用字节流。// 通过该原理,我们知道我们应该采用字符流更方便一些。// 而字符流有5种方式,所以做这个题目我们有5种方式。推荐掌握第5种。// 数据源:// ::\a.txt – FileReader – BufferdReader// 目的地:// d: \b.

2020-07-27 20:20:38 97

原创 学习博客:用I/O的八种方法复制文件

这也不知道为什么,时间是一样的,但是就是写了四种。。。//需求:把e: \ \笔记.doc复制到当前项目目录下的copy .doc中// 字节流四种方式复制文件:// 基本字节流-次读写一个字节:// 基本字节流-次读写一个字节数组:// 高效字节流-次读写一个字节:// 高效字节流一次读写一个字节数组:代码如下:import java.io.*;//需求:把e: \ \笔记.doc复制到当前项目目录下的copy .do

2020-07-26 22:51:00 139

原创 学习博客:I/O缓冲区Buffered类的使用

I/O缓冲区Buffered类的使用通过定义数组的方式确实比以前一-次读取-一个字节的方式快很多,所以,看来有一个缓冲区还是非常好的。既然是这样的话, 那么,java开始在设计的时候,它也考虑到了这个问题,就专门提供了带缓冲区的字节类。这种类被称为:缓)冲区类(高效类)写数据: Buffe redoutputstream读数据: BufferedInputStream构造方法可以指定缓冲区的大小,但是我们一-般用不上,因为默认缓冲区大小就足够了。为什么不传递一一个具体的文件或者文件路径,而是传

2020-07-26 21:38:08 87

原创 学习博客:I/O字节流复制文件到另一个目录

I/O字节流复制目录下文件到另一个目录:效果图如下:具体代码:package RecursiveDemo06;import java.io.*;public class CopyFileDemo { public static void main(String[] args) { File fis =new File("D:\\新建文件夹 (2)\\新建文件夹\\普通攻击"); try { copyFile(fis);

2020-07-26 15:55:22 144

原创 学习博客:I/O创建文件并且写入

I/O创建文件并且写入方法 FileOutputStream file=new FileOutputStream("");会在文件里查找目录文件,如果没有就创建、代码如下:package IO_study01;import javax.swing.*;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class FileOutpu

2020-07-26 01:32:34 106

原创 学习博客:I/O递归删除文件夹

推荐别瞎玩,删除的进不了回收站,是直接清除。。。package RecursiveDemo02;import java.io.File;public class RecursiveDemo { public static void main(String[] args) { File file =new File("D:\\example\\新建文件夹"); deleteFile(file); } public static void de

2020-07-26 00:48:08 67

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除