一,线程的创建
1.1 继承Thread类
public class ThreadCreateTest extends Thread {
@Override
public void run() {
// 逻辑
}
}
public class ThreadCreateTest extends Thread {
@Override
public void run() {
// 逻辑
}
}
10 的位置,然后顺着链表找数据就可以。MySQL 可以分为 Server 层和存储引擎层两部分。
server层的核心组件:
jvm锁失效的情况:
@Autowired注入@Scope(value = "prototype")标注的service,在创建时已经确定service,service不会改变了,spring官方可能对于加了@Scope的bean的本意,并不是每次访问都创建一个新的bean,而是每个使用到的地方创建一个新的bean。read uncommitted事务隔离级别的可以解决,但是我们是不允许mysql数据库使用read uncommitted事务隔离级别的。目前 Spring AOP 一共有三种配置方式,Spring 做到了很好地向下兼容,所以大家可以放心使用。
@Conditional来源于spring-context包下的一个注解。Conditional中文是条件的意思,@Conditional注解它的作用是按照一定的条件进行判断,满足条件给容器注册bean:
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Conditional {
Class<? extends Condition>[] value();
}
com.alibaba.fastjson.JSONException: default constructor not found
lombock的@Builder注解会自动生成全参构造,从而导致默认的无参数构造丢失,如果此时结合JSON的反序列化JSON.parseObject(jsonString,calss);方法就会报错。
使用@Builder注解时,同时添加无参和有参构造
异常就是有异于常态,和正常情况不一样,有错误出现。在java中,阻止当前方法或作用域的情况,称之为异常。
RuntimeException类极其子类表示JVM在运行期间可能出现的错误。编译器不会检查此类异常,并且不要求处理异常,比如用空值对象的引用(NullPointerException)、数组下标越界(ArrayIndexOutBoundException)。此类异常属于不可查异常,一般是由程序逻辑错误引起的,在程序中可以选择捕获处理,也可以不处理。RuntimeException极其子类之外的异常。编译器会检查此类异常,如果程序中出现此类异常,比如说IOException,必须对该异常进行处理,要么使用try-catch捕获,要么使用throws语句抛出,否则编译不通过。(不能只使用throw并没有处理异常)Lambda 表达式是 JDK8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。
虽然使用 Lambda 表达式可以对某些接口进行简单的实现,但并不是所有的接口都可以使用 Lambda 表达式来实现。Lambda 规定接口中只能有一个需要被实现的方法,不是规定接口中只能有一个方法。
@FunctionalInterface修饰函数式接口的,要求接口中的抽象方法只有一个。 这个注解往往会和 lambda 表达式一起出现。
给你n个硬币,要求第一行放1个、第二行放2个、第三行放3个以此类推,问最多放几行。
假设 x行。最少硬币数 (x +1) * x / 2 <= n