自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 Java高级--网易微专业课程--2001期

专题一 Java核心基础–万丈高楼平地起,勿在浮沙筑高台1.Java程序运行原理分析JVM运行时数据区、class文件内容分析JVM类加载机制2.注解、反射和封装3.多线程核心线程状态(六种)线程可见性(JMM内存模型)线程原子性(Java锁/synchronized、CAS、AQS源码原理)线程封闭(ThreadLocal原理和栈封闭)线程通信和控制、死锁(suspend/resume /wait/notify/park/unpark)线程池原理4.JVM性能优化JVM

2020-06-28 20:48:34 321

原创 线程安全--线程原子性

一、线程安全概念临界区:关键部分代码段在多线程并发执行,会对执行结果影响。竞态条件:多线程访问下,在临界区的特殊条件导致不安全的问题。共享资源:多线程并发访问的资源。栈封闭:不会在线程之间共享变量,ThreadLocal保证线程安全的原理。局部变量:引用本身不会共享,方法内创建的对象不会在线程间传递的话也线程安全的。不可变对象:不提供修改的(对象状态唯一)方法,即使共享了也是线程安全的。二、原子操作1.原子操作概念原子操作:一系列的操作步骤,顺序不可以打乱,也不可以的切割只执行一部分。存

2020-06-27 16:05:47 804

原创 线程可见性问题--JVM内存模型

一、回顾–JVM程序运行原理jvm内存存储结构:线程共享区存在多个线程的竞争和协同的问题,java多线程核心技术就是线程安全机制和协作机制,虚拟机的内存模型是针对多线程问题提供的java语言规范。一个例子,揭示线程可见性问题:package shen.example.demo.mutithread;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** * &l

2020-06-27 15:25:42 193

原创 JAVA线程状态:5种?6种?

一、 java线程状态到底几种?线程状态网上各种奇葩文章描述5种的也有,7种的也有,这里告诉你:JDK源码中Thread类内部有枚举类State详细描述了线程6种线程状态:1.NEW:尚未启动;2.RUNNABLE:运行中3.BlOCKED:线程等待monitor锁定的状态(synchronized同步块中阻塞)4.WAITING:等待线程,主动调用wait()、join()、park()后的状态5.TIMED_WAITING:等待超时,Thead.sleep(long),wait(long)

2020-06-27 11:58:00 960

原创 JVM内存缓存优化

一、什么是缓存临时存储数据的高速存储层本质是空间换时间,提升接口响应速度硬件缓存:cpu多级缓存客户端缓存:比如浏览器缓存服务端缓存:内存缓存(进程内)、分布式缓存、组合缓存二、使用场景高并发查询高并发写入热点查询热点写入三、缓存特点需要设置存活时间–过期策略空间有限–淘汰策略支持并发更新四、使用缓存需要考虑的问题缓存一致性:缓存数据和磁盘数据不同业务场景存在一致性要求;需要提供同步方案,更新操作候直接删除缓存或者利用MQ的消息一致性保证或者任务调度更新缓存缓存

2020-06-27 02:46:13 915

原创 单机限流实战

一、 限流算法介绍漏桶算法该算法关键是漏桶取出请求的速率是固定的,请求过多(流入)超过容量时会排队或者拒绝。所以处理的请求的速度是固定的,面对大量的突发请求,请求会排队按照固定的速率处理。令牌桶算法该算法的核心是在创建令牌桶的时候,指定固定的速率生成令牌可以应对突发流量。同时能够使用所有的请求平均分布到时间段区间内。和漏桶不一样,令牌桶有以下特点:固定的速率放入令牌正常情况下,桶内会保持一定数量的令牌(桶大小),满则丢弃令牌。当请求到达时取令牌,取到则可以执行。桶空了取不到则等待或直

2020-06-26 20:02:03 299

原创 消息中间件MQ-基于RabbitMQ分布式事务处理

一、回顾1.消息中间件核心概念消息中间件,本质就是接收数据、保存数据、发送数据的网络应,常常应用在分布式架构系统中,实现业务服务(系统)之间拆分解耦、可靠性消息通信等协同处理。基于消息(数据)传递和消息队列,实现跨进程的通讯。理解上可以认为是一个外置的queue队列,但需要协同不同的服务或系统,所以复杂的多,一般的消息中间件设计核心有5个:支持的协议–解决消息通讯的问题持久化机制–消息数据存入磁盘消息分发机制–发布订阅(推送)、拉取、重发等,解决消息消费方式高可用机制–支持集群部署,实现高

2020-06-25 22:37:50 429

原创 Java基础知识梳理和回顾

前言很久没写博客了,最近在学习网易的高级java工程师的课程,在这儿重新梳理下自己的知识体系。如有纰漏欢迎指正。Java语言重要特性Java一种面向对象的高级语言。和其他高级语言一样都有总要的特性,继承、重写/重载、多态是Java重要,也是基本的特性。无论Java怎么发展,这是Java语言的基石。继承extends/implements继承我们肉眼可见的作用是:可消除重复代码(抽象类的使用),继承我们记住四个特点就行:1.子类拥有父类非private属性和方法;2.子类可以扩展父类,即拥

2020-05-11 01:11:09 324

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除