Java高级部分
JUC&JVM
小草dym
这个作者很懒,什么都没留下…
展开
-
深入理解并发内存模型||JMM与内存屏障||多核并发缓存架构 ||JMM内存模型||volatile 关键字的作用 ||JMM 数据原子操作||JMM缓存不一致的问题
深入理解并发内存模型||JMM与内存屏障多核并发缓存架构JMM内存模型volatile 关键字的作用JMM 数据原子操作JMM缓存不一致的问题原创 2020-12-03 15:36:24 · 143 阅读 · 0 评论 -
从hotspot底层对象结构理解锁膨胀升级过程||深入jdk源码理解longadder的分段cas优化机制——分段CAS优化
深入jdk源码理解longadder的分段cas优化机制longadder原创 2020-12-03 14:10:57 · 899 阅读 · 1 评论 -
多线程高并发 底层锁机制与优化的最佳实践——各种锁的分类 || synchronized 关键字 倒底锁的是什么东西?|| CAS与ABA问题||锁优化||轻量级锁一定比重量级锁的性能高吗
多线程高并发 底层锁机制与优化的最佳实践各种锁的分类加上synchronized 关键字,共享资源就不会出错synchronized 关键字 倒底锁的是什么东西?synchronized 锁的是当前调用此方法的对象CASCAS的完整实现比较的是 oldValue 与 系统中查出来的值进行比较,如果两者相等,就交换;ABA问题的解决 —— 添加一个版本号进行控制锁优化轻量级锁一定比...原创 2020-12-03 10:52:19 · 162 阅读 · 0 评论 -
观察多个线程同时运行|| 查看进程线程的方法——未完待续
观察多个线程同时运行:主要是理解,交替执行,谁先谁后,不由我们控制查看进程线程的方法原创 2020-12-03 09:14:41 · 210 阅读 · 0 评论 -
Java 线程——创建和运行线程|| lambda表达式就是一个匿名内部类||Thread 与 Runnable 的关系||FutureTask 配合 Thread
创建和运行线程方法一,直接使用 Thread方法二,使用 Runnable 配合 Thread方法三,FutureTask 配合 ThreadFutureTask 能够接收 Callable 类型的参数,用来处理有返回结果的情况原创 2020-12-02 21:01:57 · 264 阅读 · 0 评论 -
进程与线程||线程应用:异步调用||多线程与单线程
进程线程一个进程之内可以分为一到多个线程。一个线程就是一个指令流,将指令流中的一条条指令以一定的顺序交给CPU 执行 Java 中,线程作为最小调度单位,进程作为资源分配的最小单位。 进程在 windows 中进程是不活动的,只是作为线程的容器...原创 2020-12-02 19:34:11 · 98 阅读 · 0 评论 -
JUC里面的相关分类|| java并发编程中,关于锁的实现方式有两种synchronized ,Lock || Lock——ReentrantLock||AQS(抽象队列同步器)
JUC分类java并发编程中,关于锁的实现方式有两种synchronized ,Lock...原创 2020-12-01 23:38:31 · 350 阅读 · 0 评论 -
精确通知,顺序访问——Lock锁比synchronized锁的优势之处
题目如下:多线程之间按顺序调用,实现A-》B-》C三个线程启动,要求如下:AA 打印5次,BB 打印10次,CC 打印15次接着 AA 打印5次,BB 打印10次,CC 打印15次......来10轮package com.dym.juc;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.Re.原创 2020-12-01 22:37:44 · 149 阅读 · 0 评论 -
新版生产者与消费者的写法——不使用synchronized,而使用Lock锁
package com.dym.juc;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;class AirConditioner{ private int number=0; private Lock lock=new ReentrantLock(); ...原创 2020-12-01 22:00:58 · 123 阅读 · 0 评论 -
线程间定制化调用通信—— 1 高内聚低耦合的前提下,线程操作资源类 2 判断/干活/通知 3 多线程交互中,必须要防止多线程的虚假唤醒,也即(判断只用while,不能用if)
生产者与消费者模式一个生产者与一个消费者题目:现在有两个线程,可以操作初始值为0的一个变量,实现一个线程对该变量加1,另一个线程对该变量减1,这两个线程的操作加一.减一交替,进行10轮,变量的初始值为0 高内聚低耦合的前提下,线程操作资源类package com.dym.juc;class AirConditioner{ private int number=0; public synchronized void increment() throws Inte...原创 2020-12-01 21:27:39 · 185 阅读 · 0 评论 -
Java8之lambda表达式的总结
什么是lambda表达式?Lambda 是一个匿名函数,我们可以把 Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。Lambda 表达式在Java 语言中引入了一个新的语法元素和操作符。这个操作符为 “->” , 该操作符被称为 Lambda 操作符或剪头操作符。它将 Lambda 分为两个部分: 左侧:指定了 Lambda 表达式需要的所有参数 ...原创 2020-12-01 20:26:43 · 197 阅读 · 2 评论 -
lambda表达式的使用 || Lambda Express 口诀: 拷贝小括号,写死右箭头,落地大括号||default || @FunctionalInterface||静态方法实现
package com.dym.juc;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;//资源类class Ticket{ private int number =30; private Lock lock=new ReentrantLock(); public void saleTicket() { lock.lock(); .原创 2020-12-01 18:33:49 · 431 阅读 · 0 评论 -
线程的状态 Thread.State||NEW,RUNNABLE,BLOCKED,WAITING,TIMED_WAITING,TERMINATED
public enum State { /** * Thread state for a thread which has not yet started. */ NEW,(新建) /** * Thread state for a runnable thread. A thread in the runnable * state is executing in the Java virtual machine but it may .原创 2020-12-01 17:39:46 · 911 阅读 · 1 评论 -
IntelliJ IDEA 的安装、配置与使用
IntelliJ IDEA 介绍 IDEA,全称 IntelliJ IDEA,是 Java 语言的集成开发环境,IDEA 在业界被公认为是最好的 java 开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE 支持、Ant、JUnit、CVS 整合、代码审查、创新的 GUI 设计等方面的功能可以说是超常的IntelliJ IDEA 在 2015 年的官网上这样介绍自己: Excel at enterprise, mobile and web development with Ja.原创 2020-11-30 23:59:42 · 387 阅读 · 0 评论 -
JUC是什么?
原创 2020-11-30 23:43:15 · 151 阅读 · 0 评论 -
索引的最左前缀原理
上面的三条sql语句,只有第一条sql语句用到了索引,原因在于 索引的最左前缀原理原创 2020-11-30 16:49:39 · 161 阅读 · 0 评论 -
mysql的优化——索引介绍
后缀为: .MYD 是MyISAM存储引擎的存储的数据文件后缀为: .MYI 是MyISAM存储引擎的存储的索引文件注:现在都很少使用MyISAM作为存储引擎了。现在大多采用InnoDB作为存储引擎聚集索引(聚簇索引):索引和数据要全部放在一起。(叶子节点包含了完整的数据记录)MyISAM就没有聚集索引。索引和数据是分开的,通过物理地址作为中间人,进行两者的联系1.为什么InnoDB表主键要使用整型呢?因为在进行查找某个元素的...原创 2020-06-04 08:09:03 · 90 阅读 · 0 评论