作为初学者想要更有效率的学习Java技术,理论中穿插项目练习很有必要。但项目练习要在你掌握了一定的技术之后才能做的,它是用来加深你对技术理解的。
就拿Javaweb来说吧,如果你想要做项目,是需要掌握以下技术的(个人见解,如果有其他的理解欢迎大家一起讨论分析):
一、前端:
语言:HTML+CSS+JavaScript开发工具:webstorm/vscode调试器:Chrome
1、学会HTML的常用标签、元素、以及它们的属性。
2、学会CSS的基本语法、各种样式的使用,理解CSS的盒子模型、文档流,会用定位、浮动和清除等常见的知识点。
3、学会js的基础(变量、函数、数组、字符串等)、理解JavaScript的面向对象思想;会用一些常用的js库(如jQuery、bootstrap等);能用js写出一些常用的插件(轮播组件、选项卡等)。
4、能用HTML+CSS编写网页,实现基本的网页布局,能用JavaScript+CSS编写常用的动效,能用ajax实现和后台接口的数据交互。
5、会用Chrome做开发调试以及简单的性能调试。
二、后台:
语言:spring、SpringMVC/springboot开发工具:eclipse/idea调试工具:Chrome
1、了解Java起源和发展史以及语言特性,理解jdk和jre,学会配置Java开发环境。
2、学会Java基础,包括标识符、常量变量、关键字、标识符、数据类型、运算符、流程控制语句、数组、方法等。
3、理解Java面向对象的思想,理解类和对象的概念,理解面向对象的三大特性(封装、继承、多态),理解this和super的区别和使用,理解Java的接口、内部类、抽象类等。
4、会用一些常用的Java类(Object、String、Arrays、Math、Date、SystemDateFormate、Calendar以及一些包装类等)。
5、学会一些Java的高级特性,集合、多线程、IO等,还有反射的原理和使用。
6、学会至少一种Javaweb的开发框架(spring、springmvc、springboot等)
7、学会使用eclipse或idea创建web项目以及常用的开发流程、还有一些快捷键的使用。
三、数据库
数据库:Oracle/MySQL、Redis/mongdb
开发工具:Navicat、Redis命令行
1、学会至少一种关系型数据库(Oracle、MySQL等),和一种非关系型数据库(Redis、mongdb等)
2、学会关系型数据库相关的理论和基础知识,学会非关系型数据的原理以及优势。
3、学会SQL的基本操作如数据库表、视图、索引的增删改查操作。
4、学会SQL的一些高级特性如锁、函数、触发器等。
5、会用Navicat等SQL客户端连接工具进行数据库的操作。
6、具备一些SQL性能优化的能力。
四、版本控制:
git/svn/Cornerstone
1、理解版本控制的原理和应用场景,理解数据仓库中各个库的作用和使用方式。
2、熟悉git常用的操作命令(创建本地/远程分支、查看本地/远程分支、切换分支、提交版本、回滚、合并版本、拉取和推送分支等)。
五、 项目构建工具:
gradle/maven
这个就不多说了,项目开发必备的工具,至少得学会其中一种。
六、运行环境:
Tomcat、nginx
1、了解Tomcat的组成和运行原理,理解server.xml各个熟悉的配置
2、学会查看和分析Tomcat的项目运行日志
3、学会在Tomcat中部署Java项目
4、了解nginx的原理和作用,学会安装nginx
5、学会nginx的项目配置
七、服务器环境:
Linux
1、了解Linux的基本原理和一些常用的命令
2、能在Linux是安装jdk、Tomcat、nginx等web程序必备的软件
3、学会一些服务器性能调优的命令
项目是在理论知识之上,但又包含在理论之中,只有不断地在理论——实战——理论——实战……之中循环学习,技术才能越来高!