摘要: 生产者消费者问题 在生产者消费者问题中,仅有synchronized是不够的: synchronized可阻止并发更新同一个共享资源,实现了同步 synchronized不能实现不同线程之间的信息传递(通信) 线程通信方法 注意:均是Object类的方法,都只能在同步方法或者同步代码块中使用,否则会 阅读全文
posted @ 2022-11-11 15:04 奚罗罗 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 线程同步 线程同步其实就是一种等待机制,多个需要同时访问此对象的线程进入这个对象的等待池形成队列,等待前面线程使用完毕,下一个线程再使用。 synchronized锁 为了保证多线程并发安全,在访问时加入锁机制synchronized,当一个线程获得对象的排他锁,独占资源,其他线程必须等待,使用后释 阅读全文
posted @ 2022-11-11 11:18 奚罗罗 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 线程状态 Thread t = new Thread() 线程对象一旦创建就进入新生状态 调用start()方法,线程立即进入就绪状态,但不意味着立即调度执行 当调用sleep wait或同步锁定时,线程进入阻塞状态。阻塞事件解除后,重新进入就绪状态,等待cpu调度执行。 进入运行状态,线程才真正执 阅读全文
posted @ 2022-11-08 11:24 奚罗罗 阅读(17) 评论(0) 推荐(0) 编辑
摘要: Lamda表达式 避免匿名内部类定义过多;使得代码简洁 其实质属于函数式编程的概念 (params)->expression[表达式] (params)->statement[语句] (params)->{statements} 函数式接口 任何接口,如果只包含一个抽象方法,那么它就是一个函数式接口 阅读全文
posted @ 2022-11-05 20:44 奚罗罗 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 静态代理 目标对象和代理对象都要实现同一个接口 代理对象要代理真实角色 代理对象可以做很多真实对象做不到的事情 真实对象专注自己的事情 例子:婚庆公司代理结婚 public class staticProxy { public static void main(String[] args) { // 阅读全文
posted @ 2022-11-05 11:56 奚罗罗 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 线程创建:Thread Runnabel Callable Tread class 自定义线程类继承Tread类 重写run()方法,编写线程执行体 创建线程对象,调用start()方法启动线程 public class myTread extends Thread{ @Override publi 阅读全文
posted @ 2022-11-05 11:26 奚罗罗 阅读(61) 评论(0) 推荐(0) 编辑
摘要: Java数组 什么是数组 数组是相同类型数据的有序集合。 数组声明创建 //声明 dataType[] arrayName;//首选方法 dataTpe arrayName[]; //创建 使用new操作符创建数组 dataType[] arrayName = new dataType[arrayS 阅读全文
posted @ 2022-10-25 15:30 奚罗罗 阅读(12) 评论(0) 推荐(0) 编辑
摘要: Java方法 方法的定义 方法包括一个方法头和一个方法体, 修饰符 返回值类型 方法名(参数类型 参数名){ ... 方法体 ... return 返回值; } 值传递和引用传递 值传递: 在调用函数时,将实际参数复制一份传递到函数中,这样在函数中对参数进行修改,就不会影响到原来的实际参数; **引 阅读全文
posted @ 2022-10-24 10:46 奚罗罗 阅读(16) 评论(0) 推荐(0) 编辑
摘要: Scanner Scanner Scanner类可以获取用户的输入 基本语法 Scanner s = new Scanner(System.in); 通过Scanner类的next()和nextLine()方法来获取输入的字符串,读取之前一般会使用hasNext()和hasNextLine()判断是 阅读全文
posted @ 2022-10-24 10:10 奚罗罗 阅读(12) 评论(0) 推荐(0) 编辑
摘要: JAVA基础知识 标识符和关键字 关键字 标识符 无论类名、方法名、变量名都是标识符 命令规则: 所有标识符都应该以大小写字符、美元符号、或下划线开始 首字符后可以十字母、美元符号、下划线或者数字的任意组合 不可以用关键字作为变量名 数据类型 java是强类型语言:所有变量必须先定义才能使用 jav 阅读全文
posted @ 2022-10-22 00:52 奚罗罗 阅读(20) 评论(0) 推荐(0) 编辑