接口定义增强        在java从一开始到现在接口之中的核心组成部分:抽象方法与全局常量,但是随着技术的不断发展,用户在使用过程之中发现了有一些问题        如果说现在有一个接口经过了长年的使用,这个接口已经有了10W 个子类了,突然有一天你的老板说,接口里增加一个抽象方法         并且要求这些接口子类的方法都一样,如果不同,一个个实现,如果相同呢?实现到死         那么为了解决这样的问题,从JDK1.8开始为接口里面追加了两种方法的定义: default 定义普通方…
StudyLambda    Lambda 指的是函数式编程,现在最为流行的编程模式为面向对象,很多的开发者并不认可面向对象,所以很多的开发者宁愿继续使用 C 语言进行开发,也不愿意使用java,c++    但是随着整个行业的技术发展,函数编程语言已经开始被很多的人所认可,于是java也是被迫环境因素追加了 Lambda    如果要想去理解 Lambda 表达式设置的背景,就需要首先理解匿名内部类    匿名内部类解决的问题:对于抽象类或接口的子类如果发现其只使用一次,那么就没有必要将其定义…
Annotation        多例模式特点:            1. 多例类可以有多个实例            2. 多例类必须自己创建自己的实例,并管理自己的实例,和向外界提供自己的实例                    实际的例子....一副麻将有两颗色子.色子就是多例类,每颗都代表不同的状态... public class Dice { private static final Dice dice1 = new Dice(); private static final Di…
异常的捕获及处理        1.异常的产生分析以及所带来的影响        2.异常的处理的基本格式        3.异常的处理流程        4.异常的处理模式        5.自定义异常                java中最为优秀的设计就在于异常的处理上,而且很简单        认识异常 异常都是从Throwable类派生出来的,而Throwable类是直接从Object类继承而来.你可以在Java SE官方API文档中获取更多关于它们的知识. 异常通常有四类: Err…
静态导入的实现        为了理解静态导入的操作产生的动机,下面通过一个具体的代码来观察        范例:现在有一个 Import 的类,这个类中的方法全部都是 static 方法 package cn.mldn.util; public class Import { public static int add(int x,int y) { // TODO Auto-generated method stub return x + y; } public static int mul(i…
线程与进程        线程与进程的区别                最早的的时候DOS 系统有一个特点:只要电脑有病毒,那么电脑就死机了,是因为传统的DOS 系统属于单进程的操作系统        即:在同一个时间段内只允许有一个程序运行.        而后来到了window 时代发生了改变,电脑即使有病毒了也可以照常使用,但是会变慢        因为在一个CPU ,一块资源的情况下,程序利用一些轮转算法,可以让一个资源在一个时间段上可以同时处理多个不同的程序(进程),但是i在一个时间…
泛型 GenericParadigm        1.泛型的产生动机        2.泛型的使用以及通配符        3.泛型方法的使用                JDK1.5 后的三大主要新特性:泛型,枚举,Annotation                泛型的产生背景 在 Java SE 5.0 以前操作集合有许多缺点: 一是从集合取出对象时,需要执行类型转换操作,我们在前面讲过,集合中存储都是以 Object 对象进行存储的,这无疑让我们的操作变得麻烦. 二是由于没有类型检…
.新特性        可变参数的意义以及实现                那么下面通过一个简单的思考来分析可变参数的存在意义        范例:如果说现在要定义一个方法,这个方法可以实现任意多个整型数据的相加            那么现在唯一可以想到的方法的实现思路就是利用数组作为方法的参数 package cn.mysterious; public class NewCharacteristics { public static void main(String[] args) { /…
自动转换原则 数据范围保存大的数据类型要转换为数据范围保存小的数据类型,使用强制转换(强制转型就是在变量的前面加括号,在括号里写上需要强制要转的类型.) 数据范围保存小的数据类型可以自动转换为数据范围大的数据类型 //如果数据的大小没有超过byte/short/char的表述范围,则可以自动转型. char c4 = 'a'; int i = c4 + 2; char c5 = (char)i; // 强制转型 System.out.println(c5); int a5 = 10; long…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多线程第三十五章:如何获取线程被等待的时间? 下一章 "全栈2019"Java多线程第三十六章:如何设置线程的等待截止时间 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复&qu…