12345sdfad
码龄6年
关注
提问 私信
  • 博客:57,786
    社区:1
    57,787
    总访问量
  • 103
    原创
  • 1,928,468
    排名
  • 14
    粉丝
  • 0
    铁粉

个人简介:新手码农一只

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2019-02-22
博客简介:

clyss1234的博客

查看详细资料
个人成就
  • 获得23次点赞
  • 内容获得5次评论
  • 获得56次收藏
创作历程
  • 98篇
    2021年
  • 7篇
    2020年
成就勋章
TA的专栏
  • Java多线程
    9篇
  • Java基础
    11篇
  • Linux
    4篇
  • MySQL
    11篇
  • 区块链
    4篇
  • 前端
    16篇
  • 计算机网络
    12篇
  • Spring
    1篇
  • JVM
    3篇
  • 24种设计模式
    26篇
  • 十大排序算法
    7篇
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Java基础11—函数式编程

文章目录1. Lambda表达式1.1 通过接口传递代码1.2 Lambda语法1.3 函数式接口1.4 预定义的函数式接口1.5 方法引用1.6 函数的复合1.7 小结2. 函数式数据处理:基本语法2.1 基本转换2.2 中间操作2.3 终端操作2.4 构建流2.5 函数式数据处理思维3. 函数式数据处理:强大方便的收集器Collect3.1 理解collect3.2 容器收集器3.3 字符串收集器3.4 分组4. 组合式异步编程4.1 异步任务管理4.2 与Future/FutureTask对比4.3
原创
发布博客 2021.09.29 ·
688 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java多线程10—线程池框架

文章目录1. 线程池框架1.1 Executor1.2 ExecutorService1.3 ThreadPoolExecutor1.4 ScheduleThreadPoolExecutor2. 线程池原理2.1 理解线程池2.2 线程池使用特点2.3 线程池的组成2.4 任务队列2.5 任务拒绝策略2.6 工厂类Executors3. 线程池工作机制3.1 工作流程4. 3种线程池4.1 newCachedThreadPool4.2 newFixedThreadPool4.3 newScheduledTh
原创
发布博客 2021.09.29 ·
879 阅读 ·
2 点赞 ·
0 评论 ·
3 收藏

Java多线程9—Future类框架

文章目录1. Future框架1.1 Future接口1.2 FutureTask类CAS操作核心属性构造函数接口实现Runnable接口实现Future接口的实现cancel(boolean mayInterruptIfRunning)isCancelled()isDone()get()get(long timeout, TimeUnit unit)1.3 CompletableFuture类此文大部分内容并不是本人执笔完成,因拷贝到本地笔记时忘标记原链接,因此无法指明原作者,罪过罪过,还望海涵,特此声
原创
发布博客 2021.09.29 ·
716 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java多线程8—Thread与Runnable

文章目录1. 创建多线程1.1 创建多线程的3种方式1.1.1 继承Thread类1.1.2 实现Runnable接口1.1.3 实现Callable接口1.1.4 基于线程池1.2 为什么要提出3种方式?1.2.1 Thread类的start()与run()1.2.2 3种创建方式的区别1.3 线程的声明周期2. Thread类源码解析2.1 Thread方法2.2 native方法2.3 其他方法3. 终止线程的4种方式3.1 正常退出3.2 使用标志位3.3 使用线程中断Interrupt3.4 st
原创
发布博客 2021.09.29 ·
832 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java多线程6—阻塞队列

文章目录1. 阻塞队列概述1.1 线程阻塞的情况1.2 阻塞队列的主要方法2. Java中的阻塞队列2.1 ArrayBlockingQueue(公平锁/非公平锁)2.2 LinkedBlockingQueue(读写锁)2.3 LinkedBlockingDeque2.4 PriorityBlockingQueue2.5 DelayQueue(缓存失效、定时任务 )2.6 SynchronousQueue(不存储数据、可用于传递数据)2.7 LinkedTransferQueue通常,实现线程安全的情况有
原创
发布博客 2021.09.29 ·
208 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java多线程5—ReentrantLock与Condition

文章目录1. ReentrantLock重入锁1.1 ReentrantLock源码解析1.1.1 lock操作1.1.2 release操作2. synchronized和Reetrantlock的区别3. Condition及其介绍3.1 Condition的介绍3.2 Condition在AQS中的使用3.3 Condition在阻塞队列中的实现4. [阻塞和唤醒线程——LockSupport功能简介及原理浅析](https://www.cnblogs.com/takumicx/p/9328459.h
原创
发布博客 2021.09.29 ·
709 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Java多线程4—AQS

文章目录1. 锁1.1 自旋锁与互斥锁1.2 乐观锁与悲观锁1.3 公平锁与非公平锁1.4 共享锁与独占锁1.5 分段锁2. 自旋锁基础之CAS自旋2.1 CAS介绍2.2 CAS的优缺点3. AQS3.1 AQS的核心思想3.2 CLH锁3.3 MCS锁3.4 AQS源码解析自旋锁指多线程下,当一个线程尝试获取锁的时候,如果锁被占用,则在当前线程循环检查锁是否被释放,此时当前线程并没有休眠或挂起。1. 锁在前面提到了synchronized关键字,其也是Java实现的一种锁机制,但本人认为其并不能实
原创
发布博客 2021.09.29 ·
250 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java多线程3—volatile

文章目录1. Volatile1.1 volatile实现原理1.2 volatile特性1.3 volatile性能1.4 volatile适用场景1. Volatilevolatile是一种轻量且在有限的条件下线程安全技术,它保证修饰的变量的可见性和有序性,但非原子性。相对于synchronize高效,而常常跟synchronize配合使用。JMM内存模型这里主要描述的线程,工作内存,主存的变量的读写关系:主存存放线程需要操作的变量,但线程并不直接操作主存。每个线程读取主存变量都是先拷
原创
发布博客 2021.09.29 ·
132 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java多线程2—synchronized

文章目录1. synchronized概念1.1 介绍1.2 实现原理1.4 Monitor对象1.3 synchronized使用场景1.4 JVM对锁机制的优化1.4.1 在Java SE 1.6时的锁机制1.4.2 偏向锁、轻量级锁1.4.3 锁实验1.4.4 JVM提出的其他优化2. 控制方法2.1 sleep()和wait()方法的区别1. synchronized概念1.1 介绍synchronized不同于前面提到的ReentrantLock,其是一个Java语言提供的关键字,从某种层面
原创
发布博客 2021.09.29 ·
185 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java多线程1—并发引言

文章目录1. 进程与线程1.1 概念1.2 死锁2. JMM内存模型3. 多线程与JMM3.1 原子性3.2 可见性3.3 有序性3.3.1 指令重排3.3.2 Happend-before原则解决编译器重排序3. 小结1. 进程与线程1.1 概念进程进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。在 Java 中,当我们启动 main 函数时其实就是启动了一个 JVM 的进程,而 main 函数所在的线程就是这个进程
原创
发布博客 2021.09.29 ·
165 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java基础10—注解

文章目录1. 内置注解1.1 注解的本质1.2 元注解1.3 注解的工作原理2. 创建注解3. 查看注解信息4. 注解的使用:定制序列化1. 内置注解@Override@Override修饰一个方法,表示该方法不是当前类首先声明的,而是在某个父类或实现的接口中声明的,当前类“重写”了该方法。@Deprecated@Deprecated可以修饰的范围很广,包括类、方法、字段、参数等,它表示对应的代码已经过时了,程序员不应该使用它,不过,它是一种警告,而不是强制性的。@SuppressW
原创
发布博客 2021.09.28 ·
187 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java基础9—反射

文章目录1. 反射和new1.1 静态编译和动态编译1.2 获取Class对象的四种方式2. 反射实例3. 反射与泛型3.1 反射获取泛型实例在一般操作数据的时候,我们都是知道并且依赖于数据类型的,比如:1)根据类型使用new创建对象。2)根据类型定义变量,类型可能是基本类型、类、接口或数组。3)将特定类型的对象传递给方法。4)根据类型访问对象的属性,调用对象的方法。编译器也是根据类型进行代码的检查编译的。反射不一样,它是在运行时,而非编译时,动态获取类型的信息,比如接口信息、成员信息、方法信
原创
发布博客 2021.09.28 ·
260 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java基础8—IO流与IO多路复用

文章目录1. IO流1.1 IO流的分类1.2 常见IO流1.2.1 InputStream2.2 字节输出流2.2.3 字符输入流2.2.4 字符输出流2.3 字节流和字符流的区别2. 序列化2.1 序列化的实现2.2 反序列化的实现2.3 序列化版本号**serialVersionUID**2.4 序列化使用场景3. IO模型3.1 BIO3.2 NIO3.3 IO多路复用3.3.1 select3.3.2 Poll3.3.3 Epoll3.4 异步IO3.4.1 io_uring1. IO流几乎所
原创
发布博客 2021.09.28 ·
1764 阅读 ·
4 点赞 ·
1 评论 ·
7 收藏

Java基础7—泛型

文章目录1. 泛型1.1 泛型的实现1.2 泛型的好处1.3 泛型的用途1.4 小结2. 常用通配符2.1 理解通配符2.2 总结1. 泛型Java 泛型(generics)是 JDK 5 中引入的一个新特性, **泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。**泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。1.1 泛型的实现Java 的泛型是伪泛型,这是因为 Java 在编译期间,所有的泛型信息都会被擦掉,这也就是通常所说类型擦除 。Java在
原创
发布博客 2021.09.28 ·
146 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java基础5—包装类

文章目录1. 基本用法1.1 包装类的共同点2. 剖析String2.1 内部原理2.2 编码转换2.3 常量字符串3. 剖析StringBuilder3.1 基本用法3.2 内部原理3.3 String的+和+=3.4 String,StringBuilder和StringBuffer4. 随机4.1 Math.random4.2 随机的基本原理4.3 洗牌4.4 抢红包算法5. 习题Java有8种基本类型,每种基本类型都有一个对应的包装类。包装类是什么呢?包装类是一个类,内部有一个实例变量,保存对应
原创
发布博客 2021.09.28 ·
152 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java基础4—关键字

文章目录1. static2. final3. this4. super前面提到了多种关键字,比如static、final,下面我们就来看看这些关键字到底有什么用?1. static在《Java编程思想》P86页有这样一段话: “static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。”简而言之,static的作用就是方便在没有创建对象的情况下
原创
发布博客 2021.09.28 ·
119 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java基础3—面向对象

文章目录1. 面向对象1.1 封装1.1.1 `访问控制符`1.2 继承1.2.1 抽象类1.2.2 接口1.2.3 `接口与抽象类的区别`1.3 多态1.3.1 编译时多态1.3.2 运行时多态1.3.3 重写和重载的区别2. 类2.1 内部类2.1.1 成员内部类2.1.2 局部内部类2.1.3 匿名内部类2.1.4 静态内部类1. 面向对象面向对象编程的特征:抽象、封装、继承、多态。1.1 封装我们知道,Java是面向对象的语言,而面向对象设计语言的三大特性之一就是封装。封装的作用就是将对
原创
发布博客 2021.09.28 ·
133 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java基础2—基本数据类型

文章目录1. 基本数据类型表2. 类型转换1. 基本数据类型表基本类型大小/字节取值范围包装器类型示例默认值boolean1true / falseBooleanboolean flag = false;falsebyte1-2^7 ~2^7-1Bytebyte b=10;0char20~2^16-1Characterchar c= ‘c’;‘\u0000’short2-2^15 ~2^15-1Shortshort b=
原创
发布博客 2021.09.28 ·
87 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java基础1—初识Java

文章目录1. 面向对象与面向过程2. Java语言的特点3. JVM,JDK与JRE3.1 字节码3.2 Java程序从源代码到运行3.3 HotSpot的惰性评估3.4 JDK与JRE3.5 总结4. **`Oracle JDK`和`OpenJDK`的对比**5. java与Cpp的区别1. 面向对象与面向过程面向过程:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;没有面向对象易维护、易复用、易扩展性能比面向对象高面向对象:易维护、易复用、易扩展,可以设计出低耦合
原创
发布博客 2021.09.28 ·
162 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MySQL系列11—简单优化

文章目录1. 结构优化1.1 四大范式1.2 分区表1.2.1 分区表的操作1.2.2 分区类型1.2.3 分区实例1.3 分库分表3. 查询优化3.1 MySQL中的select执行顺序3.2 SQL优化3.3 锁设置原则3.4 MySQL执行计划3.4 避免临时表3.5 索引优化3.5.1 建立索引3.5.2 避免索引3.5.3 索引失效场景3.6 慢查询与showProfileshow profile4. 系统配置优化5. 硬件资源优化5.1 主从复制5.1.1 主从复制是什么5.1.2 主从复制的优
原创
发布博客 2021.09.28 ·
149 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多