一个码农的工作总结

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介:

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

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7月前
|
前端开发 数据可视化 程序员
程序员如何过码农特色的中秋?
程序员如何过码农特色的中秋?
43 0
|
程序员
一个码农对项目的非分之想
刚踏入计算机行业那一年,单纯的我觉得“只要技术足够牛,就能使项目成功 。”但随着时间这把剃头刀不断地推高发际线,越发察觉到有一股技术以外的力量起着更大的作用。这也促使我跳出“写代码”边界,思考代码以外
1695 5
一个码农对项目的非分之想
|
SQL 分布式计算 前端开发
长路漫漫,其修远兮,这一年我与CSDN的故事 | 2021年终总结
长路漫漫,其修远兮,这一年我与CSDN的故事 | 2021年终总结
141 0
长路漫漫,其修远兮,这一年我与CSDN的故事 | 2021年终总结
|
Unix 程序员 Windows
雷军做程序员时写的博客,太牛了。。
我并非天生喜欢写程序,上高中时也没有想过程序员的生活。 我学电脑非常偶然,小时好友上大学时选择了计算机系,为了和这个朋友有更多的共同语言,我也选择了计算机系,开始步入程序人生的道路。
160 0
当码农遇见公益
9月25日下午在云栖大会参加阿里巴巴技术公益专场记录与感想。
365 0
|
架构师 Java 大数据
漫画:程序员小赵的架构师之路
《架构师小赵的故事》原文作者刘欣先生,工作15年的前IBM架构师。 原文地址:http://m.sohu.com/n/473759776/ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ 至此,架构师小赵的故事就暂告一段落了。
|
Java 程序员 应用服务中间件
做码农差不多十五年了,聊聊程序员十五年内职业生涯规划,共勉之
前言 很多人以为技术人员可以做一直做下去,但是最近我发现这个观点不完全正确,因为能一直做下去的技术人员非常稀少,因为不同的年龄段,公司对技术人员的要求会不一样,如最近传言华为计划裁掉40岁以上的程序员,首先我认为肯定不会裁掉所有40岁以上的技术人员,如CTO或高级技术专家不会被开,因为他们达到了40岁技术人员应该达到的能力,而那些没有达到该年龄段能力的技术人员会被淘汰。
2279 0
|
Java 程序员
一个“码农”自述的血泪史:当了35年程序员,我最大的遗憾就是没抓住机遇转行
注:这是一个“一子错,满盘皆落索”的故事。兢兢业业干了35年的程序员,最后却认识到,程序员的力量太过微小。无论你写程序有多厉害,你都很难有权力真正改变一些失败的产品、失败的项目。
1449 0
|
程序员
从码农到工程师:只要做到这6点
       许多程序员自称码农,因为每天事情总也做不完,而这些工作也没有给自己带来职业上的提升,总在原地打转,自己的工作似乎随时可被新人替换,可有可无。
1241 0