双重检查锁定在Java中的陷阱
简介双重检查锁定(也叫做双重检查锁定优化)是一种软件设计模式。它的作用是减少延迟初始化在多线程环境下获取锁的次数,尤其是单例模式下比较突出。软件设计模式:解决常用问题的通用解决方案。编程中针对一些常见业务固有的模版。延迟初始化:在编程中,将对象的创建,值计算或其...
2024-01-10真香!CODING DevOps “极速构建计划”,再也不用担心构建慢了!
随着软件研发模式的不断演进,越来越多的团队使用持续集成的方式进行自动化的测试与构建。但持续集成的过程中,往往会碰到外网资源拉取失败,异地部署推送慢等问题,拉低了持续集成的频率。在大型复杂的项目中,开发者往往需要使用公司网络构建,以保障资源的顺利拉取,十分不便。为此,...
2024-01-10君子动手不动口,阿里云喊你做云上体验官啦!
想要免费搭建云上博客?想要玩转全云端开发?想要挑战AI经典命题?想要7天进阶成为云计算专家?想要初始化你的云原生工程?快来阿里云 Hands-on Labs!Hands-on Labs 是阿里云全新推出的云上动手实验室,给开发者专门开辟的试、学、练、竞的场所。在这里,你可以找到:• 阿里云精心打造的云上体验...
2024-01-10安卓热修复框架AndFix核心代码分析并改进
前言AndFix,全称是Android hot-fix,是阿里开源的一个Android热修复框架,允许APP在不重新发布版本的情况下修复线上的bug。就目前来说,AndFix支持Android 2.3到6.0版本,并且支持arm 与 X86系统架构的设备。完美支持Dalvik与ART的Runtime。 这个框架的核心技术点有两个方面:1.通过apkpatch工具生成一个.apatch格式...
2024-01-10深入设计模式,工厂方法模式
本文完全搬运自《深入设计模式》电子书意图工厂方法模式是一种创建型设计模式,其在父类中提供一个创建对象的方法,允许子类决定实例化对象的类型。问题假设你正在开发一款物流管理应用。最初版本只能处理卡车运输,因此大部分代码都在位于名为卡车的类中。一段时间后,这款应用...
2024-01-10Go项目使用Docker
容器(Container)将程序及其所需的任何内容捆绑在一起,包括依赖项、工具和配置文件等等。这样使得程序不受环境的干扰,真正意义上做到开发环境和生成环境完全一致。而 Docker 在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。与...
2024-01-10离职时公司加薪留我,是去是留?
本期主要是围绕一个话题来讨论的:我提了离职,但是公司给我涨薪了,是走是留?刚好也是一个读者的一个疑惑,刚好跟大家说说。背景可以看下,我跟读者的聊天记录这是敖丙的一个读者,在昨天问我的一个问题,他提了离职了,但是现在他老板给他涨工资了,是走是留。读者在一家体量...
2024-01-10斗胆谈谈阿里人所谓的"要性"!
最近,和团队内的一个入职不到一年的同学聊天,给他提了个建议,告诉他在阿里工作要"有要性",然后给他说了一下我对"要性"的理解,顺便总结下来和大家分享下,欢迎讨论。我理解的要性"要"性,其实是就是我们对一件事情的渴求程度。很多人说这就是有事业心,我认为不仅仅是这样,这其实是...
2024-01-10Flutter定义theme主题风格
在Flutter开发中,我们可以通过定义 Theme,复用颜色和字体样式,从而让整个app的设计看起来更一致。一. Theme主题的使用Theme分为:全局Theme和局部Theme主题有两个作用:设置了主题之后,某些Widget会自动使用主题的样式(比如AppBar的颜色)将某些样式放到主题中统一管理,在应用程序的其它地方...
2024-01-10深入了解Java ConcurrentHashMap
在上一篇文章【简单了解系列】从基础的使用来深挖HashMap里,我从最基础的使用中介绍了HashMap,大致是JDK1.7和1.8中底层实现的变化,和介绍了为什么在多线程下可能会造成死循环,扩容机制是什么样的。感兴趣的可以先看看。我们知道,HashMap是非线程安全的容器,那么为什么ConcurrentHashMap能够做到线...
2024-01-10