加载中
ThreaLocal实现原理

ThreadLocal的实现很简单 Thread内部维护一个ThreadLocalMap对象,key就是Thread对象。 set的时候会将value放入当前线程的ThreadLocalMap对象里面。 get的时候会通过当前线程ThreadLocalMap对...

11/19 14:03
9
解决问题&发现问题

作为一个程序员非常重要的的能力就是解决问题的能力,当然除了解决问题之外,还有一个经常被疏忽的能力-发现问题的能力。 解决问题 一套有效的解决问题的能力非常重要,下面是一个解决问题的...

07/16 09:38
15
秒杀场景设计

秒杀场景设计,缓存的巧妙使用 一、小库存商品秒杀架构设计 小库存商品虽然用到了乐观锁,但是乐观锁在库存数非常多,并发非常多的时候效率很低,所以针对大库存的商品还需要改进 二、大库存...

07/11 21:44
66
稳定性打造

稳定性如何打造? 1.监控 通过鹰眼这样类似的工具来做。入口会创建tranceId,所有中间件和rpc的地方都会根绝tranceId打日志,日志通过agent传到鹰眼服务上,鹰眼服务把日志存在实时或者离线的...

AQS学习

java里面有很多并发工具类。其实这些并发工具类核心是AQS AbstracQueueSynchrolizor。 下面说一下ReentrantLock如何通过AQS来实现锁的。 AQS核心字段 status 锁的状态 exclusiveOwnerThread...

线上遇到的一些问题总结

一、cpu load 非常高达到100% 1.top定位到哪个进程load值很高。 2.top定位到哪几个线程load很高。 3.ps -eg | grep java 定位到jvm进程。 4.通过jstack查看jvm线程,发现load很高的是GC线程 ...

07/09 11:46
7
redis复习

redis 把数据存储在内存,极高的效率提供读写功能。配合sentinel实现主从,或者集群实现大数据和流量下的分布。 1.数据类型 string list hash set zset 2.数据存储方式 3.过期删除方式。 惰性...

07/08 19:00
5
常见面试题复习

并发: 线程: 1.Thread.yield(),thread.join()作用和区别? 执行Thread.yield()的当前线程会让出cpu,状态从running状态变成ready状态。 执行thread.join()的当前线程会阻塞等待thread执行完...

06/08 15:07
6
技术复习-Mysql

索引 主键索引 主键字段作为索引,在mysql中主键索引默认唯一索引,也是聚集索引 联合索引 多个字段组成的索引,可以是唯一索引。 唯一索引 唯一索引的字段不可重复 聚集索引 索引和数据保存...

05/12 21:21
10
技术复习-JVM

什么是JVM java文件通过编译器编译成class字节码,由JVM加载并解释执行。java虚拟机是实现了java跨平台的核心技术,同时为了解决解释执行速度慢的问题,提供了JIT把经常执行的代码编译成机器...

技术复习-并发

并发的好处 效率高,速度快 突破单cpu瓶颈上限 并发的坏处 线程安全:对同一个资源同一时刻操作的问题。 上下文切换 锁 Synchronized java中最基本的锁,可以锁代码块,方法,静态方法,非公...

技术复习-java线程池

ThreadPoolExecutor ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory threadFactory, R...

05/05 23:33
10
程序员随想-关于分享

最早的时候,文字是贵族这些上层人士才会学习的,底层人士没有资格和渠道去学习,同样用文字、图像等其他载体承载的知识大部分也只有贵族阶层才能享受的。后来有了造纸术、印刷术,成本降低,...

04/24 22:02
9
程序员随想-工作效率

最近996的话题很火热,这里就会涉及两个话题,劳资关系、工作效率等话题。这里谈谈工作效率。 为什么会加班? 需求问题。 需求不明确,需求前期思考不足,导致大量重新沟通和返工。 程序员的问...

04/24 22:02
0
技术复习-java集合类

常用集合 Set MAP List 一.List ArrayList 由数组构成的List object[] elementData 实际存储的数组 int size 实际长度 int DEFAULT_CAPACITY = 10 初始容量10. 扩容过程:put的时候如果size+...

04/18 15:30
4
技术复习-java类加载机制

java类加载过程 装载 把class字节码加载到内存中。 链接 验证、准备、解析 初始化 类的静态变量、静态代码库进行初始化 类加载器 java中三个默认类加载器 Bootstrap ClassLoader 根加载器,加...

程序员随想-快速熟悉业务

前言 作为一名开发,经常面临着主动或被动切换业务做,有些时候切换至有一定相关联的另一个业务,本来做余额宝的被调到做证券。一些情况下是切换至完全相关的业务,如从商品切换到交易,甚至...

04/11 17:59
520
程序员随想-关于优雅

程序员随想记-关于优雅 人的思想是复杂,社会更是复杂的,然而整个世界却是简单的。世界的简单在于规则的简单既我们可以用简单且优美的方程来描述世界运行的规律,看看这些伟大的公式,多么简...

04/11 17:58
3
技术复习-分布式事务

一、分布式事务解决方案 1.两阶段提交 two phase commit 角色分为协调者、参与者。协调者负责协调所有的参与者。 第一阶段 prepare 协调者发送prepare请求,参与者锁定资源之后返回ready或者...

03/26 20:09
10
技术复习-Spring事务

spring事务 1.事务传播机制 在spring中事务存在嵌套的情况,在这种情况下事务如何协调,spring在TransactionDefinition中设了七个规则,被称作事务的传播机制 1.TransactionDefinition.PROP...

03/21 10:56
6

没有更多内容

加载失败,请刷新页面

返回顶部
顶部