「十年饮冰」

技术文字

下面是我写给学弟们在学习路线上的一些建议,大家可以参考一下!希望能够帮助到大家,有写得不太合适的地方,还请大家指正

一、基础

  • 主要看《java核心技术:卷一》的重点章节
  • 掌握java常用技术,io多线程反射、常用集合框架
  • 数据结构看一遍,作用至少要清楚。如hash冲突解决办法,常用排序算法的应用场景和空间/时间复杂度等
  • 数据库,能看懂ER关系,熟悉数据库三大范式,熟练常用SQL语句
  • 可以掌握一点java网络编程方面的知识,对tcp/ip有初步的认识
  • 课程不能落下,专业课程(计算机网络,操作系统,数据结构,数据库,计算机组成原理)要好好学。不要挂科
  • 学习servlet/jsp,至少能写简单的图书管理系统,熟悉核心api
  • 了解前后端交互方式,ajaxjson/xml至少知道,会使用jqueryhtmlcssjs最好

    二、提高

  • 学习后端框架,SpringMVC/Struts2MybatisSpring,熟悉MVC模式,知道三层架构及每一层之间的关系
  • 会用chrome/firefox浏览器分析http请求,解决、定位问题。知道常用http状态码,了解TCP/IP,知道一次http请求发生了哪些事情
  • 学习设计模式23种设计模式都需要了解一点,熟悉常用的如:单例,工厂,模板,适配器,代理,责任链,构造器,装饰器,迭代器,策略,命令,观察者,外观,享元。理解他们的好处,可以找找在其他框架哪些用了这些设计模式。
  • 可以适当的看一些源码,Spring的源码可以着重的看一下。tomcat可以从源码的角度看看tomcat的整体设计方案,一次请求tomcat如何处理,servlettomcat中的加载,编译过程。tomcat自定义的ClassLoader有什么作用。
  • 会设计数据库,多对多一对多迭代,会写复杂的SQL,了解SQL调优,会写存储过程触发器。熟悉索引的使用,了解视图。去了解一些常用NOSQL,比如Redis/mongodb
  • 学习Linux,熟悉基本命令,学习一种脚本语言(shell/python)。会在linux下写脚本开发

    三、深入

  • 算法,可以看看编程之美算法导论。学习一些算法相关的知识
  • 深入java:理解JVM,JMMClassloaderGC算法,GC收集器。学会定位OOM问题所在。
  • 源码分析,常用集合类如:HashmapArraylist,linkedListHashSetConcurrentHashmap等的源码分析,要非常熟悉java集合框架设计。最好能够分析一种框架源码,比如Spring
  • 深入数据库,理解至少两种数据库引擎Inndb/Mysiam)的差异性,熟悉索引的内部数据结构,熟悉常见的索引方式(Btree,hash),和索引类型(unique,full text,normal),会使用explain分析SQL语句,会优化SQL语句,熟悉一种NOSQL,知道内部实现原理(内部数据结构,在算法优化,内部机制),掌握分布式数据库的知识,分表,分库,分区,分布式事务等,可以学习一个数据库中间件(TDDL/COBAR
  • 架构设计,看看大型高流量/高并发的网站设计(CDN,异步,前端优化),了解缓存(分布式memcached/常用本地缓存),搜索引擎(lucene/solr/elasticSearch),分布式(负载均衡/分布式数据库/分布式应用集群),消息队列(ActiveMQ/Rabbitmq)在大型网站中的作用
  • 还有一些其他的知识,如RPC框架,分布式服务架构,SOA,REST架构等等
  • 可以接触一些云计算方面的知识,如Hadoop/Storm/Spark等,要是再能接触一点机器学习就更棒啦(反正我是没有,听着就吓人,跑个kmeans算法都要弄死人,(+﹏+)逃

我看过的书籍,留个参考!(当然没有全部掌握)

  • 《深入分析Java Web技术内幕》@淘宝君山写的书,经历了taobao.com从一亿到十亿的pv变化(二面面试管么么哒(+﹏+))
  • 《java编程思想》这个至今觉得一般,可能是功力还没有达到 (๑¯ิε ¯ิ๑)
  • 《java核心技术:卷一卷二》,对java入门非常不错,基本上涵盖了java很多知识
  • 《java并发编程实战》并发肯定要看这本书啦,从理论和实践上面讲得非常不错哦
  • 《编程之美》,《剑指offer》这两本本书不用说,刷offer必备
  • 《深入理解jvm虚拟机》看了这本书,基本上JVM相关的知识难不倒,唯一缺的就是实战经验
  • 《Spring技术内幕》比较透彻的解读了spring的源码,浅显易懂
  • 《大型网站技术架构》alibaba.com架构师@李智慧写的书,在大型网站架构方面有非常深刻的认识,我等膜拜
  • 《java设计模式》这本书一般般,主要看看大牛的博客
  • 《java网络编程》一般般,讲得不是很深,可以对io和网络有进一步的认识
  • 《java分布式应用:基础与实践》@毕玄写的书,大牛写的书都要膜拜
  • 《java数据结构与算法》外国人写的书,一般,不评价!用java实现了80%的数据结构
  • 《how tomcat works》在讲解tomcat的架构和设计模式方面讲得非常不错,虽然和现在的版本上有一些差别,但是影响不大
  • 《tcp/ip详解,卷一:协议》深入理解tcp。对tcp各个方面都有更加深刻的认识,正在看
  • 《hadoop技术内幕》可以pass掉,当时学习hadoop的时候看的书籍,讲解hadoop的源代码
  • 《算法导论》正在看,(逃,其实我也想做一个算法狗

那么除了看书籍之外还有哪些学习方式呢?下面说说其他的学习方式

  1. 参加开源项目/自己写点东西放在GITHUB上面,笔者我写了一个自己的MVC框架(Dreamvc),github地址->点击.另外可以去fork下其他人的开源项目,如果感兴趣就贡献一下,不感兴趣就学习别人的编码风格,去其糟粕!
  2. 多看看大牛的博客,这里我列举一些大牛的博客
  3. 多上一些高质量的网站,下面我列举一些,每天都最好抽时间去走一遍
  4. 关注一些技术类的微信号(晚上睡觉或者平时杂碎时间看)@michael282694的知乎|cindy总结的 (๑¯ิε ¯ิ๑),这是原地址
    >
    部分参考:推荐关注的微信公众号

36氪:wow36kr

  • 功能介绍:36氪(36Kr.com)是中国领先的科技新媒体,我们报道最新的互联网科技新闻以及最有潜力的互联网创业企业。
  • 账号主体:北京协力筑成传媒科技有限公司。
  • 商标保护:氪 36。

硅发布:guifabucom

虎嗅网:huxiu_com

  • 功能介绍:有视角的商业资讯交流平台。
  • 账号主体:北京云觅信息科技有限公司。

InfoQ:infoqchina

  • 功能介绍:关注中高端技术人员的社区媒体,促进软件开发领域知识与创新的传播。
  • 账号主体:北京创新网媒广告有限公司。

中文互联网数据研究资讯中心:i199it

  • 功能介绍:发掘、分享数据价值,为您提供一个内容丰富的互联网数据咨询平台!网站(199it.com)、微博 @199IT-互联网数据中心、大数据工具导航(hao.199it.com),感谢您的关注。
  • 账号主体:北京思集智库科技有限公司。

伯乐在线:jobbole

  • 功能介绍:关注职业资讯;学习各类职业感悟、心得和经验分享,扩大职业视野;体会求职、工作和创业的历程 - 就在伯乐在线
  • 腾讯微博:来自腾讯微博认证资料:伯乐在线专注于个人职业发展和企业人才服务,提供一个互动、高校的人才服务平台。@伯乐在线

深蓝阅读:bluereader

  • 功能介绍:深蓝阅读是专注于内容订阅的平台,可订阅RSS或任何网站链接,一切你关心的皆可订阅。官网网址:bluereader.org

互联网er的早读课

  • 功能介绍:专注互联网产品、用研、交互、设计、运营领域精选内容。信息爆炸的社会,每天用心的去读一篇文章,也许胜过你的走马观花。每早八点,我们等你。
  • 腾讯微博:来自腾讯微博认证资料:互联网er的早读课官方微博,专注产品、用研、交互,每天一篇,提供互联网人的慢阅读。 @互联网er的早读课

程序员:imkuqin

  • 功能介绍:本微信公众号:imkuqin,为程序员提供最新最全的编程学习资料的查询。目前已经开通PHP、C/C++函数库、.NET Framework类库、J2SE API查询功能。
  • 新浪微博:来自新浪微博认证资料:IT程序猿(ithao123.com)官方微博 @IT程序猿

程序人生:programmer_life

  • 功能介绍:十年慢慢程序人生,打过各种杂,也做过让我骄傲的软件;管理过十多人的团队,还带领一班兄弟姐妹创过业。关注程序人生,了解程序猿,学做程序猿,让我们的人生不再屌丝化。

程序员那些事:iProgrammer

  • 功能介绍:最有影响力的程序员自媒体,关注程序员相关话题:IT技术、IT职场、在线课程、学习资源等。
  • 私人微信账号:myGuanguan,微博 @程序员那些事

姑婆那些事儿:gupo520

  • 功能介绍:有温度的互联网原创干货分享社区。关注网站推广运营,移动推广(android,ios)运营,在线教育,校园推广等话题。

数据库开发:DBDevs

  • 功能介绍:分享数据库相关技术文章、教程和工具,另外还包括数据库相关的工作。偶尔也谈谈程序员人生:)

CPP开发者:cppFans

  • 功能介绍:关注C和C++啦。

Python开发者:PythonCoder

  • 人生苦短,我用Python。分享Python相关的技术文章、工具资源、精选课程、热点资讯等。

ImportNew:importnew

  • 功能介绍:专注Java和Android技术分享。ImportNew由两个Java关键词Import和new组成。意指:Java & Android程序员学习新知识的网站。

Linux爱好者:LinuxHub

  • 功能介绍:分析Linux/Unix相关的技术文章、教程和工具。

Linux中国:linux-cn

  • 功能介绍:面向Linux爱好者,提供Linux技术文章、新闻资讯和交流平台。每天推送一条最新精选Linux资讯和技术文章;支持Linux命令查询、Linux资讯搜索及微信群的交流。
  • 腾讯微博:来自腾讯微博认证资料:Linux中国官方微博;专注于中文Linux技术、资讯的社区,在这里你可以获得一手的Linux资讯和技术知识。 @Linux中国

Linux编程(添加朋友 → 公众号 → 搜索“Linux编程”,第一个黑色头像的就是)

  • 功能介绍:每周两篇linux命令讲解,编程技巧或算法分析。

前端大全:FrontDev

  • 功能介绍:分享Web前端相关的技术文章、工具资源、精选课程、热点资讯。

安卓应用开发:AndroidPD

  • 功能介绍:分享安卓应用相关内容,包括:安卓应用开发、设计和推广。

iOS大全:iOShub

  • 功能介绍:分享iOS和Mac相关的技术文章、工具资源、精选课程、热点资讯。

PHP开发者:PHPDevs

  • 功能介绍:分享PHP相关的技术文章、工具资源、精选课程、资讯。

DotNet:iDotNet

  • 功能介绍:专注分享.NET相关技术文章、教程和工具。有时也会涉及到IT职场相关的一些东西,或者来电幽默趣文。

设计的那些事:aboutDesigner

  • 功能介绍:分享精选的设计相关文章、案例和行业动态。同时,也会不定期推荐设计教程、高薪职位和设计相关的优秀工具。

网页设计精选:BestWebDesign

  • 功能介绍:分享网页设计精选文章、案例、行业趋势、课程和书籍。

UI设计达人:BestUIDesign

  • 功能介绍:分享UI设计精选文章、案例、行业趋势、课程和书籍。

机器之心:almosthuman2014

  • 功能介绍:人与科技的美好关系。
  • 私人微信账号:jiqizhixin2014。

统计之都:CapStat

  • 功能介绍:专业、人本、正直的中国统计学门户网站。

数据挖掘:datadw

  • 功能介绍:是唯一一个免费发送数据挖掘技术学习经验与咨询的公众号;关注大数据,数据分析,机器学习,电子商务最新动态,商务智能研究,最热营销案例解读,汇聚精粹,精选干货;数据分析/数据挖掘学习起来很困难?行业内专家有何经验或观点?这里的资源帮你解决!

数据挖掘菜鸟:data_bird

  • 功能介绍:关注大数据,数据挖掘,机器学习,深度学习等人工智能领域。

大数据文摘:BigDataDigest

  • 功能介绍:专注收集、分享大数据相关的案例、新闻,寻找志同道合的朋友合作、共赢。
  • 账号主体:深圳大数据文摘科技有限公司。

可视化之美:infovis

  • 功能介绍:各种大数据、挖掘、可视化的知识和成果、科研与应用,原创及自行翻译内容为主。

数盟:DataScienceUnion

  • 功能介绍:数盟致力于打造最卓越的数据科学交流平台,提倡“数据创造价值”,经常举办线上活动、线下活动、在线课程培训,同时数盟有专业的数据团队提供数据服务。官网:数盟社区 - 数据科学家联盟,合作:contact@dataunion.org
  • 账号主体:北京数盟科技有限公司。

数盟【大数据群】 272089418,数盟【数据可视化群】 179287077。

数据挖掘与数据分析:datakong

  • 功能介绍:以分析的视角为切入点,蕴含以互联网、移动互联、IT等科技领域为主的一体化综合型信息服务平台。商务合作,qq:2677585642。

大数据实验室:bigdatalab

  • 功能介绍:宽客俱乐部旗下美国大数据实验室,大数据研究应用。
  • 账号主体:上海宽客投资管理有限公司。

SOTON数据分析:soton2014sky

  • 功能介绍:Hi,我们是SOTON数据分析工作室,专注于带领大家零基础学习数据分析。在这里你将实现从菜鸟到专家的逾越。有梦想,出奇迹!

数据派:datapi

  • 功能介绍:清华大学数据产业联合会(数据派)成员多为业内的清华校友。秉承“自强不息、行胜于言”,以扎实的理工功底闯荡“数据江湖”,独树一帜。本号旨在传播数据科学理念,分享数据运营心得,拓展数据应用空间,捕捉数据产业商机。在数据源,一切基于数据说话!

大数据邦:bigdatabang

  • 功能介绍:深度分析大数据产业的资本、科技、商业价值。

R语言:Ryuyan360

  • 功能介绍:【R语言】致力于传播R知识,包括【R每日一贴】、【R书籍推荐】,后续会推出【R那些事】、【R微课程】、【R案例分享】等栏目。R语言可以帮助我们获取数据、处理数据、分析数据、展示数据和理解数据,以进行数据化决策!

R语言中文网:rchinanet

  • 功能介绍:R语言学习与交流 数据挖掘 统计分析 大数据及可视化

R语言论坛:Ryuyanluntan

  • 功能介绍:大数据时代,我们需要一个强大的软件Running!!!R语言出现了!!!这里是R语言最好的学习交流平台,包括R语言书籍,R语言课程,R语言程序包使用,教你获得数据,处理数据,做出决策!!

待字闺中:daiziguizhongren

  • 功能介绍:了解国内外,最新最全的面试经验,最新的最有趣的面试题。

Crossin的编程教室:crossincode

  • 功能介绍:每天5分钟,学点简单编程,用新的思维方式看世界。【声明:公众号搜出的另一个同名是山寨货】

阿里研究院:aliresearch

  • 功能介绍:阿里研究院依托阿里巴巴集团海量数据、深耕小企业前沿案例、集结全球商业智慧,以开放、合作、共建、共享的方式打造具有影响力的新商业知识平台。阿里研究院,洞察数据,共创新知!
  • 腾讯微博:来自腾讯微博认证资料:阿里研究院官方微博 @阿里研究院。
  • 微博同名:阿里研究院
  • 来往扎堆:阿里研究院。

阿里商业评论:Alibusinessreview

  • 功能介绍:阿里商业评论(Ali Business Review,简称ABR)由阿里巴巴集团研究院创建,旨在深耕小企业前沿案例、集结全球商业智慧,发现、汇集、分享互联网时代的杰出商业实践。

百度营销研究院

  • 功能介绍:百度营销研究院作为互联网营销领先探索者,创新、沉淀、分享基于百度平台数字营销方法论,与业界知名专家学者共同探讨前瞻性的营销趋势及突破性的营销实践,率先发布数字营销行业标准、方法论。为业界专家、品牌广告主、代理公司提供最具有价值的创新营销建议。
  • 账号主体:百度在线网络技术(北京)有限公司
  • 商标保护:百度。

腾讯研究院:cyberlawrc

  • 功能介绍:【腾讯研究院 ★ Tencent Research Institute】网聚智慧,连接世界!网络互联网前沿理念、传递互联网发展声音、汇集互联网研究成果、推动互联网法治进程。
  • 账号主体:深圳市腾讯计算机系统有限公司。

道哥的黑板报:taoasay

  • 功能介绍:我偶然发现了隐藏在这个世界背后的真相,可惜这里的空白太小了,我没有办法写下来。想知道吗?请每天来看看吧?关注互联网、黑客、创业、技术、历史、文化,可能还有美女哦。
  • 腾讯微博:来自腾讯微博认证资料:吴翰清,《白帽子讲Web安全》作者,安全宝联合产品副总裁,前阿里巴巴集团高级安全专家。 @axis

道哥现在已经回到阿里巴巴集团安全部,出任研究员(P10),云盾负责人,新浪微博 @aullik5,博客:大风起兮云飞扬_百度空間

二爷鉴书:findbook

  • 功能介绍:第一时间向大家推荐好书和介绍,同时坚决揭露烂书,以IT、互联网行业为主。个人品味,仅供参考。输入[his]命令可以查看往期历史。

IT鉴书

  • 推荐专业IT图书,我们将根据推荐图书提供最新技术资讯。
  • 账号主体:北京奥维博世图书发行有限公司。

人邮IT书坊:ptpressitbooks

  • 功能介绍:走在技术最前沿,发布最新新书资讯,分享最新技术文章。
  • 账号主体:人民邮电出版社。

图灵教育:turingbooks

LinkedIn中国:LinkedIn-China

  • 功能介绍:LinkedIn(领英)创建于2003年,致力于向全球职场人提供沟通平台,协助他们事半功倍,发挥所长。作为全球最大的职业社交网站,LinkedIn会员人数在世界范围内超过3亿,每个《财富》世界500强公司均有高管加入。
  • 账号主体:北京领英信息技术有限公司。
  • 客服电话:4000106277。

肉饼铺子:robbinthoughts

  • 功能介绍:肉饼铺子作者robbin是前JavaEye网站创始人,TOPITCLUB互联网俱乐部发起人,移动互联网创业者。robbin希望借助这个平台和大家分享互联网领域的想法、观点和经验,也希望借助这个平台认识更多互联网行业朋友,互相交流和学习。

投资人子柳:vc-ziliu

  • 功能介绍:站在投资和创业,科技和人文的十字路口,吹吹牛。

小道消息:WebNotes

  • 功能介绍:小道消息,只有小道消息才能拯救中国互联网;只有小道消息才能拯救中国创业者;哦,当然这是一句玩笑话。这里为你分享一些我对互联网的思考和观点,别的地方可能没有的东西。
  • 账号主体:Fenng,冯大辉,丁香园技术产品负责人。

移动观察:mobileweb

  • 功能介绍:如果你没有时间研究移动互联网,我们愿意替你研究。如果你没有时间到世界各地考察移动互联网发展的最新情况,我们愿意替你出去走走。本账号由 @曾航 和 @经纬庄明浩 共同维护。

青龙老贼:Z_talk

  • 功能介绍:互联网技术、产品、趋势观察报告,移动互联网创业、创新报道。
  • 账号主体:青龙老贼,移动互联网资深分析师。

懒人在思考:lazy-thought

  • 功能介绍:以黑客那种邪气看待世界。而你,务必保持自己的独立思维。 By 余弦

TimYang:timyang_net

  • 功能介绍:技术架构评论、技术生活、技术管理随想。

CSDN:CSDNnews

  • 功能介绍:CSDN精彩内容每日推荐。我们关注IT产品研发背后的那些人、技术和故事。
  • 腾讯微博:来自腾讯微博认证资料:全球最大中文IT社区–CSDN官方微博 @ csdnnews。

CSDN云计算:CSDNcloud

  • 功能介绍:CSDN作为国内最专业的云计算服务平台,提供云计算、大数据、虚拟化、数据中心、OpenStack、CloudStack、Hadoop、Spark、机器学习、智能算法等相关云计算观点,云计算技术,云计算平台,云计算实践,云计算产业咨询等服务。
  • 账号主体:北京创新乐知信息技术有限公司。
  • 商标保护:CSDN。

CSDN大数据:csdnbigdata

  • 功能介绍:CSDN分享Hadoop、Spark、NoSQL/NewSQL、HBase、Impala、内存计算、流计算、机器学习和智能算法等相关大数据观点,提供云计算和大数据技术、平台、实践和产业信息等服务。

developerWorks:developerWorks

dockerpool:dockerpool

  • 功能介绍:dockerpool官方账号,最专业的docker技术交流社区,专注dockers核心技术和热点方向。定期发布,欢迎关注。

慕课网:imooc815

  • 功能介绍:慕课网是一个超酷的互联网、IT技术免费学习平台,创新的网络一站式学习、实践体验;服务及时贴心,内容专业、有趣易学。专注服务互联网工程师快速成为技术高手!
  • 账号主体:北京慕课科技中心(有限合伙)

慕课网imooc:imooc-com

  • 功能介绍:慕课网官网微信公众平台。免费的IT技术视频学习、分享网站。可以学习在线编程、前端开发技术、PHP、JAVA、C++、安卓和IOS开发等互联网技术。名企技术牛人+理论+案例+视频讲解+在线编程,学习可以很简单!
  • 账号主体:北京慕课科技中心(有限合伙)。

MOOC学院:GuokrMOOC

  • 功能介绍:MOOC学院是果壳网旗下产品。为中文MOOC(大规模公开的在线课程)学习者打造社会化学习平台。
  • 腾讯微博:来自腾讯微博认证资料:果壳网旗下产品MOOC学院官方微博(mooc.guokr.com/)@MOOC学院

贴两篇我在知乎上面关于这方面的回答

最后送大家一些话


  1. 基础很重要,所有高大上的技术都建立在基础之上
  2. 坚持自己的道路,不要半途而废。
  3. 多接触优秀的人,人以类聚,物以群分!
  4. 运气很重要,你再厉害!运气不好都是浮云
  5. 越努力,越幸运!

禁止转载!!若私自转载者,我将利用法律武器维护自己的权益!

谢照东 wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
坚持原创技术分享,您的支持将鼓励我继续创作!