0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一位Java程序员转型互联网的经历

工程师人生 来源:工程师吴畏 2019-05-17 16:46 次阅读

08年毕业跑到上海,在经济危机最热闹的一年找到份勉强活下去的java研发工作,从此开始了漫长的通信行业软件开发。几年间身边的同事跳槽到互联网行业,也有新鲜血液补充进来,总体来说人员质量是在不断下降的。直到自己也决定转型,中间也受过鄙视遇过挫折走过弯路,这里将自己的感受跟大家分享下,希望能对有相同想法的从业人员有所帮助。

在开始讲干货之前,先了解下互联网。互联网的生命线是客户体验,短时的砸钱可以迅速扩展用户量,但是如何保持客户黏度才是真正的重点。互联网的精神就一个字“快”!快包含两层意义:第一层对于系统来说(性能快、终端响应快、扩展快),第二层对于开发人员(轻量级、上手快、开源)。只有够快才可以提高客户体验,没人愿意盯着手机屏幕等5秒钟以上。至于如何为客户提供更舒服的服务方向那属于策划部门考虑的问题,不属于咱们程序员能左右的。

下面开始具体技术点,一切都是围绕着“快”。

第一, 熟练使用Linux系统。

Why is Linux?开源+安全+便捷。开源意味着成本的降低,今年风靡一时的勒索软件又给Linux打了一次安全广告,docker的兴起又巩固了Ubuntu、centos等linux内核的霸主地位。可以说不会命令行(桌面会占用硬件资源,失去了linux的部分优势)操作Linux系统以后将会寸步难行。

第二, 关系型数据库选择MySql而不是Oracle

虽然NoSql的盛行使关系型数据库市场越来越小,但是80%产品的核心数据还是需要关系型数据库来维护的。这里推荐大家加强MySql的学习,Oracle可以选择性放弃,虽然两者在使用上没有太大的区别,但是Oracle实在是太贵了!我们曾经7位数采购过一个Oracle一体机,硬件条件确实牛逼到飞起,但是互联网中讲究的是开源和扩展,讲究的是叼丝抱团PK高富帅。

第三, 掌握NoSql技术。

需要大家了解NoSql的使用场景,解决的是非结构化数据的存储和查询问题,这个是关系型数据库做不到的。推荐学习HBase,倒不是因为HBase比起其它NoSql产品多优秀,而是在学习HBase的过程中可以pick up很多其他有用的知识。例如HBase存储是依赖Hadoop的HDFS,可以了解下大数据是如何存储的;协同服务使用的zookeeper,可以了解下zookeeper的4种文件特性以及自主选拔机制。

重点需要学习HBase中数据是如何存储的,为什么rowkey查询效率如此之快。

第四, 掌握一种缓存技术

JVM缓存无法解决的两大难题:1缓存不够大,2跨JVM无法共享。应运而生了各种缓存技术,这里推荐Redis,因为Redis已经成为了主流,要用我们就用最流行的。Redis在大的方面有Nosql存储和共享缓存两种用法,其中共享缓存又分为系统缓存、登录用户缓存、ORMapping二级缓存等流行用法。

第五, 熟练掌握一种MQ

缓存技术只是解决了IO上的“快”,但是对逻辑运算、业务处理等响应速度没有任何提高,何以解忧唯有MQ。MQ用于去瓶颈、非事务、最终一致性、Event Sourcing、收集器等场景。这里推荐kafka,原因跟redis一样,流行,功能上基本能涵盖所有MQ应用场景。

第六, 精通一种微服务框架。

讲到这里才有了点Java的影子,传统软件开发讲究的是MVC、SSH、SSi这些古董,但是互联网里讲的是微服务。微服务架构主流的有2种:Dubbo和Spring Cloud,我们产品经历过Dubbo这条弯路以后最终还是走向了Spring Cloud的怀抱。RestFul的调用机制速率从协议上来开虽然不如RPC,但是应用场景广泛、标准化、可读性强等优点完全掩盖协议上的性能差距,再加之Spring Cloud不断地有大牛添砖加瓦(我在初学Spring Cloud用的是Brixton,学完后已经出来Dalston版本了),Spring Cloud变得越来越强大,再加上java程序员对Spring有一种特殊的情结,所以Spring已经成为了主旋律。

第七, 分布式事务机制

分布式事务到目前为止还是个世界通用难题,没有一颗银弹能完美的解决这个问题,而面试官却偏偏每次面试都要问。解决的中心思想就俩字“取舍”,根据自己的业务场景决定放弃一些东西。方案有:二阶段提交、串行调用、MQ+消费、业务补救等,阿里等大公司也有自己的解决方案,但也都是贴合自己业务来设计的。

第八, 了解ELK原理。

E-elasticsearch,是基于Lucene的搜索引擎,它的出现是为了解决索引问题的,但是后来增加了Logstash和Kibana这俩左膀右臂,又组成了ELK这个日志收集分析套件,这货正好解决了分布式系统任务跟踪和问题定位难的问题,配合Spring cloud的Sleuth又成了性能预警的神器为服务治理提供了基础数据。

第九, 云计算

产品的云化只是个概念,之所以了解云计算是为了能让我们有个完整的知识体系。Iaas、Paas层在国内已经基本成熟,Saas我在国内还没有看到有成型的产品。有兴趣的同学可以注册学习下美帝的Salesforce,了解下世界上最先进的CRM云产品是何等的牛X。国内的电信、金融行业正在砸钱搭建自己的私有云,BAT等有能力的大公司在办自己的公有云,私有云+公有云也有很广阔的市场前景,我接触过的很多企业都在做混合云的设计方案。

第十, 提高英语水平

越是前端的技术国内用的人越少,绿坝里面的资料也就越少,所以为了学习或者解决问题经常需要参阅国外网站的资料,混迹国外的技术论坛进行交流,所以英语水平有时间还是要提高下,否则很影响新知识的吸收速度。

互联网中用到的所有的技术基本都是默认可用,满足“上手快”的要求。大部分组件也都是水平扩展的,为了满足“性能快”的要求。例如Spring Cloud中启动参数基本都有默认值,zookeeper、elasticsearch、logstash、kafka等组件目录结构都是bin里是启动程序,conf里是配置程序,解压即可用,都有默认值,通过配置做水平扩展。

本文写给跟我一样正在转型路上的java程序员们,基本涵盖了各个方面,也给了我个人推荐的具体技术点,希望大家少走弯路,把精力用到刀刃上。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • JAVA
    +关注

    关注

    19

    文章

    2970

    浏览量

    104811
  • 程序员
    +关注

    关注

    4

    文章

    952

    浏览量

    29812
收藏 人收藏

    评论

    相关推荐

    TMS320C6000程序员指南

    电子发烧友网站提供《TMS320C6000程序员指南.pdf》资料免费下载
    发表于 12-24 17:19 0次下载
    TMS320C6000<b class='flag-5'>程序员</b>指南

    Linux驱动程序程序员指南

    电子发烧友网站提供《Linux驱动程序程序员指南.pdf》资料免费下载
    发表于 11-22 15:53 0次下载
    Linux驱动<b class='flag-5'>程序</b><b class='flag-5'>程序员</b>指南

    AI编程工具会不会抢程序员饭碗

    AI编程工具可辅助编程,减少手动编码,提升效率,对程序员有积极影响也有挑战。程序员需深化技能、拓宽知识应对。长远看,AI与人类程序员将共生共荣。
    的头像 发表于 11-08 10:17 180次阅读

    转型必看】Java到AI,程序员的逆袭秘籍,转行人工智能不再是梦!

    ​随着技术的不断进步,人工智能(AI)已经成为当今科技领域最热门的话题之。许多开发者开始考虑从传统的软件开发领域,如Java,转向人工智能领域,今天小编和大家起来探讨Java开发者
    的头像 发表于 07-31 14:42 1160次阅读
    【<b class='flag-5'>转型</b>必看】<b class='flag-5'>Java</b>到AI,<b class='flag-5'>程序员</b>的逆袭秘籍,转行人工智能不再是梦!

    esp8266已连接到Wifi但无法连接到互联网,为什么?

    首先,我想说对不起,如果我的帖子在错误的线程中。在那之后,我想问个问题,我的 esp12E 已连接到 Wifi,但它无法连接到互联网,即使 wifi 连接到互联网和其他设备,它仍然完美地使用
    发表于 07-09 07:11

    程序员节视频创意大赛,用串口屏赢取千元大奖

    10月24日,程序员专属的节日里,我们盛大开启“程序员节视频创意大赛”特别活动!这不仅是场视觉的盛宴,更是智慧与创意的璀璨碰撞。我们诚挚邀请每一位
    的头像 发表于 07-08 10:38 72次阅读
    <b class='flag-5'>程序员</b>节视频创意大赛,用串口屏赢取千元大奖

    程序员节视频创意盛宴,邀您共襄盛举!

    10月24日,程序员专属的节日里,我们盛大开启“程序员节视频创意大赛”特别活动!这不仅是场视觉的盛宴,更是智慧与创意的璀璨碰撞。我们诚挚邀请每一位
    的头像 发表于 07-04 09:00 67次阅读
    <b class='flag-5'>程序员</b>节视频创意盛宴,邀您共襄盛举!

    工业互联网平台中什么是关键

    工业互联网平台是工业领域数字化转型的重要支撑,其关键要素包括以下几个方面: 网络基础设施 网络基础设施是工业互联网平台的基础,包括有线网络、无线网络、物联网等。工业
    的头像 发表于 07-02 09:37 808次阅读

    什么是卫星互联网?卫星互联网的组成

    卫星互联网是指基于卫星通信技术接入互联网,其业务可覆盖全球。通过定数量卫星的规模组网,构建具备实时信息传输能力的星座系统,卫星互联网可向终端用户提供以宽带
    发表于 04-17 10:01 1087次阅读
    什么是卫星<b class='flag-5'>互联网</b>?卫星<b class='flag-5'>互联网</b>的组成

    寻找一位编程

    寻找一位编程。请法邮件 j_helmut@163.com
    发表于 04-02 13:34

    适者生存,程序员最终会流向哪……

    程序员没有永远的护城河!!就目前的互联网大环境来看,it行业已经是……
    的头像 发表于 03-11 17:11 417次阅读
    适者生存,<b class='flag-5'>程序员</b>最终会流向哪……

    薪资高、青春饭,是不是程序员=青楼?

    花期太短。技术迭代快,年龄大容易失业。 就这几年的互联网环境而言,不管是前端、Java、Android开发等等行业。已经感受到程序员不是太卷就是工作难找,薪资过低。以前高工现在拿着中低程序员
    发表于 03-06 21:32

    感觉我国的程序员前景片灰暗,是这样吗?

    程序员也分为好几等,在现在看来大部分的Android、Java、前端等等开发。已经看不到希望了,很多人都在边缘挣扎;刚看到一位Android开发者,过完年回公司就通知被裁;可见每年都会有很多
    发表于 02-20 20:52

    2024程序员的未来方向如何走?还看今朝

    这几年的IT行业想必大家已经感受到了,Android、Java、前端等等程序员经历了大厂……
    的头像 发表于 02-02 09:45 834次阅读
    2024<b class='flag-5'>程序员</b>的未来方向如何走?还看今朝

    1月18号“纯鸿蒙”千帆启航,程序员预备!

    Android”、与互联网大厂合作已达400+家、原生开发薪资岗位来看。鸿蒙对程序员来说无疑是条非常好的道路。 鸿蒙对程序员的影响 鸿蒙的出现,首先直接影响的是
    发表于 01-16 22:13