- 博客(17)
- 收藏
- 关注
原创 Java转换流,OutputStreamWriter,InputStreamReader, 练习:转换文件编码
1、编码引出的问题:FileReader读取GBK格式的文件FileReader可以读取IDE默认编码格式(UTF-8)的文件FileReader读取系统默认编码(GBK)会产生乱码代码演示:import java.io.FileReader;import java.io.IOException;public class Demo01FileReader { public static void main(String[] args) throws IOException {
2020-11-25 10:29:33 322
原创 Java Properties集合,字节缓冲输出流,字节缓冲输入流,字符缓冲输出流,字符缓冲输入流
1、Properties集合java.util.Properties集合 extends Hashtable<k, v> implements Map<k, v>Properties 类表示了一个持久的属性集。Properties可保存在流中或从流中加载。Properties集合是一个唯一与IO流相结合的集合可以使用Properties集合中的方法store,把集合中的临时数据,持久化写入到硬盘中存储可以使用Properties集合中的方法Load,把硬盘中保存的文件(键值
2020-11-18 16:27:41 201
原创 Java IO流异常处理,JDK1.7之前的异常处理,JDK1.7版本的异常处理,JDK1.9版本的异常处理
1、JDK1.7之前的异常处理在jdk1.7之前使用try catch finally处理流中的异常格式: try{ 可能会产生异常的代码 }catch(异常类变量 变量名){ 异常的处理逻辑}finally{ 一定会指定的代码 释放资源}代码演示:import java.io.FileWriter;import java.io.IOException;public class Demo01IoException { public static void ma
2020-11-11 10:39:54 185
原创 Java IO流,字节输入输出流,字节输出流的续写与换行,文件复制,字符输入输出流,字符输出流的续写和换行。
1、IO流Input输入(读取)Output输出(写入)InputStream 字节输入流OutputStream 字节输出流Reader 字符输入流Writer 字符输出流2、字节流一切皆为字节:一切文件数据(文本。图片,视频)在存储时,都是以二进制数字形式保存,都一个一个的字节,那么传输时一样如此。所以,字节流可以传输任意文件数据。在操作流的时候,我们要时刻明确,无论使用什么样的流对象,底层传输的始终为二进制数据。字节输出流:java.io.OutputStream:字节输出流,此抽
2020-11-10 20:17:45 487 1
原创 Java 方法的递归,递归求前n项和,求阶乘,递归打印多级目录,文件搜索,FileFilter过滤器的原理与使用。
1、递归的概述递归:指在当前方法内调用自己的这种现象分类:直接递归:方法 自身调用自己间接递归:A方法调用B方法,B方法调用C方法,C方法调用A方法。
2020-11-08 17:44:46 401
原创 Java File类,绝对路径和相对路径,File类的构造方法,File类获取功能的方法,File类判断功能的方法,File类创建删除功能的方法,File类遍历(文件夹)目录功能。
1、File类java.io.File类是文件和目录路径名的抽象表示,主要用于文件和目录的创建,查找和删除等操作。Java把电脑中的文件和文件夹(目录)封装为了一个File类,我们可以使用File类对文件和文件夹进行操作:创建一个文件/文件夹,删除文件/文件夹,获取文件/文件夹,判断文件/文件夹是否存在,对文件夹进行遍历,获取文件的大小。File类是一个与系统无关的类,任何的操作系统都可以使用这个类中的方法重点:记住三个单词file:文件directory:文件夹/目录path:路径impo
2020-11-08 14:49:29 6922 1
原创 Java 线程池,线程池的代码实现。
1、线程池线程池就是一个容器,里面放置的是多个线程。其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多资源。当程序第一次启动的时候,创建多个线程,保存到一个集合中,当我们想要使用线程的时候,就可以从集合中取出线程来使用,使用完毕之后,需要把线程归还给线程池。2、线程池的代码实现java.util.concurrent.Executors 线程池的工厂类,可以生产线程池Executors类中的静态方法static ExecutorService...
2020-11-07 13:52:12 749
原创 java 线程安全问题,解决线程安全问题——同步代码块,同步方法,Lock锁,Object类中wait方法,notify方法。等待唤醒案例。
1、线程安全问题线程出现安全问题的代码:/* 实现卖票案例 */public class RunnableImpl implements Runnable{ //定义一个多个线程共享的票源 private int ticket = 100; //设置线程任务:卖票 @Override public void run() { //使用死循环,让买票操作重复执行 while (true) { //先
2020-11-06 23:59:31 819 2
原创 Java并发与并行,线程与进程,创建多线程的程序——Thread类的子类,实现Runnable接口,Thread类的常用方法,匿名内部类方式实现线程的创建。
1、并发与并行,线程与进程并发:指两个或多个时间在同一个时间段内发生(交替执行)并行:指两个或多个事件在同一时刻发生(同时发生)(同时执行)进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程;系统运行一个程序即是一个进程从创建、运行到消亡的过程。线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程,一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序简而言之:一个程序运行后至少
2020-11-05 18:20:46 502
原创 Java Finally代码块,多异常的捕获处理,finally里面有return,子父类异常,自定义异常类以及小练习。
1、Finally代码块finally代码块格式:try{可能产生异常的代码}catch(定义一个异常的变量,用来接收try中抛出的异常对象) {异常的处理逻辑,产生异常对象之后,怎么处理异常对象一般在工作中,会把异常的信息记录到一个日志中}…catch(异常类名 变量名){}finally{无论是否出现异常都会执行}注意:1、finally不能单独使用,必须和try一起使用2、finally一般用于资源释放(资源回收),无论程序是否出现异常,最后都要资源释放代码演示:i
2020-11-04 23:01:08 238
原创 Java异常的概念,体系,处理异常的几种方法throw,Objects类的静态方法,throws,try...catch,Throwable。
1、异常概念异常:指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。java处理异常的方式是中断处理。异常指的并不是语法错误,语法错了,编译不通过,不会产生字节码文件,根本不能运行。2、异常体系3、异常分类java.lang.Throwable:类是java语言中所有错误或异常的超类Exception:编译器异常,进行编译(写代码)java程序运行过程中出现的问题Run
2020-11-04 18:00:51 355
原创 Java Debug追踪,斗地主案例的简单实现
1、Debug追踪Debug调试程序:可以让代码逐行执行,查看代码执行的过程,调试程序中出现的bug。使用方式:在行号的右边,鼠标左键单击,添加断点(初学可以添加到每个方法的第一行,熟练之后哪里有bug添加到哪里)右键,选择Debug执行程序,程序就会停留在添加的第一个断点处执行程序:F8:逐行执行程序F7:进入到方法中shift + F8:跳出方法F9:跳到下一个断点,如果没有下一个断点就结束程序Ctrl + F2:退出Debug模式Console:切换到控制台2、斗地主案例的简
2020-11-03 23:22:19 138
原创 Java Map集合,Map接口的常用方法,Map集合的遍历,Entry键值对对象,HashMap存储自定义类型的键值,LinkedHashMap,HashTable,计算字符在字符串中出现的次数。
1、Map集合java.util.Map<key, value>集合Map集合的特点:1、Map集合是一个双列集合,一个元素包含两个值(key, value)2、Map集合中的元素,key和value的数据类型可以相同,也可以不同3、Map集合中的元素,key是不允许重复的,value是可以重复的4、Map集合中的元素,key和value是一 一对应的。2、Map常用子类----HashMap,LinkedHashMapjava.util.HashMap<key, valu
2020-11-03 18:18:23 560
原创 Java可变参数,Collection集合工具类,shuffle方法,Collections.sort方法
1、可变参数可变参数:是JDK1.5之后出现的新特性使用前提:当方法的参数列表数据类型已经确定,但是参数的个数不确定,就可以使用可变参数。使用格式:定义方法时使用修饰符 返回值类型 方法名(数据类型…变量名){ }可变参数的原理:可变参数底层就是一个数组,根据传递参数个数不同,会创建不同长度的数组,来存储这些参数。传递的参数个数,可以是0个(不传递)1,2,3,4…多个代码举例:public class Demo01VarArgs { public static void main
2020-11-02 22:25:15 218
原创 Java Set接口,HashSet集合
1、Set接口java.util.Set接口 extends Collection接口Set接口特点:1、不允许存储重复的元素2、没有索引,没有带索引的方法,也不能使用普通的for循环遍历2、HashSet集合java.util.HashSet集合 implements Set接口HashSet特点:1、不允许存储重复的元素2、没有索引,没有带索引的方法,也不能使用普通的for循环遍历3、是一个无序的集合,存储元素和取出元素的顺序有可能不一致。4、底层是一个哈希表结构(查询的速度非常的
2020-11-02 15:05:56 117
原创 Java List接口,List集合常用方法,LinkedList集合常用方法,Vector集合。
1、List接口介绍java.util.list接口继承自Collection接口,是单列集合的一个重要分支,习惯性地会将实现了List接口的对象成为List集合。在List集合中允许出现重复的元素,所有元素是以一种线性方式进行存储的,在程序中可以通过索引来访问集合中的指定元素。另外,List集合还有一个特点就是元素有序,即元素的存入顺序和取出顺序是一致的。List接口特点:1、它是一个元素存取有序的集合。例如,存元素的顺序是11,22,33。那么集合中,元素的存储就是按照11,22,33的顺序完成的
2020-11-01 23:24:34 135
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人