首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
代码
订阅
summer君57148
更多收藏集
微信扫码分享
微信
新浪微博
QQ
9篇文章 · 0订阅
初识Java内存模型
JMM规定Java每个线程都有自己的工作内存(Working Memory),线程的工作内存中有共享变量的副本,共享变量则存放在主存(Main Memory)中。工作内存是线程私有的,而主存则是所有线程共享的。工作内存用于存放线程私有的数据。而Java内存模型中规定所有变量都存…
ThreadLocal解析
产生线程安全问题的根源在于多线程之间的数据共享。如果没有数据共享,就没有多线程并发安全问题。ThreadLocal就是用来避免多线程数据共享从而避免多线程并发安全问题。它为每个线程保留一个对象的副本,避免了多线程数据共享。每个线程作用的对象都是线程私有的一个对象拷贝。一个线程的…
当我们讨论TCP的连接运输管理时,我们在说什么
TCP是面向连接的协议。运输连接是用来传送TCP报文的。TCP的连接和释放是每一次面向连接的通信中必不可少的过程。因此,运输连接就有三个阶段,即:连接建立,数据传输和连接释放。运输连接的管理就是使运输连接的建立和释放都可以正常的进行。 在TCP连接的建立过程中要解决一下三个问题…
如何设计一个 RPC 系统
RPC是一种方便的网络通信编程模型,由于和编程语言的高度结合,大大减少了处理网络数据的复杂度,让代码可读性也有可观的提高。但是RPC本身的构成却比较复杂,由于受到编程语言、网络模型、使用习惯的约束,有大量的妥协和取舍之处。本文就是通过分析几种流行的RPC实现案例,提供大家在设计…
微服务--API版本控制
在SpringMVC中RequestMappingHandlerMapping是比较重要的一个角色,它决定了每个URL分发至哪个Controller。 Spring Boot加载过程如下,所以我们可以通过自定义WebMvcRegistrationsAdapter来改写Reque…
[译] 代码审查之最佳实践
之所以要执行代码审查(code reviews),就是为了籍此改善代码质量,并向团队和公司文化中注入正能量。比如: 提交者往往会清理未完成的细枝末节、合并 TODOs,或是进行一般性的改进;完成这些后,提交者则期待有其他审查者对提交的变动进行检查。让许多开发者引以为傲的,正是从…
Java垃圾回收机制
Java语言是一门自动内存管理的语言,不再需要的对象可以通过垃圾回收自动进行内存释放。 程序计数器可以看做是当前线程所执行字节码的行号指示器。JVM依靠程序计数器来选取需要执行的下一条字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来实现。 虚拟机…
CAS原子操作以及其在Java中的应用
CAS(Compare And Swap)意为比较并且交换,CAS它是一个原子操作。CAS操作涉及到三个值:当前内存中的值V,逾期内存中的值E和待更新的值U。如果当前内存中的值V等于预期值E,则将内存中的值更新为U,CAS操作成功。否则不更新CAS操作失败。 CAS在JUC中有…
IO多路复用原理剖析
(最近笔试遇到笔试题:select,poll,epoll都是IO多路复用的机制)。 I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们…