随笔分类 -  # JAVA基础

摘要:为什么要加锁 在多进程的环境下,如果一个资源被多个进程共享,那么对资源的使用往往会表现的随机和无序,这显然是不行的。例如多个线程同时对控制台输出,每个线程都输出的是完整的句子但是多个线程同时同时输出,则输出的内容就会被完全打乱,获取不到本来的信息了。对于这种共享资源,需要进行同步管理,资源在被一个线 阅读全文
posted @ 2023-12-03 23:38 青花石 阅读(89) 评论(0) 推荐(0)
摘要:一、进程、线程、用户线程&原生线程、优先级、守护线程 什么是进程 是程序一次执行的过程,是系统运行程序,和向操作系统申请资源的的基本单位。系统运行一次程序,就是一个进程从创建到关闭的过程。Java 项目从 main 方法启动,就是启动了一个 JVM 进程,而 main 函数就是由进程中的一个线程负责 阅读全文
posted @ 2023-12-03 23:29 青花石 阅读(33) 评论(0) 推荐(0)
摘要:文章目录 一、什么是类加载?二、什么是类加载器三、JVM中的类加载器结构四、JVM的双亲委派机制4.1 什么是双亲委派机制4.2 双亲委派机制解决了什么问题4.3 为什么说JDBC加载驱动时违背了双亲委派机制4.3.1 SPI机制和双亲委派的冲突4.3.2 线程上下文加载器4.3.3 JDBC加载驱 阅读全文
posted @ 2023-02-03 00:31 青花石 阅读(116) 评论(0) 推荐(0)
摘要:文章目录 Lambda表达式特性一、lambda表达式介绍1.1 **lambda表达式结构:**1.2 常见的Lambda表达式1.3 基本语法1.4 类型检查1.5 类型推断1.6 变量作用域1.7 方法引用**1.8 构造器引用** 二、在何处使用lambda表达式2.1 函数式接口介绍2.2 阅读全文
posted @ 2021-07-07 14:43 青花石 阅读(71) 评论(0) 推荐(0)
摘要:行为参数化:代码块可以当作参数被使用,传递给另一个方法,或者稍后执行它。 为什么要参数化传递代码 应对不断变化的需求,如果没有行为参数化,需要参数里做出对应改变,无限增加参数。 示例: //2.11 筛选绿苹果 public static List<Apple> filterGreenApples( 阅读全文
posted @ 2021-07-07 14:40 青花石 阅读(22) 评论(0) 推荐(0)
摘要:Option类型 Optional是一个T对象的封装,比直接指向对象的引用更安全,正确的使用情况下不会返回Null 使用optional值 optional的值存在 Optional的关键,在于 接受正确值或者返回替代值的方法- ifPresent() 方法 如果需要返回值,可以使用 optiona 阅读全文
posted @ 2021-07-07 14:38 青花石 阅读(14) 评论(0) 推荐(0)