zoukankan      html  css  js  c++  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.回溯
      具体知识点:
      1.时间复杂度和空间复杂度
    1.时间复杂度计算方法
    1)事后统计法:直接比较程序运行前后的时间差
    2)事前估算法: T(N) = O(f(n)) --> T(N) = O(n^2)
    分析思路:
    (1):用常数1代替所有加法常数 常数  T(n)=n²+7n+6 => T(n)=n²+7n+1
    (2):修改后的运行次数函数中,只保留最高阶项  T(n)=n²+7n+1 => T(n) = n²
    (3):去除最高阶项的系数 T(n) = n² => T(n) = n² => O(n²)
    3)常见的时间复杂度:
    常数阶O(1)
    对数阶O(log2n)
    线性阶O(n)
    线性对数阶O(nlog2n)
    平方阶O(n^2)
    立方阶O(n^3)
    k次方阶O(n^k)
    指数阶O(2^n)
    4)常见的算法时间复杂度由小到大依次为:Ο(1)<Ο(log2n)<Ο(n)<Ο(nlog2n)<Ο(n2)<Ο(n3)< Ο(nk) <Ο(2n) ,随着问题规模n的不断增大,上述时间复杂度不断增大,算法的执行效率越低
    5)我们应该尽可能避免使用指数阶的算法
    6)在可能的情况下,使用空间换时间的概念进行优化(例如使用缓存等)
      2.数组

      3.链表
    1.单链表

    2.双链表

      4.队列:队尾添加数据,队头取出数据
    1.用数组实现队列

    2.用数组实现循环队列

      5.栈

      6.优先队列/堆

      7.哈希表
    1.碰撞解决方法:
    1)开放地址法
    2)链地址法
    3)再次哈希法
    4)建立公公溢出区
    2.布隆过滤器

      8.树
    1.二叉树(各种遍历)
    2.AVL树
    3.B树与B+树
    4.红黑树
    5.红段树

      9.常见算法
    1.十大排序算法
    1)简单排序:选择/插入/冒泡(必学)
    2)分治排序:快速排序/归并排序(必学)
    3)分配排序:桶排序/基数排序
    4)树状排序:堆排序(必学)
    5)其他:计数排序(必学)/希尔排序
    2.图论算法
    1)图的表示:邻接矩阵和邻接表
    2)遍历算法:深度搜索和广度搜索(必学)
    3)最短路劲算法:Floyd,Dijkstra(必学)
    4)最小生成树算法:Prim,Kruskal(必学)
    5)实际常用算法
    6)二分图匹配
    7)拓展:中心性算法,社区发现算法
     对应代码:https://gitee.com/gaoyangsixue/data-structures-and-algorithms/tree/develop/

    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....
  • 相关阅读:
    session概述
    关于firefox获取选中页面文字的对象
    不用微博SDK 直接 分享微博信息
    腾讯微博教程分步走之第二步(含原码)
    腾讯微博教程分步走之第一步(含原码)
    微小企业运营微博的5点建议
    优秀毕业生手把手教你玩融资
    ObjectiveC与JavaScript的交互
    脚本ANT自动打包Android应用(方便多渠道发布)
    android 源码编译问题总结(二)
  • 原文地址:https://www.cnblogs.com/gaoyangsixue/p/14745957.html
Copyright © 2011-2022 走看看