一个码农的工作总结

简介:

java
JVM的内存结构:包括虚拟机栈、本地方法栈、指令计数器、方法区、堆以及直接内存等,重点需要了解虚拟机栈和堆以及方法区。
class文件结构:实际工作中用的不多,不过了解这部分结构对理解虚拟机的工作机制有极大的帮助,强烈建议多了解,特别是常量池和方法列表的形式,不了解这些想升入学习java基本上是空谈。
线程状态:启动、阻塞、等待(分限时和不限时等待)、结束,了解这些状态代表的意义,以及哪些操作分别会进入什么状态,深入的可以对比理解下jstack命令dump出的线程信息对应的线程状态。
JVM自带的命令:虽然有各种视图话的调优工具,但是真正在生产碰到问题的时候发现还是自带的一些命令有用,比较实用的是jps、jstat、jmap、jstack。
垃圾收集器:了解基本的垃圾收集算法(标志清除、复制、标志-整理)以及各自的优缺点,哪些垃圾收集器分别使用的是什么算法,优缺点,新生代和老年代对应的垃圾收集器组合。
类加载和初始化机制:加载、连接(验证、准备、解析)、初始化、使用、卸载。
java语法:主要了解ReentrantLock和synchronized,concurrenthashmap和HashTable等区别,了解线程池的工作原理以及使用方法,了解队列,了解异常以及内部类和反射机制等等

MySQL
MySQL基础:MySQL的核心是数据库架构、索引原理以及字段性质。连项目中数据库的架构都不了解谈优化就是瞎扯淡,作为一个开发者来说数据库优化的核心就是优化索引,而MySQL中索引数据结构用的最多的就是BTree树,某些场景下可能会用到hash索引来做优化。
MyISAM和InnoDB的区别:虽然MyISAM引擎离我们越来越远,但是用MySQL了解此二者的某些核心区别是必须的。InnoDB支持事物、外键、行级锁,MyISAM支持索引前缀压缩和全文索引,基本上来说大部分场景都是适合使用InnoDB,而且据业界大牛预测MySQL官方有计划在未来的版本中集成InnoDB引擎并且做深度优化,所以InnoDB是未来的主要方向。有个地方需要注意的是InnoDB是主键聚簇索引,所以如果主键不规律的话可能insert操作可能导致性能有大的影响。
另外作为一名开发者,数据库的事物类型以及传播级别也是极度有必要清楚的。


缓存
作为一个web应用的开发者对缓存的了解是必须的,目前接触和用的最多的就是memche和ehcache,redias也有了解相比memcache可以固话缓存内容以及支持多种数据类型,性能上似乎目前为止也没啥定论,目前本人也没有使用过redias不做过多评论。一些十分频繁的访问可以考虑用下ehcache做个二级缓存,因为它是本地缓存。另外memcache的内部机制(如缓存非配制剂,以及过期机制也有必要了解)。

linux
对linux我本人之前也有过比较全面的学习,也学习过一段时间的shell编程,但是因为工作内容的关系,目前脑子里记得的也就是一些linux命令了,目前因为时间和工作内容的关系没有刻意去复习相关的东西,工作中基本够用,不懂的稍微百度下基本上也是没问题的。

通信协议
另外对tcp、udp这类协议的区别也要有个基本的了解(前者面向了解需要多次握手,稳定但是耗费资源多)


大数据

有一段时间对大数据很狂热有想往数据分析方向发展的欲望,当时比较系统的学习了下HDFS、MapReduce以及HBase,从原理来说hadoop其实是个很简单的东西,因为设计者封装的很好使用来说不难。之所以搞hadoop能相对普通java开发待遇高一些,我想主要是这个是个新兴的东西的确解决了一些平时很难已解决的问题,其次招hadoop开发的都是些比较好的公司它们给的待遇本身就比普通公司的要高。所以表面看起来搞hadoop的待遇要好些。我的感觉是hadoop的主要优势在于大数据分析,要在数据分析这个行业有所建树算法是要有比较好的底子的,而我明显不具备相关优势。所以在对hadoop有过一段时间的狂热后慢慢的重心又回到了现有的工作中。


一点规划

计划在未来一两年从架构的角度重新审视和总结下过往的工作经验。同时也系统的学习下项目管理的基本理论。


后记

说到最后技术是用来做事的,技术是死的人是活的,工作几年也见过不少人事升迁,技术固然重要但是为人处事更是一门永远需要学习的科目。技术之路是没有尽头的,时间精力有限找准自己的定位非常重要,最后分享一篇对本人很有启发的文章,与诸君共勉,我本人的职业规划已经越来越明晰了,希望还在迷茫的同志们都尽快找到最适合自己的发展计划。http://xjsunjie.blog.51cto.com/999372/1378547'



本文转自 古道卿 51CTO博客,原文链接:http://blog.51cto.com/gudaoqing/1424164

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
Docker 容器
paddleocr 在docker环境下部署_docker部署paddleocr,90%的人看完都说好
paddleocr 在docker环境下部署_docker部署paddleocr,90%的人看完都说好
|
存储 人工智能 API
SPO:如何优化提示词?大模型最懂如何优化自己!开源自监督提示词优化工具,让AI自主优化提示词
本文介绍由DeepWisdom与香港科技大学联合研发的SPO框架,通过自我监督机制实现大语言模型提示优化,仅需3个样本即可达到SOTA效果,优化成本降低至传统方法的1.1%-5.6%。
3052 0
SPO:如何优化提示词?大模型最懂如何优化自己!开源自监督提示词优化工具,让AI自主优化提示词
|
2天前
|
人工智能 安全 测试技术
|
4天前
|
云安全 人工智能 安全
阿里云 Agentic SOC 位居 IDC MarketScape安全运营智能体2026领导者类别
以 Agentic AI 重构安全运营闭环,阿里云云安全在产品能力与市场份额
1174 3
|
4天前
|
数据采集 机器学习/深度学习 人工智能
田间杂草定位与检测4200张YOLO智慧农业数据集分享
本数据集含4200张真实农田图像,YOLO格式,单类别(杂草)高质量标注,覆盖多作物、多光照、多生长阶段等复杂场景,专为智慧农业杂草检测与智能除草设备研发设计,支持YOLOv5/v8/v10等主流模型训练。
356 94
|
5天前
|
缓存 UED 开发者
Codex109天重置23次,明天还要再送一次
Codex近109天完成23次额度重置,7月14日将迎来第24次。Tibo高频响应用户反馈:优化GPT-5.6高消耗问题、补发失效福利、调整重置时间——形成“反馈→回应→修复→补偿”正向闭环,彰显以用户为中心的产品哲学。(239字)
608 11
|
8天前
|
存储 人工智能 JSON
Qwen 本地部署搭配 ComfyUI 生成 AI 漫剧完整实操指南(小白零基础可落地,零成本无限生成+角色一致性天花板)
2026全网最优本地漫剧流水线:零成本、离线运行、角色统一、低配(8G显卡)可跑。融合Qwen本地大模型+ComfyUI双引擎,实现剧本生成→分镜绘图→动态成片全自动,隐私安全、无审核限流,新手30分钟上手,日更无忧。(239字)
|
8天前
|
人工智能 缓存 JSON
刚刚 GPT-5.6 发布,吊打 Claude 5 和 Grok 4.5?一手实测来啦!
GPT-5.6 刚发布,跑分号称超越 Fable 5,真的假的?附一手实测,让 3 个最强 AI 编程模型 GPT-5.6 Sol、Claude Fable 5、Grok 4.5 在 Cursor 里同时一把梭开发网页游戏,看看最新模型到底谁更能打。
370 0