首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
开发
订阅
程序锋子
更多收藏集
微信扫码分享
微信
新浪微博
QQ
30篇文章 · 0订阅
撸完这篇线程池,我快咳血了!
我们知道,线程需要的时候要进行创建,不需要的时候需要进行销毁,但是线程的创建和销毁都是一个开销比较大的操作。 虽然我们程序员创建一个线程很容易,直接使用 new Thread() 创建就可以了,但是操作系统做的工作会多很多,它需要发出 系统调用,陷入内核,调用内核 API 创建…
Java开源框架中的设计模式以及应用场景
设计模式是软件设计中常见问题的典型解决方案,你可以通过对其进行定制来解决代码中的特定设计问题。 关于设计模式,网上有很多讲解。但大部分都是Demo示例,看完有可能还是不知道怎么用。 本文笔者将从设计模式入手,看一看在优秀的Java框架/中间件产品中,不同的设计模式应用场景在哪里…
谁说明天上线,这货压根不知道开发流程!
互联网中一个项目的上线会需要各个工种间的配合,以研发为视角上会承接产品需求,下会交给测试验证,最终完成项目交付上线。其实除此之外,还会有业务、运营、UI设计、运维,来配合项目的发起、使用和运维维护。 图 18-1,互联网工种协同合作。 除了一条线上的工作交替配合,还有同工种间的…
一次彻底搞透协议设计(没做过通讯底层也没有关系)!
系统设计,协议先行。 无论如何,了解协议设计的原则,对深入理解系统通信非常有帮助。 所谓 “协议”,是双方共同遵守的规则,例如:离婚协议,停战协议。协议有语法、语义、时序三要素: 画外音:后文主要讲语法设计。 协议设计通常分为三层:应用层协议、安全层协议、传输层协议。 下面分别…
偏向锁状态转移原理
当多个处理器同时处理的时候,通常需要处理互斥的问题。 一般的解决方式都会包含acquire和release这个两种操作,操作保证,一个线程在acquire执行之后,在它执行release之前,其它线程不能完成acquire操作。这个过程经常就涉及到锁。研究表明(L. Lampo…
5000字 | 24张图带你彻底理解Java中的21种锁
乐观锁是一种乐观思想,假定当前环境是读多写少,遇到并发写的概率比较低,读数据时认为别的线程不会正在进行修改(所以没有上锁)。写数据时,判断当前 与期望值是否相同,如果相同则进行更新(更新期间加锁,保证是原子性的)。 Java中的乐观锁: CAS,比较并替换,比较当前值(主内存中…
学习 Java 最强书单推荐,附学习方法
回想起 10 年前我学习 Java 那会,资源极度匮乏,老师给我们推荐了两本书,一本《Java 编程思想》,一本《Java 开发宝典》。老师以为第一本书讲理论,第二本书讲实战,完美的组合。 但实际上呢,毕业的时候,班里面只有 13 名同学从事了软件开发的工作,其余 30 多名学…
为什么你的insert就死锁了
本以为只需要系统学习一个较完全的逻辑,但是实际牵扯很多innodb锁相关知识及加锁方式。我好像并没有那么大的能耐,把各种场景的加锁过程一一列举并加之分析;亦没有太多的精力验证网上的言论的准确性。 只好根据现在了解的内容,参考官方文档,说说自己当前的理解。 本文仅供参考,如有误导…
一篇文章让你彻底搞懂Bean后置处理器及执行时机
如果还嫌麻烦,我可以把我搭建好的项目传到gitee或者github,大家拉下来就能用了。 Spring 通过 AutowiredAnnotationBeanPostProcessor 实现的 推断构造方法,我们挖个坑,放到下篇专门讲解推断构造方法讲。 现在有这么个情况,和jav…
2w字 + 40张图带你参透并发编程!
在计算机最早期的时候,没有操作系统,执行程序只需要一种方式,那就是从头到尾依次执行。任何资源都会为这个程序服务,在计算机使用某些资源时,其他资源就会空闲,就会存在 浪费资源 的情况。 操作系统的出现为我们的程序带来了 并发性,操作系统使我们的程序能够同时运行多个程序,一个程序就…