美文网首页
Java技术栈摘要

Java技术栈摘要

作者: 山的那边有海风 | 来源:发表于2020-04-19 15:44 被阅读0次

        本文从语言和生态两方面总结Java技术栈,作为Java工程师,这些知识点都是必备的,要牢牢印在脑子里的,不只是为了应付面试。

一、jdk方面(但凡是用过的或见过的类最好都读一遍源码):

1.  8种基础类型及其对应的包装类型的表示范围、Object类、BigDecimal和BigInteger大数、Class类型信息、反射原理、Thread类。

2.  熟知常用的Java简单集合容器和并发集合容器的源码,起码得懂原理。比如ArrayList、LinkedList、Stack、HashMap、HashSet、ConcurrentHashMap等。高级一点的如BitSet、ConcurrentSkipListMap、TreeSet、ConcurrentLinkedQueue、DelayQueue、PriorityQueue

3.  JUC包中的大部分并发工具要知道原理,最好是通读源码。比如:AQS、ReentrantLock、Condition、ReadWriteReentrantLock、BlockingQueue、ThreadPoolExecutor、ScheduledThreadPoolExecutor、CountDownLatch、CyclicBarrier、Semaphore、Phaser、Exchanger、Atomic等。

4. 关注前沿技术,比如jdk9-jdk14之间出现了哪些新特性?

JDK重要源码(摘自https://zhuanlan.zhihu.com/p/94228432  ,侵删)

二、JVM部分:

1. JMM内存模型理论,也就是volatile、synchorinzed、final的内存语义。推荐阅读方腾飞的《Java并发编程的艺术》、周志明的《深入理解Java虚拟机》、《Java性能权威指南》。

2. JVM内存空间划分,jdk7和jdk8的区别。

3. 垃圾收集算法的区别与适用场景、垃圾收集器工作原理。

4. Class文件的结构、类加载器工作步骤和理论。

5. JVM问题排查:CPU load过高、IO load过高、频繁FullGC耗时过长。

三、必知必会中间件:

1.  Redis:缓存击穿、缓存穿透、缓存雪崩;5种数据类型;持久化方案;Redis集群方案。推荐黄健宏的《Redis设计与实现》

2.  MySQL:索引原理B+树;索引类型;建索引的原则;InnoDB与MyIsam的区别;InnoDB事务ACID特性及其实现原理;MVCC原理及行锁 间隙锁 表锁;join连表查询;嵌套子查询;分组查询;ShardingSphere分库分表;一条SQL的执行流程。MySQL与Redis与ES有什么区别及各自适用场景?

3. Dubbo:Provider的服务暴露流程;Consumer的服务引用流程;一次RPC的调用流程。路由策略、负载均衡策略、注册中心、Netty网络通信。推荐直接下载源码进行调试,一遍通。

4. ZooKeeper:分布式CAP理论、BASE理论、ZK节点类型、Paxos协议原理、选主流程等。强烈推荐阅读倪超的《从Paxos到Zookeeper 分布式一致性原理与实践》,通俗易懂且有源码解析。

5. RocketMQ:不咋会,待探究。

6. Spring全家桶:Spring Ioc源码;Spring AOP源码、Spring Transaction源码、Spring MVC执行流程。Spring Boot和Spring Cloud也挺重要,还不会。

7. 其它的如es、kafka、netty、hbase、disruptor、guavaCache、caffeine、mongodb等视自己情况进行学习,这部分如果也看过源码或懂原理也可以写在简历中,那就是加分项。

8. 你写在简历中的每一句话都是呈堂供词,务必熟知。

四、计算机网络部分:

1. 7层网络模型和4层网络模型

2. UDP和TCP的区别及各自的上层应用;TCP三次握手、四次挥手。

五、算法部分:

各种链表操作、二叉树操作、排序与查询(快排 归并 冒泡 堆排 二分)、二维数组的操作、字符串操作等等,按leetcode专题刷。遇到的题目:快排;二维数组顺时针从外圈向内圈打印;将一个Node节点插入到一棵AVL树中;各种链表操作如反转、合并两个链表;统计一个List<Integer>里面出现次数最多的那个数字;求二叉树的深度;一个二维数组的每一个横向和纵向都是递增的,找出数字x在第几行第几列。

六、项目部分:

自己负责的项目一定门儿清,项目规模,收到的效果,知道优缺点在哪儿,知道怎么优化改进。

七、设计模式:

三大类20多种设计模式会灵活运用即可,可回顾一下自己项目中用的设计模式。另外可以阅读下《重构-改善既有代码的设计》。

相关文章

  • Java技术栈摘要

    本文从语言和生态两方面总结Java技术栈,作为Java工程师,这些知识点都是必备的,要牢牢印在脑子里的,不只是为了...

  • Java后端技术栈

    Java后端技术栈 自己总结的Java后端技术栈:

  • Java技术栈目录

    Java技术栈目录

  • java技术栈

    java技术栈 java技术栈 参考了众多资料,这里就不再详细列举了,可以自行去搜索 1 java基础: 1.1 ...

  • [内部]Java Web技术栈宣讲

    Java Web 技术栈宣讲 随着公司技术线路转型工作的不断深入,Java Web技术栈也已经基本确定,本次培训将...

  • api接口测试之BDD

    技术栈: java线~ ———————————————— core java rest assured : res...

  • day01 Spring起步

    一、后端开发的概念和技术栈 1.1 什么是后端开发? 后端开发 1.2 Java后端技术栈梳理 梳理 JAVA W...

  • Spring起步

    一、后端开发的概念和技术栈 1.1 什么是后端开发? 什么是后端开发 Java后端技术栈梳理 1.2 Java后端...

  • 技术栈:小菜前端的技术栈是如何规划和演进的

    摘要: 前端 Leader 行动指南。 原文:技术栈:小菜前端的技术栈是如何规划和演进的 作者:Scott Fun...

  • Java成神之路技术整理(长期更新)

    以下是Java技术栈微信公众号发布的关于 Java 的技术干货,从以下几个方面汇总。 Java 基础篇 Java ...

网友评论

      本文标题:Java技术栈摘要

      本文链接:https://www.haomeiwen.com/subject/fqpmbhtx.html