- 博客(16)
- 资源 (35)
- 收藏
- 关注
原创 Java基础系列:多线程的同步和异步
1同步package thread;import java.util.concurrent.*;import java.util.logging.Logger;import static common.constant.DigitalConstant.*;/** * ThreadPoolExecutor测试. * * @author xindaqi * @date 2021-04-28 17:58 */public class ThreadPoolExecutorTestOne
2021-04-29 09:39:41 1326
原创 Java基础系列:类加载
1 类加载过程图1 类加载过程2 过程描述加载通过一个类的全限定名获取定义该类的二进制字节流(*.class文件),将二进制字节流(字节码和常量池)转化为方法区的运行时数据局结构,在内存中生成一个java.lang.Class对象。验证确保*.class文件文件的字节流中包含的信息符合当前虚拟机的要求,并且不会危害虚拟机自身的安全,使用纯粹的Java代码无法做到如访问数组边界以外的数据,将一个对象转型为未实现的类型、跳转到不存在的代码之类的情况,如果有异常,将无法编译成功。准备为类变量分
2021-04-21 09:33:44 95
原创 Java基础系列:锁
1 锁Java中锁的种类繁多,如下表所示。序号锁描述1自旋锁2阻塞锁3可重入锁4读写锁5互斥锁6悲观锁7乐观锁8公平锁9可中断锁1011122 可重入锁自动获取当前锁。线程级别的锁,当线程A执行的方法M使用synchronized关键字修饰,同时方法M内的方法N也使用synchronized修饰,此时,线程A执行方法N时,无需重新申请锁,直接重用线程A已经申请的
2021-04-21 09:19:59 102
原创 Java基础系列:CAS
1 CASCAS(Compare and Swap)比较,交换,原始值,期望值,新值,读取内存原始值A,期望值为B(是原始值的备份,值为A),经过计算得到新值C,比较原始值A与期望值B,如果A=B,则表示原始值没有改变,可放心更新值为C。1.1 更新过程CAS原始值,期望值和新值变更过程 如图2.1所示。图2.1 CAS值更新过程1.2 操作流程CAS操作流程如图2.2所示。图2.2 CAS操作过程读取内存的值,同时将内存的值镜像,存储到期望值中,对内存中的值进行计算,计算结束,
2021-04-20 21:02:29 264
原创 Java基础系列:线程状态及生命周期
(1)线程完整生命周期:新建、可运行、运行中和销毁四个阶段;(2)线程状态转换方法:yield、sleep、join、wait等;(3)中断线程通过interrupt方法,stop方法不安全,会导致已锁的监听器释放锁。
2021-04-20 10:00:14 851
原创 Java基础系列:线程等待与通知
1 线程等待与通知等待wait()线程挂起,释放当前持有资源的锁。通知noitfy()线程恢复,继续执行。2 样例package thread;import java.util.logging.Logger;/** * Wait, Notify测试. * * @author xindaqi * @since 2021/4/16 17:28 */public class ThreadWaitNotifyTest { private static final Log
2021-04-16 18:49:12 141
原创 Java基础系列:反射获取方法及属性
1 实体类package common;/** * User实体 * @author xindaqi * @since 2021-01-23 */public class UserEntity { private String uid; private String nickname; private String sex; public UserEntity() {} public UserEntity(String uid, String
2021-04-16 18:42:48 297
原创 Java基础系列:ThreadLocal
1 简介ThreadLocal使用线程存储信息。2 Usage2.1 常用方法序号方法描述1set().添加值2get()获取值3remove()移除值2.2 样例package thread;import java.util.logging.Logger;/** * ThreadLocal测试. * * @author xindaqi * @since 2021/4/14 17:01 */public class Thr
2021-04-14 21:58:12 159
原创 大数据架构:数据处理流程
`持续完善ing`1 场景数据处理分为两大阵营,即离线数据处理和实时在线数据处理。2 离线数据处理2.1 数据流向图2.1 离线数据处理数据流向2.2 过程工具图2.2 离线数据处理工具3 实时数据处理3.1 数据流向图3.1 实时数据处理数据流向3.2 过程工具图3.2 实时数据处理工具...
2021-04-13 14:46:10 240
原创 SpringBoot强化系列:线程池及CountDownLatch并行执行任务
1 场景多线程并行处理多个任务,所有任务执行结束,获取执行结果,提高任务执行效率,使用多线程处理任务耗时取决于单个线程耗时最长的任务,而不是时间的叠加。单线程执行多个任务,耗时则是所有任务的耗时总和。现有三个任务,任务1,任务2,任务3,耗时如表1所示。序号任务耗时1任务1t12任务2t23任务3t3其中,t2>t3>t1多线程执行多个任务的耗时取决于某个耗时最长的任务,耗时结果如图1所示,即耗时t=t2。图1 多线程多任务耗时
2021-04-09 17:49:24 709
原创 SpringBoot强化系列:Redisson并发设计
1 配置1.1 启动文件application-dev.ymlspring: devtools: restart: enabled: true profiles: dev redis: host: localhost port: 6379 password: 123456 # 连接超时时间:毫秒 timeout: 60000 database: 0 lettuce: pool: # 连接
2021-04-04 23:06:55 263 1
原创 SpringBoot强化系列:Bean生命周期示例及源码解析
【参考文献】[]https://blog.csdn.net/weixin_43997353/article/details/108640484[]https://blog.csdn.net/zhaocuit/article/details/83583881[]https://blog.csdn.net/xpsallwell/article/details/87938536[]https://www.zhihu.com/question/38597960[]https://blog.csdn.ne.
2021-04-01 20:13:44 342
Free免费,无需任何积分 k8s命令行操作工具:kubectl,版本:v1.30.2
2024-06-19
azkaban4.0.0-web-server.tar.gz
2021-06-03
azkaban4.0.0-exec-server.tar.gz
2021-06-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人