一个码农的工作总结

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

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

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
前端开发 数据可视化 程序员
程序员如何过码农特色的中秋?
程序员如何过码农特色的中秋?
111 0
|
移动开发 小程序 程序员
这一年,熬过许多夜,也有些许收获 | 2022年终总结
弹指一挥间,时间如白驹过隙。光阴似箭,如月如梭,时间如闪电,转瞬即逝。一说到年终总结,好像都离不开这样煽情的开场白。但不可否认的是,时间确实过得很快,一晃一年又没了。
161 0
这一年,熬过许多夜,也有些许收获 | 2022年终总结
|
人工智能 Java 大数据
CSDN:2020年度CSDN博客之星评选竞赛——180号【一个处女座的程序猿】,感谢您,投上的宝贵一票,感谢!感恩!
CSDN:2020年度CSDN博客之星评选竞赛——180号【一个处女座的程序猿】,感谢您,投上的宝贵一票,感谢!感恩!
CSDN:2020年度CSDN博客之星评选竞赛——180号【一个处女座的程序猿】,感谢您,投上的宝贵一票,感谢!感恩!
|
网络协议 搜索推荐 JavaScript
双非硕士的辛酸求职之旅--第 5 篇:好开心我进入了面试环节中,那么我该如何自我介绍?
双非硕士的辛酸求职之旅--第 5 篇:好开心我进入了面试环节中,那么我该如何自我介绍?
163 0
双非硕士的辛酸求职之旅--第 5 篇:好开心我进入了面试环节中,那么我该如何自我介绍?
|
SQL 分布式计算 前端开发
长路漫漫,其修远兮,这一年我与CSDN的故事 | 2021年终总结
长路漫漫,其修远兮,这一年我与CSDN的故事 | 2021年终总结
185 0
长路漫漫,其修远兮,这一年我与CSDN的故事 | 2021年终总结
|
小程序 程序员 Android开发
一个程序员&自媒体人的一次年终总结
一个程序员&自媒体人的一次年终总结
144 0
|
Unix 程序员 Windows
雷军做程序员时写的博客,太牛了。。
我并非天生喜欢写程序,上高中时也没有想过程序员的生活。 我学电脑非常偶然,小时好友上大学时选择了计算机系,为了和这个朋友有更多的共同语言,我也选择了计算机系,开始步入程序人生的道路。
184 0
|
算法 Java Android开发
黄小斜:我的成长史,关于考研,求职与写作的那些事
阅读本文大概需要 9.96 分钟。 今天和大家分享一下我的故事,相信老读者都比较了解,恰逢今天是公众号首次发文一周年的纪念日,借此机会,重新向大家介绍一下我的经历。 1. 从小到大,我的成绩都只能算中等。
|
架构师 Java 大数据
漫画:程序员小赵的架构师之路
《架构师小赵的故事》原文作者刘欣先生,工作15年的前IBM架构师。 原文地址:http://m.sohu.com/n/473759776/ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ 至此,架构师小赵的故事就暂告一段落了。
|
Java 程序员
一个“码农”自述的血泪史:当了35年程序员,我最大的遗憾就是没抓住机遇转行
注:这是一个“一子错,满盘皆落索”的故事。兢兢业业干了35年的程序员,最后却认识到,程序员的力量太过微小。无论你写程序有多厉害,你都很难有权力真正改变一些失败的产品、失败的项目。
1535 0