Java基础的学习十分重要,我认为这个基础不仅仅只是包含Java的基本知识,还应该包含比如计算机组成原理、操作系统、计算机网络、数据结构与算法、设计模式、数据库等等一些考验程序员内功的知识。
以下只是自己罗列的大纲,自己做个记录,详细的再补充:
一、Java基础知识
(1)Jvm是运行环境,为java程序提供了跨平台的特性,jre运行环境,jdk包含jre与开发工具包;
(2)java基础数据类型8种,其他为引用数据类型;
(3)java中的运算符,比较、逻辑、算术、赋值、位运算符,三目运行符单目运算符;
(4)java中的关键字与标识符;
(5)执行流程,选择、循环,break与continue;
(6)异常体系、流处理;
(7)数组、集合体系;
(8)Jvm、并发与多线程、jdk8中的stream......
二、计算机组成原理、操作系统、计算机网络
(1)计算机组成、数据存储;
(2)进程、线程、PCB、内存组织、文件系统;
(3)OSI七层模型,wireshark抓包工具......
三、数据结构与算法
(1)时间与空间复杂度分析;
(2)最常用的、最基础的数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树;
(3)最常用的算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法;
四、设计模式
(1)创建型-5种;
(2)结构型-7种;
(3)行为型-8种......
五、数据库
(1)mysql架构;
(2)sql执行原理、sql调优;
(3)mysql主从(主备)