据统计,目前从业软件开发的人数近2700万,其中大约520万使用JAVA作为主要开发语言。

java是一种面向对象计算机编程语言,相对C#它的语法要简单一点,通过编程语言可以让计算机按你的需求执行相关的操作。

跟编程语言相关的还有:数据库,缓存,服务器通信等等都需要掌握的知识,才能带入工作。等你的技术有一定的积累可以进阶到并发编程,分布式架构,微服务等等复杂一点的技术。

这些技术每一项都包含了一个体系的知识,而这些年的工作经验告诉我,都掌握是不可能的,技术在不断创新和迭代,变牛逼的方式只有一个,比大多人会的更多!你懂吧?

最近有几个学弟问我,想学习java开发需要掌握哪些开发技术呢?正好今天有空,就简单梳理一下。简单总结了以下几点:

JAVA基础

计算机基础知识,java SE基础知识,比如计算机如何从磁盘中读取数据,服务器之间如何通信(restful,rpc);java中的基础数据类型,语法,继承封装多态,线程,try-catch,反射等等。

这些基础是必然要掌握的。

1.JVM

三年开发面试必问,这是你编好的程序如何在计算机内存中操作数据的重要知识模块,jvm内存模型,类加载机制,垃圾回收机制,内存调优。。。理解越深你的段位越高!

2.Linux命令

mkdir,rm-rf(这个不能瞎整),free,top,tail等等一大堆哈哈

3.主流开发框架

开发框架:spring,MVC模式,springboot,springcloud等等

持久层框架:ibatis,struts,hibernate,mybatis等等(ibatis和struts了解发展历史即可)

工作流框架:activiti等等

4.数据库

主流的几种:Oracle,MySql,SqlServer,MongoDB,Redis

要掌握:sql语法基础,sql优化方案,存储过程基本读写,索引原理及优化,底层读写原理等等。

5.消息中间件

RabbitMQ,RocketMQ,Kafka等

6.代码管理仓库

常用的就是SVN和GIT。

学会这些,基本上开发一个项目没什么问题了!罗列这么多技术点不知道会不会给人劝退哈哈!

JAVA进阶

1.并发编程

线程锁,分布式事务解决方案,限流削峰方案,秒杀系统设计,FIFO队列,缓存服务器,水平垂直扩展等等。。

2.缓存

a.客户端缓存,b.服务端缓存,c.网络缓存,

其中服务端缓存:本地LocalCache,分布式缓存(Redis、Memcached等nosql),数据库缓存。

3.性能调优

老手都未必能掌握的一个技术高点!

a.服务架构调优

b.数据库调优

c.JVM调优

不断丰富自身技术栈的宽度和高度,提升自我价值才能让你脱颖而出!

想到哪里写到哪里,可能有点乱,等有时间了再好好整理。

(学习笔记)JAVA开发需要掌握哪些技术?相关推荐

  1. JDBC学习笔记——Java语言与数据库的鹊桥

    JDBC学习笔记--Java语言与数据库的鹊桥     JDBC(Java DataBase Connectivity):SUN公司提供的 一套操作数据库的标准规范,说白了就是用Java语言来操作数据 ...

  2. 学习笔记:cache 和spring cache 技术(1)

    title: 学习笔记:cache 和spring cache 技术(1) author: Eric liu tags: [] categories: hexo 缓存是实际工作中非常常用的一种提高性能 ...

  3. Java开发面试常见的技术问题整理

    Java开发面试常见的技术问题整理 介绍 对jvm的了解? jvm类加载机制 jvm运行时数据区||Jvm体系结构五大块 jvm自带的加载器 jvm的双亲委派模式 什么是GC jvm的垃圾回收算法 怎 ...

  4. 深入理解Java虚拟机(第3版)学习笔记——JAVA内存区域(超详细)

    深入理解Java虚拟机(第3版)学习笔记--JAVA内存区域(超详细) 运行时数据区域 程序计数器 java虚拟机栈 本地方法栈 java堆 方法区 运行时常量池 直接内存 对象的创建 对象的内存布局 ...

  5. Android学习笔记---09_深入了解各种布局技术

    Android学习笔记---09_深入了解各种布局技术 09_深入了解各种布局技术

  6. 逐梦旅程学习笔记 DirectX开发入门02:旋转的彩色立方体

    本文是 系列笔记DirectX部分的第2篇,上一篇参见 逐梦旅程学习笔记 DirectX开发入门01:应用程序基本框架 这个示例增加了一些实际的内容,首先是绘制一个颜色随机变幻的彩色立方体,其二是显示 ...

  7. 学习笔记-Java并发(一)

    学习笔记-Java并发(一) 目录 学习笔记-Java并发一 目录 Executer Callable和Future 后台线程 线程加入 小计 今天看了这一篇 Java编程思想-java中的并发(一) ...

  8. 【计算机网络学习笔记17】网络安全、加密技术、“Virtual Private Network”技术

    [计算机网络学习笔记17]网络安全.加密技术."Virtual Private Network"技术 一.网络安全概述 1.1 网络系统的安全目标: 1.可用性(Availabil ...

  9. Apollo学习笔记 进阶课程之三:定位技术②

    Apollo学习笔记 进阶课程之三:定位技术② 百度的无人驾驶定位方案 1).GNSS定位 GPS误差来源: 上图为单点定位,基于TOA 载波定位技术:(RPK技术,PPP技术) RPK:可以在五秒内 ...

最新文章

  1. 对python3中pathlib库的Path类的使用详解
  2. html如何让tr自动换行,js和css如何让table自动换行但是不是超出td?
  3. BZOJ 2287 【POJ Challenge】消失之物
  4. java oauth2.0_教程:如何实现Java OAuth 2.0以使用GitHub和Google登录
  5. oracle错误12637,TNS-12537 TNSconnection closed ORA-609错误处理
  6. CS224n笔记3 高级词向量表示
  7. Ubuntu 16.04添加启动图标到Dash Home中
  8. 微课|中学生可以这样学Python(3.3节):多分支选择结构
  9. Excel用户如何学习数据分析语言DAX?
  10. [USACO06JAN]牛的舞会---洛谷P2863
  11. Android 手机 黑域
  12. 用 ABAP 新建本地 Excel 文件并写入数据试读版
  13. 华为模拟器 ENSP 教程
  14. Luogu P1540 机器翻译
  15. FileChannel阅读笔记
  16. 【关于我第一次上python课的感想】
  17. Redis如何应对并发访问
  18. tanh函数图像以及求导
  19. mysql中间件研究(Atlas,cobar,TDDL) | 日志 | 果壳网 科技有意思
  20. 飞天技术汇 | 你用Kubernetes的样子很酷!

热门文章

  1. SAM/BAM相关的进阶知识
  2. 面上大厂需要准备的面试题
  3. 微场景:移动互联时代的营销革命
  4. 搜狗在任务栏的“天猫618炒鸡红包”如何关闭
  5. RabitMQ系列之 Spring RabbitMQ流量削锋实现案例之抢红包
  6. php下载地址转换工具,PHP实战:php实现把url转换迅雷thunder资源下载地址的方法...
  7. 线性代数:第五章 相似矩阵及二次型(2)二次型及其标准型 配平方法 合同变换法 正定二次型
  8. 飞速低代码 | 低代码,数字化建设的 “ 最后一公里
  9. python批量下载网页图片及列表
  10. 互联网和大数据是什么意思_数据化和互联网行业 互联网大数据什么意思