经验之谈:高级 Java 必须突破的 12条个知识点!

工作多少年了,还在传统公司写if / for 等简单的代码?那你就真的要被社会淘汰了,工作多年其实你与初级工程师又有多少区别呢?那么作为一个高级Java攻城狮需要突破哪些知识点呢?

1、Java基础技术体系、JVM内存分配、垃圾回收、类装载机制、性能优化、反射机制、多线程、网络编程、常用数据结构和相关算法。

2、对面向对象的软件开发思想有清晰的认识、熟悉掌握常用的设计模式。

3、熟练掌握目前流行开源框架(spring/springmvc/ibatis),并且对其核心思想、实现原理有一定认知。

4、熟悉Oracle、MySQL等数据库开发与设计以及缓存系统Redis或 Memcached的设计和研发以及流行的NoSQL数据库,如MongoDB等。

5、熟悉底层中间件、分布式技术(包括缓存、消息系统、热部署)、消息中间件:ActiveMQ、RabbitMQ、工作流中间件:JBPM。

6、精通shell编程,熟练应用awk、sed、grep、strace、tcudump、gdb等常用命令。

7、有大型分布式、高并发、高负载(大数据量)、高可用性系统设计开发经验。

8、对配置管理和敏捷研发模式有所了解(svn,git)。

9、熟悉常见的一些解决方案及其原理:单点登录、分布式缓存、SOA、全文检索、消息中间件,负载均衡、连接池、流计算等;

10、熟悉流行的微服务以及应用开发框架,诸如Spring Cloud以及Spring Boot等;

11、大数据相关技术,诸如Hadoop技术栈等以及AI技术和数据分析技术;

12、能大概知道市面上主流技术的特点及业务瓶颈,诸如机器学习、区块链等,再学点新技术或变成语言(除了Java和C/C++根据兴趣和需要,还可选择的有包括不限于R、Python、Go、Nodejs-JavaScript等)。

好了,大概知道自己哪里尚待发力,在2019要继续学习补充点什么知识了吧!

随便列举,没说都得学习掌握,要按需学习掌握。

——做程序员真的不容易!做个牛B的IT人更不易啊^_^,继续奋斗打怪兽……

原文地址:https://blog.51cto.com/14207296/2373136

时间: 2024-10-05 09:28:43

经验之谈:高级 Java 必须突破的 12条个知识点!的相关文章

20个高级Java面试题汇总

北京尚学堂提供 这是一个高级Java面试系列题中的第一部分.这一部分论述了可变参数,断言,垃圾回收,初始化器,令牌化,日期,日历等等Java核心问题. 1.        什么是可变参数? 2.        断言的用途? 3.        什么时候使用断言? 4.        什么是垃圾回收? 5.        用一个例子解释垃圾回收? 6.        什么时候运行垃圾回收? 7.        垃圾回收的最佳做法? 8.        什么是初始化数据块? 9.        什么

[转]20个高级Java面试题汇总

http://saebbs.com/forum.php?mod=viewthread&tid=37567&page=1&extra= 这是一个高级Java面试系列题中的第一部分.这一部分论述了可变参数,断言,垃圾回收,初始化器,令牌化,日期,日历等等Java核心问题. 程序员面试指南:https://www.youtube.com/watch?v=0xcgzUdTO5M Java面试问题集合指南:https://www.youtube.com/watch?v=GnR4hCvEIJQ

高级Java程序员--职责要求

描述: 一哥们离职找工作,最近聊了聊面试待遇要求一类的事情,有些感触. 在一个公司呆的时间长了,对市场上对开发的要求已经不那么敏感了,也不知道人家要求哪些技能.一个公司的业务是有限的,呆了2年,3年,4年之后,知识面可能就狭隘了: 4.5年的程序员市场上平均待遇是多少也不清楚,问问好朋友聊聊也只知道几家的标准,对于大多数人,工资是安身立命之本,不可不察. 想到自己本身就是最数据采集与分析的,就蹦出来个想法:采集点招聘信息样本,做下简单的统计,也许会有所收获.. 正好最近也不是很忙,经过一番折腾,

高级Java面试题,你敢挑战吗?

这是一份高级Java面试题.这一份面试题论述了可变参数,断言,垃圾回收,初始化器,令牌化,日期,日历等等Java核心问题. 1.什么是可变参数?2.断言的用途?3.什么时候使用断言?4.什么是垃圾回收?5..用一个例子解释垃圾回收?6.什么时候运行垃圾回收?7.垃圾回收的最佳做法?8.什么是初始化数据块?9.什么是静态初始化器?10.什么是实例初始化块?11.什么是正则表达式?12.什么是令牌化?13.给出令牌化的例子?14.如何使用扫描器类(Scanner Class)令牌化?15.如何添加小

联想高级Java研发面经+面试题:Spring+多线程+MySQL+设计模式

上个礼拜,之前的一个同事突然联系我说他去面了联想的JAVA开发工程师,想分享一下面试经历和面试题.我当时就拍板说,好啊! 然后就整理了一下,写了这篇文章:和大家分享一下这次面试经验和面试题. 薪资还可以啊,年薪40W+啊!多少人的梦想啊! 言归正传,和大家分享一下这次联想的面经和面试题: 联想面经: 第一轮:电话初面 第二轮:技术面谈 第三轮:高管复试 第四轮:HR最后确认 No.1:第一轮面试--电话初面 首先确认对联想的意向度(如果异地更会考虑对工作地点(北京)的意向度!联想很看重这个):其

整理的70道阿里高级Java面试题,都来挑战一下,看看自己有多厉害

整理的70道阿里高级Java面试题,都来挑战一下,看看自己有多厉害.1.java事件机制包括哪三个部分?分别介绍.2.为什么要使用线程池?3.线程池有什么作用?4.说说几种常见的线程池及使用场景.5.线程池都有哪几种工作队列?6.怎么理解无界队列和有界队列?7.线程池中的几种重要的参数及流程说明.8.什么是反射机制?9.说说反射机制的作用.10.反射机制会不会有性能问题?11.你怎么理解http协议?12.说说http协议的工作流程.13.http有哪些请求提交方式?14.http中的200,3

java代码实现:12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种?

此题参考与其他人思路, 2个解题方式. 1. 1 /** 2 * 用java代码实现:12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种? 3 * 状态树方式解 4 * 用状态生成树的方式来做的,先把12个人按从低到高一次编号, 5 * 从(1 ; 2)出发,加入3和4的时候生成(1,3 ; 2,4)和(1,2 ; 3,4), 6 * 然后加入5和6,分别从前面的两个状态出发,可以生成5种状态,就是说6个人时有5种排列 7 * @author

Effective Objective-C 2.0 — 第12条:理解消息转发机制

11 条讲解了对象的消息传递机制 12条讲解对象在收到无法解读的消息之后会发生什么,就会启动“消息转发”(message forwarding)机制, 若对象无法响应某个选择子,则进入消息转发流程. 1,通过运行期的动态方法解析功能,可以在需要用到某个方法时再将其加入类中. 2,对象可以把其无法解读的某些选择子转交给其他对象来处理. 经过上述两步之后,如果还是没办法处理选择子,那就启动完整的消息转发机制. 动态方法解析 对象在收到无法解读的消息之后,首先调用其所属类的下列类方法 + (BOOL)

高级java进阶之类的卸载

首先来了解一下jvm(java虚拟机)中的几个比较重要的内存区域 方法区:在java的虚拟机中有一块专门用来存放已经加载的类信息.常量.静态变量以及方法代码的内存区域,叫做方法区. 常量池:常量池是方法区的一部分,主要用来存放常量和类中的符号引用等信息. 堆区:用于存放类的对象实例. 栈区:也叫java虚拟机栈,是由一个一个的栈帧组成的后进先出的栈式结构,栈桢中存放方法运行时产生的局部变量.方法出口等信息.当调用一个方法时,虚拟机栈中就会创建一个栈帧存放这些数据,当方法调用完成时,栈帧消失,如果