摘要:
Redis的分布式锁问题(十)最强分布式锁工具Redisson及源码分析 Redisson的引入 不可重入 不可重试 超时释放 主从一致性 Redisson 什么是Redisson? Redisson使用手册 Redisson快速入门(Demo) (1)导依赖 (2)配置Redisson客户端 (3 阅读全文
摘要:
【面试题】深度解析Java多线程中的 run() 与 start() 有什么区别? 大多数人的回答 start() run() 深入底层源码的解析 run() 与 start() 为什么我们不能直接调用 run() 方法? 如何证明 start() 会调用 run() 方法? JVM -> OS执行 阅读全文
摘要:
【并发】深入理解Java线程的底层原理 线程基础知识 一、线程与进程 进程 线程 【面试题】进程与线程的区别 进程间通信的方式 二、线程的同步互斥 线程同步 线程互斥 上下文切换 【面试题】什么情况下会发生上下文切换? 三、操作系统层面线程生命周期 Java中的状态模型 Java线程详解 一、Jav 阅读全文
摘要:
【并发】Java并发线程池底层原理详解与源码分析(下) 前情回顾 上篇文章地址 遗留问题解析 手动实现线程池代码 运行结果 !!!先说结论!!! 图解 ThreadPoolExecutor ThreadPoolExecutor 源码分析 线程池源码结构 【面试题】 execute()方法与submi 阅读全文
摘要:
【并发】Java并发线程池底层原理详解与源码分析(上) 线程池与线程对比 使用线程的方式运行 使用线程池的方式运行 分析 单线程、多线程、线程池效率问题 详细代码 结果分析 单线程为什么是最快的? 单线程都这么快了,我们是不是就不再需要多线程、线程池了呢? 三种常用的线程池 代码描述 运行结果 (1 阅读全文
摘要:
初学者一枚,好久没有上VM——Ubuntu了,今天使用了start-all.sh竟然少了namenode!!!之前都是有的。 本人试过了网上的很多办法,都是不行: (1)我检查了所有文件都配置 ,进行hdfs namenode -format 是对namenode进行初始化也成功了,但是在启动HDF 阅读全文
摘要:
关于equals与hashCode关系的描述 我们可以先来看一下这个定理 (1)如果两个对象的 hashCode 值相等的情况下,对象的内容值不一定相等(hash碰撞问题) (2)如果使用 equals 方法比较两个对象内容值相等的情况下,则两个对象的hashCode值一定要相等 相信有看过类似文章 阅读全文
摘要:
char 与 Character char是一种基本的数据类型,Character是char类型的包装类,即通过Character创建出来的是一种对象。 Character是char的包装类,就像Integer和int,以及Long和long一样。 包装类和基本类型可以自动转换,这是jdk1.5(5 阅读全文
摘要:
String转int (1)Integer.parseInt(String) 方法 支持“负号”! String str = "123"; int num = Integer.parseInt(str); 如果这个字符串中间有字母会报错! (2)Integer.valueOf(String) 方法 阅读全文
摘要:
Redis的分布式锁问题(九)Redis + Lua 脚本实现分布式锁 上集回顾 Lua的简单介绍 redis调用函数 set name jack set name Rose,再执行get name redis的 EVAL 命令 Lua脚本解决unLock业务流程 代码实现 unLock.lua R 阅读全文