张恭庆院士:数学的意义(最全面的解释)

数学既是一种文化、一种“思想的体操”,更是现代理性文化的核心。马克思说:“一门科学只有当它达到了能够成功地运用数学时,才算真正发展了。”在前几次科技革命中,数学大都起到先导和支柱作用。我们不能要求决策者本人一定要懂得很多数学,但至少要经常想想工作中有没有数学问题需要请数学家来咨询。因为数学是科技创新的一种资源,是一种普遍适用的并赋予人以能力的技术。>&...
2024-02-10 阅读全文 →

图解|Linux内存背后的那些神秘往事

前言大家好,我的朋友们!CPU、IO、磁盘、内存可以说是影响计算机性能关键因素,今天就聊探究下内存的那些事儿。内存为进程的运行提供物理空间,同时作为快速CPU和慢速磁盘之间的适配器,可以说是个非常重要的角色。通过本文你将了解到以下内容:本文均围绕Linux操作系统展开,话不多说,我们开始吧!虚拟内存机制当要学习一个新知识点时,比较好的过程是先理解出现这个技术...
2024-02-10 阅读全文 →

看下有多少人对Java感兴趣?

话不多说,干货走起。1、HashMap面试第一题必问的 HashMap,挺考验Javaer的基础功底的,别问为啥放在这,因为重要!HashMap具有如下特性:HashMap 的存取是没有顺序的。KV 均允许为 NULL。多线程情况下该类不安全,可以考虑用 HashTable。JDk8底层是数组 + 链表 + 红黑树,JDK7底层是数组 + 链表。初始容量和装...
2024-02-10 阅读全文 →

当我们在谈论cpu指令乱序的时候,究竟在谈论什么?

原文:https://zhuanlan.zhihu.com/p/45808885很多现代高级语言多提供了多线程并发技术,今天服务器CPU基本上都是多核架构,在Java中,JVM能够根据处理器特性(CPU多级缓存系统、多核处理器等)适当对机器指令进行重排序,最大限度发挥机器性能。Java中的指令重排有两次,第一次发生在将字节码编译成机器码的阶段,第二次发生在C...
2024-02-10 阅读全文 →

被知乎大佬嘲讽后的一个月,我重新研究了一下内联函数

前言这绝不仅仅是一篇讲内联意义的文章参考我的学习过程,可能对你的知识整合有很大帮助之前写了一篇总结c++面试的文章,被大佬纠出来很多关于内联的问题与错误。抱着不误导别人的态度(也因为上篇文章承诺要给大家深入分析一下内联函数),我在最近的一个月里抽了很多时间去重新研究inline,确实学到了很多以前不了解的知识。学习么~就是一个不断打破之前认知并重构知识的过程...
2024-02-10 阅读全文 →

Java这几本经典书籍,读透一本上一个台阶

相信每位程序员都不甘心只做一个“代码机器”,都希望自己的IT之路可以走得更长远!成为一名优秀的Java工程师需要掌握的知识相当多,除了Java编程语言外,操作系统、数据结构与算法、数据库、常用框架、设计模式、网站架构等等诸多技能也都是统统需要掌握。学习Java有哪些必读的经典图书呢?下面为你推荐几本系统学习Java语言你必须要读的书!它们经过无数人口口相传,...
2024-02-10 阅读全文 →

好代码和坏代码

(文末有福利)要写出好代码,首先需要提升品位。很多软件工程师写不好代码,在评审他人的代码时也看不出问题,就是因为缺乏对好代码标准的认识。现在还有太多的软件工程师认为,代码只要可以正确执行就可以了。这是一种非常低的评价标准,很多重要的方面都被忽视了。好代码的特性好代码具有以下特性。1. 鲁棒(Solid and Robust)代码不仅要被正确执行,我们还要考虑...
2024-02-10 阅读全文 →

[译] 我做基础架构学到的 42 件事

译者序最近读到了分布式系统研究者 Mahesh Balakrishnan 的一篇博客《42 things I learned from building a production database》。同样做基础架构,看完大佬总结的经验后拍案叫绝,其中有几条简直是真知灼见,故翻译了全文。Mahesh Balakrishnan 是 Facebook Delos ...
2024-02-09 阅读全文 →

终于有大佬把"计算机底层原理"全部总结出来了

计算机的历史算盘和机械计算机有很多民族自豪感爆棚的兄弟会把算盘当成计算机的起源,还有爆破天的兄弟会把阴阳当成二进制0和1的起源,我觉得这件事儿就有点儿不靠谱了如果非要追究计算机的鼻祖,那就得讲讲17世纪前欧洲的故事,最早的计算机其实是计算器,就是算数用的,在欧洲工业工业革命的时候,大量的工业模具需要计算,欧洲又没有中国传统的计算器 - 算盘,就催生了很多科学...
2024-02-09 阅读全文 →

老兵精讲:C++性能优化

前言性能优化不管是从方法论,还是从实践上都有很多东西。本文从 C++ 语本身入手,介绍了一些性能优化的方法,希望能做到简洁实用。实例1在开始本文的内容之前,让我们看段小程序:// 获取一个整数对应10近制的位数uint32_t digits10_v1(uint64_t v) {   &nb...
2024-02-09 阅读全文 →

Linux 性能优化全景指南

Part1  Linux性能优化1、性能优化性能指标高并发和响应快对应着性能优化的两个核心指标:吞吐和延时应用负载角度:直接影响了产品终端的用户体验系统资源角度:资源使用率、饱和度等性能问题的本质就是系统资源已经到达瓶颈,但请求的处理还不够快,无法支撑更多的请求。性能分析实际上就是找出应用或系统的瓶颈,设法去避免或缓解它们。选择指标评估应用程序和系...
2024-02-09 阅读全文 →

一位大佬对于 Qt 学习的最全总结(三万字干货)

点击上方“程序喵大人”,选择“关注/置顶/星标公众号”干货福利,第一时间送达!分享一位大佬 Github 上关于 Qt 学习的总结。作者无私分享了一百多个自定义控件以及几本 Qt 的书籍(C++ Qt),特此引用这个大佬的干货,左下角可阅读原文进入GitHub原分享地址。一、个人总结的经验语录学习编程是一个渐变的过程,1年精通,3年熟悉,8年入门,10年懵逼...
2024-02-09 阅读全文 →

居家隔离的第39天

大家好,我是程序喵。最近好多朋友一直关心我过得怎么样,这篇文章其实想发很久了,算是对大家的一个报备,我一切都好,至于具体怎么样,毕竟关了一个多月,请各位允许我矫情下,忍住阅读完此文,谢谢!1这是我不能出门的第39天今天早上起来,打开手机,一个好消息,一个坏消息。小区群里面,居委主任通知:是的,我们又又又又又????了。这是我们小区第三次公布????,前前后后...
2024-02-09 阅读全文 →

路由器是如何工作的?

点击上方“程序喵大人”,选择“置顶/星标公众号”干货福利,第一时间送达!什么叫路由?路由器的英文是 Router,也就是「找路的工具」。找什么路?寻找各个网络节点之间的路。换句话说,路由器就像是快递中转站,包裹会经过一个个的中转站,从遥远的地方寄到你家附近,数据包也是一样。路由器是连接两个网络的硬件设备,承担寻路功能,是网络的大门,因此,路由器又叫做网关设备...
2024-02-09 阅读全文 →

C++的单例模式为什么不直接全部使用static,而是非要实例化一个对象?

开场前段时间我在知乎回答了这样一个问题:为什么C++单例模式不能直接全部使用 static变量和 static函数呢?如果全部使用 static的话,是不是也不会有多线程的问题了?而且“类型::方法”的访问方式比起先getInstance()再访问难道不是更加简单清晰吗?(还是说是为了附和 “单例” 这样一个字面上的意思)//大概这个样子class&nbsp...
2024-02-09 阅读全文 →

这位非科班出身的读者好猛!(附C++复习路线)

哈喽大家好,我是厨子。好久不见,甚是想念。假期过的可真快,一眨眼就结束了。假期七天光打球了,七天打了六场,也没咋学习和写文章,后面会加把劲滴。之前答应大家,会邀请一些,刚参加完秋招的 offer 收割机,给大家分享一下,面试心得和复习路线。今天分享的这位老哥是真的猛,我们一起往下看吧。这篇文章会对正在准备秋招的你帮助很大,建议收藏!以下为正文作者:xu背景某...
2024-02-09 阅读全文 →

一个逻辑完备的线程池

开源项目Workflow中有个重要的基础模块:代码仅300行的C语言线程池。本文会伴随源码分析,而逻辑完备、对称无差别的特点于第3部分开始欢迎跳阅, 或直接到Github主页上围观代码????https://github.com/sogou/workflow/blob/master/src/kernel/thrdpool.c???? 0 - Workflow...
2024-02-09 阅读全文 →

现代C++测试工具链(是时候抛弃gtest/google bench了)

gtest的问题gtest需要安装有时候带来很多不方便,比如需要经常切换gcc和clang的时候就比较麻烦,安装的gtest可能在另一个编译器下编译不过, 编写跨平台程序的时候需要多次安装gtest,非常不便。另外一个问题是网络原因,下载安装gtest或者git上拉gtest都可能因为网络原因失败。现代C++ unit test库除了gtest之外,还有很多...
2024-02-09 阅读全文 →

大龄码农从北京到荷兰的躺平生活

今天在知乎刷到了一篇大龄码农从北京到荷兰的日记,看完后着实令人羡慕不已,国外不仅生活环境和工作强度,都要比国内轻松很多,以后如果结束北漂出国也将是一条不错的路,以下为原文。作者:小李在荷兰 | 编辑:对白的算法屋 | 程序喵https://zhuanlan.zhihu.com/p/469261829一. 背景介绍光阴似箭,今年已经41岁的老码农一枚。在家乡生...
2024-02-09 阅读全文 →

深入理解 Linux CPU 上下文切换

我们都知道 Linux 是一个多任务操作系统,它支持的任务同时运行的数量远远大于 CPU 的数量。当然,这些任务实际上并不是同时运行的(Single CPU),而是因为系统在短时间内将 CPU 轮流分配给任务,造成了多个任务同时运行的假象。CPU 上下文(CPU Context) 在每个任务运行之前,CPU 需要知道在哪里加载和启动任务。这意味着系统需要提前...
2024-02-09 阅读全文 →

外部函数如何访问其它类的私有成员

外部函数如何访问其它类的私有成员,你可能想到的是友元,然而友元会侵入原class的代码。今天看到一个黑魔法:#include <cstdlib>#include <iostream>class Bank {private: double money = 999;public: void check() { std::cout <...
2024-02-09 阅读全文 →

【图片+代码】:Linux 动态链接过程中的【重定位】底层原理

目录动态链接要解决什么问题?矛盾:代码段不可写解决矛盾:增加一层间接性示例代码b.ca.cmain.c编译成动态链接库动态库的依赖关系动态库的加载过程动态链接器加载动态库动态库的加载地址分析符号重定位全局符号表全局偏移表GOTliba.so动态库文件的布局liba.so动态库的虚拟地址GOT表的内部结构反汇编liba.so代码在上一篇文章中,我们一起学习了L...
2024-02-09 阅读全文 →

一个优质的C++学习圈

大家好,我是程序喵。筹备了大半年,我的知识星球,终于开始正式运营了。今天想和大家聊聊我为什么想做星球。为什么要做星球?提高沟通效率,避免微信上点对点低效输出,希望一个回答能够解决更多人的困惑。星球内容和资料可保存,不像群聊,很多资料过一段就失效,而且也会被各种信息冲没。知识星球比群聊更能聚焦在技术上,所有的群聊最后可能都会变成吹水群,我想做个只聊技术或者正能...
2024-02-09 阅读全文 →

H.265编码原理入门

视频编码的目的是为了压缩原始视频,压缩的主要思路是从空间、时间、编码、视觉等几个主要角度去除冗余信息。由于 H.264 出色的数据压缩比率和视频质量,成为当前市场上最为流行的编解码标准。而 H.265 是在 H.264 的基础上,保证相同视频质量的同时,视频流的码率还可以减少50%。随着H.265编码格式越来越流行,本文将主要介绍 H.265 的编码原理,以...
2024-02-09 阅读全文 →

聊聊内存模型与内存序

最近群里聊到了Memory Order相关知识,恰好自己对这块的理解是模糊的、不成体系的,所以借助本文,重新整理下相关知识。写在前面在真正了解Memory Order的作用之前,曾经简单地将Memory Order等同于mutex和atomic来进行线程间数据同步,或者用来限制线程间的执行顺序,其实这是一个错误的理解。直到后来仔细研究了Memory Orde...
2024-02-09 阅读全文 →

Google搜索技巧

使用Google搜索问题是程序员的必备技能,今天看到了一个帖子专门讲了十个Google搜索技巧,这里分享一下:(文中英文也不难,我就不翻译了)1/ Use quotes to force an exact-match search: "what is javascript"2/ AND operator will return only results re...
2024-02-09 阅读全文 →

C++ 为什么不加入垃圾回收机制

来源:http://www.codeceo.com/article/why-cpp-not-use-gc.html作者:M-先生Java的爱好者们经常批评C++中没有提供与Java类似的垃圾回收(Gabage Collector)机制(这很正常,正如C++的爱好者有时也攻击Java没有这个没有那个,或者这个不行那个不够好),导致C++中对动态存储的官吏称为程...
2024-02-09 阅读全文 →

花了半年时间,终于完成了。

大家好,我是程序喵。今天是我和喵夫人的结婚一周年纪念日,路过的点个赞吧。正文:我断断续续花了半年时间,终于整理出来了这份C++学习宝典,整份文档恰好是996页,很符合互联网文化。以下是文档的部分目录:虽不敢保证每节内容都能让大家满意,但我相信整体的内容还是挺优质的。大家感兴趣的话可以去我的知识星球获取这份星球独家C++学习宝典哈。在星球内,不只有这份C++学...
2024-02-09 阅读全文 →

一个程序员的水平能差到什么程度?尼玛,都是人才呀...

大家好。逛知乎的时候,看到了一个话题“一个程序员的水平能差到什么程度?”,看完,不得不说个个都是人才呀。给大家整理了一个高赞的回答。Benny想起了一件十多年前的往事,有一次帮客户的Java项目组升级框架。入场之后屡次听到项目组的运维小哥抱怨war包过大,导致每次发布要等很久很久,用过WebSphere的童鞋可能知道我在说什么。那么,这war有多大呢?接近2...
2024-02-09 阅读全文 →

2022全球开发者薪资曝光:中国排第19名,平均年薪23,790美元

整理 | 于轩       出品 | 程序人生 (ID:coder _life)近日,技术人才智能招聘平台CodeSubmit发布了一份软件工程行业的薪资报告,他们通过查找对比美国、欧盟、印度等20多个国家开发人员的数据,得出了这些国家软件工程行业的平均工资。以下是具体内容(节选部分):美国开发人员平均年薪超...
2024-02-09 阅读全文 →