牛客刷题总结.docx
"牛客刷题总结" 本资源摘要信息主要涵盖了 Java 语言的基础知识点、设计模式和事务处理。下面是详细的知识点解释: 一、Java 基础知识 1. Java 源程序只能有一个 public 类存在,且类名与文件名相同。这是因为 Java 程序是从 main 方法开始执行的,public 为类加载器提供入口,然后找到 public 类中的 main 方法开始执行。如果存在多个 public 类,程序将不知道该从哪里执行。 2. 内部类可以是 public 的,因为内部类是作为外部类的成员存在的。 3. Math.floor() 方法返回小于参数的最大整数,例如 Math.floor(-4.2) = -5.0。 4. Math.ceil() 方法返回大于参数的最小整数,例如 Math.ceil(5.6) = 6.0。 5. Math.round() 方法对小数进行四舍五入后的结果,例如 Math.round(-4.6) = -5。 6. Java 中数组是对象,不是基本数据类型(原生类),大小不可变且连续存储,因为是对象所以存在堆中。数组长度在创建时就确定了,要改变数组长度只能重新创建新的数组,将原有数组复制到新的数组之中。 二、设计模式 1. MVC 模式是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。 三、重载和重写 1. 重载就是同一个类中,有多个方法名相同,但参数列表不同(包括参数个数和参数类型),与返回值无关,与权限修饰符也无关。调用重载的方法时通过传递给它们不同的参数个数和参数类型来决定具体使用哪个方法,这叫多态。 2. 重写就是子类重写基类的方法,方法名,参数列表和返回值都必须相同,否则就不是重写而是重载。权限修饰符不能小于被重写方法的修饰符。 四、多态 1. 多态:对于不同对象接收到同一指令,可以进行不同的处理。当不同对象,调用同一个方法,每个对象具体子类实现,都是不同的。 2. 自我解释(多态):对于同一个指令(调用同一个名称的方法),不同对象给予不同的反应(不同的方法实现)。 3. 规范(多态实现的前提):1,必须要有继承关系2,子类方法必须重写父类的方法(没有继承不需要重写)3,父类引用指向子类对象。 五、事务处理 1. 传播行为定义了被调用方法的事务边界。有七种传播行为:PROPAGATION_MANDATORY、PROPAGATION_NESTED、PROPAGATION_NEVER、PROPAGATION_NOT_SUPPORTED、PROPAGATION_REQUIRED、PROPAGATION_REQUIRES_NEW 和 PROPAGATION_SUPPORTS。 2. 隔离级别在操作数据时可能带来 3 个副作用,分别是脏读、不可重复读和幻读。