前言
我的好朋友兼大学同学老伍家庭经济情况不错,毕业之后没两年自己存了点钱加上家里的支持,自己在杭州开了一家网络公司。由于公司不是很大所以公司大部分的开发人员都是自己面试的,近期公司发展的不错,打算扩招也面试了不少人。
前两天老伍跟我聊天说他面试了一个Java开发工作才一年不到的小伙儿,居然张口敢就说自己预期薪资20K,老左一问三不知,不要说高并发、分布式、这些基础的技术还有很多他都不太清楚,大多数人的开发工作经验只是CRUD起的
,性能调优这些就更不要问了,还停留在SSM这些基础层面,更别说分布式、高并发等等的这些前沿技术了。了解了一下才知道小伙的上家公司因为项目中途掰了,才重新出来找工作的,也难怪,团队技术不过硬公司怎么不会掰!这样的公司也是不会做的长久。开发人员也一样,不深度的掌握核心技术和了解前沿技术在哪里呆的不长久
做为一名Java架构师,小编给大家分享一下这些年来,我对于技术一些归纳和总结,和自己对作为一名Java高级开发需要掌握那些技能的笔记分享,希望能帮助到有心在技术这条道路上一路走到黑的朋友!
Java核心知识点:
Java架构师的葵花宝典,这30个知识点是需要掌握的。
Spring 原理
它是一个全面的、企业应用开发一站式的解决方案,贯穿表现层、业务层、持久层。但是Spring仍然可以和其他的框架无缝整合。
JVM:
JVM是可运行Java代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收,堆 和
一个存储方法域。JVM是运行在操作系统之上的,它与硬件没有直接的交互。
Netty 与RPC
Netty是一个高性能、异步事件驱动的NIO框架,基于JAVA
NIO提供的API实现。它提供了对TCP、UDP和文件传输的支持,作为一个异步NIO框架,Netty的所有IO操作都是异步非阻塞的,通过Future-Listener机制,用户可以方便的主动获取或者通过通知机制获得IO操作结果。
多线程与高并发:
互联网时代,系统架构如何迎接高并发流量的挑战。而作为技术开发者,如何去应对技术变革带来的技能危机。基于传统架构的演变过程所带来的技术变革进行全面深入讲解。
在技术深度和技术广度上得到飞跃的提升。成为互联网行业所需要的T型人才
微服务
服务注册就是维护一个登记簿,它管理系统内所有的服务地址。当新的服务启动后,它会向登记簿交待自己的地址信息。服务的依赖方直接向登记簿要Service
Provider地址就行了。当下用于服务注册的工具非常多ZooKeeper,Consul,Etcd,
还有Netflix家的eureka等。服务注册有两种形式:客户端注册和第三方注册。
数据库
数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以
获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。存储引擎主要有: 1. MyIsam , 2. InnoDB, 3. Memory,
4. Archive, 5. Federated 。
消息中间件
Kafka是一种高吞吐量、分布式、基于发布/订阅的消息系统,最初由LinkedIn公司开发,使用Scala语言编写,目前是Apache的开源项目。
RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。
数据结构与加密算法
数据结构与算法的地位对于一个程序员来说不言而喻。
掌握数据结构和算法,不管对于阅读框架源码,还是理解其背后的设计思想,都是具有可实用性的。