J2SE笔记
是鸽哥吖
这个作者很懒,什么都没留下…
展开
-
帮自己找bug——Junit测试
第一章 Junit测试1.1 测试分类分类黑盒测试:不需要写代码,给入输入值,看程序是否能够输出期望的值;白盒测试:需要写代码,需要关注程序具体的执行流程。Junit使用的是白盒测试:步骤:定义一个测试类(测试用例)建议格式:测试类名:被测试的类名Test e.g. CalculatorTest包名:xxx.xxx.xx.test e.g. cn.wzt.test定义测试方法:可以独立运行建议格式:方法名:test测试的方法名 e.g. testAdd()原创 2020-08-12 17:46:29 · 310 阅读 · 0 评论 -
Lambda 好兄弟 : :
方法引用(:????1.1 方法引用符双冒号 :: 为引用运算符,而它所在的表达式被称为方法引用。如果Lambda要表达的函数方案已经存在于某个方法的实现中,那么则可以通过双冒号来引用该方法作为Lambda的替代者。1.1.1 语义分析示例一个简单的函数式接口以应用Lambda表达式@FunctionalInterfacepublic interface Printable { void print(String str);}测试类public class Demo01Print原创 2020-08-12 17:33:59 · 151 阅读 · 0 评论 -
深入学习函数式编程(Lambda接口)
第一章 函数式接口1.1 概念函数式接口:有且仅有一个抽象方法的接口。适用于函数数式编程场景的接口。而Java中的函数式编程体现就是Lambda,所以函数式接口就是可 以适用于Lambda使用的接口。只有确保接口中有且仅有一个抽象方法,Java中的Lambda才能顺利地进行推导。1.2 语法格式接口(有且仅有一个抽象方法):修饰符 interface 接口名称 { public abstract 返回值类型 方法名称(可选参数信息); // 其他非抽象方法内容 // ..原创 2020-08-12 17:31:40 · 438 阅读 · 0 评论 -
面向结果编程——Lambda
第一章 Lambda1.1 函数式编程思想面向对象过分强调“必须通过对象的形式来做事情”,而函数式思想则尽量忽略面向对象的复杂语法——强调做什么,而不是以什么形式做。面向对象的思想:做一件事情,找一个能解决这个事情的对象,调用对象的方法,完成事情。函数式编程思想:只要能获取到结果,谁去做的,怎么做的都不重要,重视的是结果,不重视过程。1.2 Lambda标准格式Lambda格式由3个部分组成:一些参数。小括号内的语法与传统方法参数列表一致:无参数则留空;多个参数则用逗号分隔。一个箭头。-&原创 2020-08-12 17:28:53 · 1557 阅读 · 0 评论 -
“畅游”线程池
前提学习目标能够理解线程通信概念能够理解等待唤醒机制了解生产者和消费者之间的关系第一章 等待唤醒机制1.1 线程间通信概念:多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相同。例如:产品(同一份资源)由生产者(线程A)生产,消费者(线程B)购买使用。同一份资源:产品;线程:生产者、消费者;线程任务:生产者生产产品、消费者购买使用产品。处理线程间通信的原因: 在默认情况下,当多个线程并发执行时,CPU是随机切换线程的。当我们需要多个线程来共同完成一件任务,并且原创 2020-08-12 17:19:01 · 129 阅读 · 0 评论 -
深入学习多线程
第一章 创建线程创建线程的方式有两种:一种是继承Thread类方式、一种是实现Runnable接口方式。1.1 继承Thread的方式:自定义线程类继承Threadpublic class MyThread extends Thread{ public MyThread() { } // 定义指定线程名称的构造方法 public MyThread(String name) { super(name); } @Override原创 2020-08-12 17:14:06 · 176 阅读 · 0 评论 -
多线程简要记录
前言学习目标了解进程的概念了解线程的概念能够理解并发与并行的区别能够开启新线程第一章 多线程1.1 并发与并行并发:指两个或多个事件在同一个时间段内发生。(交替执行)并行:指两个或多个事件在同一时刻内发生。(同时执行) 例如在操作系统中,有单CPU系统和多CPU系统。 在一段时间内,单CPU系统中的多个程序同时运行是由于这些程序虽然采用分时交替运行,但程序之间交替运行时间非常短,而且现代CPU速率快,就造成了同一时间段的多个程序同时运行的感受。(并发) 而多CPU系统中,运原创 2020-08-12 17:03:58 · 118 阅读 · 0 评论 -
系统学习异常笔记
前言学习目标1.能够辨别程序中的异常和错误的区别2.说出异常的分类3.说出虚拟机处理异常的方式4.列举出常见的三个运行期异常5.能够使用try…catch关键字处理异常6.能够使用throws关键字处理异常7.能够自定义异常类第一章 异常1.1 异常概念异常:指在程序运行过程中,出现非正常的情况,导致jvm的非正常停止。 在java等等面向对象的编程语言中,异常本身是一个类,能产生异常就是在创建异常对象并抛出了一个异常对象。java中处理异常的方式是中断处理。1.2 异常体系异原创 2020-08-12 16:56:06 · 146 阅读 · 0 评论 -
异常语法简要记录
1.1 异常概述在程序中,错误可能产生于程序员没有预料到的各种情况,或者是超出了程序员可控范围的环境因素。1.2 处理程序异常错误1.2.1 错误异常产生时,若不做任何处理,程序将会被终止。例如,程序中做一个算数运算 (int result = 3/0;),程序运行结果报AE(ArithmeticException,算术异常),程序没有正常运行下去,提前结束。1.2.2捕捉...原创 2019-12-31 14:00:22 · 160 阅读 · 0 评论 -
天生双子星——Map集合
Map第一章 Map集合1.1 概述像现实生活中遇见的一般: IP 地址与主机名、身份证号与个人、系统用户名与系统用户对象等等一一对应的关系,这类关系就叫做映射。在 JAVA 中提供了专门的集合类用来存放这种对象关系的对象,即 java.util.Map 接口。Map接口下的集合与Collection接口下的集合存储数据的形式不同。Map接口Collection接口双列集合规范单列集合规范Map<K,V>Collection a. Collecti原创 2020-08-12 16:37:45 · 173 阅读 · 0 评论 -
Collection集合及其工具类简要记录
前言学习顶层接口/抽象类中的共性方法;底层不是接口就是抽象类,无法创建对象使用,需要使用底层的子类创建对象使用。第一章Collection接口Collection接口树状关系图 Collection接口 / \ / \ / \原创 2020-08-12 16:34:15 · 216 阅读 · 0 评论 -
小记(可变参数)
第一章 可变参数1.1 使用前提遇到方法的参数列表数据类型已经确定,但是参数的个数不确定,可以使用可变参数。1.2 使用常常在自定义的方法中使用: 修饰符 返回值类型 方法名(数据类型 … 变量名) { }1.3 原理可变参数底层是一个数组。根据传递参数个数不同,创建不同长度的数组,来存储这些参数传递的参数个数(num>=0)。1.4 注意事项 a.一个方法的参数列表只能有一个可变参数; b.若方法的参数有多个,那么可变参数必须写在参数列表的末尾。示例:// a.错误原创 2020-07-16 16:48:00 · 126 阅读 · 0 评论 -
switch选择结构小记
选择结构-switch的格式:switch(表达式) { case 值1: 语句体1; break; case 值1: 语句体1; break; ... default: 语句体N+1; break; // 最后一个break跳出可省略,但建议保留} switch语句注意事项1.switch后面的( )中能放置的数据类型:基本数据类型:byte/sho...原创 2020-05-06 18:06:44 · 263 阅读 · 0 评论