首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
技术文章
订阅
鸽子汤
更多收藏集
微信扫码分享
微信
新浪微博
QQ
11篇文章 · 0订阅
Java 内存模型
文章内容有并发、内存模型、重排序、内存屏障、happens-before规则、as-if-serial语义、顺序一致性内存模型、volatile、锁、final。 通信:是指线程之间以何种机制来交换信息;在命令式编程中,通信机制有两种,共享内存和消息传递。 同步:是指程序用于控…
JVM 系列(1) --- 虚拟机在运行期对代码的优化策略
首先我们先来了解一下运行在虚拟机之上的解释器与JIT编译器。 采用解释器的形式,也就是说,在运行.class文件的时候,解释器一边把.class文件翻译成本地机器码,一边执行。显然这种一边解释翻译一边执行发方式,可以使我们立即启动和执行程序,省去编译的时间。不过由于需要一遍解释…
JVM -- 运行时栈帧结构简介
每一个栈帧都包括了局部变量表,操作数栈,动态连接,方法返回地址和一些额外的附加信息。在编译代码的时候,栈帧中需要多大的局部变量表,多深的操作数栈都已经完全确定了,并且写入到了方法表的Code属性中,因此一个栈帧需要分配多少内存,不会受到程序运行期变量数据的影响,而仅仅取决于具体…
dubbo 源码解析-集群容错架构设计
本来是想把整个dubbo源码解析一次性弄完,再做成一个系列来发布的,但是正巧最近有位好朋友要去杭州面试,就和我交流了一下.本着对dubbo源码略有心得的心态,在交流过程中也发表了个人的一些粗劣的拙见.但是非常不幸的是,交流过程中我这位朋友问到了几个问题,我却没能回答得上,让我感…
为什么我强烈推荐你用枚举来实现单例模式
单例模式是 Java 中最简单,也是最基础,最常用的设计模式之一。在运行期间,保证某个类只创建一个实例,保证一个类仅有一个实例,并提供一个访问它的全局访问点。下面就来讲讲Java中的N种实现单例模式的写法。 这是实现一个安全的单例模式的最简单粗暴的写法,这种实现方式我们称之为饿…
分表后需要注意的二三事
本篇是上一篇《一次分表踩坑实践的探讨》,所以还没看过的朋友建议先看上文。 分表策略:哈希、时间归档等。 分表字段的选择。 数据迁移方案。 而本篇文章的背景是在我们上线这段时间遇到的一些问题并尝试解决的方案。 之前提到在分表应用上线前我们需要将原有表的数据迁移到新表中,这样才能保…
阿里面试题:Mybatis中的Dao接口和XML文件里的SQL是如何建立关系的?
如果你看过笔者关于Mybatis源码分析的往期博文,相信你肯定可以给出一个不错的答案。 但鉴于系列文章篇幅较大,而且重点是源码部分的解读,所以笔者想再针对这个问题,再梳理下整个流程。 本文配合下列文章,食用更佳。 首先,Mybatis在初始化SqlSessionFactoryB…
一种简单易懂的 MyBatis 分库分表方案
数据库分库分表除了使用中间件来代理请求分发之外,另外一种常见的方法就是在客户端层面来分库分表 —— 通过适当地包装客户端代码使得分库分表的数据库访问操作代码编写起来也很方便。本文的分库分表方案基于 MyBatis 框架,但是又不同于市面上常用的方案,它们一般都是通过编写复杂的 …
Java并发编程—synchronized保证线程安全的原理分析
程安全是并发编程中的重要关注点,应该注意到的是,造成线程安全问题的主要诱因有两点,一是存在共享数据(也称临界资源),二是存在多条线程共同操作共享数据。因此为了解决这个问题,我们可能需要这样一个方案,当存在多个线程操作共享数据时,需要保证同一时刻有且只有一个线程在操作共享数据,其…
HashMap,难的不在Map,而在Hash
在平常的开发当中,HashMap是 我 最常用的Map类(没有之一),它支持null键和null值,是绝大部分利用键值对存取场景的首选。需要切记的一点是——HashMap不是线程安全的数据结构,所以不要在多线程场景中应用它。 通常情况下,我们使用Map的主要目的是用来放入(pu…