- 博客(11)
- 收藏
- 关注
原创 多线程与高并发基础总结-juc中的锁
JUC就是java.util.concurrent工具包的简称Reentrantlock代码public class ReentrantlockTest { public static void main(String[] args) { AtomicInteger a= new AtomicInteger(10);// 1 可以替代 synchronized // 2 需要自己加锁和解锁 ReentrantLock reent
2022-04-23 21:23:46 673
原创 多线程与高并发基础总结-cas longadder
cas 无锁优化atomic 下都是 通过cas 来保证线程安全的cas 就是 一个值 操作的时候 会去判断我希望改变的值的结果 和出来的值是不是一致的 如果一致 通过 如果不一致 则失败上代码public class AtomicTest { public static void main(String[] args) { AtomicInteger atomicInteger=new AtomicInteger(3); boolean b= atom
2022-04-23 19:24:18 96
原创 多线程与高并发基础总结-线程的状态与关键字synchronized volatile
线程的状态一共是6个new尚未启动runable运行状态 runnable 正在运行的时候 被wait join locksupport.park方法进行等待后 编程waiting 状态 在被notify 或者notifyall 或者locksupport.unpack 唤醒 编程runableblocked堵塞 等待锁为堵塞 当获得锁后从此状态脱离Teminated88状态Time_waiting被sleep。或者wait加上时间后 进入此状态 时间结束 则进入runable 状态
2022-04-23 00:03:17 176
原创 多线程与高并发基础总结-线程的三种方式
线程的三种方式什么是线程,什么是进程程序运行起 这个叫做进程 最小执行单元是线程线程实现的三种方式继承Threadpublic class ExThreadTest extends Thread { @Override public void run() {// super.run(); System.out.println(this.getName()); } public static void main(String[] ar
2022-04-22 15:07:28 114
原创 java 基础 redis笔记 总
超卖问题缓存穿透基础1 五种数据结构去存放字符 散列,列表 集合,有序集合是nosql 数据库nosql 是一种高可用,高扩展,高并发,大数据存储的数据库mysql >缓存数据session分离问题 解决方案,session共享发布队列的消息 任务队列等安装maketar -zxvf …makemake install PREFIX =修改redis.co...
2021-04-27 10:25:15 56
原创 jdk 8 新特性 优化版
此博客所有只是作为个人笔记,个人的知识的总结。如有不对的地方欢迎指出,谢谢。会不断完善笔记的,会发布第一稿然后再后续完善。Stream APIstream介绍特性Stream 构成创建源中间操作终止操作API文档中的具体方法stream介绍stream 是一组用来处理数组和集合的API目的 简洁代码 较少for循环看起来更舒服 多核友好特性1 不是数据结构没有内部存储2 不支持索引访问3 惰性化(延迟计算)4 支持并行5对于数组和集合有很好的支持性6支持多种功能 如查找 汇总 过滤等
2021-04-26 16:06:10 720
原创 JDK1.8新特性 笔记总
jdk 1.8新特性结构笔记Lambda 表达式方法引用默认方法新工具Stream APIDate Time APIOptional 类Nashorn, JavaScript 引擎此博客所有只是作为个人笔记,个人的知识的总结。如有不对的地方欢迎指出,谢谢。jdk1.8新特性知识点:Lambda 表达式方法引用默认方法新工具Stream APIDate Time APIOptional 类Nashorn, JavaScript 引擎...
2021-04-15 17:28:12 50
原创 Lambda表达式笔记 一
学习 Lambda表达式目的一些常用得函数接口和案例1 Function2 Supplier3 Consumer4 BiConsumer5 UnaryOperator6 BiFunction7 BinaryOperator目的我觉得其目的是为了让代码量更加简洁和根据实际环境去进行自动判断 应用场景在任何函数接口(只有一个抽象方法的接口是函数接口)都可以去使用其进行替换一些常用得函数接口和案例1 Function这里注意有一个注解 @Functional Interface其实这个注解就是注
2021-04-15 17:03:15 131
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人