什么是面向对象

封装:把描述一个对象的属性和行为封装成一个类,把具体的业务逻辑功能实现封装成一个方法,其次封装的意义还有效的保护属性通过访问修饰符私有化属性(成员变量),公有化方法。继承:实现代码的复用,所有的子类所共有的行为和属性抽取为一个父类,所有的子类继承该类可具备父类的属性和行为,继承具有单一性和传递性。多态:程序中定义的引用类型变量所指向的具体类型和调用的具体方法在程序编译阶段无法确定,而是在运行期才能确定该引用类型变量指向具体哪个对象而调用在哪个类中声明的方法。

jdk1.8的新特性

Lambda表达式函数式接口*方法引用和构造器调用Stream API接口中的默认方法和静态方法新时间日期API

java实现多线程有四种方法

1、继承Thread类创建线程2、实现Runnable接口创建线程3、实现Callable接口通过FutureTask包装器来创建Thread线程4、使用ExecutorService、Callable、Future实现有返回结果的线程

java设计模式

总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。并发型模式和线程池模式。

MYSQL索引失效的问题

1、条件中用or,即使其中有条件带索引,也不会使用索引查询注意:要想使用or,又想索引生效,只能将or条件中的每个列都加上索引2、对于多列索引,不是使用的第一部分,则不会使用索引3、like查询是以%开头4、如果列类型是字符串,那一定要在条件中将数据使用引导引用起来,否则不使用索引

spring 传播属性

Spring定义了七种传播行为:PROPAGATION_REQUIRED表示当前方法必须运行在事务中。如果当前事务存在,方法将会在该事务中运行。否则,会启动一个新的事务PROPAGATION_SUPPORTS表示当前方法不需要事务上下文,但是如果存在当前事务的话,那么该方法会在这个事务中运行PROPAGATION_MANDATORY表示该方法必须在事务中运行,如果当前事务不存在,则会抛出一个异常PROPAGATION_REQUIRED_NEW表示当前方法必须运行在它自己的事务中。一个新的事务将被

spring事务有哪些特性

原子性(Atomicity):事务是一个原子操作,由一系列动作组成。事务的原子性确保动作要么全部完成,要么完全不起作用。一致性(Consistency):一旦事务完成(不管成功还是失败),系统必须确保它所建模的业务处于一致的状态,而不会是部分完成部分失败。在现实中的数据不应该被破坏。隔离性(Isolation):可能有许多事务会同时处理相同的数据,因此每个事务都应该与其他事务隔离开来,防止数据损坏。持久性(Durability):一旦事务完成,无论发生什么系统错误,它的结果都不应该受到影响,这样

springboot 加载顺序

1.在命令行中设置的参数。2.SPRING_APPLICATION_JSON 中的属性。SPRING_APPLICATION_JSON 是以 JSON 格式配置在系统环境变量中的内容。3.java:comp/env 中的JDNI属性。4.java的系统属性,可以通过System.getProperties()获得的内容。5.操作系统的环境变量。6.通过 random.*配置的随机属性。7.位于当前应用jar包之外,针对不同{profile}环境的配置文件内容,例如applicatiom-{pro

springmvc 流程

1、  首先用户发送请求到前端控制器,前端控制器根据请求信息(如 URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分;2、  页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在 Spring Web MVC 中叫命令对象,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕后返回一个 ModelAndView(模型数据和逻辑视图名)3、  前端控制器收回控制权,然后根据返回的逻辑视图名,

aop ioc设计思想

IOC(Inverse of Control) 控制反转 以前程序中需要使用对象时,需要自己new一个,造成程序与对象的强耦合。 IOC 对象的生成交给spring容器完成 DI(Dependency Injection),依赖注入IOC与DI一个意思,等价AOP(Aspect-oriented Programming)面向切面编程Spring   IOC使用了工厂模式Spring   AOP使用了代理模式