首页
学习
活动
专区
工具
TVP
发布

架构探险之道

专栏作者
93
文章
133636
阅读量
15
订阅数
站在架构的角度思考线程池的设计和原理
默认情况下,即使核心线程最初只是在新任务需要时才创建和启动的,也可以使用方法 prestartCoreThread()或 prestartAllCoreThreads() 对其进行动态重写。
架构探险之道
2023-03-04
4030
并发编程 之 Fork/Join 框架
ForkJoin框架是从jdk1.7中引入的新特性,它同ThreadPoolExecutor一样,也实现了Executor和ExecutorService接口。它使用了一个无限队列来保存需要执行的任务,而线程的数量则是通过构造函数传入,如果没有向构造函数中传入指定的线程数量,那么当前计算机可用的CPU数量会被设置为线程数量作为默认值。
架构探险之道
2023-03-04
2960
IDEA 必备插件之 Key Promoter X (提效神器)
Key Promoter X 是用于基于 IntelliJ 产品(如 IDEA)的插件,它有助于在工作时从鼠标操作中 学习基本的键盘快捷键。当您在 IDE 内部的按钮上 使用鼠标时,Key Promoter X 会显示您应该使用的键盘快捷键,有助于过渡到更快的 无鼠标开发。
架构探险之道
2023-03-04
4.3K0
读书笔记 | 类的使用 | Effective Java 3
通过一个枚举类的形式定义标签,管理实例的不同逻辑处理的分发控制。举个例子,内部枚举对象 Shape 表示图形的类型,计算面积的时候,通过标签类型分别选择圆形和矩形的计算方式来计算。
架构探险之道
2023-03-04
3460
读书笔记 | 《Effective Java》 | 接口定义
Java 有两种机制来定义允许多个实现的类型:接口和抽象类。由于在 Java 8 中引入了接口的默认方法(default methods ),因此这两种机制都允许为某些实例方法提供实现。
架构探险之道
2023-03-04
2250
线程并发带来的安全性问题 之 同步锁(二)
上一节我们学习了线程并发常见的安全性问题、锁的底层类型和对象结构的差异、锁升级相关知识。今天我们继续学习锁是如何升级的?
架构探险之道
2023-03-04
2860
线程并发带来的安全性问题 之 同步锁(一)
在下面的案例中,演示了两个线程分别去去调用 demo.incr 方法来对 i 这个变量进行叠加,预期结果 应该是20000,但是实际结果却是小于等于20000的值。
架构探险之道
2023-03-04
2260
基于Zookeeper实现分布式锁,如何解决羊群问题?
我们先来看一个问题,如图所示,两个用户同时去抢购秒杀商品,当秒杀服务同时收到秒杀请求 时,都去进行库存扣减,此时在没有做任何处理的情况下,就会导致库存数量变成负数从而导致超卖现 象。
架构探险之道
2023-03-04
3380
[网络通信] 什么是零拷贝?
基本操作就是循环的从磁盘读入文件内容到缓冲区,再将缓冲区的内容发送到socket。但是由于Linux的I/O操作默认是缓冲I/O。这里面主要使用的也就是read和write两个系统调用,我们并不知道操作系统在其中做了什么。实际上在以上I/O操作中,发生了多次的数据拷贝。
架构探险之道
2023-03-04
4520
Zookeeper 入门
下载地址:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.6.2/
架构探险之道
2023-03-04
1970
[网络通信] Netty 入门实战
通过终端输入telnet localhost 8080后输入英文字符会得到响应,原字符返回。如依次输入abc,终端打印结果:
架构探险之道
2023-03-04
6380
Rx Java 异步编程框架
在很多软件编程任务中,或多或少你都会期望你写的代码能按照编写的顺序,一次一个的顺序执行和完成。但是在ReactiveX中,很多指令可能是并行执行的,之后他们的执行结果才会被观察者捕获,顺序是不确定的。为达到这个目的,你定义一种获取和变换数据的机制,而不是调用一个方法。在这种机制下,存在一个可观察对象(Observable),观察者(Observer)订阅(Subscribe)它,当数据就绪时,之前定义的机制就会分发数据给一直处于等待状态的观察者哨兵。
架构探险之道
2023-03-04
2.9K0
Kafka 架构及原理分析
为了理解 Kafka 是如何做到以上所说的功能,从下面开始,我们将深入探索Kafka 的特性。
架构探险之道
2023-03-04
4940
Redis 缓存中间件
一个网站演变的过程中,用户量的增加引起了并发量提高,如果不做处理,则频繁的查询数据库,结果是页面显示的慢,服务器、数据库不堪重负。如果网站页面所展示的数据的更新不是特别频繁,想提高页面显示的速度,减轻服务器的负担,此时应该考虑使用缓存。
架构探险之道
2023-03-04
6730
JVM 面试深入理解内存模型和垃圾回收(二)
https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-2.html#jvms-2.5 >>>
架构探险之道
2023-03-04
4000
JVM 面试基础准备篇(一)
我们把CPU能够直接认识的数据指令,称为机器语言,也就是010101001这种形式
架构探险之道
2023-03-04
2100
[工具]Snipaste 屏幕截图软件超级利器 - 花3年精心打造的极致截图贴图/编辑/标注工具
单说 Snipaste 是一款截图工具其实并不准确,这款小巧的工具功能异常强大。它不仅可以快速截图,还集成了标注和贴图功能。
架构探险之道
2023-03-04
1.1K0
项目中的全局缓存导致了内存泄露?
每种编程语言都有自己操作内存中元素的方式,例如在 C 和 C++ 里是通过指针,而在 Java 中则是通过“引用”。在 Java 中一切都被视为了对象,但是我们操作的标识符实际上是对象的一个引用(reference)。
架构探险之道
2020-09-18
6760
Valine 一款快速、简洁且高效的无后端评论系统
Valine 诞生于2017年8月7日,是一款基于LeanCloud的快速、简洁且高效的无后端评论系统。
架构探险之道
2020-09-01
9110
接口管理这下总会了吧?
基于 Spring Boot 的约定大于配置,根据 YAML 中配置的接口分组信息,直接生成对应所需 Docket Bean
架构探险之道
2020-09-01
4630
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档