- 博客(11)
- 收藏
- 关注
原创 Day19 Thread2(线程安全、Lock接口、守护线程、线程池)
1、线程安全为什么会出现线程安全问题?需求:A线程将“Hello”存入数组;B线程将“World”存入数组。线程不安全:当多线程并发访问临界资源时,如果破坏原子操作,可能会造成数据不一致。临界资源:共享资源(同一对象),一次仅允许一个线程使用,才可保证其正确性。原子操作:不可分割的多步操作,被视作一个整体,其顺序和步骤不可打乱或缺省。1.1 解决线程安全问题-同步锁同步锁的关键词是synchronized。有两种方式1.同步代码块:在同一个时间里只允许一条线程进入同步代码块,当
2020-12-12 11:46:06
113
原创 Day18 IO流(打印流、随机访问流)、线程、作业车站售票
IO流总结:1、打印流1.1PrintStream和PrintWriterpackage Day18_IO3.print;/* * @author pyh * @date 2020/12/9 0009 上午 9:58 * @version 1.0 * @since JDK1.8_241 * 打印流 * PrintStream:打印字节流 * PrintWriter:打印字符流 */import org.junit.Test;import
2020-12-12 11:45:34
133
1
原创 Day17 IO流2(缓冲流、对象流、转换流、内存流)
1、缓冲流IO流:基础流(节点流):直接与磁盘交互包装流(处理流):通过缓冲区进行读写操作,针对节点流进行包装1.1 带缓冲区的字节流缓冲流:BufferedOutputStream/BufferedInputStream提高IO效率,减少访问磁盘的次数。数据存储在缓冲区中,flush是将缓存区的内容写入文件中,也可以直接close。package Day17.Day17_IO2.buffered;/* * IO流: * 基础流(节点流):直接与磁盘交
2020-12-12 11:44:36
89
原创 Day16 File、IO流1
1、File1.1File的基本用法概念:代表物理盘符中的一个文件或者文件夹。常见方法:方法名描述createNewFile()创建一个新文件。mkdir()创建一个新目录。delete()删除文件或空目录。exists()判断File对象所对象所代表的对象是否存在。getAbsolutePath()获取文件的绝对路径。getName()取得名字。getParent()获取文件/目录所在的目录。isDirectory()
2020-12-12 11:43:34
62
原创 Day14 Set集合、Collections工具类、Queue
1、Set集合1.1 Set接口特点:无序、无下标、元素不可重复。方法:全部继承自Collection中的方法。使用foreach循环遍历:for(数据类型 局部变量 : 集合名){//循环内部的局部变量,代表当次循环从集合中取出的对象}案例演示:使用Set接口保存数据。public class Demo1 { public static void main(String[] args) { //创建集合 Set<String> set=new HashSet&l
2020-12-03 20:53:41
86
原创 Day13 数组扩容、List实现类、泛型
1、数组扩容package com.qf.pan.list;/* * @author pyh * @date 2020/12/2 0002 上午 9:57 * @version 1.0 * @since JDK1.8_241 数组扩容 有三种方式: ① int[] arr2=new int[arr1.length*2] //新数组长度 for(int i=0;i<arr1.length;i++){ //复制
2020-12-02 20:33:15
136
原创 Day12常用类、正则表达式
1、包装类1.1 概述基本数据类型所对应的引用数据类型。Object可统一所有数据,包装类的默认值是null。基本数据类型包装类byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean1.2 装箱、拆箱八种包装类提供不同类型间的转换方式。Number父类中提供的6个共性方法。parse
2020-12-01 20:55:33
99
原创 Day_11 内部类、接口回调、异常
1、内部类1.1 内部类的分类成员内部类(实例内部类)静态内部类局部内部类匿名内部类1.2 什么是内部类概念:在一个类的内部再定义一个完整的类。特点:编译之后可生成独立的字节码文件。内部类可直接访问外部类的私有成员,而不破坏封装。可为外部类提供必要的内部功能组件。1.3 成员内部类(实例内部类)在类的内部定义,与实例变量、实例方法同级别的类。外部类的一个实例部分,创建内部类对象时,必须依赖外部类对象。Outer out = new Outer();Ou
2020-11-30 19:10:08
122
原创 Java 内存分析(栈、堆、方法区)
内存分析首先需要明白以下几点:栈空间(stack),连续的存储空间,遵循后进先出的原则,用于存放局部变量。堆空间(heap),不连续的空间,用于存放new出的对象,或者说是类的实例。方法区(method),方法区在堆空间内,用于存放①类的代码信息;②静态变量和方法;③常量池(字符串敞亮等,具有共享机制)。Java中除了基本数据类型,其他的均是引用类型,包括类、数组等等。数据类型的默认值基本数据类型默认值:数值型:0浮点型:0.0布尔型:false字符型:\u0000引用类型:null
2020-11-27 20:15:48
201
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人