自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 Lambda表达式简化Runnable接口的匿名内部类写法。

Lambda表达式简化Runnable接口的匿名内部类写法。 点进去Lambda接口中去发现,只有一个抽象方法, 并且有@FunctionalInterface(函数式接口的注解)。 有了这个注解的接口就是函数式接口,这个有且仅有一个接口*/public class ThreadPoolDemo03 {public static v...

2018-11-28 23:06:42 6301

原创 Callable接口

创建一个线程池: Callable接口来作线程池。 步骤: 1.创建一个线程池做对象。 2.创建线程任务对象,Callable对象。 3.submit(Callable call),把线程任务对象提交给线程池,线程池会自动创建线程对象,并启动。 4.通过提交一个任务对象:Future<String> task1....

2018-11-28 23:05:06 1142

原创 线程池的使用

线程池: 如果高并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大的降低系统的效率。 因为创建线程和销毁线程需要时间。 在大型项目中,可能出现某个时刻很多的用户来访,每个用户都是一个线程的话。 后台系统就要频繁的创建和销毁线程。频繁创建和销毁线程非常消耗资源。线程池:其实就是一个可以容纳多个线程的容器。其中线程可...

2018-11-28 23:03:39 145

原创 Predicate接口

/***Predicate:接口的默认方法: 可以实现条件中的与&&或||非! 判断。 通过默认方法实现。*/import java.util.function.Predicate;/**Predicate接口:条件判断。 对某种数据类型进行判断,从而得到一个boolean值结果。*/public cl...

2018-11-28 23:02:10 1417 1

原创 Supplier使用

import java.util.function.Supplier;/**求数组元素最大值:开发步骤: (1)先定义一个方法去获取数组的最大值。 (2)创建一个Supplier对象生产一个最大值传给printMax方法。小结:只需要专注要做什么,求数组最大值即可。结果数据,由提供的方法自动获取自动输出。*/public ...

2018-11-28 22:51:41 2534 1

原创 函数式接口:supplier接口

/**supplier接口:函数式接口。 生产结果数据返回:生产者接口。*/public class SupplierDemo01 {public static void main(String[] args) {//使用自定义的函数式接口作为方法参数。 add(()->"李四",()->"王五");}public static void add(...

2018-11-28 22:48:45 724

原创 线程池

/**线程池:1.创建线程池(ExecutorService) 真正的线程池接口:java.util.concurrent.ExecutorService. Runnable形式。2.创建线程池的步骤: 1.创建一个线程池。 2.通过Executors下的一个静态方法newFixedThreadPool(int nums),创建一个固定...

2018-11-28 22:46:20 254

原创 Lambda表达式

package com.itheima._day07Lambda表达式的详细使用;/**Lambda表达式:Lambda表达式是函数式编程思想的核心技术。Lambda表达式是用来简化匿名内部类代码的写法。JDK1.8以后的新技术。JDK1.8之后才可以使用。Lambda表达式的简化格式(重点)(形参列表)->{//被化简的匿名内部类对象中,重写方...

2018-11-28 22:45:13 104

原创 函数式编程思想

/***函数式编程思想概括: 函数式编程是Java的新技术,是一种新的设计思想,目的是为了简化代码! 面向对象过分强调“必须通过对象的形式来做事情,” 而函数式思想,则尽量忽略面向对象的复杂语法。 强调做什么,而不是以什么形式做,要干嘛就干嘛! 简化了代码。核心思想: 例如:我们在创建一个线...

2018-11-28 22:39:00 736

原创 线程的使用方式一

/**1.创建Thread类的子类,并在子类重写run()方法,将线程相关的代码写到run()方法中。2.创建子类对象,即创建线程对象。3.使用子类对象调用start()方法,启动线程。*/public class Demo01_线程的使用方式一{public static void main(String[] args) { //创建线程对象 MyThread m...

2018-11-28 22:32:18 112

原创 多线程

*多线程:1.程序、进程、线程、并发,并行。程序:静止的代码。进程:运行中的程序就是进程。 进程的特点: --动态性:进程是动态运行的,动态占用内存和CPU。 --独立性:进程是独立占用内存和CPU,进程与进程是相互独立,互不影响。(进程与进程之间通信相对麻烦)。 --并发性:多个进程抢占CPU的使用。...

2018-11-23 22:30:16 98

原创 finally代码块

import java.io.FileInputStream;/*try-catch的完整结构 try{} catch(异常变量 变量){} catch(异常类型 变量){} catch(异常类型 变量){} finally{}格式注意: try只能有一个。 catch可以出现0-n个。 finally可以出...

2018-11-23 22:29:20 216

原创 异常的处理

异常的处理: 异常处理的两种方式: 1.从方法上面把方法中出现的异常,通过throws关键字抛出去给方法的调用者。 修饰符 <返回值类型 > 方法名称(形参列表 ) throws 异常类型1,异常类型2,.....{} 2.方法内部捕捉并处理 try...catch.... try-catch格式: ...

2018-11-23 22:27:46 91

原创 常见的运行时异常

1.ArrayIndexOutofBoundsException:数组索引越界异常.2.NullPointException:空指针异常。 注意: --如果只是输出空指针变量,程序是没有问题的。 --但是如果用空指针变量去调用方法等操作,就会出现错误。3.ClassCastException:类型转换异常.4.ArithemticExcep...

2018-11-23 22:24:25 1873

原创 异常的体系

异常的体系。Java是面向对象的,用了一个类来代表异常:Exception.完整体系 Throwable(异常的根类) / \ Error Exception ...

2018-11-23 22:22:42 228

原创 可变参数

import java.util.Arrays;/***可变参数:—只传输的形参个数可以改变。格式:–一般用于方法中,获取构造器的形参中。方法:修饰符 返回值类型 方法名称(数据类型…参数名称){}构造器中:修饰符 类名(数据类型…参数名称){}可变参数小结:使用比较灵活。 ----可以不传输参数调用。 ----可以传输多...

2018-11-23 22:19:59 131

原创 Map集合计算字符的个数

import java.util.HashMap;import java.util.Map;import java.util.Scanner;public class Demo07_Day04_Map集合计算字符的个数 {public static void main(String[] args) { //创建Map集合的对象 Map<Character,Integ...

2018-11-23 22:17:38 303

原创 Map集合遍历的三种方式

import java.util.HashMap;import java.util.Map;import java.util.Set;/***Map集合的遍历: ----一个一个的元素取出来(包含:(key,value)).Map集合遍历的三种方式: 第一种方式:键找值,先获取Map集合的全部键,然后再获取Map集合的全部值。 第二...

2018-11-22 23:08:42 770

原创 Map集合的常用方法

import java.util.*;/*Map集合的常用方法: ---put()方法:添加指定的key值,和制定的value值到Map集合中。 ---remove方法:把指定键,所对应的键值对元素,在Map集合中删除;返回被删除元素的值。 ---get()方法:获取指定键,在Map集合中获取对应的值。 ...

2018-11-22 23:07:23 357

原创 Map集合简述

import java.util.HashMap;import java.util.Map;/*Map集合是Map根类。Map<K,V>:接口:K:此映射所维护的键的类型;V:映射值的类型。 / HashMap<T,V>:实现类,可以使用。 /LinkedHashMap<T,V>:实现类,可以使用。...

2018-11-22 23:06:27 303

原创 Collections类的使用

import javafx.print.Collation;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;/**Collections类:是一个操作集合的工具类;与Collection没有关系。Collectio...

2018-11-22 23:04:21 581

原创 Set系列集合HashSet的使用

import java.util.HashSet;import java.util.Set;/**HashSet集合:无序,无索引,不可重复。HashSet不重复的原因:--对于基本数据类型:直接比较是否相同重复。--对于引用数据类型:(1)首先会让两个对象调用hashCode()的方法来获取哈希值(所谓的内存地址:其实是一个整数),进行比较。如果两个哈希值不一样则认...

2018-11-22 23:02:31 355

原创 LinkedList的使用

import java.util.LinkedList;/**LinkedList集合:有序,有索引,可重复,基于链表的实现,查询慢,增删快。(双链表)链表结构的首尾可以直接定位,所以LinkedList的首尾操作性能是比较好的。LinkedList提供了许多首尾元素操作的功能API -----addFirst(E e):将指定元素插入此列表的开头。...

2018-11-22 22:59:59 124

原创 List系列集合四种遍历方式

import java.util.ArrayList;import java.util.Iterator;import java.util.List;/***List集合继承自Collection集合,因此,有Collection的三种遍历方式。因为List系列集合存在索引,他本身还可以通过索引来实现遍历。所以List系列集合总共有四种遍历方式。List集合的四种遍历方...

2018-11-22 22:58:25 3972

原创 Collection集合体系

Collection集合体系: Collection<E></接口> / \ Set<E></接口> List<E></接口> / ...

2018-11-22 22:57:01 545

原创 List系列集合的常用方法

import java.util.ArrayList;import java.util.List;/**List集合常用的独有功能,API ----add(int index,E element):将指定的元素添加到该集合的指定位置上。 ----get(int index):返回集合中指定位置的元素。 ----remove(int...

2018-11-22 22:54:47 1973 1

原创 数据结构简述

/**数据结构:数据用什么样的方式,组合在一起。Java常见的数据结构: ----栈,队列,线性表,链表,红黑树。1.栈栈的特点:先进后出。 栈:stack,又称堆栈,它是运算受限的线性表,其限制仅允许,在栈的一端进行插入和删除操作,不允许在其他的位置进行添加,查找,删除等操作。2.队列队列:queue,又简称队,也是一种运算受限的线性表,其限...

2018-11-22 22:52:52 254

翻译 Iterator迭代器的使用

import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;/**Iterator迭代器:遍历集合,获取该集合的迭代器完成迭代操作。格式:Iterator<> 变量名=集合.iterator();Iteratro的常用方法:hasNext()方法:若集合仍...

2018-11-19 22:52:43 292

翻译 集合的常用方法

import java.util.ArrayList;import java.util.Arrays;import java.util.Collection;/**Collection集合的常用方法:add():把给定的对象添加到当前集合中.clear():清空集合中所有的元素。remove():把给定的对象在当前集合中删除。isEmpty():判断当前集合是否...

2018-11-19 22:36:07 254

翻译 泛型的通配符

import java.util.ArrayList;import java.util.Collection;/**泛型的通配符:不知道使用什么类型来接收的时候,此时可以使用?,?表示未知通配符。注意:泛型不存在任何继承关系。通配符的高级使用----受限泛型。泛型的上限:格式:类型名称 <? extends 类 >...

2018-11-19 22:34:49 136

翻译 Demo_泛型的概述及定义格式

/*泛型实际上是用来约束一个类可以操作的具体数据类型。例如:集合如果不加泛型,它可以存放任意类型的元素。注意:泛型是不支持基本数据类型的。泛型方法定义格式:修饰符 <代表泛型的变量> 返回值类型 方法名(参数){  }泛型接口定义格式:修饰符 interface接口名<代表泛型的变量> {&...

2018-11-19 22:33:41 418

翻译 斗地主洗牌发牌的逻辑

import java.util.ArrayList;import java.util.Collection;import java.util.Collections;import java.util.LinkedList;public class Demo_斗地主洗牌发牌的逻辑 {public static void main(String[] args) {ArrayList&...

2018-11-19 22:06:14 1095

翻译 JDK8后的遍历集合新技术

import java.util.ArrayList;import java.util.Collection;public class Demo_JDK8后的遍历集合新技术 {public static void main(String[] args) { //创建集合对象: Collection <String> nums=new ArrayList<...

2018-11-19 22:04:14 3283

翻译 Object类的介绍

/**Object类:Java类中的一切类的祖宗类;Java类直接或间接的继承Object类;Object类的常用方法:toString()方法:默认输出堆内存的所谓地址。意义:为了被子类重写以便输出对象的详细内容。equals()方法:默认比较两个地址是否一样。意义:为了被子类重写,以便程序员自己来指定比较规则。默认比较地址时与”...

2018-11-18 20:56:13 120

翻译 System系统类的使用

/**System系统类:代表的是操作系统.常用的方法:currentTimeMillis()方法:获取当前的时间毫秒值。arraycopy()方法:将数组指定的数据拷贝到另一数组中。参数1:被复制的数组。参数2:从哪个索引位置开始复制。参数3:目标数组。参数4:从目标数组哪个索引开始放。参数5:复制几个数组。exit()方法:参...

2018-11-18 20:55:07 233

翻译 包装类的使用

/**包装类:基本类型 对应的包装类(位于java.lang包中)byte Byteshort Shortint Integerlong ...

2018-11-18 20:53:58 202

翻译 StringBuildar的使用

/***StirngBuilder类的详细使用:背景:(1)String 类一旦定义字符串便不可改变。(2)String 类运算实际上,产生新的对象,同时会产生垃圾的对象;性能差。(3)StringBuilder类,是可变字符串对象,很适合做字符串运算;性能好。例子:String str=str0+str1;产生垃圾对象。StringBuild...

2018-11-18 20:53:09 150

翻译 Date类的使用

import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;/**Date类的使用构造器:(1)public Date();创建当前此刻日期对象。(2)public Date(long timer...

2018-11-18 20:51:43 708

翻译 Calendar类的使用

/**Calendar是抽象类,不能直接创建对象。使用静态方法getInstance()创建,返回Calendar的子类的对象。Calendar类的常用基本静态方法。(1)get()方法,获取想要的日历信息。*(2)set()方法,修改某个字段的值。(3)add()方法,将指定的时间量,添加或减去给定的日历字段。(4)getTimeInMillis()方法,获取时间的毫秒值。*...

2018-11-18 20:50:10 3010

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除