公众号:架构师与哈苏
关注公众号进入it交流群! 公众号:架构师与哈苏 不定时都会推送一些实用的干货。。。
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 31 下一页
摘要: 1.使用redis中的自增来实现 2.使用setnx + del # 如果不存在set(返回1),如果存在则失败(返回0) 为了避免死锁会加上一个过期时间 自增方式 boolean isSelf = false; try { Long clock = cacheOperation.incrByOne 阅读全文
posted @ 2021-08-18 11:21 公众号/架构师与哈苏 阅读(64) 评论(0) 推荐(0) 编辑
摘要: string,list,hash,set,zset 底层实现数据结构 数据结构 String sds struct sdshdr{ //等于 SDS 保存字符串的长度 int len; //记录 buf 数组中未使用字节的数量 int free; //字节数组,用于保存字符串 char buf[]; 阅读全文
posted @ 2021-08-18 10:52 公众号/架构师与哈苏 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 1.纯内存操作 2.单线程操作,避免了频繁的上下文切换 3.采用了非阻塞I/O多路复用机制 (cpu不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存或者网络带宽。) 阅读全文
posted @ 2021-08-18 10:43 公众号/架构师与哈苏 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 1.memcache所有值均是简单地字符串,redis有复杂的数据类型。 2.memcache不支持数据持久化,redis支持数据持久化。 3.redis速度比memcache快,redis构建了自己的vm机制,因为一般的系统调用系统函数,会浪费一定的时间去移动和请求。 阅读全文
posted @ 2021-08-18 10:29 公众号/架构师与哈苏 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 当一个类收到类加载请求,他首先不会尝试自己去加载这个类,而是把这个请求委派给父类去完成,每一层次加载器都是如此,因此所有的加载请求都应该传送到启动类加载其中,只有当父类加载器反馈自己无法完成这个请求的时候(在它加载路径下没有找到所需加载的Class),子类加载器才会尝试自己去加载。 采用双亲委派的一 阅读全文
posted @ 2021-08-16 17:03 公众号/架构师与哈苏 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 有哪些加载器? Bootstrap(引导类加载器):使用C/C++实现,负责加载JVM基础核心类库rt.jar。 Extension(拓展类加载器):从java.ext.dirs系统属性所指定的目录中加载类库,他的父类加载器为Bootstrap。 System(应用程序类加载器或者称为系统类加载器) 阅读全文
posted @ 2021-08-16 16:43 公众号/架构师与哈苏 阅读(30) 评论(0) 推荐(0) 编辑
摘要: Class文件需要加载到jvm虚拟机中之后才能运行和使用。 jvm加载Class文件的步骤为:加载->连接(验证->准备->解析)->初始化->使用->卸载 加载 加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的入口 阅读全文
posted @ 2021-08-16 16:42 公众号/架构师与哈苏 阅读(37) 评论(0) 推荐(0) 编辑
摘要: CyclicBarrier可以重复使用,而CountdownLatch不能重复使用。 countDownLatch这个类使一个线程等待其他线程各自执行完毕再执行。 是通过一个计数器来实现的,计数器的初始值是线程的数量。通过countDown()来减一,等减到0,await()方法就进入等待run状态 阅读全文
posted @ 2021-08-10 14:51 公众号/架构师与哈苏 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 构造函数 public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue workQueue, ThreadFactory thread 阅读全文
posted @ 2021-08-10 11:03 公众号/架构师与哈苏 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 为了提高性能,java提供了读写锁, 读锁: 在读的地方使用读锁,可以多个线程同时读。 写锁: 在写的地方使用写锁,只要有一个线程在写,其他线程就必须等待 例子: public static ReadWriteLock readWriteLock = new ReentrantReadWriteLo 阅读全文
posted @ 2021-08-09 17:05 公众号/架构师与哈苏 阅读(45) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 31 下一页