(从零开始学java要多久)(从零开始学java要多久能学会)

  Java是门「面向对象」编程语言

  是「Sun Microsystems」在1990年代初期

  设计的一种高级现

(从零开始学java要多久)(从零开始学java要多久能学会)

代编程语言,目前由Oracle拥有。

  不仅吸收了「C++语言」的各种优点

  还摒弃了C++难以理解的多继承、指针等概念

  编写一次程序就可以在许多不同的平台上运行!

  Java语言「应用广泛」。
  Java用于开发适用于Google的Android OS。
  各种「桌面应用程序」。
  近90%的「财富500强」组织选择Java为Android操作系统开发大量「后端应用程序」。
  Oracle声称「超三十亿」的「设备」上运行着Java。
  很多「服务器端」使用Java来处理每天「数十百万」的请求。

  从零开始学JAVA奇酷教育这样建议

  1.计算机基础:

  1.1数据结构基础:

  主要学习:

  1.向量,链表,栈,队列和堆,词典。熟悉

  2.树,二叉搜索树。熟悉

  3.图,有向图,无向图,基本概念

  4.二叉搜索A,B,C类熟练,9大排序熟悉。

  5.树的前中后,层次,之字,最短路。

  6.KMP等字符串算法。

  1.2操作系统:

  主要学习:

  1.进程,线程,进程线程区别。进程间通信

  2.进程调度算法理解

  3.存储,虚拟内存,分页分段,内存调度算法

  4.文件系统,链式,索引

  5.死锁:原因,避免,解除k

  6.Linux基本操作命令,会一门脚本编程:shell,Python

  1.3计算机网络:

  主要学习:

  1.网络分层:五层,七层,四层等

  2.网络层:IP分类,子网划分,超网。ARP协议,ICMP协议。理解内部网关和外部网关,vpn等

  3.运输层:端口,UDP协议理解,TCP协议理解,三次握手,四次断开。

  4.应用层:了解常用协议使用的端口和底层协议。

  5.更加深入理解:TCP/IP 对拥塞控制,滑动窗口,如何实现可靠等。

  1.4基础算法:

  主要学习:

  1.理解大O等记号

  2.动态规划如:几类背包问题最好有现成的代码用于笔试。最长公共子序列

  3.贪心算法:理解赫夫曼编码(笔试常考概念)

  4.B树B+树用于理解数据库索引

  5.常用的图算法:广度优先,深度优先,最短路径算法(最好有现成的代码),最小生成树。

  2.JAVA知识基础:

  2.1JAVA基础

  推荐书籍:编程思想

  1.掌握java常用技术,io、多线程、反射、常用集合框架

  2.对处理输入输出的IO进行熟悉,用于笔试

  3.对Iterator,Iterable和Comparable,Comparator了解,以及常用集合的遍历和排序。

  4.对NIO一定要熟悉,以及了解JMS和RPC

  5.对JAVA基础概念要熟悉,比如抽象类和接口区别等,这些熟记。

  2.2JAVA源码

  1.hashmap,hashtable,concurrentHashMap源码以及区别

  2.其他集合框架:linkedHashMap,LinkedHashSet,Copy-On-Write等

  3.对Lock,Object,String等类的源码了解。

  2.3JAVA并发API

  推荐书籍:应付笔试面试:JAVA多线程编程与核心技术。真正神书:JAVA并发编程实战。

  Synchronize 和 Lock 的区别与用法

  2.wait()和await() notify()和signal(),wait()和sleep()区别与用法

  3.其他的API用法:yield,join等

  4.voliate深入理解,以及CAS理解

  5.JAVA锁底层实现:自旋锁,阻塞锁,可重入锁,偏向锁,等。

  6.线程池和阻塞队列

  7.以及一些常用的并发实现案例如生产者和消费者

  2.4理解JVM

  推荐书籍:深入理解JAVA虚拟机

  1.JAVA内存模型,哪个区域存放哪些内容

  2.引用技术法和可达性分析法

  3.对象的强、软、弱和虚引用区别与作用

  4.jvm垃圾回收机制,以及回收算法

  5.常见的OOM和SOF的原因和解决方案,以及通过什么工具进行分析。

  6.常见的JVM输入参数熟悉

  7.了解GC停顿,逃逸分析,TLAB区,堆外内存等

  8.常用垃圾收集器:G1,CMS等

  9.了解常用性能监控工具:如visualvm jconsole等

  10.必须熟悉虚拟机类加载机制,包括原理步骤,以及双亲委派方式的原理。

  3.常规储备知识学习

  3.1数据库:

  推荐书籍:sql入门:Mysql必知必会。深入理解:高性能Mysql

  1.常用关联查询语法,自己所动手写几个

  2.数据库索引深入认识和理解

  3.JDBC学习

  4.常用数据库调优手段:比如通过索引调优

  5.InnoDB和MyISAM 区别

  6.了解主键,外键,索引,唯一索引

  7.了解索引、视图、触发器、游标和存储过程

  8.常用关系型数据库和非关系型数据库:关系型了解:Mysql,Oracle 非关系型了解:redis,Hbase,monogodb等

  3.2设计模式:

  推荐书籍:设计模式之禅

  1.单例模式的几种写法一定要会

  2.JDK中对应的设计模式:如IO中的装饰模式和设配器模式等

  3.框架中常用的设计模式:如Struts中的责任链模式,Spring中的工厂模式,动态代理模式等

  4.了解6大设计原则

  3.3HTTP协议:

  推荐书籍:HTTP权威指南

  1.什么是HTTP,协议版本等

  2.学会使用浏览器查看HTTP请求与响应

  3.熟悉HTTP请求头和请求体

  4.熟悉HTTP响应头和响应体

  5.了解Rest风格

  3.4神一般的Spring:

  推荐书籍:Spring实战和Spring技术内幕

  1.了解IOC原理和作用

  2.了解AOP原理和作用

  3.常用的XML配置

  4.Spring事务原理和使用

  5.SpringMVC

  6.了解Spring的webflow,远程服务,rest,消息,安全等

  7.新功能:Spring boot和cloud

  4.后端学习之路

  4.1WEB后端学习之路

  推荐书籍:可以选择一些SSH整合开发之类的

  1.JSP和Servlet学习

  2.XML和JSON解析学习

  3.前端知识:HTML、css,js

  4.JDBC学习,文件上传\下载,JAVAMail等

  5.可以利用jsp和Servlet开发简单项目

  6.接着框架学习:Struts2,Hibernate,Spring以及相互整合开发

  7.接着可以了解:SpringMvc,Mybatis,Lucene,shiro等

  8.利用框架实现简单项目比如CMS。

  4.2服务架构学习之路(此部分笔试面试不一定学习)

  推荐书籍:分布式服务框架原理与实践和微服务设计

  1.了解SOA和微服务

  2.负载均衡:LVS,NGINX等

  3.RPC框架学习:RMI,Thrift等

  4.消息框架学习:ActiveMq等

  5.Netty通信框架学习

  6.服务框架:dubbo

  4.3Hadoop学习之路(此部分笔试面试不一定学习)

  推荐书籍:Hadoop权威指南

  1.熟悉mapReduce和HDfS

  2.Hadoop集群搭建

  3.了解:zk,hive,hbase,pig,mahout等

  4.zk几个常用作用如做注册中心,放配置信息等。

声明:我要去上班所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者奇酷教育所有,原文出处。若您的权利被侵害,请联系删除。

本文标题:(从零开始学java要多久)(从零开始学java要多久能学会)
本文链接:https://www.51qsb.cn/article/m8ps7.html

(0)
打赏微信扫一扫微信扫一扫QQ扫一扫QQ扫一扫
上一篇2023-02-01
下一篇2023-02-01

你可能还想知道

发表回复

登录后才能评论