摘要: 线程安全 如果有多个线程在同时运行,而这些线程可能会同时运行这段代码。 程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。 案例: 卖票(只能卖100张票) 初始: 结果: 运行结果发现:上面程序出现了问题 票出现了重复的票 错误的票 0、-1 总结: 阅读全文
posted @ 2018-08-30 11:49 大树* 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 线程池 概念: 线程池,其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多资源。 使用线程池方式--Runnable接口 通常,线程池都是通过线程池工厂创建,再调用线程池中的方法获取线程,再通过线程去执行任务方法。 步骤: 1、Execu 阅读全文
posted @ 2018-08-30 10:38 大树* 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 多线程 概念: 什么是多线程: 一个程序中有多个线程在同时执行。 什么是进程: 进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。 什么是线程: 线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。 阅读全文
posted @ 2018-08-29 11:43 大树* 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 一、打印流 1. 打印流的概述 打印流添加输出数据的功能,使它们能够方便地打印各种数据值表示形式. 打印流根据流的分类: (1)字节打印流 PrintStream (2)字符打印流 PrintWriter 方法: void print(String str): 输出任意类型的数据, void pri 阅读全文
posted @ 2018-08-27 11:46 大树* 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 一、 Properties类 1、 Properties类介绍 Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。 特点: (1)、Hashtable的子类,map集合中的方法都可以用。 (2)、该集合没有泛型。 阅读全文
posted @ 2018-08-27 11:33 大树* 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 一、转换流 1、 OutputStreamWriter类 属于字符输出流,OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的字符编码表,将要写入流中的字符编码成字节。它的作用的就是,将字符串按照指定的编码表转成字节,在使用字节流将这些字节写出去。 代码演示:输出为utf-8 阅读全文
posted @ 2018-08-27 08:21 大树* 阅读(444) 评论(0) 推荐(1) 编辑
摘要: 一、字节流: IO异常的处理 代码实现: 1、字节输出流OutputStream OutputStream此抽象类,是表示输出字节流的所有类的超类。操作的数据都是字节,定义了输出字节流的基本共性功能方法。 输出流中定义都是写write方法,如下图: OutputStream有很多子类,其中子类Fil 阅读全文
posted @ 2018-08-23 17:02 大树* 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 一、递归的概述 递归,指在当前方法内调用自己的这种现象。递归分为两种,直接递归和间接递归。直接递归称为方法自身调用自己。间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法。 二、递归打印所有子目录中的文件路径 三、搜索指定目录中的.java文件(含子目录) 自定义类继承FileFilt 阅读全文
posted @ 2018-08-20 16:50 大树* 阅读(207) 评论(0) 推荐(0) 编辑
摘要: IO概述 回想之前写过的程序,数据都是在内存中,一旦程序运行结束,这些数据都没有了,等下次再想使用这些数据,可是已经没有了。那怎么办呢?能不能把运算完的数据都保存下来,下次程序启动的时候,再把这些数据读出来继续使用呢?其实要把数据持久化存储,就需要把内存中的数据存储到内存以外的其他持久化设备(硬盘、 阅读全文
posted @ 2018-08-20 16:40 大树* 阅读(246) 评论(0) 推荐(0) 编辑
摘要: JDBC概述 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。是Java访问数据库的标准规范 JDBC提供了一种基准,据此可以构建更高级的工具 阅读全文
posted @ 2018-08-20 10:48 大树* 阅读(180) 评论(0) 推荐(0) 编辑