Java 进阶必须了解的知识

加强基本功

1、对于面相对象的设计方式又更深入的理解

       在这里我相信大部分小伙伴还是在面向过程编程,忽略了面向对象,虽然都可以解决问题,但对于大型系统的构建的时候面向对象可以提高系统的扩展性、可读性,且相对面向过程编程逻辑更加清晰。

2、了解java设计的六大原则

  1. 依赖倒置原则-Dependency Inversion Principle (DIP) 
  2. 里氏替换原则-Liskov Substitution Principle (LSP) 
  3. 接口分隔原则-Interface Segregation Principle (ISP) 
  4. 单一职责原则-Single Responsibility Principle (SRP) 
  5. 开闭原则-The Open-Closed Principle (OCP)

3、java基础知识点的补充

  1. 接口和抽象类的关系
  2. java的异常处理机制(error及exception)
  3. 方法重载和重写的关系(结合java的设计原则)
  4. java的8种基本数据类型及其封装类
  5. 了解java8的新增属性
  6. 过滤器和拦截器的关系
  7. List,ArrayList,LinkedList,HashMap,HashSet的常见集合的数据结构的底层实现原理
  8. 线程池、多线程的处理,线程安全与线程不安全的概念

对于常用组件和模块需要了解其工作原理

相信做java开发的小伙伴对spring系列的组件都应该不陌生,比如spring mvc,spring boot,spring security,spring cloud等常用的框架,但我们除了在使用spring产品给我们提供的各种便捷高效的开发工具外,也需要了解其底层的实现机制和原理,这样也有助于我们在遇到难点时可以有针对性的优化排查。

当项目达到一定的体量之后,如何有效解决内存溢出、排查及优化成为我们回避不了的话题(毕竟不能一味的增加实际内存来解决问题~)

  1. spring ioc(依赖注入)和 aop(切面编程)的基本原理
  2. aop是如何实现的(了解代理和动态代理:JDK动态代理、CGLIB动态代理)
  3. 常见的aop应用(例如:Interceptor和Transactional)
  4. 对于spring对事务的处理策略(@Transactional)
  5. 了解jvm的工作原理(编译解释运行)以及常见的调优方式
  6. 如何排查和解决内存溢出的问题
  7. 数据库添加索引的策略(选用的索引类型及联合索引的策略)
  8. SQL的优化方式和排查策略(慢查询、explain、多表查询的连接策略)
  9. MySQL事务控制的级别(4个)
  10. spring cloud的常用组件(注册中心、配置中心、网关、负载均衡、分布式日志、分布式事务)
  11. 分布式事务的处理方式和策略(如何保证数据的一致性)
  12. spring对于多线程的处理及常见的高并发框架
  13. 网关的限流,鉴权、服务降级处理

对架构和设计模式有更深入的了解

在实际开发过程中,我们需要结合实际的业务需要搭建相应的系统架构及设计相应的数据接口。从数据库的设计到对象的设计,再到具体的业务逻辑处理,我们需要选用合适的技术架构作为整个项目的基础,良好的数据结构和设计模式可以让系统的可读性和扩展性大大提高,这个过程我们往往需要结合实际的业务及业务的发展方向,选用合适的技术,也要考虑系统的扩展性(毕竟糟糕的设计可能面临代码重构的问题)

  1. 良好的分析能力(理解业务需求)
  2. 了解常用技术的基本原理(spring、java的运行机制,jvm的特点等)
  3. 了解常见技术的使用场景、优缺点等
  4. 了解常见的设计模式及其使用场景
  5. 提升数据结构及算法能力(糟糕的数据结构和大量的循环会拖垮整个系统)

通读源码

一个软件开发人员(人称码农),工作到了一点年限之后(一般3-5年),如果他还没学会阅读源码,那么他就会遇到瓶颈。因为到了这个时候的开发,他应该不仅仅只会做那些 CURD 的业务逻辑,而应该会根据公司的实际情况去写框架。而基本上没有谁能像天才一样从零写出一个框架,很多人写框架其实都是从模仿开始的。而你要模仿,那么你首先得看得懂框架源码才行。所以说阅读源码才显得那么重要。

在通读源码的过程中,你就会对框架有许多新的认识,会知道这个框架大致分为哪几个部分,每个部分的作用是什么,这个模块用了什么设计理念等等。如果说上个阶段是通读源码,那么这个阶段就是要把你在通读源码过程中的收获整理出来。在整理的过程中,你肯定会有更多的疑问,你会不断地细化,不断地精读。

我们都是站在巨人的肩膀上,但究竟能走多远,能看多远就看个人的追求和造化了~~~~

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值