1、技术栈总览
学习要搞清楚你的目标;先学C++/JAVA;搞程序不要太浮躁;
java基础:计算机基础、写博客、java基础语法、流程控制和方法、数组、面向对象、异常、常用类、集合框架、IO、多线程、GUI、网络编程、注解与反射、JUC编程、JVM探究、设计模型/xml/数据结构/正则表达式。
数据库:Mysql、JDBC、UML类图、数据库设计
前端:html、css、js、bootstrap/layui、vue
javaweb:Tomcat、http、maven、servleet、session、cookie、jsp、三层架构、EL表达式、过滤器、监听器、文件上传、邮件收发、富文本编辑器。
SSM框架:git、mybatis、spring、springmvc(代替javaweb)。
LINUX:基础、redis、nginx、docker
Springboot:基础、配置、持久层操作、web开发、缓存、消息、检索、任务、安全、DUBBO+ZOOKEEPER分布式开发
Springcloud:微服务及微服务架构、SpringCloud、Eureka服务注册于发现、Feign+Ribbon负载均衡、Hystrix熔断机制、Zuul路由网关、Config配置中心
2、Java基础
JDK开发、JRE运行,JVM最底层。
编译型:通过编译器一次编译为整本书,快;解释型:一次翻译一小部分,边执行边翻译。
Java是预编译为字节码然后解释为操作系统。
多行注释:/**/
基本类型+引用类型(类、接口、数组)。
包机制:package pkg1. 域名导致;手动导包:import java.util.Date;
3、MySQL
3.1 前端(展示页面-->>数据)、后台(连接数据库jdbc-mybatis,连接前端(控制视图跳转、给前端传递数据):servlet、mvc) 、数据库(存数据,excel、word)
数据库(管理系统)分类:用SQL语言 5.7/8.0
关系型(SQL):Mysql、oracle、sql serserver、sqlite;表、行;
非关系(No SQL):key:value;;redis、mongdb,以对象存储。
安装:尽可能用压缩包安装,方便卸载。
3.2 数据库设计
设计三大范式(信息重复、更新异常、删除异常)(第一:列不可再分;第二范式:在满足前面基础上,每一个其他列必须与主键相关,而不是只和联合主键的一部分相关;第三:消除传递依赖,即每一列由主键直接决定-->>直接决定,而不能是间接相关)
规范性和性能的问题,规范:关联查询不能超过三张表---->>.考虑用户体验,有时候被迫打破规则,不能太规范,故意增加冗余字段。
3.3 举例
IDEA可以直接导入数据库,双击查看数据库表。
-
分析业务和需要处理的数据库需求
-
概要设计:设计E-R图
-
举例:博客
-
用户表(用户登录、注销、用户个人信息、写博客
-
分类表(文章分类、谁创建的)
-
文章表(文章的信息)
-
友情链接表
-
-
标识实体(开始设计)
-
数据库不区分大小写,建议_分割。
-
4、javaweb
1、web开发:web,网页的意思
-
静态web