
笔记
文章平均质量分 82
魏帅坤
这个作者很懒,什么都没留下…
展开
-
JavaSE就业面试重点
- 详细介绍下static关键字的使用?(静态类、静态方法使用);static关键字是静态的意思,是java中的一个修饰符,可以修饰成员方法,成员变量.被static修饰的特点:1,被类的所有对象共享是我们判断是否使用静态关键字的条件2,随着类的加载而加载,优先于对象存在对象需要类被加载后,才能创建3,可以通过类名调用也可以通过对象名调用- Java继承好处和坏处,详细介绍;继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,以及追加属性和方法通过ex原创 2021-01-15 16:44:27 · 196 阅读 · 0 评论 -
笔记 -18- 单元测试工具JUnit 日志Log4J
1.单元测试1.1概述【理解】JUnit是一个 Java 编程语言的单元测试工具。JUnit 是一个非常重要的测试工具1.2特点【理解】JUnit是一个开放源代码的测试工具。提供注解来识别测试方法。JUnit测试可以让你编写代码更快,并能提高质量。JUnit优雅简洁。没那么复杂,花费时间较少。JUnit在一个条中显示进度。如果运行良好则是绿色;如果运行失败,则变成红色。1.3使用步骤【应用】使用步骤将junit的jar包导入到工程中 junit-4.9.jar编写测试方法该原创 2021-01-07 21:12:30 · 502 阅读 · 1 评论 -
笔记 -17- xml概述 枚举 注解
1.xml1.1概述【理解】万维网联盟(W3C)万维网联盟(W3C)创建于1994年,又称W3C理事会。1994年10月在麻省理工学院计算机科学实验室成立。建立者: Tim Berners-Lee (蒂姆·伯纳斯·李)。是Web技术领域最具权威和影响力的国际中立性技术标准机构。到目前为止,W3C已发布了200多项影响深远的Web技术标准及实施指南,如广为业界采用的超文本标记语言HTML(标准通用标记语言下的一个应用)、可扩展标记语言XML(标准通用标记语言下的一个子集)以及原创 2021-01-07 09:18:53 · 170 阅读 · 0 评论 -
笔记 - 16 - 类加载器 反射
1.类加载器1.1类加载器【理解】作用负责将.class文件(存储的物理文件)加载在到内存中1.2类加载的过程【理解】类加载时机创建类的实例(对象)调用类的类方法访问类或者接口的类变量,或者为该类变量赋值使用反射方式来强制创建某个类或接口对应的java.lang.Class对象初始化某个类的子类直接使用java.exe命令来运行某个主类类加载过程加载通过包名 + 类名,获取这个类,准备用流进行传输在这个类加载到内存中加载完毕创建一个class对象原创 2021-01-05 20:42:53 · 171 阅读 · 0 评论 -
笔记-15 网络编程入门 UDP通信程序 TCP通信程序 练习
问答题题目1请写出端口号的范围0 ~ 65535题目2判断下列说法是否正确:由于TCP是面向连接的协议,可以保证数据的完整性,因此在传输重要数据时建议采用TCP协议.正确,TCP协议是面向连接的,有3次握手的过程,可以保证数据的完整性;题目3TCP协议中”三次握手”,指的是什么?第一次握手,客户端向服务器端发出连接请求,等待服务器确认第二次握手,服务器端向客户端回送一个响应,通知客户端收到了连接请求第三次握手,客户端再次向服务器端发送确认信息,确认连接对应的代码就是 创建客原创 2021-01-05 19:48:24 · 526 阅读 · 2 评论 -
笔记-15 网络编程入门 UDP通信程序 TCP通信程序 服务端优化
1.网络编程入门1.1 网络编程概述【理解】计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统网络编程在网络通信协议下,不同计算机上运行的程序,可以进行数据传输1.2 网络编程三要素【理解】IP地址要想让网络中的计算机能够互相通信,必须为每台计算机指定一个标识号,通过这个标识号来指定要接收数据的计算机和识别发送的计算机,而IP地址就是这个标识号。原创 2021-01-03 21:17:33 · 249 阅读 · 0 评论 -
笔记 - 14 多线程 synchronized CountDownLatch wait notify 练习
题目1请利用线程间通信, 完成连续打印1-100的数字, 要求一条线程专门打印奇数,另外一条专门用来打印偶数要求:1:数字打印必须是有序的,既1–100的顺序不能乱;2:必须使用多线程技术;效果: …参考答案:public class A { public static int number = 1; public static void main(String[] args) { Object lock = n原创 2021-01-03 21:03:42 · 519 阅读 · 1 评论 -
笔记-14-多线程 线程池 volatile 悲观锁和乐观锁 并发工具类ConcurrentHashMap
1.线程池1.1 线程状态介绍当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。线程对象在不同的时期有不同的状态。那么Java中的线程存在哪几种状态呢?Java中的线程状态被定义在了java.lang.Thread.State枚举类中,State枚举类的源码如下:public class Thread { public enum State { /* 新建 */ NEW , /* 可运行状态原创 2021-01-02 20:57:06 · 559 阅读 · 0 评论 -
笔记-13-多线程 Thread方法 线程安全 生产者和消费者 死锁和阻塞 练习
题目1编写程序,创建两个线程对象,一根线程循环输出“播放背景音乐”,另一根线程循环输出“显示画面”;要求:1: 1个线程使用Runnable接口的匿名内部类实现2: 另一个线程使用lambda实现效果:参考答案:public static void main(String[] args) { //匿名内部类 new Thread(new Runnable() { @Override public void run原创 2021-01-02 18:07:14 · 2016 阅读 · 8 评论 -
笔记-13-多线程 Thread方法 线程安全 生产者和消费者 死锁和阻塞
1.实现多线程1.1简单了解多线程【理解】是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多个线程,提升性能。1.2并发和并行【理解】并行:在同一时刻,有多个指令在多个CPU上同时执行。并发:在同一时刻,有多个指令在单个CPU上交替执行。1.3进程和线程【理解】进程:是正在运行的程序独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位动态性:进程的实质是程序的一次执行过程,进程是动态产生,原创 2020-12-31 16:58:49 · 273 阅读 · 0 评论 -
笔记 - 12 字符流 对象操作流 Properties 练习
题目1[字符流]请使用“便捷字符流”配合数组将文件"窗里窗外"的内容打印到控制台,并统计出读文本共使用的时间;效果:参考代码:public static void main(String[] args) throws IOException { long t1 = System.currentTimeMillis(); FileReader fr = new FileReader("窗里窗外.txt",Charset.forName("gbk"));原创 2020-12-31 13:43:47 · 939 阅读 · 0 评论 -
笔记 - 12 字符流 对象操作流 Properties
1.字符流1.1为什么会出现字符流【理解】字符流的介绍由于字节流操作中文不是特别的方便,所以Java就提供字符流字符流 = 字节流 + 编码表中文的字节存储方式用字节流复制文本文件时,文本文件也会有中文,但是没有问题,原因是最终底层操作会自动进行字节拼接成中文,如何识别是中文的呢?汉字在存储的时候,无论选择哪种编码存储,第一个字节都是负数1.2编码表【理解】什么是字符集是一个系统支持的所有字符的集合,包括各国家文字、标点符号、图形符号、数字等l计算机要准确的存储和识别各原创 2020-12-30 20:47:23 · 223 阅读 · 0 评论 -
笔记 -11- File. IO概述 字节流 缓冲流 练习
day11-File与IO课后作业题题目1[File]请在D盘根目录下创建一个文件:test1.txt(随意录入一些内容),再创建一个目录:测试目录要求:获取、打印file1和file2的绝对路径;获取、打印file1和file2的文件名和目录名;获取、打印file1和file2的文件大小;分别判断file1和file2是否存在;分别判断file1和file2是否是文件?是否是目录?效果:参考代码:public static void main(String原创 2020-12-28 20:36:35 · 1323 阅读 · 5 评论 -
笔记 -11- File. IO概述 字节流 缓冲流
1.File类1.1File类概述和构造方法【应用】File类介绍它是文件和目录路径名的抽象表示文件和目录是可以通过File封装成对象的对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已.它可以是存在的,也可以是不存在的.将来是要通过具体的操作把这个路径的内容转换为具体存在的File类的构造方法方法名说明File(String pathname)通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例File(Strin原创 2020-12-27 19:02:19 · 241 阅读 · 0 评论 -
笔记 - 10 集合(可变参数 Stream流) 练习
题目1[可变参数]定义一个方法,可以求出任意个整数的和.然后在主方法中调用.要求:调用方法的时候,实参随便写就行,本题重点考察的是自定义方法的形参设计;效果:(实参随便写,所以求和的结果不一样也行)参考代码:public static void main(String[] args) { int i1 = add2(1, 2); int i2 = add2(2,3,4); int i3 = add2(100, 200,300,400);原创 2020-12-26 16:41:47 · 1298 阅读 · 3 评论 -
笔记 - 10 集合(可变参数 Stream流)
1.可变参数1.1可变参数【应用】可变参数介绍可变参数又称参数个数可变,用作方法的形参出现,那么方法参数个数就是可变的了方法的参数类型已经确定,个数不确定,我们可以使用可变参数可变参数定义格式修饰符 返回值类型 方法名(数据类型… 变量名) { }可变参数的注意事项这里的变量其实是一个数组如果一个方法有多个参数,包含可变参数,可变参数要放在最后可变参数的基本使用public class ArgsDemo01 { public static void原创 2020-12-25 21:13:10 · 215 阅读 · 0 评论 -
笔记 09-集合(HashSet HashMap TreeMap) 练习
题目1假如你有3个室友,请使用HashSet集合保存3个室友的信息;信息如下:赵丽颖,18范冰冰,20杨幂,19要求:1:室友以对象形式存在,包含姓名和年龄两个属性;2:使用代码保证集合中同名同年龄的对象只有一份;(相同姓名和年龄的对象认为是同一个对象)效果:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9z2H0fQe-1608896298578)(assets/1.png)]参考答案:public class ShiYou { privat原创 2020-12-25 19:41:58 · 686 阅读 · 0 评论 -
笔记 集合(红黑树 HashSet Map HashMap TreeMap)
1.红黑树1.1概述【理解】红黑树的特点平衡二叉B树每一个节点可以是红或者黑红黑树不是高度平衡的,它的平衡是通过"自己的红黑规则"进行实现的红黑树的红黑规则有哪些每一个节点或是红色的,或者是黑色的根节点必须是黑色如果一个节点没有子节点或者父节点,则该节点相应的指针属性值为Nil,这些Nil视为叶节点,每个叶节点(Nil)是黑色的如果某一个节点是红色,那么它的子节点必须是黑色(不能出现两个红色节点相连 的情况)对每一个节点,从该节点到其所有后代叶节点的简单原创 2020-12-24 19:44:22 · 228 阅读 · 1 评论 -
笔记-09 - 集合(泛型 Set TreeSet 二叉树) 练习
编程题【Set接口】题目1已知数组信息如下:{2.2,5.5,6.6,2.2,8.8,1.1,2.2,8.8,5.5,2.2,6.6}请使用代码找出上面数组中的所有的数据,要求重复的数据只能保留一份;要求:使用HashSet集合实现;效果:参考答案:public static void main(String[] args) { double[] arr = {2.2,5.5,6.6,2.2,8.8,1.1,2.2,8.8,5.5,2.2,6.6}; Ha原创 2020-12-24 18:56:04 · 583 阅读 · 1 评论 -
笔记-09 - 集合(泛型 Set TreeSet 二叉树)
1.泛型1.1泛型概述【理解】泛型的介绍 泛型是JDK5中引入的特性,它提供了编译时类型安全检测机制泛型的好处把运行时期的问题提前到了编译期间避免了强制类型转换泛型的定义格式<类型>: 指定一种类型的格式.尖括号里面可以任意书写,一般只写一个字母.例如: <类型1,类型2…>: 指定多种类型的格式,多种类型之间用逗号隔开.例如: <E,T> <K,V>1.2泛型类【应用】定义格式修饰符 class 类名&原创 2020-12-23 21:20:08 · 249 阅读 · 0 评论 -
笔记 08 - 集合(Collection 增强for List LinkedList)练习
问答题【Collection接口】1.1 请问Collection接口下有哪些类型的集合?它们分别是什么?ArrayList.LinkedList.(List) : 存取有序,有索引,元素可重复 set 元素不可重复1.2 请问Collection接口中定义的方法,它的所有子类是否都有,而且都会实现这些方法?有,会1.3 请问向Collection集合添加一个元素用什么方法?add()1.4 请问从Collection集合中删除一个元素用什么方法?这个方法有返回值吗?rem原创 2020-12-23 20:13:44 · 1877 阅读 · 1 评论 -
笔记 - 08 - 集合(Collection 增强for List LinkedList)
1.Collection集合1.1数组和集合的区别【理解】相同点都是容器,可以存储多个数据不同点数组的长度是不可变的,集合的长度是可变的数组可以存基本数据类型和引用数据类型集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类1.2集合类体系结构【理解】1.3Collection 集合概述和使用【应用】Collection集合概述是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素JDK 不提供此接口的任何直接实现.原创 2020-12-23 16:52:28 · 188 阅读 · 0 评论 -
笔记06 - 时间类 - 异常
编程题(时间日期相关)题目1请在控制台以“xxxx年xx月xx日 xx时xx分xx秒”的格式打印当前系统时间。要求:1:使用Date+SimpleDateFormat完成一遍,2:再使用LocalDateTime+DateTimeFormatter完成一遍;提示:获取当前时间对象之后,直接利用格式化工具格式化即可;参考代码: public static void main(String[] args) { //方式1 Date d = new Date();原创 2020-12-21 21:20:47 · 898 阅读 · 1 评论 -
笔记07 - 常用API - 异常 - 02
1.时间日期类1.1 Date类(应用)计算机中时间原点1970年1月1日 00:00:00时间换算单位1秒 = 1000毫秒Date类概述Date 代表了一个特定的时间,精确到毫秒Date类构造方法方法名说明public Date()分配一个 Date对象,并初始化,以便它代表它被分配的时间,精确到毫秒public Date(long date)分配一个 Date对象,并将其初始化为表示从标准基准时间起指定的毫秒数示例代码publ原创 2020-12-20 21:08:13 · 201 阅读 · 1 评论 -
笔记06 - API(Math System BigDecimal)
day05-课后作业编程题【Math类】请编程进行以下运算:请计算3的5次幂请计算3.2向上取整的结果请计算3.8向下取整的结果请计算5.6四舍五入取整的结果参考答案:public static void main(String[] args) { System.out.println(Math.pow(3, 5)); System.out.println(Math.ceil(3.2)); System.out.println(Math.flo原创 2020-12-19 16:34:05 · 513 阅读 · 1 评论 -
笔记05 - 常用API - 01
1.API1.1 API概述【理解】什么是API API (Application Programming Interface) :应用程序编程接口java中的API 指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。1.2 如何使用API帮助文档【应用】打开帮助文档找到索引选项卡中的输入框在输入框中输入Random原创 2020-12-19 16:21:29 · 145 阅读 · 1 评论 -
笔记04-内部类和Lambda表达式
1.内部类1.1 内部类的基本使用(理解)内部类概念在一个类中定义一个类。举例:在一个类A的内部定义一个类B,类B就被称为内部类内部类定义格式格式&举例:/* 格式: class 外部类名{ 修饰符 class 内部类名{ } }*/class Outer { public class Inner { }}内部类的访问特点内部类可以直接访问外部类的成员,包括私有外原创 2020-12-17 19:09:57 · 142 阅读 · 0 评论 -
笔记03-接口和多态
1.接口1.1信息管理系统集合改进 (应用)使用数组容器的弊端容器长度是固定的,不能根据添加功能自动增长没有提供用于赠删改查的方法优化步骤创建新的StudentDao类,OtherStudentDao创建ArrayList集合容器对象OtherStudentDao中的方法声明,需要跟StudentDao保持一致注意:如果不一致,StudentService中的代码就需要进行修改完善方法(添加、删除、修改、查看)替换StudentService中的Dao对原创 2020-12-17 19:06:17 · 153 阅读 · 0 评论 -
笔记02-继承练习
问答题【继承】1.1 请问子类继承父类用什么关键字?extends1.2 请问子类继承父类的好处是什么?1:可以提升代码的复用性;2:子类对象可以直接使用父类非私有的属性和方法;1.3 请问父类的哪些成员不能被子类继承,或者不能被直接访问?私有的1.4 请问子类是否可以同时继承多个父类?不可以问答题【抽象类】4.1 请问定义抽象类、抽象方法使用的关键字是什么?abstract4.2 请问定义抽象类有什么作用?1:可以作为设计模式使用;(例如:模板模式)2:可以通过抽.原创 2020-12-17 19:00:45 · 1114 阅读 · 0 评论 -
笔记02-继承
1. 继承1.1 继承的实现(掌握)继承的概念继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,以及追加属性和方法实现继承的格式继承通过extends实现格式:class 子类 extends 父类 { }举例:class Dog extends Animal { }继承带来的好处继承可以让类与类之间产生关系,子父类关系,产生子父类后,子类则可以使用父类中非私有的成员。示例代码public class Fu {原创 2020-12-15 20:13:07 · 203 阅读 · 0 评论 -
笔记01.分类思想-static
1.案例驱动模式1.1案例驱动模式概述 (理解)通过我们已掌握的知识点,先实现一个案例,然后找出这个案例中,存在的一些问题,在通过新知识点解决问题1.2案例驱动模式的好处 (理解)解决重复代码过多的冗余,提高代码的复用性解决业务逻辑聚集紧密导致的可读性差,提高代码的可读性解决代码可维护性差,提高代码的维护性2.分类思想2.1分类思想概述 (理解)分工协作,专人干专事2.2黑马信息管理系统 (理解)Student类 标准学生类,封装键盘录入的学生信息(id , name , a原创 2020-12-15 20:08:23 · 153 阅读 · 0 评论 -
笔记-08-(2)
单选题1:下面是关于String类 API 当中与判断相关的方法,哪一个可以用于忽略大小写验证码的判断(B)A:public boolean equals(Object anObject){ … }B:public boolean equalsIgnoreCase(String anotherString){ … }C:public boolean endsWith(String suffix){ … }D:public boolean startsWith(String prefix)原创 2020-12-06 16:51:04 · 452 阅读 · 0 评论 -
笔记-08-(1)
1.训练案例11.1.需求自定义一个方法,让用户输入一个“QQ号码”,在方法中判断这个QQ号码是否合法。1.2.要求验证规则:号码长度必须是5—12位数字;首位不能是0;1.3.思路提示可以让用户通过键盘输入一个字符串数据,我们自定义的方法中接受字符串数据,然后判断字符串的长度是否合法,如果合法则遍历这个字符串,判断首位是不是1-9之间的字符,然后判断后面的每一个字符是不是0-9之间的字符,只有都合法的时候才返回true,否则返回false;package com.shengd原创 2020-12-06 16:49:40 · 128 阅读 · 0 评论 -
笔记-07-(2)
单选题1:下列信息中包含的内容不是类与对象关系的是( C)A: 学生和小明同学B: 电脑和联想Y430电脑C: 猫和狗D: 手机和华为P20手机2:下列描述正确的是(A ) cA: 类与对象之间是包含关系,类包含对象。B: 类与对象之间是等价关系,类和对象其实是同一个概念。C: 对象是类的实例,类是对象的模板。D: 通过一个类,只能创建一个对象。3:下列描述正确的是(C ) dA: 类是描述事原创 2020-12-05 21:06:58 · 819 阅读 · 0 评论 -
笔记-07-(1)
1.训练案例11.1. 训练描述:【Scanner,类和对象】一、 实现从控制台接收一个学员信息,并存储到一个对象中二、 打印这个对象的所有属性值。1.2.要求描述l 设计,并定义一个学员类:Student,要求有以下属性: 学员编号(String) 姓名(String) 性别(String) 身高(double) 年龄(int)使用封装的原则,并提供无参和全参的构造方法。1 定义MainApp类,并包含main()方法。2 程序启动后,应分别原创 2020-12-05 21:05:21 · 459 阅读 · 0 评论 -
笔记-06-(2)
day06课后作业题单选题1.下列代码的运行结果是( D)public static void main(String[] args) { int sum=0; for (int i = 1; i < 3; i++) { for (int j = 1; j < 3; j++) { sum+=i*j; } } System.out.println("sum="+sum);}A.sum=3B.sum=4C.sum=9D.sum=52.下原创 2020-12-05 21:03:26 · 211 阅读 · 0 评论 -
笔记-06-(1)
1.训练案例11.1.训练描述自定义一个方法,根据用户键盘录入的行和列,能打印出对应行对应列的矩形;例如:当用户希望打印3行5列打印出效果如下:***************当用户希望打印4行8列打印出效果如下:********************************1.2.操作步骤描述打印这种有规则的图形,可以利用循环嵌套的思路实现,内循环负责打印一行中的元素,外循环负责打印行数;import java.util.Scanner;public class Zu原创 2020-12-05 21:01:12 · 113 阅读 · 0 评论 -
笔记-05-(2)
单选题1.要想使如下代码运行结果是:我是黑马程序员,则横线处应该填写的正确代码是(C )public static void main(String[] args){ ________________________________}public static void method(){ System.out.println("我是程序员");} A:method;B:void v = method();C:method();D:method(“我是黑马原创 2020-12-05 21:00:02 · 472 阅读 · 0 评论 -
笔记-05-(1)
1. 训练案例11.1. 训练描述设计一个方法,用于比较两个数组{10,20,30,11}和{10,20,30,13}是否相同。在main方法中调用该方法测试功能数组内容相同,指的是元素个数相同,元素值相同,并且元素顺序相同,条件缺一不可。1.2. 操作步骤描述定义两个数组创建方法,比较两个数组是否相同,main方法中调用创建的方法根据返回值打印不同的内容public class ZuoYe01 { public static void main(String[] arg原创 2020-12-05 20:57:26 · 225 阅读 · 0 评论 -
笔记-04-(2)
单选题1.数组a的第三个元素表示为( D)A.a(3)B.a[3]C.a(2)D.a[2]2.下面正确的初始化语句是(C )A. char str[]=“hello”;B. char str[100]=“hello”;C. char str[]={‘h’,‘e’,‘l’,‘l’,‘o’};D. char str[]={‘hello’};3.数组在Java中储存在(C ) 中A.栈B.队列C.堆D.链表4.关于数组默认值,错误的是(B )A.double – 0.0B.bo原创 2020-12-05 20:56:13 · 2100 阅读 · 0 评论