1.Spring 最初利用“工厂模式”( DI )和“代理模式”( AOP )解耦应用组件。按照这种模式搞了一个 MVC 框架(一些用 Spring 解耦的组件),用开发 web 应用( SpringMVC )。后来发现每次开发都要搞很多依赖,写很多样板代码,使代码臃肿而麻烦,于是整理了一些懒人整合包( starter ),这套就是 Spring Boot 。
Spring MVC 是基于 Servlet 的一个 MVC框架 主要解决 WEB 开发的问题 ;而Spring boot 的原则是:约定优于配置 ,可以极大地简化了 spring 的配置流程。
2.final修饰类:不能被继承。修饰方法:不能被子类重写。
3.子类不继承父类的构造器,它只是显式或隐式地调用。如果父类的构造器带有参数,则必须在子类的构造器中显式地通过super关键字调用父类的构造器并配以适当的参数列表。如果父类构造器没有参数,则在子类的构造器中不需要使用super关键字调用父类构造器,系统会自动调用父类的无参构造器。
多态:优点:解耦、可替代、可扩充、接口性、灵活、简化;条件:继承、重写、父类引用指向子类对象
如果一个类包含抽象方法,那么该类必须是抽象类。任何子类必须重写父类的抽象方法,或者声明自身为抽象类。构造方法、类方法不能声明为抽象方法。
封装:优点:良好的封装能够减少耦合。类内部的结构可以自由修改。可以对成员变量进行更精确的控制。隐藏信息,实现细节。
接口:没有构造方法,没有成员变量(除了static和final变量)。JDK1.8之后可以有静态方法和方法体。
抽象类和接口的区别:抽象类中的方法可以有方法体。抽象类中的成员变量可以是各种类型的而接口的成员变量只能是public static final类型的。抽象类可以有静态代码块和静态方法。一个类只能继承一个抽象类,却可以实现多个接口。
4.StringBuffer StringBuilder. StringBuffer 线程安全。StringBuilder 有速度优势。
6.修改mysql配置环境变量. vim /etc/profile ; 设置环境变量: MYSQL_HOME=/usr/local/mysql ; PATH=$PATH:$MYSQL_HOME/bin ; export PATH MYSQL_HOME ; 重新加载配置文件: source /etc/profile ;
修改mysql密码:
mysqladmin -u root -p password "test123"
或者mysql -uroot -p >use mysql; >update user set authentication_string=password("test") where user ='root'; >exit
或者service mysql stop ; mysql_safe --skip-grant-tables & (忽略密码)再执行设置密码