开发者社区> 艾贺> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

技术超神之路

简介: 在江湖中要练就绝世武功必须内外兼备,需要精妙的招式和深厚的内功,武功的基础是内功。对于武功低(就像江南七怪)的人,招式更重要,因为他们不能靠内功直接去伤人,只能靠招式,利刃上优势来取胜了,但是练到高手之后,内功就更主要了。
+关注继续查看

在江湖中要练就绝世武功必须内外兼备,需要精妙的招式和深厚的内功,武功的基础是内功。对于武功低(就像江南七怪)的人,招式更重要,因为他们不能靠内功直接去伤人,只能靠招式,利刃上优势来取胜了,但是练到高手之后,内功就更主要了。你剑法再厉害,一剑刺过来,别人一掌打断你的剑,你还怎么使剑法,你一掌打到一个武功高的人身上,那人没什么事,却把你震伤了,你还怎么打。

为了练内功心法,参考8个你必须知道的面试大纲 ,作个人理解与扩充,目前为v1.0版本,这份大纲图随着个人能力的提升会不断的完善。

简单来说,通过这份大纲有计划去国内大厂看看,也是一份面试准备,接下来的时间,本文所列出的知识点都会以个人理解的方式写技术文章。再此鞭策下自己。

Java核心

1. 面向对象

面向对象编程思想的精是23种设计模式,从入门编程那天开始,到研发寿命结束,面向对象的思想都是一直需要学,需要思考的内容。

个人创建了一个设计模式的专题,感兴趣的可以关注下。目前刚写,后面会完善。

专题地址:https://www.jianshu.com/c/2e11dad59747

2. I/O

Java中IO操作主要是指使用Java进行输入,输出操作. Java所有的IO机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的IO流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。

Java.io是大多数面向数据流的输入/输出类的主要软件包。此外,Java也对块传输提供支持,在核心库 java.nio中采用的便是块IO。

流IO的好处是简单易用,缺点是效率较低。块IO效率很高,但编程比较复杂。Java的IO模型设计非常优秀,它使用Decorator模式,按功能划分Stream,您可以动态装配这些Stream,以便获得您需要的功能。例如,您需要一个具有缓冲的文件输入流,则应当组合使用FileInputStream和BufferedInputStream。

2.1 IO的用途

  • 文件访问
  • 网络访问
  • 内部内存访问
  • 管道通信
  • Buffering
  • Filtering
  • Parsing
  • 读写文本(Readers / Writers)
  • 读写对象

2.2 IO的概览

img_0c2f2dc0026e0c369a7493df60b729d3.jpe
JAVAIO.jpeg

  • 基于字节的I/O接口:InputStream,OutputStram ,典型:FileInputStream,FileOutputStream
  • 基于字符操作的I/O接口:Writer,Reader 。典型:FileWriter,OutputStreamWriter
  • 基于磁盘的I/O接口: File
  • 基于网络操作的I/O接口:Socket

参考《深入分析Java Web技术内幕》第二章

3. 多线程
  • 掌握Thread类型
  • 掌握多线程的程序运行原理及并发并行
  • 线程安全性,死锁等
4. 异常
  • 掌握异常的工作原理并且掌握异常的处理方式
5. 正则表达式
  • 掌握常见正则表达式。正则表达式记忆部分居多。
6. J2EE
  • 掌握Servlet内置对象、动作及相关特点和工作原理
  • 掌握Spring框架的IOC和AOP实现原理(反射和动态代理)
  • 至少掌握一个MVC框架(Spring MVC)的工作原理,并熟练运用。
  • Spring源码,Tomcat整体架构,Jetty,Mybatis等源码分析
7. Java虚拟机
  • 类的加载机制 :加载、链接(验证、准备、解析)初始化、使用、卸载。类加载器分类及其应用程序类加载器、自定义加载器。
  • jvm内存结构:程序计数器、堆、虚拟机栈、本地方法栈、方法区(Java8已移除)、元空间(Java8新增)的作用及基本原理
  • GC算法: 垃圾回收。对象存活判断
  • GC分析 :命令调优 JVM内存参数设置及调优

参考链接:http://www.importnew.com/23742.html

8. 数据库开发
  • 理解至少两种数据库引擎(Inndb/Mysiam)的差异性
  • 熟悉索引的内部数据结构,熟悉常见的索引方式(Btree,hash),和索引类型(unique,full text,normal)
  • 会使用explain分析SQL语句,会优化SQL语句
  • 熟悉一种NOSQL,知道内部实现原理(内部数据结构,在算法优化,内部机制)
  • 掌握分布式数据库的知识,分表,分库,分区,分布式事务等,可以学习一个数据库中间件(TDDL/COBAR)熟悉高并发、大数据情况下的数据库开发。
9. 数据结构和算法
  • 掌握线性表和树的特点并熟练运用
  • 掌握常用的排序和查找算法:插入排序(希尔排序)、选择排序(堆排序)、交换排序(冒泡排序)顺序查找、二分查找、哈希查找
  • 熟练运用排序和查找思想解决编程问题

扩展领域

Web技术
  • 前后端接口协调
  • 至少熟悉一款JS框架(React,Vue,Angular)
  • web前端的常见知识,网站性能优化

想成为全栈工程师,前端的各种技术也要了然于心。仅仅列出几条简单的。另外我创建了一个Web前端的文集,感兴趣的可以关注下。

文集地址:https://www.jianshu.com/nb/14577827

Linux
  • 熟练运用Linux常见命令
  • 熟悉Linux操作系统基本概念及特点
  • Linux集群,高可用,高性能

Linux也是全栈中不可少的一个环节,各种架构,服务器相关都是涉及到Linux,学会使用Linux一定能加快不少你的开发。平时也会经常写各种Linux的相关知识,感兴趣的话可以关注我的Linux文集。

文集地址:https://www.jianshu.com/nb/20776954

最后

行动是成功的第一步,接下来要顺着这个技术成长之路,让自己技术 "超神". 努力所有的技术知识点填满。

附录

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
泡妞之路...
作业:写一篇关于自己或者身边人从出生以来做过的最成功的事或最失败的事。 这个题目,和上次分析“你的死工资,正在拖垮你”的感觉差不多,分析上篇文章,我作为一个学生,从来没体验过拿死工资的感觉,只做了几个月的兼职,有什么拖垮的地方,买车买房,有压力,还不到迫在眉睫。
861 0
我的技术历程(下)
招聘后端(Java、Php)前端、数据库等各类人才(开发经理、架构师、开发、DBA)   (四)大学的时候   接上文。在大学的时候有各种各样的社团,出于对做网站的喜欢,当时加入了一个网络社团,想学学做网站的东西,当时对社团里面会动态语言做asp网站的人钦佩的不得了,于是回家买了一本asp的书: 我真正的启蒙书,当时我室友也是会一点html和静态网站的,他看了我学asp就说你不要尝试了,这个很难学的学不会的。
1063 0
我的技术历程(上)
招聘后端(Java、Php)前端、数据库等各类人才(开发经理、架构师、开发、DBA)   小的时候有写日记的习惯,不是自己要写而是为了完成任务,后来发现写日记确实也是可以培养语言表达能力的。上了高中之后除了作业就很少写东西了,趁着这几天休息想写一下我使用电脑、学习技术的历程。
746 0
我的阿里云探索之路(一)
在使用阿里云之前,我最早是使用过google的app引擎,由于后来google退出中国,陆陆续续一些服务慢慢的都关掉了,最终我的webapp也不能进行下去了。 再后来,我使用过新浪ace,新浪ace在国内最早推出app引擎,可是我php不熟,实验体验了一把,热情了那么一段时间,可是没有过多久,
3001 0
专访小邪:从十年技术之路看阿里技术体系的变革
从2008年到2018年,从阿里巴巴中间件团队到飞天八部——小邪与阿里的十年。
7985 0
开源会走上违心之路吗?
开源项目越“成功”,它给维护者带来的压力就越大。
0 0
大数据学习之路(七)——学习小结
个人目前学习的总结,如有问题,发现的时候会修正,用于个人回顾,有错误的地方欢迎留言指出 通过前几篇的学习
1149 0
我的历程分享
简述我的学习生涯
0 0
记第一次挖洞交洞历程
记第一次挖洞交洞历程
0 0
+关注
艾贺
专注开发,架构知识
文章
问答
文章排行榜
最热
最新
相关电子书
更多
回顾我的阿里8年之路
立即下载
大数据工程师必读手册-像阿里巴巴一样玩转大数据
立即下载
新时代下工程师的发展和选择
立即下载