自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 RPC和Restful

RPC(Remote Procedure Call):远程过程调用,即像调用本地方法一样去调用远端服务器的方法。RPC主要解决的问题:分布式系统中,服务之间的调用问题远程调用时,能够像本地调用一样方便PRC核心点:通讯问题:客户端和服务器端建立TCP连接寻址问题:通常可以提供服务器(主机名/IP地址)以及特定的端口。分布式下,需要考虑负载均衡问题。序列化和反序列化问题:网络协议是二进制的,因此需要在传输前序列化参数,接收后反序列化。RPC主要组件和调用过程RPC响应同步异步

2021-03-16 17:20:59 320

转载 常用的Linux命令

https://blog.csdn.net/xp178171640/article/details/104741430

2021-03-16 16:11:45 207

原创 Java: AbstractQueuedSynchronizer (AQS)

参考资料:https://tech.meituan.com/2019/12/05/aqs-theory-and-apply.htmlhttps://www.cnblogs.com/waterystone/p/4920797.htmlAQS是一种提供原子式管理同步状态、阻塞和唤醒线程功能以及队列模型的简单框架。标题AQS核心思想:如果被请求的共享资源空闲,那么就将当前请求资源的线程设置为有效的工作线程,将共享资源设置为锁定状态;如果共享资源被占用,就需要一定的阻塞等待唤醒机制来保证锁分配。这个机

2021-03-14 18:23:31 131

原创 Java:Atomic原子类

Atomic位于java.util.concurrent包中,可以简化多线程编程:无锁,但是保证线程安全;适用于计数器,累加器等。Atomic原理:无锁,使用CAS(compare and swap)来保证线程安全。Atomic原子类:基本类型AtomicIntegerAtomicLongAtomicBoolean数组类型AtomicIntegerArrayAtomicLongArrayAtomicReferenceArray引用类型AtomicReferenceAto

2021-03-11 11:34:45 106

原创 Java: Threadlocal

ThreadLocal并不是一个Thread,而是Thread的局部变量。*ThreadLocal不是用来解决对象共享访问问题的,而主要是提供了保持对象的方法和避免参数传递的方便的对象访问方式。ThreadLocalMap:是ThreadLocal的一个内部类// ThreadLocalMap is a customized hash map suitable only for maintaining thread local valuesstatic class ThreadLocalMap {

2021-03-10 14:33:40 70

原创 Java: Volatile

volatile是Java提供的一种轻量级的同步机制。并发编程中三个重要特性:原子性:一个操作中就是cpu不可以在中途暂停然后再调度;要么全部成功,要么全部失败。非原子操作都会存在线程安全问题,需要我们使用同步技术(sychronized)来让它变成一个原子操作。一个操作是原子操作,那么我们称它具有原子性。由Java内存模型来直接保证的原子性变量操作包括read、load、use、assign、store和write六个,大致可以认为基础数据类型的访问和读写是具备原子性的。可见性:当一个线程

2021-03-08 21:20:01 118

原创 JAVA: Lock解析

Lock:位于Java concurrent包中,常见的使用方式Lock lock = new ReentrantLock();try{ lock.lock(); ...}finally{ lock.unlock();//需要释放锁}Lock接口的方法:/**尝试获取锁。当该函数返回时,处于已经获取锁的状态。如果当前有别的线程获取了锁,则休眠。*/void lock();/**尝试获取锁。如果有别的线程获取了锁,则休眠。当该函数返回时,有两种可能:a.已经

2021-03-08 12:36:27 469

原创 JAVA- 锁

Java不得不所得“锁”: https://tech.meituan.com/2018/11/15/java-lock.htmlSynchronized原理:https://blog.csdn.net/xueba8/article/details/88753443https://www.jianshu.com/p/19f861ab749ehttps://mp.weixin.qq.com/s/2ka1cDTRyjsAGk_-ii4ngw

2021-03-07 23:16:47 60

原创 JAVA-多线程

多线程whywhathow创建多线程extends threadpublic class KillThread extends Thread{ @Override public void run(){}}implement runnablepublic class Battle implements Runnable{ public void run(){}}匿名类Thread t1= new Thread(){ public void run()

2021-03-01 23:08:18 108 2

空空如也

空空如也

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

TA关注的人

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