Java教程

记录java学习计划及相关工作中用到的技术/工具

本文主要是介绍记录java学习计划及相关工作中用到的技术/工具,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

  简单记录自己的学习路线(大部门待学习),及在工作中用到的技术,工具等.目前只记录了大纲,后续会不断补充具体内容,供自己温故,也供同学们参考.

  技术有限,写的不对的地方,欢迎大家纠错.

1.java基础
    1.j2ee:
        1)语法
        2)面向对象
        3)接口
        4)容器
        5)异常
        6)泛型
        7)反射
        8)注解
        9)I/O
        
    2.多线程,并发
        1.并发编程基础
        2.线程池
        3.锁
        4.并发容器
        5.原子类
        6.JUC并发工具类
    3.jvm
        1.类加载机制
        2.字节码执行机制
        3.JVM内存模型
        4.GC垃圾回收
        5.JVM性能监控与故障定位
        6.JVM调优
2.数据结构和算法
    1.数据结构
        1.
        2.数组
        3.链表
        4.堆/栈/队列
        5.二叉树
        6.哈希
        7.图
    2.算法
        1.排序
        2.查找
        3.贪心
        4.分治
        5.动态规划
        6.回溯
3.计算机网络
    1.ARP协议
    2.IP协议/ICMP协议
    3.TCP/UDP协议
    4.DNS/HTTP/HTTPS协议
    5.session/cookie
4.SQL/数据库
    1.SQL语句
    2.SQL语句优化
    3.事务,隔离级别
    4.索引
    5.锁
5.操作系统
    1.进程/线程
    2.并发/锁
    3.内存管理和调度
    4.I/O原理
6.设计模式
    1.单例
    2.工厂
    3.代理
    4.策略
    5.模板方法
    6.观察者
    7.适配器
    8.责任链
    9.建造者
7.spring家族
    1.spring
        1.IOC
        2.AOP
    2.springMVC
    3.springboot
        1.自动配置,开箱即用
        2.整合WEB
        3.整合数据库
        4.整合权限(shiro/spring security)
        5.整合中间件(Redis/MQ/RPC框架/NIO框架)

8.服务器软件
    1.web服务器:Nginx
    2.应用服务器:
        1.Tomcat
        2.Jetty
        3.Undertow
9.中间件
    1.缓存
        1.Redis:
            1)5大基础数据类型
            2)事务
            3)管道
            4)持久化
            5)集群
        2.zookeeper:

    2.消息队列
        1.RocketMQ
        2.RabbitMQ
        3.kafka
    3.RPC框架
        1.Dubbo
        2.gRPC
        3.Thrift
        4.SpringCloud
        5.Netty
10.数据库框架
    1.ORM层框架
        1.mybatis
        2.hibernate
        3.JPA
    2.连接池
        1.Druid
        2.HikariCP
        3.C3P0
    3.分库分表
        1.MyCAT
        2.sharding-JDBC
        3.sharding-Sphere
11.搜索引擎
    1.ES
    2.Solr
12.分布式/微服务
    1.服务注册/发现
        1.Consul
        2.Zookeeper
        3.Nacos
    2.网关
        1.zuul
        2.GateWay
    3.服务调用
        1.Ribbon
        2.Feign
    4.熔断/降级
        1.Hystrix
    5.配置中心
        1.config
        2.apollo
        2.nacos
    6.认证和授权:
        1.spring security
        2.OAuth2
        3.SSO单点登录
    7.分布式事务
        1.JTA接口-Atomikos组件
        2.2PC/3PC
        3.XA模式
        4.TCC模式
            1)tcc-transaction
            2)byteTcc
            3)EasyTransaction
            4)Seata
        5.SAGA模式
            1.ServiceComb
            2.Seata
    8.任务调度
        1.quartz
        2.Elastic-job
    9.链路追踪
        1.Zipkin
        2.sleuth
        3.skywalking
    10.日志分析与监控
        1.ELK
            1)ElasticSearch
            2)Logstash
            3)Kibana
13.虚拟化/容器化
    1.容器技术:Docker
    2.容器编排技术:
        1)kubernetes
        2)swarm
14.workwith
    1.socket
    2.ftp
    3.sftp
    4.fserver
    5.http
    6.soap 报文
    7.XML/JSON 解析及转换
    8.正则
    9.加解密/加解签
    10.工具类(时间/日期/货币格式化....)
    11.quartz
    12.haproxy
    13.工作流
    14.配置/spring...
    15.开发工具
        1.git/gitlab
        2.idea/eclipse
        3.maven
        4.FlashFxp
        5.secureCRT/Xshell
        6.DBeaver(数据库)/Navicat
        7.JSONView
        8.postman/jmetter

14.前端
    1.基础:
        1)三大件: html/css/javascript
        2)基础库:jquery/ajax
     2....

 

这篇关于记录java学习计划及相关工作中用到的技术/工具的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!