Java学习
文章平均质量分 84
布谷~dwb
远方有诗,更有苟且
展开
-
Java线程安全
目录synchronized同步代码块同步方法Lock锁多线程的安全性问题-可见性多线程的安全性问题-有序性多线程的安全性问题-原子性synchronizedsynchronized关键字:表示“同步”的。它可以对“多行代码”进行“同步”——将多行代码当成是一个完整的整体,一个线程如果进入到这个代码块中,会全部执行完毕,执行结束后,其它线程才会执行。这样可以保证这多行的代码作为完整的整体,被一个线程完整的执行完毕。synchronized被称为“重量级的锁”方式,也是“悲观锁”——效率比较低。sy原创 2022-02-13 23:16:14 · 8252 阅读 · 0 评论 -
缓冲流&转换流&序列换流
目录前言缓冲流转换流序列化流序列化:反序列化序列化的注意事项反序列化的注意事项打印流commons-io工具包前言Java——IO流基础缓冲流字节缓冲流:BufferedInputStream,BufferedOutputStream字符缓冲流:BufferedReader,BufferedWriter缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。(用法和FileInputStream相差不多)// 创建字节原创 2022-02-13 19:00:00 · 5771 阅读 · 0 评论 -
Java——线程基础
目录多线程并发与并行进程线程进程与线程的区别线程调度Thread类Thread类的构造方法创建线程Thread类的常用方法创建线程方式一_继承方式创建线程的方式二_实现方式Thread和Runnable的区别匿名内部类方式多线程并发与并行并行:指两个或多个事件在同一时刻发生(同时执行)。并发:指两个或多个事件在同一个时间段内发生(交替执行)。注意:单核处理器的计算机肯定是不能并行的处理多个任务的,只能是多个任务在单个CPU上并发运行。同理,线程也是一样的,从宏观角度上理解线程是并行运行的,但是原创 2022-02-12 18:00:00 · 6071 阅读 · 0 评论 -
Java——IO流基础
目录IO流IO的概述IO的分类体系图字节流字节输出流【OutputStream】OutputStream类的概述OutputStream类的常用方法FileOutputStream类FileOutputStream类的概述FileOutputStream类的构造方法文件是否存在FileOutputStream类的写出数据数据追加续写写出换行字节输入流【InputStream】InputStream类的概述InputStream类的常用方法FileInputStream类FileInputStream类的概述原创 2022-02-11 20:51:35 · 6024 阅读 · 0 评论 -
Java——Stream流基础应用
目录获取流方式常用方法forEach : 逐一处理count:统计个数filter:过滤获取流方式根据Collection获取流Collection接口中有一个stream()方法,可以获取流 , default Stream stream():获取一个Stream流通过List集合获取:通过Set集合获取根据Map获取流使用所有键的集合来获取流使用所有值的集合来获取流使用所有键值对的集合来获取流根据数组获取流Stream接口,表示流,泛型T是用来限制流中元素的类型Stre原创 2022-02-11 15:05:27 · 5959 阅读 · 0 评论 -
Java——Lambda表达式
目录前言函数式编程思想概述Lambda表达式的格式Lambda的前提条件Lambda的表现形式Lambda表达式省略格式前言Lambda表达式简化程序代码。函数式编程思想概述函数编程思想函数式思想则尽量忽略面向对象的复杂语法——强调做什么,而不是以什么形式做,也就是直接传入一段代码,不需要创建对象Lambda表达式的格式Lambda表达式的标准格式为:(参数类型 参数名称) -> { 代码语句 }格式说明小括号内的语法与传统方法参数列表一致:无参数则留空;多个参数则用逗号分隔。原创 2022-02-11 11:19:00 · 5900 阅读 · 0 评论 -
Java——集合
目录前言集合继承图1、Iterator接口2、Collection(集合的最大接口)3、List4、Set5、Map6、Collections(集合工具类)前言JAVA集合体系的简单介绍。集合继承图上图中,虚线空箭头就是实现,实线空箭头就是继承,虚线实箭头是依赖。1、Iterator接口Iterator接口,一个集合的迭代器,主要包含hasnext(),next(),remove()三种方法。迭代器的常见问题常见问题一在进行集合元素获取时,如果集合中已经没有元素可以迭代了,还继续使用原创 2022-02-10 16:11:27 · 630 阅读 · 0 评论 -
Java——异常
目录异常异常概念异常体系异常分类异常的产生和处理捕获处理异常try…catch获取异常信息finally 代码块异常注意事项多异常处理自定义异常异常异常概念异常指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。注意: 在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。就会创建该异常类的对象并抛出该异常对象创建异常对象,该对象就会包装异常的类型,异常的信息,异常的位置等信息。Java处理异常的方式是中断处理。异常指的并不是语法错原创 2022-02-05 13:13:02 · 6196 阅读 · 0 评论 -
Java——String类
目录前言String类String概述创建字符串对象String类的特点String转换成基本类型前言将String类的知识点整理了一些,希望大家可以互相学习,有错误还请指出。String类String概述String类代表字符串,Java程序中字符串文字都是String类的对象(例如:“abc”)。String类在java.lang包下,所以不需要导入。创建字符串对象创建字符串对象有两种方式:一、直接赋值创建以双引号(“”)方式给出的字符串,只要相同(大小写,顺序),无论在在程序代码中创原创 2022-01-27 16:29:42 · 6319 阅读 · 0 评论 -
Java——static关键字基础
目录前言static关键字static关键字概述static关键字的使用static修饰成员变量static修饰方法静态代码块注意前言整理的一些关于static关键字的一些知识点,入门基础,会持续补充,希望大家可以互相学习。static关键字static关键字概述static是一个静态修饰符关键字,表示静态的意思,可以修饰成员变量和成员方法以及代码块。static关键字的使用static修饰成员变量当 static 修饰成员变量时,该变量称为类变量。该类的每个对象都共享同一个类变量的值。任何原创 2022-01-27 15:51:48 · 1929 阅读 · 0 评论 -
Java——抽象类&接口
目录前言抽象类抽象类中的成员抽象类的特点抽象类的构造方法抽象类的应用接口概述接口的成员接口中成员的访问接口的实现使用接口的核心原因前言将抽象类和接口的笔记总结了一下发出来,希望大家可以互相学习,如有错误请指出。抽象类抽象类:使用abstract关键字修饰的类就是抽象类修饰符 abstract class 类名{ }抽象类中的成员成员变量成员方法构造方法抽象方法抽象类的特点有抽象方法的类一定是抽象类,抽象类不一定有抽象方法抽象类不能被创建对象,需要被子类继承抽象类的子原创 2022-01-27 15:30:36 · 7527 阅读 · 0 评论 -
Java面向对象三大特征
1 封装思想封装概述是面向对象三大特征之一(封装,继承,多态)是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界是无法直接操作的封装原则将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问成员变量private,提供对应的getXxx()/setXxx()方法封装好处通过方法来控制成员变量的操作,提高了代码的安全性把代码用方法进行封装,提高了代码的复用性“封装”通过合并特征和行为来创建新的数据类型。“实现原创 2022-01-19 21:34:17 · 13446 阅读 · 0 评论