首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
分析
订阅
kandan
更多收藏集
微信扫码分享
微信
新浪微博
QQ
28篇文章 · 0订阅
揭秘Java高效随机数生成器
在Java中一提到随机数,很多人就会想到Ramdom类,如果有生成随机数的需求的时候,大多数时候都会选择使用Random来进行随机数生成,虽然其内部使用CAS来实现,但是在多线程并发的情况下的时候它的表现并不是很好。在JDK1.7之后,JDK提供了提供了更好的解决方案,接下来让…
配置中心 Apollo 源码解析 —— Config Service 配置读取接口
- [1. 概述] - [2. ConfigController] - [2.1 构造方法] - [2.2 queryConfig] - [2.3 tryToGetClientIp]
大白话聊聊Java并发面试问题之公平锁与非公平锁是啥?【石杉的架构笔记】
上篇文章(大白话聊聊Java并发面试问题之谈谈你对AQS的理解?)聊了一下java并发包中的AQS的工作原理,也间接说明了ReentrantLock的工作原理。 先来聊聊非公平锁是啥,现在大家先回过头来看下面这张图。 如上图,现在线程1加了锁,然后线程2尝试加锁,失败后进入了等…
透过源码看JNI在java多线程编程中的作用
jni是java程序和本地代码之间的“传送门”,本篇解析其在多线程管理中起到的作用。
Vue的钩子函数[路由导航守卫、keep-alive、生命周期钩子]
说到Vue的钩子函数,可能很多人只停留在一些很简单常用的钩子(created,mounted),而且对于里面的区别,什么时候该用什么钩子,并没有仔细的去研究过,且Vue的生命周期在面试中也算是比较高频的考点,那么该如何回答这类问题,让人有眼前一亮的感觉呢... 有的时候,我们需…
SpringBoot 应用程序启动过程探秘
关于 @SpringBootApplication 注解的剖析已经在上文:《SpringBoot 中 @SpringBootApplication注解背后的三体结构探秘》 中完成了,其实它背后就是一个三体结构,只是 SpringBoot给了其一个包装而已。那么本文我们就来看看这…
Java Thread的join() 之刨根问底
线程的合并的含义就是 将几个并行线程的线程合并为一个单线程执行,应用场景是 当一个线程必须等待另一个线程执行完毕才能执行时,Thread类提供了join方法来完成这个功能,注意,它不是静态方法。 void join():当前线程等该加入该线程后面,等待该线程终止。 void j…
Netty Pipeline源码分析(1)
前面,我们分析了Netty EventLoop的 创建 与 启动 原理,接下里我们来分析Netty中另外两个重要组件—— ChannelHandler 与 Pipeline。Netty中I/O事件的传播机制均由它负责,下面我们来看看它是如何实现的。 我们前面在讲 Channel…
Vue.js的computed和watch是如何工作的?
Vue的组件对象支持计算属性computed和侦听属性watch两个选项,但这两个属性用法有什么异同以及它们底层实现的原理是什么?本文将用例子结合源码来进行总结。 1.computed是计算属性,类似于过滤器,对绑定到视图的数据进行处理,并监听变化进而执行对应的方法,对这部分不…
Java自动拆箱与装箱
在讲解正文之前,我很想问这么一个问题:"Java为我们提供了8种基本数据类型,为什么还需要提供各自的包装类型呢?"。您可能会觉得这个问题问的很奇怪,但是我觉得还是值的思考的。 因为Java是一门面向对象的语言,基本数据类型并不具备对象的性质。而包装类型则是在基本类型的基础上,添…