大家新年好。2018年的第一期来得晚了一些。因为年底有很多工作要做,加班多了一些,公众号停更了两周。 今天借着知乎上一个关于线程模型的问题,我正好可以讲一下Java的线程模型。 先来一段视频,带大家浏览一下JDK的源代码: 在早期的linux系统里,是没有线程支持的,操作系统分配资源的单位是进程,然后执行单元也是进程。说详细点就是,每个进程有自己的内存,文件描述符,IO端口等,你不能随便访问其他进程的资源,分配给你,就是你的了,别人看不到。而那时候的进程都是单线程的,所有的进程在同一个CPU上分时执行。 后
作为一个开源项目,Kubernetes 的发展速度之快着实令人咋舌。伴随着 Kubernetes 1.24 正式发布,Kubernetes 作为容器编排的事实标准,正愈发变得成熟。 它的地位如同 Linux,业界围绕着它构建出了一个庞大的生态体系。无论你是前后端研发、测试、还是运维,在这个“云原生”时代,想要走的更远,Kubernetes 是我们工作中迟早要面对的“坎儿”。 看到 Kubernetes 有如此不可预估的发展前景和商业价值,不少新粉丝、初学者等,迫不及待地跑来问我:Kubernetes “火
作为一个开源项目,Kubernetes 的发展速度之快着实令人咋舌。伴随着 Kubernetes 1.24 正式发布,Kubernetes 作为容器编排的事实标准,正愈发变得成熟。 它的地位如同 Linux,业界围绕着它构建出了一个庞大的生态体系。无论你是前后端研发、测试、还是运维,在这个“云原生”时代,想要走的更远,Kubernetes 是我们工作中迟早要面对的“坎儿”。 看到 Kubernetes 有如此不可预估的发展前景和商业价值,不少新粉丝、初学者等,迫不及待地跑来问我:Kubernetes “火”
可能是年前跳槽的比较多,遇到不少同学咨询到嵌入式行业发展和职业规划的问题,这里总结一下嵌入式行业的机遇和选择,希望对读者们有所帮助。 我们暂且宏观上把程序员分为3类:业务类,专业类,系统类。 业务类 业务类更多的是在应用程序。随着移动互联网的快速发展出现一批 UI 设计师,这里的设计师是指 APP 的界面设计,在注重用户体验的今天对于界面的设计出现水涨船高的需求。一时间 Android, IOS 的 APP 开发者如雨后春笋般涌出,待遇也是不低。高级的应用程序员除了界面的开发外也会涉及程序内部的业务逻辑,现
可能是年前跳槽的比较多,遇到不少同学咨询到嵌入式行业发展和职业规划的问题,这里总结一下嵌入式行业的机遇和选择,希望对读者们有所帮助。
可能是最近跳槽的比较多,遇到不少同学咨询到嵌入式行业发展和职业规划的问题,这里总结一下嵌入式行业的机遇和选择,希望对读者们有所帮助。
作为国内 linux 面板的老将:AMH 面板在 4.2 版本就停止了免费行为,转向 5.2 版本收费服务,而后起之秀宝塔 Linux 面板则一直在使用免费政策跑马圈地,魏艾斯博客最近遇到网友问:AMH4.2 面板和宝塔 linux面板哪个好,能否写个对比文章。其实无论什么 linux 面板,无所谓好与不好之分,自己用着熟悉就好。那么接下来老魏就简单讲一下这两款面板的不同之处。 相关推荐: AMH4.2 面板安装过程 AMH4.2 面板使用教程 宝塔服务器管理助手 Linux 面版-安装教程 宝塔服务器管理
我们还是以那个翻译程序为例子,上次给各位老铁讲了在windows下的应用程序打包,这一次给各位老铁讲一讲,在linux下为python文件可以自己执行,从而不需要python xxx.py。
大家好,我是Peter。最近一直在思考一个问题,什么样的产品或者技术才能真的称为改变世界。
现在回首看看,接触Linux已经很长时间了。 在大三的时候开始学习Java, 但是一直学Java的话, 感觉有点腻, 就尝试找点其他东西来学习。 所以当时就选择学习了Linux。 至于为什么要学习Linux, 有以下三个原因。
如何才能接触到linux? 桌面系统window的天下,各种软件应有尽有,不用它用谁?linux都这么些年了也没发展到大范围使用。window你点鼠标就行,而linux你得用键盘去完成工作,要记忆的东
作者从2017年开始使用Linux作为主操作系统,作者当作主操作系统的Linux如下:
他是非科班转到计算机来的,所以基本功比较差,我专门花了一个多月写了这篇学习路线,全文超过8000字,文章润色了好久,配套的资料全部找齐了。
在web渗透中,文件上传是最简单直接的方式之一。但是碰到完全不做校验的代码直接上传getshell,很难有这样的运气;大部分时候都有检测,甚至多处设卡。
知乎用户-胡朋 大学学的地理,现在在一家地图导航公司做后台开发(曾经想成为一个前端开发 者),我想说的是,是否科班出生并没那么重要。如果只是想糊口,学一两们语言就足够了,但是想成为一名出色的开发者,有太多需要学的东西了,对非科班出生 的来说,其中最大的不足就是知识结构的不完整,需要一点一点去积累。 我不太会码字,写点我自己的心得。大学从没想过自己会做开发,到毕业那会(2012年)找了好多单位都没人要,恰逢那段时间HTML5被炒的很热, 就想学点这个先找到一个容身之处。把自己关在宿舍两个月,一天看十几个小时的
windows系统由于一直在更新,中间的几个版本特别的不稳定,特别是win8简直就是灾难,以致于很多人都在怀念当年的xp系统,最主要的是windows系统已经深入人心,Windows这30年来中间大版本的迭代也是非常多,从开始dos系统到现在win10系统,也是计算机硬件迭代发展的一种体现。
“程序员能纯靠技术渡过中年危机吗?” 📷 ▲截图来源于知乎 这个问题吸引了许多码农分享经验,热赞均表示“很难”,因为绝大部分人都面临着2种结局: 没精力学习,技术迭代太快,被淘汰 有技术,新人工资低还更能卷,被淘汰 很显然,一门技术吃到老的时代已经过去,如果你: 👉刚入行/还不是程序员 建议直接找一个能被技术充分赋能,越老越吃香的岗位! 👉已经有2年以上工作经验 建议再学习一门前景好、与业务关联紧的技术,成长为π型人才,对抗中年危机(π型人才:至少拥有两种专业技能,并能将多门知识融会贯通的高级复合型人才)。
我是扔物线,Android 开发者,开源贡献者,在 GitHub 上有 4.9k followers 和 7.8k stars ,个人的 Android 开源库 MaterialEditText 被全世界多个项目引用,其中包括在全球拥有 5 亿用户的新闻阅读软件 Flipboard 。曾两次在 Google Developer Group Beijing 线下分享会中担任 Android 部分的讲师。个人技术文章《给 Android 开发者的 RxJava 详解》发布后,在国内多个公司和团队内部被转发分享和作为团队技术会议的主要资料来源,以及逆向传播到了美国一些如 Google 、 Uber 等公司的部分华人团队。
多年以后,当施东峰回忆起身在大连的那个早晨,他一定会想起那件粉色的Polo衫,和那条耀眼的白色时装腰带。
上周养码场发布的一篇推文:一位在魔都奋斗的7年老码农有感而发:职场转变要从思维改变开始,其中作者“纯洁的微笑”提到了一个经典案例,引起了养码人的注意和好奇。
在开始介绍进程之前,我们先来看下面这张照片,这是我们在Windows系统下经常会遇到的情况,有时候遇到这种情况,真想砸电脑(太不给力了,特别是在打游戏起劲的时候,你说来了这样一个大招,这谁顶得住):
当谈到系统调用(system call)时,我们首先映入脑海的差不多就是软中断、内核态、用户态。开宗明义第一章,我想让大家先要重新认识一下『系统调用』这个词。
作为一名INFP,一个二十来岁,曾经迷茫、焦虑、浮躁、悲观、讨厌自己性格并苦苦纠结于人生的意义等“大哉问”的人,在过去两年读了两百来本书,被许多句子感动,乃至治愈,因而整理部分笔记,罗列出28条(其实远远超过了28条,不做细分)。如果你也正迷茫、焦虑、浮躁,希望本文整体“营造”出来的感觉,能够打动你,对你有所帮助。
当各位读者看到本次文章的标题,你可能会比较熟悉堆、栈的用法,因为在你学完了c语言后,或多或少都会接触到一点数据结构(但是这里要讲的与数据结构里面的堆和栈还是有点差别的,本次分析这个是从内存分配的角度去看,不是从的数据结构特点去看,而且在笔试面试的时候,经常会遇到这种题目,让你说出他们的区别来。自己亲身体会,遇到了好几次)。后面的数据段、代码段、bss段,可能你平时没有怎么细心总结,现在你可能还真讲不出他们的区别来,不信的话,读者在看到这里可以先暂定一下,在自己以往写了那么多的代码,仔细回忆看看他们有啥区别,如果不知道也没关系,读者可以继续随着我笔步往下看,当你看完或许会发出这样的感叹,原来是这样啊。是的,确实是这样的,包括自身在写这篇文章开始之前,我也讲不出来他们的区别(这里是昨天一个网友在我自己建的一个技术交流群里。提出了一个关于数据初始化的问题,如下图,正如你所见这个可能比较简单,但是要理解这里面的知识点,还是要花点时间来总结一下的):
兴致勃勃的在网络上看了亚马逊AWS年度大会re:Invent2022。我每年有空就会看,虽然从来没去LasVegas现场参观。
作者简介:Steven J. Vaughan-Nichols,自1993年(Linux问世两年之后)开始使用Linux,尝试过数十个不同的发行版,运营网站Desktop Linux。现在用三个不同的Linux发行版做日常工作。 Linux已经有上百个不同的发行版,哪一个最适合你?读完本文之后,不用尝试过所有的版本,你也能轻松地做出自己的选择。 你要明确的一个问题是:“用Linux来做什么?”一旦这个问题搞明白了,其他的都迎刃而解。 1. 有了Web之后,谁还需要桌面程序? 你的日常工作都通过Web完成吗?你
如果你有订阅一些科技新闻,应该会有看过内核在4.9当中加入了一个新的算法,来解决在有一定的丢包率的情况下的带宽稳定的问题,这个是谷歌为我们带来的干货,新的 TCP 拥塞控制算法 BBR (Bottleneck Bandwidth and RTT),谷歌一向的做法是,先上生产,然后发论文,然后有可能开源,所以这个已经合并到了内核4.9分支当中,算法带来的改变在出的测试报告当中有很详细的数据展示,这个看多了可能反而不知道到底会有什么明显改变,特别是对于我们自己的场景
0、序言 本来可以直接使用乐鑫公司搭建好的linux环境的,他是基于14.04.1的版本,其实也不是很老,而且安信可也有ESP32 lubuntu下的环境,把ESP32和ESP8266开发环境都集成到lubuntu 32位虚拟机中,但是是百度云链接,因此暂时不下载,保存先,该虚拟机在VMware12以上环境下打开,请广大开发者自行下载。
TiDB Hackathon 2022 正在火热报名中,截止目前已经收到 230+ 位参赛者报名,组队近 60 组。想必各位选手已经摩拳擦掌,开始准备自己项目的 RFC 了。在等待比赛日的这段时间,TiDB 社区采访了多位 Hackathon 参赛选手,通过访谈为大家分享一下他们对 Hackathon 的理解和感悟,同时探讨开源给他们的个人生活和工作带来了哪些改变。当然,作为老选手,也会有极其珍贵的参赛经验分享。已经报名参加本届 Hackathon 的选手或是对 Hackathon 感兴趣的小伙们,赶紧看过来!
动物单细胞的研究有将近10年了,每年都是CNS的常客。在国内形成了北汤南郭的局面,一个是单细胞转录组的世界第一人,一个促成了单细胞从追求深度到追求数量的转变。具体见Hemberg-lab单细胞转录组数据分析(二)- 实验平台。
最近很多人在咨询日志监控的事情,对于日志这个问题,简单也简单,不简单也不简单,日志最先反映出应用当前的问题,在海量日志里面找到我们异常记录,然后记录下来,并且根据情况报警,大家可以监控系统日志、nginx、Apache、业务日志。想用好用对,不是辣么容易,一直想系统的写下,无奈人比较懒,就把自己的微薄经验跟大家一起互相学习下。zabbix最主要的是监控日志文件中有没有某个字符串的表达式,支持日志文件正则和关键字正则,其是把日志文件中符合关键字的日志过滤出来入库,不包含的日志不采集,且只支持主动模式。
事情背景是这样的:我们这群业余 iOS 开发者组成了一个松散的“组织”——老司机周报,从 18 年 1 月开始每周会发布一期周报,记录、整理过去一周我们认为优秀的技术文章或者值得关注的新闻。
数据库圈对不起老陈 2015年美国某牛逼教授,ACM和IEEE双院士(此处隐去名字)在印度召开的VLDB上说,数据库的圈子非常的不厚道,自娱自乐,只看重自己圈子里的人。对不起一些为数据库做出巨大贡献的
前后有很多人问我,安全该怎么学,今天正好是2021的第一天,我把自己的学习方法和思路共享给大家,愿大家能有所收获。
首先纠正一个概念编程高手和本身使用什么工具没有太多直接关系,毕竟编程思想以及具体解决问题的能力才是影响关键,很多人门外汉看到电影里面的黑客用的电脑都是命令行样式的,产生联想是不是高手大神都是不用图形界面直接都在黑黑的屏幕上操作,真正的程序高手也不可能所有的事情都一帆风顺,影视作品看到的都是加工过的东西,真实的场景可能是技术人员到半夜12点了还趴在电脑上找问题解决方案。
shigen的日常开发用到的就是mac+windows,在我的mac里也安装了windows的虚拟机。让我比较烦的是linux或者说mac上的命令在windows上不能用,再次降低了我的开发效率。
ok!~又是一次超级烧脑的故障处理过程,这次故障还是非常考验推理及基础知识的扎实性的.
本文讲述了一位开发者打造前端 Deepin Linux 工作环境的过程,并介绍了如何利用 ~/.bash_profile 文件实现开机自动加载配置。然而,作者发现官方或非官方的大神从来不解决这个问题,而是在用户反馈中直接训斥,这种做法让作者非常不满。最后,作者通过在 deepin 官方的 github 提问中找到解决方案,将 ~/.config/deepin/deepin-terminal/config.conf 文件中的 run_as_login_shell 参数从 false 修改成 true,问题得以解决。
作为一个在编程行业已经混迹了十几年的老程序员,虽然现在全部的精力不是全部铺在一线写代码,但现在起码一半的时间还在如痴如醉的写代码,而且估计这辈子都不会完全脱离代码,有事没事都会去开源社区找点新鲜的玩意研究一下,代码已经融入自己血液中,特别是看到刚入行的代码不规范的情况总会忍不住纠正一番。
一些话 Hello~ 我是不干人事的Tanger,首先欢迎你阅读我的文章?,也很期待各位大佬的指正,如果对这篇文章感兴趣的话,不妨收藏一下⭐本页面,如果有什么想对作者说的话可以通过两种方式联系作者:
不知不觉linux已经诞生30年了,作为一个开源的操作系统,linux一经发布就吸引了无数热爱开源的开发人员。无数的开发人员为linux的发展做出了自己的贡献,而linux也成为了开发人员最喜爱的操作系统。
关注腾讯云大学,了解行业最新技术动态 戳【阅读原文】观看完整课程回顾 讲 师 介 绍 连续创业者、DIY/Linux 玩家、知乎小 V,曾在创新工场、百度担任后端开发。十余年一线研发和带队经验,经历了 ToB、ToC、O2O、国内、出海各种项目,见证了云计算时代的诞生,擅长研发最佳实践:Code Review、DevOps、Git Workflow、敏捷开发、架构、极客办公硬件。 背景 随着 ToB(企业服务)的兴起和 ToC(消费互联网)产品进入成熟期,线上故障带来的损失越来越大,代码质量越
2.感觉自己之前看的太细了,有些东西记不住。你的pdf+正点原子+项目 完全看完不太现实。
答:i++不是原子操作,++i也不是原子操作。 原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会切换到另一个线程。 i++其实一共做了三次指令操作,第一次,从内存中读取i变量的值到CPU的寄存器,第二次在寄存器中的i自增1,第三次将寄存器中的值写入内存。这三次指令操作中任意两次如果同时执行的话,都会造成结果的差异性。 而对于++i,在多核机器上,CPU在读取内存时也可能同时读到同一个值,这样就会同一个值自增两次,而实际上只自增了一次,所以++i也不是原子操作。
由于互联网的产业的快速发展,特别是移动互联网的发展,当然关键点在于中国软件产业在近时间年得到长足的发展,这得益于国内每年上百万计算机毕业生的贡献,国内之所以能够出现像腾讯,阿里巴巴这种在全球排名靠前的世界级互联网公司不能忽略人才在里面起到的重要作用,尽管很多人都在批判中国的教育体系,但是扩招给中国经济体带来的实际实惠还是非常的巨大,中国人普遍的国民素质在提升这也是不争的事实,现在全球受到疫情的影响几乎全线的倒退,但是中国的经济经过最近一段时间内部的充分挖掘已经呈现出积极向上的态势了,中国经济无线的潜力已经呈现出来了。
这部分特色,可以参考之前我们的文章:NVIDIA 悄悄升级了JetPack ,居然变了这么多?
https://www.cnblogs.com/jun1019/p/9741224.html
老丹(376***002) 16:52:16 请教大家一个问题,老潘软件方法中的这个例子,这里面的实现是通过打电话的方式完成下单过程 老丹(376***002) 16:53:03 那么如果提供第二种下单方式,客户在线填写,那么"寄快递"这个业务用例当如何处理? 老丹(376***002) 16:53:54 要不要加一个业务用例?如果不要,那我怎么表述这两种下单方式的不同呢? 潘加宇 16:55:44 加一张业务序列图,把不同的场景画出来 老丹(376***002) 16:57:36 那如果后线的收费也有多种实现方式呢,包括这一业务的其他环节都可能有两种以上的实现 老丹(376***002) 16:58:02 那这个场景序列图会变得非常多 老丹(376***002) 16:58:29 因为每一个环节的不同组合会形成许多的业务场景 老丹(376***002) 17:00:04 比如下单分为电话下单和网上下单,收线分为当面收取和在线付款,那就会有"电话下单-当面付款","电话下单-在线付款"、"网上下单-当面付款"、"网上下单-在线付款"四种实际业务场景了 潘加宇 17:00:04 画出典型的场景就可以 潘加宇 17:00:42 不要怕漏掉 老丹(376***002) 17:00:55 这还只是两个环节有不同的实现,实际还有很多环节有没的实现 潘加宇 17:00:58 找出最值得改进的场景,先改进。 潘加宇 17:01:34 "这还只是两个环节有不同的实现,实际还有很多环节有没的实现" --何止啊,去调研非洲的,美国的,中东的快递公司,还可以发现更多的场景 老丹(376***002) 17:01:50 那这些展现出来就没法引伸出后面的系统用例啊 老丹(376***002) 17:02:08 对啊,所以我现在非常困惑 老丹(376***002) 17:02:17 不知道怎样处理才好 潘加宇 17:02:25 需求就是做减法,找到最值得改进的场景里最值得改进的改进点,推导出最重要的需求,这才是需求 潘加宇 17:04:08 参见《软件方法》第2章: 可能有的人会想,哎呀,要是我们只关注"大兴中医院",那"协和医院"的需求是不是漏掉了?问题是,"大兴中医院"想要的都还没有满足,去想"协和医院"干什么?认为需求"漏掉"的想法是幼稚的。需求是一口深井,永远做不完。只要您愿意,可以满世界去调研所有医院,甚至不用调研,拍脑袋就可以得出上万条需求。关键是需求的排序,老大和愿景就是排序的首要依据。 老丹(376***002) 17:04:32 那还是以为这个为例,如果主要场景是网上下单,另一种情况电话下单用的少,但是实际也公发生,如果不描述出这个问题,就不考虑这一方面的实现了 潘加宇 17:04:43 先做一个 潘加宇 17:04:56 每个时间点,只做最重要的一个 老丹(376***002) 17:05:44 先做一个是可以的,那我做完了第一个,过一段时间后开始做第二个的时候,这第二个怎么融入到现有的模型中来呢?还是多画一个场景图吗? 潘加宇 17:06:42 做第二个和做第一个是一样的,都是在当前现状上改进 老丹(376***002) 17:08:13 可不是要替换原来的网上下单啊,只是为用户多提供一个选择 潘加宇 17:08:16 可以会画另一张序列图,也可能还继续在当前序列图上寻找第二个最重要的改进点,也可能寻找第二个值得改进的业务用例,看你改完第一个改进点后,愿景目标有没有达到了 老丹(376***002) 17:10:25 其实这不涉及到另一个纠结我的问题,如果是用两个不同的序列图去描述一个用例,那用例本身也有一个文字上的描述的(这个应该只有一份),那这样的话文字的描述和场景的描述就对不上了 潘加宇 17:11:32 用例可以有多个场景,用多张序列图来描述 潘加宇 17:11:44 我上面讲的你理解了吗
周末和一位老朋友聚会,聊了聊一个很现实的收入问题,巧合的是:他的焦虑,竟然和月薪5k的我一模一样。
技术有很多种,也永远学不完。不仅语言更新换代严重,技术范围也有自己的更新,今年 C 语言流行,明年 Python 风靡,今年人工智能火爆,明年物联网是风口。我一直在思考技术人就这么苦逼地一直要跟着技术的风向跑吗?有没有一条可以沉淀下来,打磨到退休的技术? 我想技术永远是发展的,但有一条路径值得学习沉淀,甚至可以做到退休。 我们暂且宏观上把程序员分为3类:业务类,专业类,系统类。 程序员分类 业务类 业务类更多的是在应用程序。随着移动互联网的快速发展出现一批 UI 设计师,这里的设计师是指 APP 的界面设计
领取专属 10元无门槛券
手把手带您无忧上云