本文记录Alone学习的知识点

本文总结Alone学习的知识点

  • 1.学习的github地址
  • 2. Java多线程
  • 3. java8新特性
  • 4. SpringCloud第一代
  • 5. SpringCloud第二代
  • 6. 算法类
  • 7.Java容器
  • 8.个人对项目的一些知识点总结
  • 9.知乎大佬对技术学习的回答:

随着对Java语言的不断深入学习,仅仅学习一些简单的框架已经不能满足工作的需求,
于是我写了本篇博客,用于复习巩固Java中特别重要的知识点,如果大家有补充的内容,
请私信笔者或者留言在下方评论区(请直接转移到博客分类中看)

注:有的博客为别人文章的连接

1.学习的github地址

  • Java3y的gitee地址
  • JavaGuide的gitee地址
  • Java3y的github地址
  • JavaGuide的github地址
  • mall项目的github地址
  • mall项目的gitee地址

2. Java多线程

  • Java多线程系列详解01 - 线程的创建和启动
  • Java多线程系列详解02 - Thread API
  • Java多线程系列详解03 - Synchronized.lock
  • Java多线程系列详解04 - Atomic详解
  • Java多线程系列详解05 - Java多线程打辅助的三个小伙子

3. java8新特性

  • JDK8新特性总结
  • JDK8新特性01-函数式编程接口介绍以及方法引用介绍
  • JDK8新特性02-Stream API
  • JDK8新特性03-Optional API
  • JDK8新特性04-Collector 和 Collectors API(未写)
  • JDK8新特性05-LocalDate 和 LocalTime API(未写)

4. SpringCloud第一代

SpringCloud第一代使用Dalston.SR3版本和|SpringBoot1.5.6.RELEASE版本,
整合了Eureka, RestTemplate, Ribbon, Feign, Zuul, Hystrix, Config ,Bus 等优秀框架

  • Day01-使用Spring Cloud搭建服务注册中心
  • Day02-使用Spring Cloud搭建高可用服务注册中心
  • Day03-学习SpringCloud中的ribbon负载均衡
  • Day04-Eureka Ribbon 知识点详解
  • Day05-Spring RestTemplate 知识点详解
  • Day06-学习SpringCloud中的Hystrix熔断器
  • SpringCloud 使用Zuul防止xss攻击和sql注入

5. SpringCloud第二代

SpringCloud第二代使用Hoxton.SR1版本和|SpringBoot2.2.2.Release版本,SpringCloud Alibaba2.1.0.Release
整合了Zookeeper, Conslo, Necos, loadbalance, OpenFeign, GetWay, sentinel 等优秀框架

  • SpringCloud2020-版本介绍-01
  • SpringCloud2020-父工程项目搭建-02

6. 算法类

  • 汉诺塔
  • kmp算法
  • 排序算法

7.Java容器

  • 各种集合的异同与使用

8.个人对项目的一些知识点总结

  • 对mail项目遇到的问题回顾

9.知乎大佬对技术学习的回答:

链接:https://www.zhihu.com/question/305924723/answer/1223768347

第一.java8,特别是jdk1.8是现阶段的主流,jdk11没必要学,直接就是jdk14. 这个主要是掌握juc里面的用法特别是如lock,reentrantlock, skiplist, copyonwritearraylist, deque,之类用法;多线程虽然主流使用是以异步为主,但是面试基本上还是以executor的几个线程池为主,看是否了解,因为现在的基本上都是在executor上封装,譬如scala的akka机制。

第二.springboot,springboot你需要调用run方法了解里面的enviroment,resource,listener是究竟怎么润起来的,spring的bean加载机制搞清楚comman runner和postconstruct就行了。

第三.idea 和git是必须掌握的,eclipse 过时了,但是mat 还可以用,但是大部分不会问那么仔细,最多jvm问下cms ps等,类加载,双亲委托之类,更复杂可能问下jstat dump怎么看gc日志。

第四. 中间件技术,redis,kafka,netty,ElasticSearch是必须了解乃至掌握基本api调用,非常重要,基本上这几个里面kafka你需要了解avro序列化或者json序列化,特别是netty基本上websocket也罢,akka也罢,都是需要了解的。一般公司你如果把reidis,redisson分布式锁讲清楚,kafka 0拷贝讲清楚基本上就ok了,rabitmq,rocketmq了解他们场景。

第五.数据库技术,分表分库sharding sphere和mycat二选一,当然阿里还有其他新鲜工具,

第六.rpc技术,目前主流有finagle,dubbo,thrift等,但是建议掌握dubbo/dubbox

第七.缓存技术,spring cache+reids缓存就够了,j2cache我看了下,觉得太繁琐了,简单就好。

第八.高性能队列,disruptor 你掌握了就可以出去吹很多水了,秒杀linkedblockqueue,linkedtansferque之类,秒杀git上有很多源码,了解下够了

第九. 微服务技术,基本上springcloud全家桶就行了,知道在service层配置ribbot,feign就可以了,至于zipkin,cat等其他技术了解下就知道了,http://spring.io多逛逛,有好处的。目前我生产主推的springboot2.2.2版本

第十.大数据技术, 这个其实对三万以下没什么要求,但是解决三万以上焦虑问题的,基本上flink,storm,spark这三个主流引擎都要了解原理,还有hbase,hadoop,至少掌握map reduce思想,当然如果没有map reduce机制,es做索引,mysql分表解决亿级以上数据的读写也要了解,特别是分表导致的分页查询全文搜索,mysql其实也需要了解innodb存储引擎,但是mysql8.0出来了后,分区表的一些查询用法也要掌握,反正主流现在是mysql8.0了。

第十一,数仓,其实主流都是四层或者三层 元数据层,明细层 集市 报表,阿里的那一套完全就是以后全家都得跟它混了,maxcompute 还是可以学习下,

第十二, service mesh技术 这个是以后主流,现在主要是docker k8s, 三代的技术,我看了下非常有前景也是主要方向,istio可以多了解下,但是阿里我看到他们在搞sofa,git上有几个新项目,可以多提提代码pr,混个脸熟,如果leetcode的动态规划 线段树刷题刷了些后,掌握基本的八大排序算法和红黑树,跳跃表,快排,缺内网推荐非常简单的事情。

第十三,分布式事务 这个阿里有个fescar,可以了解下思想,但是除非电商类,但是大部分不会怎么问

第十四,机器学习和ai技术 这个主流机器学习算法和神经网络,卷积神经网络,蒙特卡洛,遗传算法等都需要了解下算法,这块主要是掉包学习吧,pytorch虽然是主流,tensorflow学习下也没坏处,这个知乎大佬太多,我只是工业界,这辈子是没指望技术有建树的,混混日子罢了。

第十五,编译器优化 就是王垠大神的领域了,绝对的神域了,我是知道有人在华为ai编译器优化,阿里p9 200万package挖都不去 ,有空实现下语法分析,掌握编译原理,jvm虚拟机指令。

第十六。 规则引擎 这个主要是风控系统,优惠券设计需要用到,现在主流的有drools,urule之类,核心是rete算法,这个个人感觉实现都有些繁琐,drools 还是特别占内存,改天我想个办法写个好点的简单点的,把那些决策,规则塞到数据库里面去感觉更合适,虽然还有groovy,scala脚本之类,但是个人还是觉得java大法好,java+数据库够用了

第十七 新语言 Rust,Scala,Haskell 这个是个人比较喜欢的,python 用用就好,玩java 默认都会,scala函数编程还有大数据处理的生产力工具,Rust我看到觉得这就是真正统一所有码农审美和认知的终极工具,实在是优雅的令人赞叹,Haskell主要是掌握思想。一般面试很少会问这些,了解下

第十八 前端技术 目前前后端分离是主流,国内主要是vue vuex,webpack,其他less elementui ,js掌握核心匿名函数,回调地狱,作用域链,对于后端来讲就够用了,反正虽然知乎不少前端大神,但是说句得罪所有前端大佬的话,前端都是玩具。

第十九 操作系统 作为工业界,没事多看看linux内核源代码,特别是select epoll机制,这个基本上大厂都会问

你可能感兴趣的:(笔记)