- 博客(30)
- 收藏
- 关注
原创 Java 为什么可能是迄今为止最好的编程语言?(2)
后来我发现了 JSch 这个库,可以直接通过 SSH 连接服务器,执行脚本和访问文件,完美解决问题,只用了半天时间,比部署 Web 服务简单太多,也避免了后期维护的麻烦。然而,凭借其完善的工具链、丰富的开源库以及对求职者极为友好的就业环境,Java 无疑是迄今为止最实用、最受欢迎的编程语言之一。再比如,借助 Visual VM 的 MBean 插件,配合 Java 的 JMX 和 MBean,不仅可以监控 JVM 运行状态,还能轻松实现一些管理操作,避免了额外启动 HTTP 服务的繁琐。
2025-09-19 17:10:12
225
原创 Java 为什么可能是迄今为止最好的编程语言?
有一群盲目的布道者,不断宣扬Java的所谓“优势”,将异步并行不分场景地吹捧,把语言设计上的糟粕美化为“兼容性”,在性能测试时则惯用田忌赛马式的策略来营造假象。然而,国内存在大量不愿深入学习的Java程序员以及各类培训机构,为了维护自身利益和产品形象,不惜编织种种谎言,强行将Java包装成“简洁高效”的代表,千方百计地吹嘘其本不存在的优点。从开发者视角,Java语法糖匮乏,缺少元组等常用数据结构,风格呆板,编写代码枯燥乏味,尤其在空安全、多值返回、异步编程和泛型等方面处处掣肘。
2025-09-19 17:06:16
265
原创 2025,java开发,已经炸了吗?(2)
不久后我晋升为项目经理兼部门负责人,忙碌了许多,频繁加班、出差,周末也常要开会,但能力得到发挥,公司给予的认可和情绪价值也很到位。煎熬半个月后,只得接受一家13K、最低基数缴纳五险一金的公司,整体水平很“水”——业务、管理、发薪,没有一样靠谱,甚至至今还拖欠两个月工资。虽然比不上杭州,但在东北已属不错,单位缴纳五险一金,工作非常轻松,甚至经常“摸鱼”等下班——那时的就业环境似乎还撑得住。进入2025年,和以前IT圈的朋友聊天,大家都感觉如今行情一言难尽,普遍选择“苟住”,拖欠工资和裁员已成为常态。
2025-09-18 15:04:58
310
原创 至今,Java开发炸了吗?
现在的 Java 项目,哪怕是管理系统,也难免要涉足移动端。这么一看,Java开发仿佛什么都要懂——哈哈,简历上可不就写满了“熟悉”“精通”“熟练掌握”吗?但说实话,这些东西,真到了用的时候,屁用都没有。现在的业务需求被拆得极其零碎,写代码就像拧螺丝,拧得再熟练,也还只是个拧螺丝的。”天色一暗,下班时间到,浑浑噩噩,又是一天。前后聊过两个看起来还不错的机会:一个是HR明显在刷KPI,另一个是老板激情画饼,邀请我“技术入股”。微信群里要好的兄弟还不时“提醒”我:年纪上来了,做技术卷不动了,得转型做业务。
2025-09-18 14:58:52
132
原创 作为一个程序员你觉得是业务重要还是技术重要?(2)
一个程序员,如果整天只追新框架、赶技术潮流——今年 Java 转 Go,明天 Kubernetes 切 Operator,REST 换 gRPC,却从不思考自己写的系统究竟解决了什么实际问题,那终究只能停留在执行层,永远被锁定在技术价值链的底端。真正值钱的程序员,是那些能用技术实实在在解决业务问题的人。反过来,如果一个人天天把“增长”“闭环”“商业模式”挂在嘴边,却连一行代码都读不懂、系统架构理不清、数据流和算法都不了解,那他口中的“业务洞察”也不过是空中楼阁,一旦遇到真实复杂的场景,很容易就被打回原形。
2025-09-17 19:18:16
247
原创 作为一个程序员你觉得是业务重要还是技术重要?
打工人真正的危机,是整体劳动力市场的失衡。高薪行业不再产生大量新岗位,年轻人毕业即失业,市场上的机会越来越少——这时候,你再有经验、再有能力,也难逃被卷掉的命运。说到技术成长,我毕业这么多年待过不少公司,说实话,没觉得在公司里有什么真正的成长。东西做出来、能跑、有业绩,PPT一汇报,拿到奖金、升职加薪或者期权,差不多就该走了。你看现在年轻人,月薪给个一万多,能加班到凌晨一两点,哪怕一坨屎也能雕出花来。记住,你是来做技术应用的,不是搞科研的。你再拼命钻研业务和技术,面对上千万待业的年轻人,终究是无力抗衡的。
2025-09-17 19:12:25
292
原创 Verilog语言和C语言的本质区别是什么?
正因如此,我们常会见到一些计算机专业背景的同学,在用Verilog参与“一生一芯”等项目时,仍沿用C语言的思维:大量使用if-else结构,结果综合出来的电路层级又深又宽,像是一把巨大的竖琴,令见者震惊(包括猫猫)。如果你进一步考虑到,虽然上述组合逻辑能实现功能并有助于提高时钟频率,但综合后的电路面积较大、资源占用多,那么也许可以采用多级流水线的方式:将宽位加法拆成多个窄位加法,以时间(更细的时序阶段)换空间(更少的资源)。,这通常表示一段组合逻辑,此时你需要考虑的问题就要复杂得多。
2025-09-16 14:37:01
333
原创 你有没有想过,C语言本身是用什么语言写的?
在实际中,如果有足够的能力,理论上完全可以“一步到位”:直接用汇编语言写出一个完整的C编译器,然后再用C语言重写这个编译器,并用之前那个汇编版的编译器去编译它——一旦新的C版本编译器生成成功,汇编版本的使命也就完成,可以被替代。然后,用之前编好的C0编译器来编译这段(C0 + 汇编)写的C1编译器源码,从而得到可运行的C1编译器。经历n个版本的迭代之后,最终我们会得到功能足够完整的C语言编译器——此时,之前所有中间版本的编译器就如同“脚手架”,都可以被丢弃。C语言的编译器,竟然是用C语言自身编写的?
2025-09-16 14:31:14
295
原创 为什么至今,C 语言依然在某些领域保持不可替代性?(2)
点个灯,要先构造“灯”的对象,再调用端口输出方法,继而调用翻转方法——封装固然优雅,但你是否解释得清,这每一层背后究竟在做什么?有人提议增加硬件资源以弥补性能缺陷,但有些瓶颈是语言本身固有的,即便资源翻倍,实际的实时性和精确性依然无法满足底层控制的要求。过去普遍归因于芯片存储资源有限、算力薄弱,而如今,单片机的性能甚至已超越早期的大型机,却依然主要依靠C语言进行开发。尤其当你置身没有网络、无法搜索、不能远程依赖的环境时,才会真正体会到C语言的不可替代:它不依赖云端库、不要求第三方框架,更不需要随时更新。
2025-09-15 15:03:54
183
原创 为什么至今,C 语言依然在某些领域保持不可替代性?
令人自豪的是,直至今日,它仍在系统中稳定运行,承担着数据转换与处理的关键角色。我应邀前往现场,确认那正是我早年写下的C程序。这些年来,我也频繁使用Java、Python、PHP等高级语言,但它们更像“技术快餐”:生命周期短暂,五六年就必须迭代甚至重构,最终形态与初始版本往往已迥然不同。尽管我的程序本身与Lotus并无直接关联,但目睹这些跨越时代的技术产物仍在一线服役,恍若青春重来,岁月回眸。可以说,高级语言更擅长应对应用层的快速变化,而底层系统的基础功能,仍依赖于那些历经时间考验、坚定而质朴的技术存在。
2025-09-15 14:55:12
191
原创 做开发你遇到最无理的需求是什么?(2)
还有那种要接入地图功能的,简单,百度地图开放平台免费额度够他试用了。不是我敷衍,是这种客户本身对产品逻辑、技术实现压根没概念。我代码部署好了,支付接口也可以对接,但你资质不全,那我也没办法。尾款我没硬要,就当交个朋友,以后多推荐点客户也行。说实话,做外包这一行,心态必须稳。虽然是有点无奈,但毕竟是生意,该忍还是得忍。”我愣了一下,但也没多说,想了想还是接了。所以这一行,关键不是分析“项目靠不靠谱”,而是判断“甲方靠不靠谱”。剩下那1%的专业客户,一般需求明确、流程清晰,按阶段推进就行,合作反而轻松。
2025-09-14 19:29:27
187
原创 做开发你遇到最无理的需求是什么?
无论是深红还是浅红,他一律不满意,坚持要求使用一种“正到不能再正”的鲜红色。我们尝试调整到色值 #FF0000——这已经是RGB色彩空间中最纯的红色了,可对方仍然反馈“不够红”。他特意邀请这位负责人的上级领导来单位“视察工作”,看似无意地引导他们走到那台“怎么调都不对”的电脑前浏览页面。我们怀疑是显示设备的问题,于是接连换了好几台不同型号的显示器接在他的主机上演示,结果他还是一口咬定颜色“不对”。尽管我们多次解释显像原理和硬件差异,对方始终不接受,项目进度就因为这样一个颜色问题彻底卡住,迟迟无法推进。
2025-09-14 19:23:35
97
原创 如何系统学习机器学习?
斯坦福大学的“机器学习课程”是一个理想的起点,该课程系统介绍了机器学习、数据挖掘与统计模式识别的基本概念与方法,覆盖监督学习、无监督学习以及最佳实践等内容。掌握一定理论与实践技能后,找到一份机器学习相关的工作是许多人的目标,但这只是职业生涯的起点。完成基础理论与深度学习学习后,下一步应根据个人兴趣确定专业方向,例如选择成为数据科学家、机器学习工程师,或研究员,也可以将人工智能技能与现有职业结合,赋能传统领域。这条路开阔但充满挑战,你所积累的知识、遇到的同伴,都将在未来成就你的可能性。
2025-09-09 16:32:11
499
原创 为何在AI领域Java没有python火?
(在人工智能领域叫向量),你用Java创建并进行操作看看,排序、查询、切片、旋转、升维、降维、深拷贝、合并…,立刻发现自己被python给吊打了:首先代码量大几倍,其次执行效率又差几倍(比python慢这还是Java吗)。有俩变量a和b,都存储了值,现在要求把a和b的值交换,也就是a变b、b变a。简单粗暴好理解,而且,这可不是语法糖,在内存堆栈上python通过直接交换引用地址实现,这要不快得飞起都没天理了!所以python的“慢”,一直是相对的,一直是被误解的。a,b=b,a,一句话,完事。
2025-09-09 16:18:30
432
原创 字节大量使用新语言,包括go,rust等,为什么阿里一直都抱着java不松手?(2)
月薪几万就为了换个语言?更进一步说,更换语言真的就能提升性能吗?一旦第一代技术领导(如 CTO)奠定了公司的技术基调和方向,后续数年中的技术积累——包括招聘倾向和代码实践——都会围绕这一语言展开,进而陷入上述三重困境的循环,形成路径依赖。本质上,阿里和字节这类公司是业务驱动型的企业,技术更多是支撑业务实现的工具。这意味着技术选型的核心标准是“能用”——代码能够正常运行,性能可以满足上下游调用需求,就达到了预期。假如有开发人员表示“对 Go 更感兴趣,不想用 Java”,公司更可能的做法是换人,而非换语言。
2025-09-04 19:30:00
125
原创 字节大量使用新语言,包括go,rust等,为什么阿里一直都抱着java不松手?
与当年从 Java 转向 PHP 的情况类似,从 Java 迁移至 Go 带来的收益有限,但成本很高:Go 缺乏面向对象的设计理念,同属 C 系语言,从 Java 切换过来需要巨大的范式转换,而所带来的内存等方面的优化,对大厂来说吸引力并不足够。它以接近 PHP/Java 的开发效率和接近 C++/Java 的运行性能,吸引了许多原属于 C++/PHP 生态的大厂,包括百度、腾讯、美团、滴滴和字节等,纷纷引入 Go,用于替代业务层中某些固定、偏底层的模块,或系统层中更接近业务的上游服务。
2025-09-04 15:09:58
431
原创 写给未猝死的程序员
近年来,各大互联网公司员工猝死的新闻屡见报端,留下破碎的家庭与无尽的悲痛,令人扼腕叹息。前几年我自己创业时,同样实行996工作制。作为团队负责人,我曾劝一位同事注意平衡工作与生活,他却直接反问我:“每天早九点到晚九点,一周干六七天,我哪还有生活?”那一刻,我哑口无言。如今,大型互联网企业普遍加班已成公众共识。读书时,我曾深信“只要学不死,就往死里学”——以为拼命学习、考上好大学,就能找到好工作。
2025-09-03 20:45:00
363
原创 你有什么事,是当上程序员才知道的?
除非真的面临经济困境,否则尽量不要接受那些既要求纯业务输出、又实行996工作制度的部门offer。这样的选择轻则可能导致技术成长停滞与身体健康受损,重则甚至会影响整个职业路径,让人不得不从头再来。(鉴于部分朋友对这一点存在误解,特此说明:这里的“且”指的是两个条件同时成立——既纯业务又996。如不理解“且”字,用编程中的“&&”符号可能更直白一些。也请大家理性讨论,勿喷勿私聊骂人,感谢理解。)代码规范与逻辑清晰的重要性怎么强调都不为过。一位能够写出整洁、可维护代码的开发者,比熊猫还要稀缺。如果你身边有这样的
2025-09-03 16:16:27
151
原创 程序员明明是技术积累岗位,为什么年龄越大反而可替代性变高了?(2)
但就在上周,我作为甲方代表参与一个“ASR 接入大模型”的项目讨论,一个规模不小的团队居然说实现不了,原因竟是“没找到能自动保存语音文件的麦克风”,声称提供的 API 只支持文件输入,必须手动上传音频。在这个过程中,你需要判断优先级:哪些问题必须立即解决,哪些可以暂缓,哪些可以临时采取过渡方案(哪怕暂时堆出一座“屎山”),以后再优化。年纪渐长,最值得积累的不是做过多少项目,而是你的行业口碑:在大家遇到难题时,第一反应是“要不问问他。最关键的是,到了落地阶段,你很可能不得不亲自编码?
2025-09-02 15:34:51
285
原创 程序员明明是技术积累岗位,为什么年龄越大反而可替代性变高了?
同时上线后,系统转运营。想要避免这类卷,要么你走业务结合计算机路线,因为纯计算机无论多高超的技术,复制和传承太快太简单了,但计算机之外的东西没那么容易复制和传承,尤其是一些小众细分领域,大厂基本不会去卷,由于和业务耦合所以个人或者没有任何业务基础的小厂很难切入。首先面就广,哪怕你只搞目前入行门槛最低的javaweb,至少编程语言、网络、数据库、各类框架这些基本的你都得懂,这些每一个的基本功都至少是一本厚厚的书。但是吧,工程学总有一个理念(不限于计算机,任何工程学都有这样的理念),就是要快速开发,快速迭代。
2025-09-02 15:29:24
375
原创 什么时候对java失望的呢?
毕业设计中,我利用Vector存储多类型数据对象,实现了类似“打包上车”的效果,而传统方法往往需要将不同结构的数据编码成二进制串,既复杂又容易出错。我跟导师解释这种思路,他们却将信将疑——那一刻,我仿佛站在了编程理念的前沿,而他们,还困在旧时代的桎梏中。更让我惊喜的是,在PHP项目中借助Resin服务器的Quercus模块,竟能以Java作为后端,大幅提升性能,甚至还支持PHP与Java互操作,实现混合编程——那时的Java,在我心中宛如一台高达,武装到了牙齿,无所不能。更让我不适的是生态的“大杂烩化”。
2025-08-30 21:58:49
146
原创 PHP、Java、Python、C、C++ 这几种编程语言都各有什么特点或优点?
动态性的体现:多态:根据实际对象类型调用方法;反射:运行期维护类型信息;动态类加载:运行中加载新类型;动态链接:按需链接库文件。编译与解释语言的界限?语言本身并无属性之分(如Java既可编译也可解释),少数特性依赖运行环境。为何解释语言需虚拟机或运行环境?动态编译和元数据管理等功能具有通用性,抽离为运行时环境可避免重复实现。脚本语言与非脚本语言:脚本语言用于调度其他程序(如Shell调用命令,Lua调用C)。跨平台的层次:源代码跨平台(如C/C++,但受系统API限制);
2025-08-30 21:15:08
551
原创 为什么会觉得Java的IO很复杂?(2)
在学习 I/O 之前,我们编写的程序大多局限于内存中的操作,比如定义变量、创建数组和集合、实现排序或链表等算法,使用的也多是常见的基础 API。Java 程序运行于 JVM 上,所见的是操作系统提供的文件系统,而非直接操作硬盘。但需注意:字节流仍为所有流的基础,可处理任何类型数据,而字符流仅适用于文本。字节流就像动物的本能,能接收原始信号,但字符流赋予了“阅读与书写”的能力。掌握 Java I/O 框架的设计思想是入门的关键,但要深入理解底层实现,还需学习 JVM、操作系统及计算机组成原理等相关知识。
2025-08-27 18:00:00
1453
原创 对互联网来说,重构是政治斗争和大清洗的重要手段,尤其面向业务编程的公司和码农。
比如某走出创业期已有平稳营收的互联网公司。这时公司的项目随便增加删除一个功能或业务都得依靠这位技术总监及其团队,毕竟只有他们全程参与了公司的项目最有经验,只有他们更清楚既有架构的性能潜力,怎么重复利用既有代码以及潜在的bug都在哪,就算让新的团队做新功能也还得基于旧有的架构。如果招一些年轻人,然后宣布要用新技术体系对既有业务重构,那某种程度上不正是把公司旧的技术团体经验清零同年轻人们拉到了相对较近的起跑线,还给了旧技术团队不得不把技术同年轻人传承,让年轻人可以拥有从头理解公司技术架构培养经验的机会?
2025-08-27 13:29:38
253
原创 为什么会觉得 Java 的 IO 很复杂?
通过这个过程,你会深刻理解到:FileInputStream 本身并不慢,通过自定义字节数组同样可以实现类似BufferedInputStream的缓冲效果,甚至发现使用8192字节的缓冲区时读取速度最快(这与计算机组成原理中“页大小”的概念密切相关)。从事Java开发的一个常见局限是,很多开发者将自身局限在B/S架构的服务端,而缺乏对C/S架构中客户端技术或其他系统层面的广泛了解。多线程的出现,本质上是因为IO操作速度较慢,为了在等待IO时充分利用CPU资源,才需要并发执行其他任务。
2025-08-26 18:45:00
203
原创 对于一个刚毕业的小白来说,学好这五点,面试一个初级的开发是没问题的。
作为一个新入门的小白,这部分的内容肯定是要学扎实的。如果Java基础的技术都学的不扎实,那就没办法继续学后面的内容。、jdk、jre以及Java面向对象思想。这部分内容是让你学会如何在系统中搭建Java开发环境,如何利用第三方工具进行Java程序的开发。
2025-08-26 14:22:28
140
原创 Java真的没出路了吗?
尤其在 2015 年前后,伴随电商的高速发展,微服务架构兴起,Spring 体系、Dubbo、各类中间件纷纷涌现,以 SpringBoot 和 SpringCloud 为代表的技术栈极大丰富了 Java 的开发范式。企业不可能轻易改用其他语言重构如此庞大的系统,相反,这些系统仍在持续扩展和更新,对 Java 技术人才的需求将长期存在。事实上,Java 确实变得更“卷”了,但“卷”并不完全是坏事,我们需要理性看待其背后的原因。当然,Java 领域的“内卷”是一个客观现象,但我们也要看到它背后的积极面。
2025-08-21 15:59:09
352
原创 为什么JAVA被很多人认为低端
如果你是一位从“远古时期”走来的程序员,曾亲手搭建过粗糙的初代框架,在不断踩坑、优化和吸收社区经验的过程中逐步构建起一套适合公司的架构,那么你在整个过程中是持续积累和成长的。在一个复杂的项目中,开发者实际编写的往往只是核心业务逻辑,而约 90% 的基础功能——如事务管理、安全控制、数据持久化等——早已被底层框架所实现。如果他们试图深入理解底层原理,甚至对框架做进一步优化,很可能得到这样的回复:“这是基础架构团队负责的,他们更专业,你专注业务就好。真正的挑战在于,如何在自动化的洪流中保持不可替代的价值。
2025-08-21 15:49:07
358
原创 程序员职场生存指南:理性避坑与长期发展策略
持续高压工作可能引发慢性疾病(如颈椎病、失眠、心血管问题),甚至酿成不可逆的职业危机。:许多自学成才的程序员具备极强的实战能力,尤其在架构优化、问题排查等方面可能更胜一筹。:重复性业务开发难以积累核心技术能力,长期陷于CRUD(增删改查)将导致竞争力退化。:定期观察更高职级同事的工作内容,尝试参与技术方案设计,而非只做执行层。尽早规划职业第二曲线(技术管理、创业、投资等),避免中年危机。企业永远有做不完的需求和修不完的Bug,但你的身体和精神状态是。:大厂员工未必技术更强,可能只是体系化流程的受益者。
2025-08-18 13:33:31
442
原创 与其临渊羡鱼,不如退而结网:一位技术人的职业转型启示录
无论是Java的稳健生态、Python的敏捷特性,还是Go语言的高并发优势,都只是实现职业价值的工具。"职业发展的真谛,或许就藏在这句技术箴言中——停止观望,立即行动,让每一次代码实践都成为通向目标的坚实脚印。毕竟,在瞬息万变的技术世界,唯有行动者才能书写自己的职业叙事。在职业发展的十字路口,许多人常陷入"选择困境"——既羡慕Java工程师的高薪,又向往Python开发的灵活,还觊觎Go语言的新兴前景。事实上,职业选择的关键不在于追逐每一个技术热点,而在于基于自身现状的理性分析后,坚定执行既定的职业规划。
2025-08-18 11:14:14
174
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人