暂无个人介绍
编程就像魔法。最近遇到一个诡异的问题:添加一段看似无害的简单代码后,系统原有功能不可用了。 ## 复现演示 jdk 8 可使用如下演示代码复现这个问题。 `TaskCenter` 是一个任务框架,可添加多个任务,随后框架将执行这些任务。 `First` 任务是新增代码,看起来简单无害,且看不出对原有任务 `Count` 有何影响,但添加 `First` 任务后,其自身执行正常,原本正常的 `C
长久以来,主流计算机 CPU 都是 Intel x86 构架, AMD 将之扩展为 64 位 x86\_64 架构,又称为 amd64 。 “x86 CPU 有哪些?” “i5 i7 i386 i686 等” 。但主流并非唯一,业界一直存在多种 CPU 架构,如 MOS6502 MIPS PowerPC ARM 等。 Linux 很早就开始支持 ARM 的 64 位架构,社区称为 aarch64
最近偶然看到一篇 2006 年的老文章《[Tour de Babel](https://sites.google.com/site/steveyegge2/tour-de-babel)》 ([中文翻译](https://code.google.com/archive/p/windows-config/wikis/TourDeBabel.wiki)),评论各种编程语言,其中提到 C++ 有太多容易引
函数是计算机编程的核心。Scheme 等 Lisp 系编程语言提供了完善的函数功能。如可在任意代码位置创建函数,一个函数的参数或返回值也可以是函数,这种函数称为高阶函数 (Higher-Order Function) 。合理使用高阶函数可帮助 **构建合理的抽象层次** ,更好的复用代码, **提升代码可读性和健壮性** 。一些语言将这些特性称为函数式编程。 C 语言不一样, C 专注简单和
Sentinel 是在大促流量洪峰等场景下保障系统稳定性和可用性的重要技术产品。Nginx 是一款高性能开源 HTTP 服务器,通常部署为应用前端入口。为方便应用接入,我们提供了 [Sentinel Nginx 模块](https://ahas.console.aliyun.com/flowProtection/systemGuardNginx?activeKey=0&guardGwInstall
推荐学习资料: * nginx 开发指南: http://nginx.org/en/docs/dev/development_guide.html * nginx 动态模块编译博客文章: https://www.nginx.com/blog/compiling-dynamic-modules-nginx-plus/ * nginx 源码: https://github.com/nginx
## 背景信息 MQTT 是专为移动互联网(Mobile Internet)、物联网(IoT)设计的超轻量级消息协议,连接移动端与云服务双向通信,广泛应用于各种应用领域,如端向云汇报状态、云向端推送消息、端向端发送消息(即时聊天)等场景。MQTT 服务性能指标包括支撑同时在线移动端设备数量、消息收发量级、消息延迟等。 &nbs
人们喜欢造节。一些人就起哄把 10 月 24 日叫做程序员节。1024 是 2 的 10 次方,是计算机存储单位的换算率,1024 字节等于 1K,1024K 等于 1M,以此类推。因此 1024 这个数字被认为与程序员相关。 编程的本质是组合创造,是思考,优秀的程序应该正确、简单、健壮。所谓的程
[Apache JMeter](https://jmeter.apache.org/) 是 Apache 旗下的开源压测工具,创建于 1999 年初,迄今已有超过 20 年历史。JMeter 功能丰富,社区(用户群体)庞大,是主流开源压测工具之一。 性能测试通常集中在新系统上线或大型活动前(如电商大促,春节活动等),以验证系统能力,帮助排查定位性能瓶颈等问题。 一次压测活动可粗略分为几
* 作者: 韩勇 * 日期: 2018-12-02 ## 前言 大学学习 Java 时开始接触 Eclipse,喜欢其强大和方便,并立志成为一名 Java 开发。然而近几年 Eclipse 的流行度开始下滑,一方面有 Eclipse 自身的不足(安装插件需要科学上网,新版卡顿、报错),一方面我在想是不是 Eclipse 更适合我这样熟练
* tag: lxc lxd container linux * date: 2018-04 本文基于 ubuntu 16.04 操作。 ## LXD 是什么 很多人可能不知道 LXD,但可能听说过老牌容器 LXC(远早于 docker)。 [LXC][] 由 [Canonical Ltd][] 和 [Ubuntu][] 开发维护,其灵感可能来自 [OpenVZ][] 等
[上回](https://www.atatech.org/articles/101496) 提到可使用 initrd 实现两阶段启动,有啥好处呢? * 访问根文件系统需要的附加驱动、内核模块和软件包等可以放到 initrd 中,基础内核保持小而精。 * 内核 + initrd 即可启动计算机基础环境,可实现不依赖目标系统环境的“独立应用”,如 ubuntu 网络安装程序,系统维护(恢复)环境等
* tag: spring 学习笔记 * date: 2018-03 spring 是什么?spring 核心是应用组件容器,管理组件生命周期,依赖关系,并提倡面向接口编程实现模块间松耦合。 spring boot 是什么?spring boot 是按特定(约定)方式使用 spring 及相关程序库以简化应用开发的一套框架和工具。 以下统称 spring。 本文使用 spring b
1991 年,[Linus Torvalds](https://en.wikipedia.org/wiki/Linus_Torvalds) 同学入手了一台个人计算机(PC)。 当时可用的操作系统有商用 Unix 和 PC Windows,两者都价格不菲,于是 Linus 决定写一个操作系统(内核)来驱动自己的计算机(?)。 其参考 Unix 实现并用自己的名字与 Unix 合并来命名,即 Li
Spring 容器是应用组件 bean 创建和组装专家, 支持 `InitializingBean`, `AbstractBeanDefinition.setInitMethodName(String)`, `@PostConstruct` 等多种方法初始化(及销毁)bean。 ## 单例(singleton)bean 最常使用的是单例(singleton)bean,Spring 自