- 博客(92)
- 收藏
- 关注
原创 一篇讲透嵌入式系统内存分配方式
系列文章:一篇讲透嵌入式操作系统任务调度从需求反推设计方案,假如让你设计嵌入式系统的内存管理,你怎么设计?最简单的,用一个双链表控制,所有已分配和未分配的内存用两个双链表标识: ...
2020-06-21 20:49:19
3265
原创 一篇讲透嵌入式操作系统任务调度
进互联网公司操作系统和网络库是基础技能,面试过不去的看,这里基于嵌入式操作系统分几章来总结一下任务调度、内存分配和网络协议栈的基础原理和代码实现。处理器上电时会产生一个复位中断,接下来会...
2020-06-20 22:50:17
5175
原创 两年时间,从汽轮机厂到阿里巴巴
文章转自本人公众号:机械猿,本人之前在四川某汽轮机从事结构强度设计,目前在阿里巴巴淘宝事业部担任高级开发工程师,有机械工程同行想转行IT,或者有想入职BAT的可以找我内推~一些絮叨有幸能有华科机械的硕士同行过来咨询IT行业相关情况,这里大致总结一下个人经验。本人目前在阿里巴巴淘宝事业部从事后台开发,本科为机械设计制造及其自动化专业,硕士课题为机械结构及力学强度分析相关,使用的工具基本包...
2019-12-07 17:40:14
895
1
原创 发现PPT是碎片化时代记忆好帮手
叠加deepseek,相对专业书籍,或者知网/万方搜索更深层的去探索。知乎,一般一个小时就过去了。但要说收获了什么,四个字,水过无痕。头昏脑涨,后面只能洗洗睡了。ppt的好处在于直接截图。比word更容易排版。还可以随时插入时间。相比抖音微信朋友圈,近来更倾向于豆瓣或者。站这类长视频或者长文字这类平台。真的是一个很好的做网络笔记的小收获。不知道有无和我一样经历的小伙伴。下班后经常刷抖音或者微信。
2025-08-05 16:44:16
224
原创 数据库核心操作解析:order by、group by、join、union 排序分组连接合并原理详析...
一、Order 排序实现方式1. 常规排序在数据库操作里,当使用ORDER BY对查询结果进行排序时,常规排序是一种常见的处理方式。下面以selectcol1,col2,col3fromt1whereid ='xx'orderbycol2;为例,详细介绍其排序流程:步骤操作详情1从表t1中获取所有满足WHERE条件(id = 'xx')的记录。2对每条满足条件的记录,将记...
2025-02-02 13:37:21
1379
原创 <span class=“js_title_inner“>数据库核心操作解析:order by、group by、join、union 排序分组连接合并原理详析</span>
字段不需要回表(即可以直接从索引中获取所需数据),那么数据库就可以直接通过索引扫描来完成排序操作,这种方式的效率非常高。这样数据库在进行分组操作时,就可以利用索引来快速定位和分组数据,减少临时表的使用。对于大结果集,可以调大。是数据库中非常重要的操作,理解它们的原理和优化方法,能够帮助我们写出更高效的 SQL 语句,提升数据库的性能。如果在排序过程中产生了磁盘临时文件,需要利用归并排序算法,确保临时文件中的记录是有序的。索引能满足查询需求,数据库就可以直接利用索引进行排序和分组操作,而无需额外的排序过程。
2025-02-02 13:37:21
274
原创 湖南企业高薪榜单排名:长沙高薪企业排名出炉,求职不迷茫
长沙是内陆经济还不错的城市,产业企业丰富,适合打工人定居。这里有好多厉害的公司,不仅在各自行业里是佼佼者,还提供了超多工作岗位,是带动经济发展的关键力量。大家找工作的时候,最关心的就是薪资待遇和福利了。大型工业制造类大型工业制造类企业在长沙经济发展中占据举足轻重的地位,在国内外市场都有广泛影响力。三一重工:作为三一集团的核心企业,市值高达4000亿,2023年净利润超150亿元。其在湖南...
2025-01-30 19:03:14
2511
原创 <span class=“js_title_inner“>湖南企业高薪榜单排名:长沙高薪企业排名出炉,求职不迷茫</span>
在湖南招聘的芯片研发工程师岗位、测试工程师岗位等,公司提供五险一金、双休、带薪年假、节日福利、员工体检等福利,并且有良好的项目奖金制度。公司为员工缴纳五险一金,实行双休制度,还提供住房补贴、交通补贴、餐补等福利,同时注重员工的职业发展,有良好的晋升渠道。金融行业是经济发展的血脉,这些企业在长沙的金融市场中发挥着关键作用,为城市的经济建设提供了有力的支持,推动着长沙经济的稳健发展。:旗下的和天下、芙蓉王、白沙等品牌家喻户晓,集团相关公司在雨花区是GDP奶牛,有高额的节日福利、带薪年假、补充商业保险等福利。
2025-01-30 19:03:14
345
原创 RC和RR隔离级别下SELECT操作的读取机制及差异
RC(读已提交)和 RR(可重复读)隔离级别下不同的查询语句行为不同,读取到的数据可能不同,以下是详细分析:RC(读已提交)隔离级别1. select*from table where id = 1for update:读取类型:不管是否在事务中执行for update,这都是一种当前读,能确保读取的数据是最新的,因为for update 会对符合条件的记录加排他锁。因为RC级别下是每次执...
2025-01-18 22:55:03
586
原创 一文搞懂内存泄漏:进程内存段的 “漏洞” 与修复之道
当进程通过malloc申请虚拟内存后,操作系统不会立即为其分配物理内存,而是在首次访问时,才触发缺页异常分配内存。对普通进程来说,能看到的是内核提供的虚拟内存,这些虚拟内存还需要通过页表,由系统映射为物理内存。为平衡CPU与磁盘间的性能差异,Linux会使用Cache把文件数据缓存到内存中。内存分配用户空间内存包括多个不同类型的内存段,比如只读段、数据段、堆、栈以及文件映射段等,下面逐个分析哪些地...
2025-01-10 21:01:50
583
原创 <span class=“js_title_inner“>一文搞懂内存泄漏:进程内存段的 “漏洞” 与修复之道</span>
由应用程序自己来分配和管理,如果业务没有正确释放堆内存,就会造成内存泄漏,所以没有特殊情况,尽量使用智能指针管理对象生命周期。,只会出现爆栈或者踩内存情况,超出了局部变量的作用域时,栈内存会被系统自动回收,不会出现内存泄漏情况。就是类似思路,利用插桩统计分配的字节和释放的字节,两者进行抵消,而没有释放的调用栈就是可能泄露的地方。机制杀死进程,但是此时已经造成了严重的性能问题,如系统的缓存频繁回收等,会导致业务不可用。数据段,包括全局变量和静态变量,这些变量在定义时就已经确定了大小,也不会产生内存泄漏。
2025-01-10 21:01:50
300
原创 现代Web认证与安全管理:深入理解Cookie、Session与Token
CookieCookie最主要的作用就是用于会话管理,当用户登录一个网站时,服务器会生成一个包含会话ID的Cookie并发送给浏览器,浏览器将这个Cookie保存在本地。此后,每次用户发送请求时,浏览器都会自动将这个Cookie发送给服务器,服务器通过会话ID识别用户身份,从而保持用户的登录状态。Cookie除了用于会话管理,还可以在指客户端持久存储,一般使用kv形式保存。cookie属性可以看一...
2024-12-22 22:34:56
845
原创 <span class=“js_title_inner“>现代Web认证与安全管理:深入理解Cookie、Session与Token</span>
如果Token在黑名单里,就会被认为无效。Cookie最主要的作用就是用于会话管理,当用户登录一个网站时,服务器会生成一个包含会话ID的Cookie并发送给浏览器,浏览器将这个Cookie保存在本地。Domain决定Cookie在哪个域是有效的,也就是决定在向该域发送请求时是否携带此Cookie,Domain的设置是对子域生效的,如Doamin设置为 .a.com,则b.a.com和c.a.com均可使用该Cookie,但如果设置为b.a.com,则c.a.com不可使用该Cookie。
2024-12-22 22:34:56
902
原创 <span class=“js_title_inner“>现代Web认证与安全管理:深入理解Cookie、Session与Token</span>
如果Token在黑名单里,就会被认为无效。Cookie最主要的作用就是用于会话管理,当用户登录一个网站时,服务器会生成一个包含会话ID的Cookie并发送给浏览器,浏览器将这个Cookie保存在本地。Domain决定Cookie在哪个域是有效的,也就是决定在向该域发送请求时是否携带此Cookie,Domain的设置是对子域生效的,如Doamin设置为 .a.com,则b.a.com和c.a.com均可使用该Cookie,但如果设置为b.a.com,则c.a.com不可使用该Cookie。
2024-12-22 22:34:56
403
原创 如何成为一名合格的程序员:实用指南
成为一名合格的程序员不仅仅意味着写出能够运行的代码,更意味着在工作中具备良好的思维方式、专业的技术能力和高效的工作方法。它不仅需要扎实的技术功底,还需要良好的工作习惯和持续的自我提升。从项目管理、代码质量到持续学习和技术输出,每一项技能和习惯都对你的职业生涯至关重要。只有通过不断思考、总结和实践,才能真正成为一名高效、专业、持续成长的程序员。1. 项目化、产品化思维:明确目标,沟通协作在工作中,我...
2024-12-01 20:53:46
448
原创 月薪4000,我在长沙待了6年(附劳动仲裁流程)
大家好,我是B哥。这是我在社交平台的第一份投稿,不为别的,就想把已经出社会的经历记录下来,也算是给大家一个参考吧。先作个背景介绍,大家就看故事开开乐嘛,有前情回顾是最好的了,能让大家作出正确的分析和判断。本人男,97年,就不说学校和自己家乡哪里。感觉在外搭之地长沙混这样也挺不好意思给学校和家乡抹黑。仔细一想我在长沙工作了6年(包含目前待业半年),其实在我看来找一份工作不难,找到好工作难。下面就开始...
2024-11-24 20:20:40
829
原创 如何通过Core Dump和GDB快速定位程序崩溃根因:从内存溢出到死锁,一文带你玩转调试...
程序在异常终止时,会触发对应的错误信号,此时操作系统会将程序的内存态内容包括程序内存、寄存器状态、调用栈等信息写入一个core文件。异常终止原因根据对应信号主要分为如下几种:1、段错误,触发信号SIGSEGV包括访问空指针、数组越界、栈溢出等;2、非法指令,触发信号SIGILL比如把一些随机数据当成指令执行:void (*func)() = ptr; // 将内存空间作为函数指针func();...
2024-11-17 16:07:11
1128
原创 <span class=“js_title_inner“>如何通过Core Dump和GDB快速定位程序崩溃根因:从内存溢出到死锁,一文带你玩转调试</span>
程序在异常终止时,会触发对应的错误信号,此时操作系统会将程序的内存态内容包括程序内存、寄存器状态、调用栈等信息写入一个。程序在异常终止时,会触发对应的错误信号,此时操作系统会将程序的内存态内容包括程序内存、寄存器状态、调用栈等信息写入一个。进行内存分配的时候,操作系统并不会直接分配给用户这么多内存,而是直到用户真的访问了申请的。结构体,其中包含错误的地址和寄存器状态等上下文信息,可以判断是否发生了栈溢出。值被修改,程序会认为发生了栈溢出攻击,通常会立即终止,例如通过调用。
2024-11-17 16:07:11
655
原创 Linux系统性能问题排查思路(面试必备)
主要方便排查系统问题,了解性能优化的思路和方法,掌握常用的linux性能工具。CPU常用的分析CPU使用情况的工具包括top、ps和pidstat,特点为:top显示系统总体的CPU和内存使用情况,以及各个进程的资源使用情况。ps显示每个进程的运行和资源使用情况。pidstat分析每个进程 CPU 使用情况。排查CPU使用率问题时,需要区分用户CPU、系统CPU、等待I/O CPU、软中断和硬中断...
2024-11-10 20:07:59
996
原创 大学勤工俭学兼职经历
前几天带小朋友去学校逛了一圈,遇到兼职卖水的大学生(现在的大学生都是00后了),聊了一嘴,发现跟自己的兼职经历好像。第一个是担任学生干部,没有酬劳,但是有综合分加分(和奖学金挂钩)。大一受学长学姐和辅导员的影响,认为学生干部是很重要的经历。所以积极去申请了担任一个学生副干部。为了招新人,作为社恐,逼迫自己成为社牛,天天跑去人家宿舍发传单拉人头,每天被催着自学美图秀秀做各种海报打黑工。以为能打好群众...
2024-10-16 22:53:03
424
原创 面试的一些小小经验
无论何时,找到合适的满意的工作(距离住处的地理位置,薪资,工作氛围)并不是一件容易的事情。个人能力与职位的适配性永远是有误差的客观存在。十全十美难得,满足个人的个体化优先级才是客观的存在。1.投简历可以海投,但不要盲投。遇到某些XX科技/直播/互联网金融公司,可以先尝试做一下背景调查。某度某乎或者校友、朋友圈,都可以悄咪咪打探一下公司的主营业务是什么。多看看《天网》《一线》,避免被骗。尤其涉世未深...
2024-09-11 10:57:42
740
原创 程序员转行餐饮店之路:从开始到失败
之前一直有做副业的想法,比如最开始的水果摊,地铁口的烟花摆摊,都是从开始到失败。执着于摆摊的原因有两个:一是工资款如同上证指数一样,越来越低;二是为了先熟悉一下“创业”的过程。契机终于来了,我的一个远房堂弟从饭店失业了(也不能叫失业因为劳动合同都没有),问我有啥轻体力的工作机会。连续几天蹲点世贸和万达写字楼的送餐情况,顿时觉得,可能天机到了。搞个外卖店,专门送写字楼码农。主打一个现炒非预制湘菜。价...
2024-02-04 21:02:10
832
1
原创 职业了解:04高职校的老师
1)如何才能进入现在这个行业?大专以上的学历就可以考教师资格证,有了教师资格证就可以应聘教师岗位了。大专考取小学教师资格证,本科以上可以考取初中、高中教师资格证。不管公立还是私立都需要教师资格证。相对来说私立学校任职简单,公立学校要考编。(宇宙的尽头是考编)2)工作环境如何?(出差、人际复杂、996加班狠?)不会出差,会有培训。个人很喜欢培训,不用上课,去别的城市听讲座,包吃包住,学校工资照发。人...
2024-01-14 17:37:10
602
原创 关系型数据库设计理论及部署实现
ACID索引实现方式事务隔离级别并发场景写-写冲突MVCC数据库隐式字段读视图删表语句insert与replace区别Mysql相关参数索引扫描方式索引下推复制日志基于操作语句复制基于预写日志(WAL)复制基于行的逻辑日志复制基于触发器的复制主从同步多主复制Mysql备份数据恢复方式分布式数据库要注意的一些点缓冲buffer pool读缓冲change buffer写缓冲Doublewrite B...
2023-10-03 22:32:11
421
原创 职业了解|03师范生的编制教师之路
“初闻不解曲中意,再闻已是曲中人”。每个行业有一个共性在于,外面的人想进去,里面的人想出来。时代变化,不同的行业的细则也在变化。十五年前,有谁会预计计算机会这么火爆呢?估计大概率只会被认为计算机属于不务正业。而现在,宇宙的尽头是编制。但编制是否真的十全十美呢?本文讲述一个小学在编教师的心声。1、为什么想到读师范生我高考的那一年师范生并不受待见。因为当时大部分人都认为老师待遇低。但因为家里有亲戚是老...
2023-09-21 07:03:19
354
原创 职业观察|02:铁路维修师
高铁及地铁的发展,新生了许多之前没有的职位和专业。除了空乘/铁乘、安检人员等,大家可能相对熟悉。背后的维系工作人员其实也是一群更庞大的从业人员。本次主要介绍“铁路机务”。以下由一位铁路机务小哥讲述。首先简单介绍一下铁路系统(包括绿皮车/动车/高铁/地铁)。铁路系统主要分为五大模块。不同的模块的工作内容不一样。机务:通俗来讲就是大家熟知的火车司机以及机车头的维护与保养。(与车头接触)。工务:对于铁路...
2023-09-19 19:11:41
670
原创 职业了解:海底捞服务员
本文来自对一线海底捞服务员的浅浅了解。如有不同的海底捞从业人员,可文后留言让大家有更多的认识。前言:海底捞作为上市餐饮,其服务及管理模式都是业内出名的。一直被模仿,从未被超越。作为顾客自然感觉良好,但作为店员,是否会有一些不同的感受呢?本文将从一名海底捞的服务员的视角,感受一下这个职位的“性价比”。我是初中毕业就进入社会上“大学”了,今年30岁。从最初的洗碗工到汽车学徒,再到泥瓦匠,再到工地摔死了...
2023-09-17 11:13:47
3803
原创 码农在长沙如何流浪
前段时间,加班加到想吐。但是又没找到物美价廉的放松方式。打工人的现状:无四轮车且要带个娃到处跑。兜兜转转,骑行闪亮登场。海鲜市场的二手车,不到1000。更换了刹车片,买了新的护具,轮胎更换了一下。七七八八加起来花费2000左右。首发站是:打车去了多次的遛娃好地方--松雅湖。自配BGM:老许的歌。lan莲花。许巍的歌,是一代人(包括我)的记忆之一。《九月》《故乡》《那一年》,再到后面的《喜悦》《灵岩...
2023-09-16 13:20:50
186
原创 经典高并发服务器设计逻辑
都是面试必问的八股,不管理不理解用不用得上,背就完事了。服务器模型对于并发量比较大的服务器,即listen监听端口一直忙碌于处理新建连接的场景,一般在主线程里面accept新的客户端连接并生成新连接的socket,然后将这些新连接的socket按既定规则(如轮询、哈希等)传递给工作线程池;每个工作线程各自持有一个epollfd,管理主线程分配过来的socket事件,由这些工作线程处理新连接上的网络...
2023-06-04 00:23:14
846
原创 二线程序员的出路
最近长沙不太平。去年被动离职一拨人之后,HR一直强调降本增效,人人自危,挤走一拨人,反正会有大量内卷失败的一线程序员进来填坑。当然留就有人走,前同事除了几个出去搞培训创业(后面解散了)的之外,其他的基本上都回到一线去了。上周老学弟入职尖山湖的北大长沙数字研究院,跑过去蹭蹭饭,顺便了解了解那边的情况。事业单位就是不一样,直接在公园里面划了一片地做园区,配套健身房跟食堂。最重要的是这边重点部门都是做A...
2023-05-22 23:24:14
1922
原创 Redis设计逻辑及生产部署问题整理
数据结构redis数据结构包括:简单动态字符串SDS、链表、字典、跳跃表、整数组合、压缩列表。SDS:在增加/减少字符串时不会频繁进行内存充分配,采用了空间预分配和惰性空间释放两种优化策略。链表:链表节点使用void*保存节点值,并且可以指定属性函数,可以用来保存不同类型的结构体。将数据与操作函数封装在一起,类似C++中的类定义。字典:字典由dict结构体表征,管理两张哈希表,哈希表指向一个哈希表...
2023-05-21 22:16:11
513
原创 我读故我在:《文凭社会》读后感
现在正是一年一度的答辩季,朋友圈有各种毕业季的苦尽甘来,也有更多的彷徨无助。就业,似乎越来越卷。新来的实习生。本硕985,还有海外留学经历。这一届00后真的越来越强大了,让人汗颜。虽然,每天干的活也不比当年硕士的我实习内容高深多少。实习门槛已经是肉眼可见的严格许多。每一年都是史上最难就业季。而今年,各种声音从疫情到人口出生率都分析了一遍,包括流行的脱不下孔乙己的长衫。现实是,海底捞的服务员一个月保...
2023-05-20 21:45:53
816
原创 长沙薪资调查统计结果
还有其他交叉分析结果就不一一展示了,后面会在知乎专栏细化,同时请大家在评论区多多提点建议,完善后续的社会调查,使结果更具有参考性,更有效指导大家找到符合自身定位的工作。整体来看,540个软件信息从业人员里面,超过80%月收入过万。针对长沙上班族做了个问卷调查,收到913份有效问卷,基本可以作为长沙职场行业、年龄、薪水分布的一个重要参考。超过500人月收入过万,长沙公司开出来的薪资在内陆省会还是能打的。求职人年龄基本集中在22~28岁,工作年限集中在1~5年;
2023-04-16 18:17:25
833
原创 长沙基层公务员待遇调查结果
这里表扬一下政府部门决算的严谨性,大部上市分民企公司在财报披露里面,都会把办公耗材、办公水电费等算入人员支出里面,而政府公开决算是把人员成本和办公支出分开统计的。具体的数据测算肯定有误差,因为不同级别的人员福利津贴差距很大,而且公务员和没有编制仅有劳动合同的工作人员待遇也有差距,且本文测算没有考虑不同的扣税方法导致的收入差距,仅供参考。当然,这里是政府公开文件,跟大家身边的现象可能有偏差,大家可以以“身边统计学”计算一下,跟政府文件对比一下误差。同样,考虑到公务员待遇比合同工待遇高点,可以在这个平均数字。
2023-04-16 18:16:08
2321
1
原创 长沙房价浅谈
近期经济严峻,不少大厂都弥漫着裁员的新闻。在长沙,裁员的消息也是不少。追求群体永远青春化,大概是共同的追求。而与之对应的还有房价及楼市,相比2018年,也没有那么气势长虹了。至少摇号没有当年那么热烈了。朋友A。2018年买房,需要落户满两年或者社保两年。A看了不下10处楼盘,参与摇号摇了5-6次。河东的洋湖,河西的天健城,天心的保利,甚至望城的中粮都摇过号。奈何,基本等到ta选号的时候,已经没有房...
2023-03-12 20:52:51
375
原创 Mysql各种缓冲区的功能及之间的联系
buffer poolmysql数据存放在磁盘里面,如果每次查询都直接从磁盘里面查询,会影响性能,因此需要内存态缓存池。另外缓存池的淘汰机制不是基础LRU,而是是改进版LRU,防止大量临时缓存挤出热点数据。buffer pool读缓存分为老年代和新生代,当有新页面加入buffer pool时,插入的位置是老年代的头部,并且该页面在1s(可配置)内再次被访问的话,再被移动到新生代。淘汰时,从新生代尾...
2022-12-04 22:06:26
1303
原创 从硬件角度看服务器性能调优
bios整体配置bios系统设置Hyper Thread开启超线程,设置后lscpu命令Thread(s) per core 值显示为 2。超线程可以理解为CPU的虚拟化,一颗物理CPU并行执行两条流水线指令。确认处理器基本频率及睿频频率,部分处理器基础频率低,但是睿频不低。内核引导参数内核引导参数大体上可以分为两类:一类与设备无关,另一类与设备有关。idle参数调整CPU运行频率及状态,减少低功...
2022-12-03 21:05:02
1433
原创 多核系统的数据一致性及linux自旋锁
Cache多核同步cache分为d-cache(可读写)和i-cache(只读)。这样区分主要是为了减少资源冲突,很多中间件也是采用类似的思想,比如innodb的undo段分为insert段和update段,也是为了区分事务对两种改动的不同可见性。icache是只读的,不同cpu之间不会出现数据不一致的情况,而dcache是可读写的,不同的cpu节点会出现数据不一致的情况。当CPU更改了某条cac...
2022-11-20 23:07:19
1143
转载 深入理解服务器CPU三大体系结构--SMP、NUMA、MPP
商用服务器大体可以分为三类,即对称多处理器结构 (SMP :Symmetric Multi-Processor) ,非一致存储访问结构 (NUMA :Non-Uniform Memory Access) ,以及海量并行处理结构 (MPP :Massive Parallel Processing) 。
2022-10-12 21:38:54
2985
原创 Mysql并发读写解决方案分析--MVCC
数据库并发场景所有系统的并发场景都是三种,对于数据库而言为:读-读:不存在任何问题,也不需要并发控制。读-写:有线程安全问题,可能会造成事务隔离性问题,也就是脏读,不可重复读,幻读。写-写:有线程安全问题,会存在更新丢失问题:第一类更新丢失(回滚丢失),第二类更新丢失(覆盖丢失)。事务隔离级别隔离级别:串行化SERIALIZABLE、可重复读(REPEATABLE READ)、读提交(READ C...
2022-10-04 15:54:23
1633
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅