随笔分类 - java
1
摘要:导入依赖 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <!-- 特别注意版本问题 --> <version>1.2.3</v
阅读全文
摘要:步骤如下: 点击OK! 如果依然部署失败或者出现如下错误提示时 可以按照如下步骤解决:
阅读全文
摘要:方式一:若已知具体的类,通过类的class属性获取,该方法最为安全可靠,程序性能最高。 方式二:已知某个类的实例,调用该实例的getClass()方法获取Class对象 方式三:已知一个类的全类名,且该类在类路径下,可通过Class类的静态方法forName()获取 ,可能抛出ClassNotFou
阅读全文
摘要:元注解 作用:负责注解其他注解。 @Target :用于描述注解的使用范围(即:被描述的注解可以用在什么地方) @Retention :表示需要在什么级别保存该注释信息,用于描述注解的生命周期(SOURCE<CLASS< RUNTIME ) @Document:说明该注解将被包含在javadoc中
阅读全文
摘要:实现接口Runnable具有多线程能力 启动线程:传入目标对象+Thread对象.start( ) 可以避免单继承局限性,灵活方便,方便同一个对象被多个线程使用(推荐使用) 下面是一个龟兔赛跑的例子:
阅读全文
摘要:const的特点: 1. 不能变量提升(必须先声明后使用) 2. 不能跨区域 3. 不能重复声明和赋值,否则会报错 4. 声名的变量不挂载到window对象上 let的特点: 1. 不能变量提升(必须先声明后使用) 2. 不能跨区域 3. 不能重复声明 4. 声名的变量不挂载到window对象上
阅读全文
摘要:作用:为了在程序中避免出现空指针异常而出现的。 创建Optional类对象的方法 Optional.of(T t) :创建一个Optional实力,t必须非空 Optional.empty( ) :创建一个空的Optional实例 Optional.ofNullable(T t) :t可以为null
阅读全文
摘要:(一)创建Stream 方式一:通过集合 方式二:通过数组 方式三:通过Stream的of() 方式四:创建无限流 (二)Stream的中间操作 一、筛选与切片 二、映射 三、排序 (三)Stream的终止操作 一、匹配与查找 二、归约 例题1:计算1 10的自然数的和 例题2:计算公司所有员工的工
阅读全文
摘要:一个内部类方法可以访问自身的数据字段,也可以访问创建它的外部类对象的数据字段。 内部类可以获得外部类的私有属性。 只有内部类才能是私有的,而常规类只能是包可见或者公共可见。 局部内部类: 声名局部内部类时不能使用访问修饰符。局部内部类的作用域被限定在声名这个局部类的块中。局部内部类有个很大的优势,就
阅读全文
摘要:递归就是自己调自己。 递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。 递归结构包括两个部分: 1. 递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。 2. 递归体:什么时候需要调用自身方法。
阅读全文
摘要:JDK1.5开始,Java支持传递同类型的可变参数给一个方法。 在方法声明中,在指定参数类型后加一个省略号(...)。 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。 例如:
阅读全文
摘要:λ表达式是一个可传递的代码块,可以执行一次或者多次。 基本形式:参数 表达式 例如: 字符串按长度排序: 2. 即使没有参数,仍然要包含空括号。 3. 如果可以推导出参数类型,则可以忽略其类型不写。 4. 如果表达式只有一个参数,且这个参数的类型可以推导出来,则可以忽略小括号。 5. λ表达式的返回
阅读全文
摘要:很多时候我们需要把基本数据类型转换为对象类型: 我们把基本数据类型对应的对象类型称作这个基本数据类型的 包装器 (wrapper)。 基本数据类型转换为对应的对象类型的过程叫 装箱 ,把包装器转换为基本数据类型类型的过程叫 拆箱 。 注意:↓ 包装器由于其不可变的属性,编译器优化会让他们去引用同一个
阅读全文
摘要:由abstract修饰的方法叫抽象方法;由abstract修饰的类叫抽象类。(抽象方法的类必须也是抽象的) 抽象方法充当着占位的角色。它们在子类中可以具体实现。扩展抽象类可以有两种选择。一种是在子类中保留抽象类中的部分或所有抽象方法仍未实现,这样子类必须也标记为抽象的;另外就是定义全部抽象方法,这样
阅读全文
摘要:1. 修饰局部变量 2. 修饰类中的字段 3. 修饰类:有时候我们可能希望阻止人们利用某个类定义子类。不允许扩展的类被称为final类。 4. 修饰方法:子类就不能覆盖这个方法。 注意:final类的所有方法自动都是final的
阅读全文
摘要:我们假设要调用a.m(args)方法,并且假定a为类C的对象。 1. 编译器首先查看对象声名的类型和方法名。这里需要注意方法重载(Overload),编译器会一一列举C类中所有的名字为f的方法,以及C的超类中名字为f的方法(可以访问的,不能访问的不算,比如超类的private方法)。至此编译器知道了
阅读全文
摘要:对象的构造 过程: 1. 类的加载(装载、链接、初始化),类被加载到内存中之后,就可以创建对象了。 2. 这个过程中new操作符用于申请内存。 3. 申请内存之后,对象的字段就会分配空间。 4. 分配内存之后,内存中存储默认值,数值型为0,boolean为false,对象类型null。 5. 然后从
阅读全文
摘要:静态字段 如果将一个字段定义为static,每个类只有一个这样的字段。而对于非静态字段(实例字段),每个对象都有自己的一个副本。 上面的代码,每一个Employee对象都有一个id字段,但这个类所有的实例将共享一个nextId字段。 例如有100个Employee对象,那么讲有100个id的储存空间
阅读全文
摘要:模拟一副扑克牌(不包括大小王),然后写一个方法,模拟洗牌行为。再写一个方法,将扑克牌发给4个玩家,最后输出每个玩家手里拿到的12张扑克牌。
阅读全文
摘要:写一个方法,给一个字符串数组排序,要求优先按照字符串长度排序,如果字符串长度相同,再按照字符串大小排序。
阅读全文
1

浙公网安备 33010602011771号