JDK1.8和java 8+区别?
In JDK 8 and JRE 8, the version strings are 1.8 and 1.8.0. Here are some examples where the version string is used:
java -version (among other information, returns java version "1.8.0")
java -fullversion (returns java full version "1.8.0-bxx")
javac -source 1.8 (is an alias for javac -source 8)
java.version system property
java.vm.version system property
@since 1.8 tag values
jdk1.8.0 installation directory
jre8 installation directory
包
java 通过包进行管理
通过包名下的指定包和类名来加载指定的类,类似
import test.Cat;
static
所有的实例公用同一块共同空间,知道类彻底销毁,才会释放。
子类如何调用父类的构造方法
子类默认调用的是父类的无参数构造方法
通过super调用父类的可访问的构造方法
java的单例模式?
1, 创建私有构造方法
2, 创建静态的实例化对象
3, 创建开发的静态方法创建实例对象
java 多态
抽象类
抽象类不允许实例化
java字符串
需要频繁操作字符串的时候,使用StringBuilder
集合
1, ArrayList 2, HashSet 3, HashMap
泛型
一个占位符
多线程
1,继承Thread创建线程
2, 通过实现Runnable接口的方法实现线程
XML
dom4j 是java专门用来读取xml
SAXReader reader = new SAXReader();
Document documetn = reader.read(file)
Element root = document.getRootElement()
EL表达式
EL作用?
简化jsp代码的写法,类似语法糖
监听器
就是类似js的事件监听
Servlet
类继承HttpServlet
获取多个参数使用
request.getParameterValues("name")
JSP
<%! public int add(int a, int b) {return a + b};%>
<%= name %>
<%@ page improt="java.util.*" %>
JSON
MYSQL
配置文件
mac /usr/local/etc/my.cnf
常用命令
\c 取消当前命令的执行
PRIMARY KEY() 组合主键
表操作
1 添加字段
- ALERT TABLE ADD
2 删除字段
- ALERT TABLE DROP
3 修改字段名称
- ALERT TABLE CHANGE
4 修改表名称
- RENAME OLD_NAME TO NEW_NAME
5 存储引擎
- MYISAN
- INNODB
6 外键约束
- 防止插入脏数据
7 特殊形式的查询
- 子查询 sql 语句 套用sql 语句
- 联合查询
- 无限查询
常用函数
- CEIL(),FLOOR(),CHAR_LENGTH(),CONCAT()
JDBC
- JDBC Java DataBase Connectivity 对数据库操作的封装
- 注册,获取连接,获取执行SQL对象,编写SQL,执行,释放
- CRUD
- SQL注入漏洞
Java 反射机制
- 运行态的概念
- 获得class, 一般通过Class.forName()
IntelliJ
- psvm 生成 main函数
- sout System.out
- common+shift+enter 换行
- fori for循环
- itli List迭代
- psfs public static final String
- tomcat 启动 brew services start tomcat 关闭 brew services stop tomcat
Maven
类似于前端的npm库
- 使用maven-assembly-plugin的时候出现打包错误 test1-1.0-SNAPSHOT.jar中没有主清单属性

<executions>
<execution>
<id>make-assembly</id> <!-- this is used for inheritance merges -->
<phase>package</phase> <!-- bind to the packaging phase -->
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
- IntelliJ IDEA 创建maven webapp
medium.com/@backslash1…
按照这里边的顺序做的时候,到了这里结果死活发现不了
Sevelet,一直以为那里出了问题,
后来发现应该是首先下载这个依赖,可能是下载这个依赖时间太长,导致每次都点的时候都看不到创建Servelet,只有依赖下载完成,才能看到。
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
- 一直出现页面404,说是找不到文件


Redis
- Radis 后台运行
- netsate -tulpn 查看运行的端口
- get set 字典数据库
Spring Ioc
实现原理工厂模式+反射+配置文件
Spring Bean
帮助管理各种类
属性注入
使用注解方式
Spring AOP
JDK的动态代理
AspectJ AOP
切面编程,基于切面进行编程
代理模式,通过前置通知,后置通知等对对象进行包装处理
Spring JDBC Template
简化对于数据库的操作,其实就是再封装一层,把底层细节封装一层
Spring 事务
- 事务,事务是一系列的操作,要么一起成功,要么一起失败,原子操作
- DAO 是一个数据访问接口
- 编程式事务实现方式
- 声明式事务管理
Spring Boot
- 入口命名 一般以Application结尾
- 首先加载配置文件->自动装配->加载组件—> 启动
- 配置文件application.propertie 配置文件