
JavaEE初级(一)Java基础
文章平均质量分 88
博学谷v11学习笔记:JavaEE在线就业班-阶段一-Java基础
无休止符
不要让任何事情,成为你不去学习的理由!!!
展开
-
第十二章_基础加强(4)_单元测试&日志Log4j
目录一、单元测试1 - JUnit概述2 - JUnit三种注解二、日志技术1 - 日志技术概述2 - 日志技术体系结构3 - Log4j配置文件详解一、单元测试1 - JUnit概述什么是单元测试:就是对我们写好的代码进行测试JUnit概述:JUnit是一个Java编程语言的单元测试工具。JUnit是一个非常重要的测试工具JUnit特点JUnit是一个开放源代码的测试工具提供注解来识别测试方法JUnit测试可以让你编写代码更快,并能提高质量JUnit优雅简洁。没那么复杂,花费时间较少原创 2022-04-12 17:07:00 · 113 阅读 · 0 评论 -
第十二章_基础加强(3)_枚举&注解
目录一、枚举1 - 枚举概述2 - 枚举特点3 - 枚举方法二、注解1 - 注解概述2 - 自定义注解3 - 案例:自定义注解4 - 元注解一、枚举1 - 枚举概述枚举概述:为了间接的表示一些固定的值,Java就给我们提供了枚举;是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内枚举定义示例 public enum s { 枚举项1,枚举项2,枚举项3; } // 定义一个枚举类,用来表示春,夏,秋,冬这四个固定值 public enum Season {原创 2022-04-12 11:50:49 · 402 阅读 · 0 评论 -
第十二章_基础加强(2)_xml及约束
目录一、xml1 - xml概述2 - xml解析一、xml1 - xml概述xml概述:XML的全称为(EXtensible Markup Language),是一种可扩展的标记语言标记语言:通过标签来描述数据的一门语言(标签有时我们也将其称之为元素)可扩展:标签的名字是可以自定义的,XML文件是由很多标签组成的,而标签名是可以自定义的作用:用于进行存储数据和传输数据;作为软件的配置文件作为配置文件的优势:可读性好;可维护性高标签规则标签由一对尖括号和合法标识符组成:<s原创 2022-04-12 10:58:53 · 167 阅读 · 0 评论 -
第十二章_基础加强(1)_反射&类加载器
目录一、类加载器1 - 类加载概述2 - 双亲委派模型二、反射1 - 反射概述2 - 反射获取Class对象3 - 反射获取构造方法并创建对象4 - 反射获取成员变量并赋值5 - 反射获取Method对象并调用一、类加载器1 - 类加载概述什么是类加载器:负责将.class文件(存储的物理文件)加载到内存中类加载时机:用到就加载,不用不加载创建类的实例(对象)调用类的类方法访问类或者接口的类变量,或者为该类变量赋值使用反射方式来强制创建某个类或接口对应的java.lang.Class对原创 2022-04-11 21:56:47 · 87 阅读 · 0 评论 -
第十一章_网络编程(2)_NIO服务端
目录一、NIO1 - NIO概述2 - NIO三大模块二、NIO缓冲区1 - NIO缓冲区创建2 - NIO缓冲区添加数据3 - NIO缓冲区获取数据三、NIO通道1 - NIO通道简单实现2 - NIO通道-服务器回写数据四、NIO选择器一、NIO1 - NIO概述什么是NIO:No Blocking IO,非阻塞型IOJava NIO全称java non-blocking IO, 是指JDK提供的新API。从JDK1.4开始,Java提供了一系列改进的输入/输出的新特性,被统称为NIO(即N原创 2022-04-11 20:50:21 · 405 阅读 · 0 评论 -
第十一章_网络编程(1)_UDP&TCP
目录一、网络编程入门1 - IP地址2 - 端口3 - 协议一、网络编程入门网络编程:在网络通信协议下,不同计算机上运行的程序,可以进行数据传输网络编程三要素IP地址:要想让网络中的计算机能够互相通信,必须为每台计算机指定一个标识号,通过这个标识号来指定要接收数据的计算机和识别发送的计算机,而IP地址就是这个标识号。也就是设备的标识端口:网络的通信,本质上是两个应用程序的通信。每台计算机都有很多的应用程序,那么在网络通信时,如何区分这些应用程序呢?如果说IP地址可以唯一标识网络中的设备,那么端原创 2022-04-11 10:31:14 · 332 阅读 · 0 评论 -
第十章_多线程(2)_线程池&原子性&并发工具类
目录一、线程池1 - 线程状态2 - 线程池3 - Executors线程池二、Volatile三、原子性四、并发工具类1 - 并发工具类-Hashtable2 - 并发工具类-ConcurrentHashMap3 - 并发工具类-CountDownLatch4 - 并发工具类-Semaphore一、线程池1 - 线程状态线程状态具体含义NEW一个尚未启动的线程的状态。也称之为初始状态、开始状态。线程刚被创建,但是并未启动。还没调用start方法。MyThread t = new原创 2022-04-10 22:04:23 · 554 阅读 · 0 评论 -
第十章_多线程(1)_多线程&线程安全问题&生产消费&阻塞队列
目录一、多线程概述二、多线程的实现方式1 - 继承Thread类2 - 实现Runnable接口3 - 实现Callable接口4 - 三种实现方式的对比三、Thread方法1 - 设置和获取线程名称2 - 获得线程对象3 - 线程休眠4 - 线程优先级5 - 守护线程四、线程安全问题1 - 同步代码块2 - 同步方法3 - lock锁4 - 死锁五、生产者和消费者六、阻塞队列一、多线程概述简单了解多线程:是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时原创 2022-04-10 18:13:08 · 548 阅读 · 0 评论 -
第九章_IO流(2)_字符流&字符缓冲流&转换流&对象流&Properties
目录一、字符流1、字符集概述2、字符串中的编码和解码3、字节流和字符流读取中文的分析一、字符流1、字符集概述什么是字符集:是一个系统支持的所有字符的集合,包括各国家文字、标点符号、图形符号、数字等计算机要准确的存储和识别各种字符集符号,就需要进行字符编码,一套字符集必然至少有一套字符编码。常见字符集有ASCII字符集、GBXXX字符集、Unicode字符集等常见的字符集ASCII字符集:ASCII:是基于拉丁字母的一套电脑编码系统,用于显示现代英语,主要包括控制字符(回车键、退格、换行原创 2022-04-10 15:59:11 · 307 阅读 · 0 评论 -
第九章_IO流(1)_File&字节流&字节缓冲流
目录一、File类1、File类的构造方法2、File类的成员方法3、File类的案例二、字节流1、IO流概述2、字节输出流3、字节输入流三、字节缓冲流一、File类File类介绍:它是文件和目录路径名的抽象表示,文件和目录是可以通过File封装成对象的1、File类的构造方法File类的构造方法方法名说明File(String pathname)通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例File(String parent, St原创 2022-04-09 22:11:45 · 210 阅读 · 0 评论 -
第八章_集合(3)_Map集合&Stream流
目录一、Map1、Map集合的基本使用2、Map集合的常用方法3、Map集合遍历二、HashMap三、TreeMap四、可变参数五、Stream流1、Stream流概念2、获取Stream流的方式3、Stream流的中间操作方法4、Stream流终结操作方法5、Stream流搜集操作6、Stream流综合案例一、Map1、Map集合的基本使用Map集合概述:interface Map<K,V> K -> 键的类型;V:值的类型Map集合的特点双列集合,一个键对应一个值键不原创 2022-04-09 20:05:09 · 3676 阅读 · 0 评论 -
第八章_集合(2)_set集合&二叉树&红黑树
目录一、Set集合二、TreeSet一、Set集合Set集合概述和特点不可以存储重复元素,可以去除重复存取顺序不一致没有带索引的方法,不能使用普通for循环遍历,也不能通过索引来获取/删除set集合的元素import java.util.Iterator;import java.util.Set;import java.util.TreeSet;public class MySet1 { public static void main(String[] args) {原创 2022-04-09 15:42:58 · 1001 阅读 · 0 评论 -
第八章_集合(1)_Collection集合&List&泛型
目录一、集合概述二、Collection集合1、Collection集合概述2、Collection集合遍历3、增强for三、List集合1、List集合基础2、数据结构3、List集合的实现类一、集合概述数组和集合的区别相同点:都是容器,可以存储多个数据不同点:数组的长度是不可变的,集合的长度是可变的数组可以存基本数据类型和引用数据类型;集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类集合类体系结构蓝色表示接口;红色表示实现类二、Collectio原创 2022-04-08 15:55:21 · 511 阅读 · 0 评论 -
第七章_常用API(2)_异常&JDK8时间类
异常&JDK8时间类原创 2022-04-08 10:36:17 · 467 阅读 · 0 评论 -
第七章_常用API(1)_Object&包装类&递归&排序算法&Arrays
目录前言一、Math二、System三、ObjecttoString方法equals方法四、Objects前言之前在第三章_API基础(1)_String类已经介绍过API的理解以及API帮助文档的使用接下来深入学习java中常用的API一、MathMath类概述:Math包含执行基本数字运算的方法Math中方法的调用方式:Math类中无构造方法,但内部的方法都是静态的,则可以通过类名.方法名进行调用Math类的常用方法方法名 方法名说明public原创 2022-04-07 19:42:37 · 225 阅读 · 0 评论 -
第六章_面向对象进阶(6)_Lambda表达式
目录原创 2022-04-07 15:58:37 · 245 阅读 · 0 评论 -
第六章_面向对象进阶(5)_内部类
目录一、内部类的概念二、成员内部类三、私有成员内部类四、静态成员内部类五、局部内部类六、匿名内部类七、匿名内部类的应用场景一、内部类的概念内部类概念:在一个类中定义一个类。举例:在一个类A的内部定义一个类B,类B就被称为内部类内部类划分:按照内部类在类中定义的位置不同,可以分为如下两种形式在类的成员位置:成员内部类在类的局部位置:局部内部类二、成员内部类内部类的访问特点内部类可以直接访问外部类的成员,包括私有外部类要访问内部类的成员,必须创建对象public clas原创 2022-04-06 23:47:32 · 322 阅读 · 0 评论 -
第六章_面向对象进阶(4)_多态
目录一、多态的概述二、多态中的成员访问特点一、多态的概述什么是多态:同一个对象,在不同时刻表现出来的不同形态多态的前提要有继承或实现关系要有方法的重写要有父类引用指向子类对象public class Test1Polymorphic { public static void main(String[] args) { // 当前事物, 是一只猫 Cat c = new Cat(); // 当前事物, 是一只动物原创 2022-04-06 23:09:22 · 156 阅读 · 0 评论 -
第六章_面向对象进阶(3)_接口
目录在这里插入代码片原创 2022-04-06 21:00:41 · 237 阅读 · 0 评论 -
第六章_面向对象进阶(2)_继承和抽象类
目录一、继承的概念二、继承中成员变量的访问三、继承中成员方法的访问四、方法重写五、继承中构造方法的访问六、抽象类七、模板设计模式八、final关键字九、代码块一、继承的概念继承的概念:继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,以及追加属性和方法实现继承的格式:继承通过extends实现;格式:class 子类 extends 父类 { }class Dog extends Animal { }继承的特点:继承可以让类与类之间产生关系,子父类关系,原创 2022-04-06 18:46:56 · 126 阅读 · 0 评论 -
第六章_面向对象进阶(1)_分类和static
目录一、分类与分包思想一、分类与分包思想1.(分类思想)信息管理系统Student类:标准学生类,封装键盘录入的学生信息(id , name , age , birthday)StudentDao类:Dao(Data Access Object 缩写) 用于访问存储数据的数组或集合StudentService类:用来进行业务逻辑的处理(例如: 判断录入的id是否存在)StudentController类:和用户打交道(接收用户需求,采集用户信息,打印数据到控制台)2.分包思想:如果将所原创 2022-04-06 16:19:53 · 383 阅读 · 0 评论 -
第五章_Git(2)_IDEA集成Git
目录一、IDEA集成Git二、IDEA中切换Git版本三、IDEA中Git的分支管理1.创建分支2.切换分支3.合并分支4.删除分支四、IDEA中操作远程仓库1.本地推送到远程仓库2.克隆远程仓库到本地仓库一、IDEA集成Git1、校验IDEA中的Git是否可用2.创建本地仓库:VCS->Import into Version Control->Create Git Repository选择工程所在的目录,这样就创建好本地仓库了3.点击git后边的对勾,将当前项目原创 2022-04-06 11:35:11 · 195 阅读 · 0 评论 -
第五章_Git(1)_Git教程
目录一、Git和SVN对比二、Git的下载和安装三、TortoiseGit的安装1、TortoiseGit安装2、TortoiseGit汉化的安装四、Git操作入门Git操作步骤演示一、Git和SVN对比SVN:VN是集中式版本控制系统,版本库是集中放在中央服务器的,而开发人员工作的时候,用的都是自己的电脑,所以首先要从中央服务器下载最新的版本,然后开发,开发完后,需要把自己开发的代码提交到中央服务器SVN存在的问题服务器单点故障,将会导致所有人员无法工作而服务器硬盘损坏,这意味着,你可能失去原创 2022-04-06 10:44:22 · 269 阅读 · 0 评论 -
第四章_集合基础(2)_学生管理系统
目录一、需求分析二、学生类Student三、学生管理类StudentManager四、测试类TestStudent一、需求分析案例需求:针对目前我们的所学内容,完成一个综合案例:学生管理系统!该系统主要功能如下添加学生:通过键盘录入学生信息,添加到集合中删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除修改学生:通过键盘录入要修改学生的学号,将该学生对象其他信息进行修改查看学生:将集合中的学生对象信息进行展示退出系统:结束程序实现步骤定义学生类学生管理系统主界面的原创 2022-04-05 19:48:38 · 146 阅读 · 0 评论 -
第四章_集合基础(1)_ArrayList
目录一、集合和数组二、ArrayList的构造方法和添加方法三、ArrayList常用成员方法四、ArrayList的遍历五、案例:集合删除元素六、案例:集合元素筛选一、集合和数组集合和数组的区别共同点:都是存储数据的容器不同点:数组的容量是固定的,集合的容量是可变的集合类的特点:提供一种存储空间可变的存储模型,存储的数据容器是可以发生改变的考虑下列的案例实现如果后续需要增加学生,如增加第4个学生,由于数组大小不可改变,我们必须修改代码Student[] arr = new Stud原创 2022-04-05 19:38:11 · 237 阅读 · 0 评论 -
第三章_API基础(2)_StringBuilder
目录一、StringBuilder类概述二、StringBuilder类的构造方法三、StringBuilder常用的成员方法四、StringBuilder提高效率的原理五、案例:对称字符串六、案例:拼接字符串一、StringBuilder类概述概述:StringBuilder 是一个可变的字符串类,我们可以把它看成是一个容器,这里的可变指的是 StringBuilder 对象中的内容是可变的作用:提高字符串的操作效率StringBuilder类和String类的区别:String类的内容是不可变原创 2022-04-05 17:53:54 · 388 阅读 · 0 评论 -
第三章_API基础(1)_String类
目录一、API概述二、String概述三、String构造函数四、字符串拼接五、字符串比较六、字符串遍历和字符统计七、字符串截取八、字符串替换九、字符串切割一、API概述什么是APIAPI (Application Programming Interface) :应用程序编程接口java中的API指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。原创 2022-04-05 17:23:52 · 393 阅读 · 0 评论 -
第二章_面向对象
目录一、类和对象1、类的定义2、对象的创建和使用二、对象内存图一、类和对象面向对象和面向过程的思想对比面向过程:是一种以过程为中心的编程思想,实现功能的每一步,都是自己实现的面向对象:是一种以对象为中心的编程思想,通过指挥对象实现具体的功能类的理解类是对现实生活中一类具有共同属性和行为的事物的抽象类是对象的数据类型,类是具有相同属性和行为的一组对象的集合简单理解:类就是对现实事物的一种描述类的组成属性:指事物的特征,例如:手机事物(品牌,价格,尺寸)行为:指事物能执行的原创 2022-04-05 15:21:23 · 87 阅读 · 0 评论 -
第一章_Java基础语法(8)_Debug&进制&二维数组
目录一、Debug模式二、进制介绍与书写格式三、进制转换四、原码反码补码五、位运算六、二维数组一、Debug模式什么是Debug模式是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序添加断点选择要设置断点的代码行,在行号的区域后面单击鼠标左键即可如何运行加了断点的程序在代码区域右键Debug执行查看的窗口Debugger窗口、Console窗口单步执行点Step Into (F7)这个箭头,也可以直接原创 2022-04-04 23:56:46 · 151 阅读 · 0 评论 -
第一章_Java基础语法(7)_方法
目录一、方法的概念二、方法的定义和调用三、带参数方法的定义和调用四、带返回值方法的定义和调用五、方法重载六、方法的参数传递七、方法的应用案例一、方法的概念方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集注意:方法必须先创建才可以使用,该过程称为方法定义方法创建后并不是直接可以运行的,需要手动使用后,才执行,该过程称为方法调用二、方法的定义和调用无参数方法定义和调用定义格式: public static void 方法名 ( ) {原创 2022-04-04 19:48:55 · 562 阅读 · 0 评论 -
第一章_Java基础语法(6)_数组
目录一、数组的定义二、数组的动态初始化三、数组元素访问四、内存分配五、数组的静态初始化六、数组操作的常见问题七、数组遍历八、数组的案例应用一、数组的定义数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致数组的定义格式数据类型[] 数组名(常用):int[] arr;数据类型 数组名[]:int arr[];二、数组的动态初始化概念:在初始化的时候, 需要手动指定数组的长度, 系统会为数组容器分配初始值动态初始化格式:数据类型[] 数组名 = new 数据类型[数组的长度原创 2022-04-04 18:49:34 · 115 阅读 · 0 评论 -
第一章_Java基础语法(5)_IDEA
目录一、IDEA概述二、IDEA项目结构一、IDEA概述IDEA全称IntelliJ IDEA,是用于Java语言开发的集成环境,是业界公认的目前用于Java程序开发最好的工具集成环境:把代码编写、编译、运行、调试等多种功能综合到一起的工具IDEA的下载和安装下载地址:https://www.jetbrains.com/idea/安装:傻瓜式安装,建议修改安装路径二、IDEA项目结构project(项目、工程)module(模块)package(包)clas原创 2022-04-04 17:25:55 · 381 阅读 · 0 评论 -
第一章_Java基础语法(4)_流程控制
目录一、if条件控制语句一、if条件控制语句原创 2022-04-03 10:34:47 · 670 阅读 · 0 评论 -
第一章_Java基础语法(3)_运算符
目录一、一、原创 2022-04-02 21:59:30 · 113 阅读 · 0 评论 -
第一章_Java基础语法(2)_数据类型+类型转换
目录一、常量二、变量三、数据类型四、变量的注意事项五、键盘录入六、标识符七、类型转换一、常量1.常量概念在程序运行过程中,其值不可以发生改变的量2.常量分类字符串常量:用双引号括起来的多个字符(可以包含0个、一个或多个),例如"a"、“abc”、"中国"等整数常量:整数,例如:-10、0、88等小数常量:小数,例如:-5.5、1.0、88.88等字符常量:用单引号括起来的一个字符,例如:‘a’、‘5’、‘B’、'中’等布尔常量:布尔值,表示真假,只有两个值true和false空原创 2022-04-02 17:46:39 · 459 阅读 · 0 评论 -
第一章_Java基础语法(1)_环境搭建+入门
一、java语言背景介绍1.java之父:詹姆斯·高斯林(James Gosling2.java语言的三个版本JavaSE: Java 语言的(标准版),用于桌面应用的开发,是其他两个版本的基础JavaME: Java 语言的(小型版),用于嵌入式消费类电子设备JavaEE: Java 语言的(企业版),用于 Web 方向的网站开发二、java语言跨平台原理Java程序并非是直接运行的,Java编译器将Java源程序编译成与平台无关的字节码文件(class文件),然后由Java虚原创 2022-04-02 14:38:15 · 371 阅读 · 0 评论