已然励志在java路上走的更远,那就有必要了解java的途径。先看图

  image.png
  愈加细化的细节如下

  一: 编程基础
  不管是C仍是C++,不管是Java仍是PHP,想成为一名合格的程序员,根柢的数据结构和算法基础仍是要有的。下面几篇文章从思想到完毕,为你梳理出常用的数据结构和经典算法。

  1-1 常用数据结构

  数组、链表、堆、栈、部队、Hash表、二叉树等

  1-2 算法思想

  算法时间复杂度和空间复杂度的剖析核算

  算法思想:递推、递归、穷举、贪心、分治、动态规划、迭代、分枝距离

  1-3 经典算法

  经典排序:插入排序、冒泡排序、快排(分划沟通排序)、直接挑选排序、堆排序、吞并排序

  经典查找:次序查找、二分查找、二叉排序树查找

  1-4 高档数据结构

  B+/B-数、红黑树、图等

  1-5 高档算法

  图的深度优先查找、图的广度优先查找、拓扑排序、Dijkstra算法(单源最短途径)、霍夫曼编码、曲折相除法、最小生成树等

  二:Java言语基础
  诞生不过二十余年的Java言语仰仗其跨途径、面向政策、适合于分布式核算的特性,广泛运用于Web网站、移动设备、桌面运用中,而且现已接连多年稳居TOBIE编程言语排行榜前列,最近更是登上冠军宝座。Java有哪些优异而又异乎寻常的当地首要必定要清楚。

  2-1 基础语法

  Java语法格式,常量和变量,变量的作用域,方法和方法的重载,运算符,程序流程控制,各种根柢数据类型及包装类

  2-2 重要:集结类

  Collection以及各种List、Set、Queue、Map的完毕以及集成联络,完毕原理

  Collections和Arrays

  2-3 其他JavaAPI

  String和StringBuffer,System和Runtime类,Date和DateFomat类

  java.lang包

  java.util包(集结类体系、规矩表达式、zip,以及时间、随机数、特征、资源和Timer等)

  java.math包

  java.net包

  java.text包(各种格式化类等)

  java.security包

  2-4 面向政策、面向接口

  政策的三大特性:封装、继承和多态,优缺点

  怎样规划类,类的规划原则

  this关键字,final关键字,static关键字(hbLfgrbw

  政策的实例化进程

  方法的重写和重载;方法和方法的参数传递进程

  结构函数

  内部类,抽象类,接口

  政策的多态性(子类和父类之间的转化、父类纸箱子类的引用),抽象类和接口在多态中的运用

  2-5 JVM内存模型、废物回收

  2-6 关于失常

  Throwable/Error/Exception,Checked Exception vs. Unchecked Exception,失常的捕捉和抛出,失常捕捉的原则,finally的运用

  2-7 多线程

  线程和进程的概念

  怎样在程序中创立多线程,线程安全问题,线程之间的通讯

  线程的同步

  死锁问题的剖析

  线程池

  2-8 IO

  java.io包,了解IO体系的根据管道模型的规划思路以及常用IO类的特性和运用场合。

  File及相关类,字节省InputStream和OutputStream,字符流Reader和Writer,以及相应缓冲流和管道流,字节和字符的转化流,包装流,以及常用包装类运用

  剖析IO功用

  2-9XML

  了解SAX、DOM以及JDOM的优缺点而且能够运用其间的一种完毕XML的解析及内容处理;这几种解析方法的原理

  2-10 一些高档特性

  反射、署理、泛型、枚举、Java正则表达式

  2-11 网络编程

  网络通讯协议原理及适用场景,Socket编程,WEB服务器的作业原理

  2-11 JDK1.5、JDK1.6、JDK1.7、JDK1.8每个版别都比前面一个版别添加了哪些新特性,进行了哪些行进

  三:数据库相关
  前面说到了数据结构,数据库简略来说就像是电子化的档案柜,是依照必定的数据结构来组织、存储和处理数据的库房。

  3-1理论基础

  数据库规划原则和范式

  事务(ACID、作业原理、事务的隔绝等级、锁、事务的传达机制)

  3-2 各种数据库优缺点、运用场景剖析

  MySQL/SQLServer/Oracle以及各种NoSQL(Redis、MongoDB、Memcached、HBase、CouchDB等)

  3-2 SQL句子

  数据库创立,权限分配,表的创立,增修改查,联接,子查询

  触发器、存储进程、事务控制

  3-3 优化

  索引原理及适用,大表查询优化,多表联接查询优化,子查询优化等

  3-4 分库、分表、备份、搬家

  导入、导出,分库、分表,冷备热备,主从备份、双机热备、纵向扩展、横向扩展

  3-5 JDBC

  JDBC Connection、Statement、PreparedStatement、CallableStatement、ResultSet等不同类的运用

  联接池(装备运用、完毕原理)

  ORM,DAO

  四:JavaWeb中心技术(包含部分前端)
  Html5/Css/JS原生/jQuery

  Ajax(跨域等)

  JSP/JavaBean/Servlet/EL/JSTL/TabLib

  JSF

  JSON

  EJB

  序列化和反序列化

  规矩引擎

  查找引擎

  模板引擎

  缓存

  身份认证

  查验

  集群

  耐久化

  生成静态页技术

  高功用

  安全

  事务JTA

  其他需求了解的,如:处理JMX、安全JCCA/JAAS、集成JCA、通讯JNDI/JMS/JavaMain/JAF、SSI技术

  五、干流结构及东西
  Struts1/Struts2

  Spring(IoC、AOP等),SpringMVC

  耐久化:Hibernate/MyBatis

  日志:Log4j

  单元查验:JUnit

  音讯部队:(haLujian)ActiveMQ、RabbitMQ等

  负载均衡:Nginx/HaProxy

  Web服务器:Tomcat、JBoss、Jetty、Resin、WebLogic、WebSphere等

  通讯:WebService(cxf的soap、restful协议)

  缓存:Redis、Memcached

  作业流:Activity、JBPM

  查找引擎:lucene,根据lucene封装的solr

  模板引擎:Velocity、FreeMaker

  大数据:Hadoop(HDFS和MapReduce)

  构建东西:Ant/Maven

  六、JavaWeb体系规划与架构
  Java规划方法

  JAVA与UML建模

  面向服务架构:SOA/SCA/ESB/OSGI/EAI,微服务

  面向资源架构:ROA/REST

  面向云架构:COA/Saas/云核算

  大型网站负载均衡、体系调优等

  七、More
  排错才调:

  应该能够根据失常信息比较快速的定位问题的原因和大致方位

  优化才调

  代码规范、代码处理:

  有自己的代码规范体系,代码可读性好

  常识面广:

  懂各种网络产品及特性,懂各种中间件,能够知道坑在哪儿,深谙各种技术计划的优缺点,懂整合各种资源并抵达最优....了解各种技术及运用场景,有满足的作业经历处理集成中遇到的各种奇葩问题

  技术处理/技术总监:

  产品处理、项目处理、团队建造、团队行进

  CTO:

  发展战略

  总结:现在的我和我的政策还有很大的距离,希望每逢过一段时间就来看看这些东西,看看自己是否又行进了一步。java大神任而道远,路在脚下,加油。

Java进阶的道路,怎么成为大牛?的更多相关文章

  1. Java 进阶 hello world! - 中级程序员之路

    Java 进阶 hello world! - 中级程序员之路 Java是一种跨平台的语言,号称:"一次编写,到处运行",在世界编程语言排行榜中稳居第二名(TIOBE index). ...

  2. Java进阶(五)Java I/O模型从BIO到NIO和Reactor模式

    原创文章,同步发自作者个人博客,http://www.jasongj.com/java/nio_reactor/ Java I/O模型 同步 vs. 异步 同步I/O 每个请求必须逐个地被处理,一个请 ...

  3. Java线程间通信方式剖析——Java进阶(四)

    原创文章,同步发自作者个人博客,转载请在文章开头处以超链接注明出处 http://www.jasongj.com/java/thread_communication/ CountDownLatch C ...

  4. Java进阶(三)多线程开发关键技术

    原创文章,同步发自作者个人博客,转载请务必以超链接形式在文章开头处注明出处http://www.jasongj.com/java/multi_thread/. sleep和wait到底什么区别 其实这 ...

  5. 当我们说线程安全时,到底在说什么——Java进阶系列(二)

    原创文章,同步发自作者个人博客,转载请以超链接形式在文章开头处注明出处http://www.jasongj.com/java/thread_safe/ 多线程编程中的三个核心概念 原子性 这一点,跟数 ...

  6. Java进阶03 IO基础

    链接地址:http://www.cnblogs.com/vamei/archive/2013/04/11/3000905.html 作者:Vamei 出处:http://www.cnblogs.com ...

  7. Java进阶01 String类

    链接地址:http://www.cnblogs.com/vamei/archive/2013/04/08/3000914.html 作者:Vamei 出处:http://www.cnblogs.com ...

  8. 从ConcurrentHashMap的演进看Java多线程核心技术 Java进阶(六)

    本文分析了HashMap的实现原理,以及resize可能引起死循环和Fast-fail等线程不安全行为.同时结合源码从数据结构,寻址方式,同步方式,计算size等角度分析了JDK 1.7和JDK 1. ...

  9. Java进阶(七)正确理解Thread Local的原理与适用场景

    原创文章,始自发作者个人博客,转载请务必将下面这段话置于文章开头处(保留超链接). 本文转发自技术世界,原文链接 http://www.jasongj.com/java/threadlocal/ Th ...

随机推荐

  1. http返回头中content-length与Transfer-Encoding: chunked的问题释疑

    先说说问题出现的背景:        公司服务器与手机客户端交互,客户端请求一个动态生成的XML文件,在用firebug查看http响应头的时候,有时候发现有content-length属性,有时候没 ...

  2. 从傅里叶变换(FFT)到数论变换(NTT)

    FFT可以用来计算多项式乘法,但是复数的运算中含有大量的浮点数,精度较低.对于只有整数参与运算的多项式,有时,\(\text{NTT(Number-Theoretic Transform)}\)会是更 ...

  3. Python 列表生成式 & 字典生成式

    Python 列表生成式 & 字典生成式 通过生成式可以更加简洁地生成列表和字典 列表生成式 对比 直接生成数据后加入列表示例: user_list = list() for i in ran ...

  4. Windows许可证 即将过期

    最近打开电脑,系统总是自动弹出Windows许可证即将过期的弹窗,现在总结方法如下. 命令都是在运行窗口输入的打开方式:win+R组合键或者右键点击win10开始菜单,点击“运行”查看系统版本:win ...

  5. HTML连载49-清除浮动的第三种方式(内外墙法)

    一.清除浮动的第三种方式 1.隔墙法有两种​如下:外墙法和内墙法​.​ 2.外墙法 (1)在两个盒子中间添加一个额外的块级元素 (2)给这个额外添加的块级元素设置:clear:both;属性 注意点: ...

  6. Java连载42-this不能省略的情况、构造方法设置默认值的方法

    一. this什么时候是不能省略的,我们举个例子来说明 class User2{ private int id; public int getId() { return id; } public vo ...

  7. 修改本地的host文件

    在C:\Windows\System32\drivers\etc下有一个host文件, 在里面可以修改本地的域名,比如我文件里添加一行: 10.0.33.79    devsuite.easthope ...

  8. mysql8报错解析

    1. 场景描述 想把测试数据导一份到本地使用,乱入装了mysql8,使用springboot项目启动的时候报: java.sql.SQLException: The server time zone ...

  9. IT兄弟连 HTML5教程 HTML5的基本语法 了解HTML及运行原理

    了解HTML HTML(HyperText Marked Language)即超文本标记语言,是一种用来制作超文本文档的简单标记语言.我们在浏览网页时看到的一些丰富的影像.文字.图片等内容都是通过HT ...

  10. Java设计模式:Flyweight(享元)模式

    概念定义 享元(Flyweight)模式运用共享技术高效地支持大量细粒度对象的复用. 当系统中存在大量相似或相同的对象时,有可能会造成内存溢出等问题.享元模式尝试重用现有的同类对象,如果未找到匹配的对 ...