自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 装饰设计模式

装饰模式概述在我们今天所学的缓冲流中涉及到java的一种设计模式,叫做装饰模式,我们来认识并学习一下这个设计模式。装饰模式指的是在不改变原类, 不使用继承的基础上,动态地扩展一个对象的功能。装饰模式遵循原则:装饰类和被装饰类必须实现相同的接口在装饰类中必须传入被装饰类的引用在装饰类中对需要扩展的方法进行扩展在装饰类中对不需要扩展的方法调用被装饰类中的同名方法案例演示准备环境:编写一个Star接口, 提供sing 和 dance抽象方法编写一个LiuDeHua类,实现Star接口,

2021-04-19 15:59:40 98

原创 Lambda表达式

面向对象编程思想面向对象强调的是对象 , “必须通过对象的形式来做事情”,相对来讲比较复杂,有时候我们只是为了做某件事情而不得不创建一个对象 , 例如线程执行任务,我们不得不创建一个实现Runnable接口对象,但我们真正希望的是将run方法中的代码传递给线程对象执行函数编程思想在数学中,函数就是有输入量、输出量的一套计算方案,也就是“拿什么东西做什么事情”。相对而言,面向对象过分强调“必须通过对象的形式来做事情”,而函数式思想则尽量忽略面向对象的复杂语法——强调做什么,而不是以什么形式做。例如线程执

2021-03-18 14:47:23 104

原创 java线程池的概念与死锁

线程池的思想我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?在Java中可以通过线程池来达到这样的效果。线程池概念**线程池:**其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复

2021-03-17 15:07:52 177 2

原创 java多线程

知识点–并发与并行目标能够理解什么是并发和并行路径并行的概述并发的概述讲解并行:指两个或多个事件在同一时刻发生(同时执行)。并发:指两个或多个事件在同一个时间段内发生(交替执行)。在操作系统中,安装了多个程序,并发指的是在一段时间内宏观上有多个程序同时运行,这在单 CPU 系统中,每一时刻只能有一道程序执行,即微观上这些程序是分时的交替运行,只不过是给人的感觉是同时运行,那是因为分时交替运行的时间是非常短的。而在多个 CPU 系统中,则这些可以并发执行的程序便可以分配到多个

2021-03-16 11:50:39 225

原创 java排序算法冒泡排序,选择排序,二分查找

知识点-- 冒泡排序目标能够理解冒泡排序的执行原理路径冒泡排序概述冒泡排序图解冒泡排序代码实现讲解冒泡排序概述一种排序的方式,对要进行排序的数据, 相邻的数据进行两两比较,将较大的数据放在后面,依次对所有的数据进行操作,直至所有数据按要求完成排序如果有n个数据进行排序,总共需要比较n-1轮每一轮比较完毕,下一轮的比较就会少一个数据参与冒泡排序图解冒泡排序代码实现/* 冒泡排序: 一种排序的方式,对要进行排序的数据中相邻的数据进行两两比较,将

2021-03-16 10:46:11 165

原创 java中Map集合的理解

Map<K,V>集合的特点: K用来限制键的类型,V用来限制值的类型 1.Map集合是以键值对的形式存储数据,每个键值对都有键和值 2.Map集合中的键是唯一的,值是可以重复的,如果键重复了,值就会覆盖 3.根据键取值Map集合子类: HashMap:存储数据采用的结构是哈希表结构,所以不能保证键值对存取有序,可以保证键唯一 由哈希表保证键唯一,所以键所属的类需要重写hashCode和equals方法

2021-03-15 11:27:04 234

原创 java中Set接口的理解

知识点–Set接口介绍目标Set接口介绍路径Set接口讲解Set接口:也称Set集合,但凡是实现了Set接口的类都叫做Set集合 特点: 元素无索引,元素唯一(不重复) 实现类: HashSet类:存取元素无序 LinkedHashSet类:存取有序 TreeSet类:对集合元素进行排序 注意: 1.Set集合没有特殊的方法,都是使用Collection集合的方法 2.Set集合的遍历方式; 增强for循环,迭代器知识点–HashSe

2021-03-15 10:58:34 223

原创 java中泛型的理解

知识点-- 泛型的作用目标:理解泛型的作用路径:集合不使用泛型集合使用泛型讲解:集合不使用泛型的时候,存的时候什么类型都能存。但是取的时候就懵逼了。取出来啥也不是。public class Test1 { public static void main(String[] args) { /* - 集合不使用泛型: 集合不使用泛型的时候,存的时候什么类型都能存。但是取的时候就懵逼了。取出来啥也不是。

2021-03-15 10:15:25 91 1

原创 Iterator迭代器

知识点-- Iterator接口目标:在程序开发中,经常需要遍历单列集合中的所有元素。针对这种需求,JDK专门提供了一个接口java.util.Iterator。路径:迭代的概念获取迭代器对象Iterator接口的常用方法讲解:迭代的概念迭代:即Collection集合元素的通用获取方式。在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续再判断,如果还有就再取出来。一直把集合中的所有元素全部取出。这种取出方式专业术语称为迭代。获取迭代器对象Collectio

2021-03-15 09:47:33 80

原创 java中的Collection集合

知识点-- 集合概述路径:集合的概述集合和数组的区别讲解:集合:集合是java中提供的一种容器,可以用来存储多个引用数据类型的数据。集合和数组既然都是容器,它们有什么区别呢?数组的长度是固定的。集合的长度是可变的。集合存储的都是引用数据类型。如果想存储基本类型数据需要存储对应的包装类型。知识点-- 单列集合常用类的继承体系目标:单列集合常用类的继承体系步骤:单列集合常用类的继承体系讲解:Collection:是单列集合类的根接口,用于存储一系列符合某种规则的

2021-03-15 09:40:23 58

原创 BigDecimal类

知识点-- BigDecimal类目标:浮点数做运算会有精度问题,如何处理呢路径:BigDecimal类的概述BigDecimal类构造方法BigDecimal类常用方法讲解:BigDecimal类的概述使用基本类型做浮点数运算精度问题;看程序说结果:public static void main(String[] args) { System.out.println(0.09 + 0.01); System.out.println(1.0 - 0.32);

2021-03-12 16:54:27 85

原创 java中的日期类

知识点–Date类目标:Date类的使用路径:Date类的概述Date类中的构造方法Date类中的常用方法讲解:Date类的概述java.util.Date类 表示一个日期和时间,内部精确到毫秒。Date类中的构造方法继续查阅Date类的描述,发现Date拥有多个构造函数,只是部分已经过时,我们重点看以下两个构造函数public Date():从运行程序的此时此刻到时间原点经历的毫秒值,转换成Date对象,分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。

2021-03-12 16:44:22 205

原创 java中所有类的父类Object类介绍

知识点-- Object类概述目标:了解Object的概述和常用方法路径:Object类的概述Object类中常用的2个方法讲解:Object类的概述java.lang.Object类是Java语言中的根类,即所有类的父类。如果一个类没有特别指定父类, 那么默认则继承自Object类。例如:public class Fu /*extends Object*/ { // ...}public class Zi extends Fu{ }根据JDK

2021-03-12 16:34:32 3941

原创 java中不同代码块的作用

目标:掌握构造代码块和静态代码块的使用路径:构造代码块静态代码块局部代码块讲解:4.1 构造代码块格式: {}位置: 类中,方法外执行: 每次在调用构造方法的时候,就会执行使用场景: 统计创建了多少个该类对象例如:public class Person { { System.out.println("Person 类的构造代码块"); } public Person(){ System.out.println("P

2021-03-12 16:30:35 99 1

原创 java的不同权限修饰符的访问权限

知识点–权限修饰符目标:权限修饰符的使用路径:概述不同权限修饰符的访问能力讲解:3.1 概述在Java中提供了四种访问权限,使用不同的访问权限修饰符修饰时,被修饰的内容会有不同的访问权限,public:公共的protected:受保护的(空的):默认的private:私有的3.2 不同权限的访问能力包:com.itheima.demo1_权限修饰符public class AAA { public void method1(){} protecte

2021-03-12 16:26:51 112 1

原创 java中ArrayList的理解

知识点–3. ArrayList知识点–3.1 集合的概述以及与数组的区别目标能够了解集合的概念和知道集合与数组的区别路径集合的概述集合与数组的区别讲解集合的概述思考: 编程的时候如果要存储多个数据,首先我们想到的就是数组,但是数组的特点是长度固定,所以数组不一定能满足我们的需求,更适应不了变化的需求,那么应该如何选择呢?什么是集合集合其实就是一个大小可变的容器,可以用来存储多个引用数据类型的数据集合与数组的区别数组:数组大小固定集合:集合大小可动态扩展小

2021-03-12 16:10:21 110

原创 java中的StringBuilder类

知识点–2 StringBuilder类知识点–2.1 String类字符串拼接问题目标:String类字符串拼接问题步骤:字符串拼接问题讲解:字符串拼接问题由于String类的对象内容不可改变,所以每当进行字符串拼接时,总是会在内存中创建一个新的对象。例如:public class StringDemo { public static void main(String[] args) { String s = "Hello"; s += "

2021-03-12 15:57:22 206 2

原创 java中的String类

知识点–1.String类的常用方法知识点–1.1 String类概述目标理解String类概述路径String类的概述讲解String类的概述​ String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都被实现为此类的实例。也就是说,Java 程序中所有的双引号字符串,都是 String 类的对象。String 类在 java.lang 包下,所以使用的时候不需要导包!小结String类表示字符串,在java程序中所有双引号的字符串都是String类的对

2021-03-12 15:37:51 125

原创 java内部类

知识点-- 内部类目标:内部类的概述步骤:什么是内部类成员内部类的格式成员内部类的访问特点讲解:什么是内部类将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类。成员内部类成员内部类 :定义在类中方法外的类。定义格式:class 外部类 { class 内部类{ }}在描述事物时,若一个事物内部还包含其他事物,就可以使用内部类这种结构。比如,汽车类Car 中包含发动机类Engine ,这时,Engine就可以使用内部类来描述

2021-03-12 15:17:30 56 1

原创 java中多态的理解

多态是继封装、继承之后,面向对象的第三大特性。生活中,比如跑的动作,小猫、小狗和大象,跑起来是不一样的。再比如飞的动作,昆虫、鸟类和飞机,飞起来也是不一样的。可见,同一行为,通过不同的事物,可以体现出来的不同的形态。多态,描述的就是这样的状态。定义多态: 是指同一行为,对于不同的对象具有多个不同表现形式。程序中多态: 是指同一方法,对于不同的对象具有不同的实现.前提条件【重点】继承或者实现【二选一】父类引用指向子类对象【格式体现】方法的重写【意义体现:不重写,无意义】小结:多态

2021-03-12 14:43:04 153

原创 Java读取.txt文件工具类

import java.io.BufferedReader;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.List;/** * @description: 读取.txt文件工具类 */public class FileRead { public static

2021-03-11 11:20:35 371

原创 java中接口的理解和概述

讲解:概述: 接口是Java语言中的一种引用类型,是方法的"集合",所以接口的内部主要就是定义方法,包含常量,抽象方法(JDK 7及以前),默认方法和静态方法(JDK 8),私有方法(jdk9)。接口的定义,它与定义类方式相似,但是使用 interface 关键字。它也会被编译成.class文件,但一定要明确它并不是类,而是另外一种引用数据类型。public class 类名.java–>.classpublic interface 接口名.java–>.class引用数据类型:数组

2021-03-09 09:52:18 153

原创 java中的static关键字

1.1 static关键字概述static是一个静态修饰符关键字,表示静态的意思,可以修饰成员变量和成员方法以及代码块。1.2 static关键字的使用static修饰成员变量当 static 修饰成员变量时,该变量称为类变量。该类的每个对象都共享同一个类变量的值。任何对象都可以更改该类变量的值,但也可以在不创建该类的对象的情况下对类变量进行操作。定义格式:static 数据类型 变量名;静态成员变量的访问方式:对象名.静态成员变量名; 不推荐类名.静态成员变量名; 推荐案例:p

2021-03-08 17:40:53 61 1

原创 java中final关键字

final关键字的概述final: 不可改变。可以用于修饰类、方法和变量。类:被修饰的类,不能被继承。方法:被修饰的方法,不能被重写。变量:被修饰的变量,就只能赋值一次,不能被重新赋值。final关键字的使用修饰类格式如下:修饰符 final class 类名 { }例如:public final class FinalClassFu {}public class FinalClassZi /*extends FinalClassFu*/ { // FinalCl

2021-03-08 17:18:31 75 2

原创 java中的模板设计模式

设计模式概述设计模式就是解决一些问题时的固定思路,也就是代码设计思路经验的总结。模板设计模式概述针对某些情况,在父类中指定一个模板,然后根据具体情况,在子类中灵活的具体实现该模板public abstract class Person{ // 有方法体的方法 // 通用模板 public void sleep(){ System.out.println("两眼一闭,然后就开始进入梦乡..."); } // 没有方法体的方法 //

2021-03-08 17:04:12 162 2

原创 抽象类和抽象方法的概述和定义

抽象类的概述概述: 使用abstract关键字修饰的类就是抽象类特点: 这种类不能被创建对象,它就是用来做父类的,被子类继承的抽象类的定义格式:修饰符 abstract class 类名{ }例如:public abstract class Person{}抽象类中的成员成员变量成员方法构造方法抽象方法abstract class Animal{ private String name; public Animal(){

2021-03-08 16:21:03 473

原创 CentOS7.x从openssh7.4p1升级到openssh8.4p1

1、升级准备工作1.1、查看系统版本和ssh版本cat /etc/redhat-releasessh -V1.2、需要将openssh升级到最新版本直接yum安装即可yum install openssh -y可以看已经升级到7.4p1了,下面将从openssh7.4p1升级到openssh8.4p11.3、安装需要的依赖包yum -y install gcc gcc-c++ kernel-devel2、安装包准备2.1、下载安装包zlib-1.2.11.tar.gz 下

2021-03-05 17:56:07 301

原创 Java中this和super关键字

this和super关键字的介绍this:存储的“当前对象”的引用;this可以访问:本类的成员属性、成员方法、构造方法;super:存储的“父类对象”的引用;super可以访问:父类的成员属性、成员方法、构造方法;this关键字的三种用法this访问本类成员变量: this.成员变量public class Student{ String name = "张三"; public void show(){ String name = "李四"

2021-03-05 11:32:17 191 2

原创 java中的方法重写

方法重写的概念方法重写 :子类中出现与父类一模一样的方法时(返回值类型,方法名和参数列表都相同),会出现覆盖效果,也称为重写或者复写。声明不变,重新实现。public class Fu{ public void eat(){ System.out.println("我吃牛肉炖土豆..."); }}public class Zi extends Fu{ @Override public void eat(){//方法重写 System.out.

2021-03-05 11:13:55 201 2

原创 java继承的理解

面向对象语言的三大特征:封装,继承,多态为什么要有继承现实生活中,为什么要有继承?程序中为什么要有继承?继承的含义继承:在java中指的是“一个类”可以“继承自”“另一个类”。 "被继承的类"叫做: 父类/超类/基类,"继承其他类的类"叫做:子类。继承后,“子类”中就“拥有”了“父类”中所有的成员(成员变量、成员方法)。 “子类就不需要再定义了”。继承的好处提高代码的复用性(减少代码冗余,相同代码重复利用)。使类与类之间产生了关系。继承的格式通过 extends 关键字,可以声明一

2021-03-04 16:44:28 326 4

原创 匿名对象的理解

匿名对象的概述什么是匿名对象:就是指"没有名字"的对象。有名字的对象: Student stu = new Student(); stu.show(); stu.study();匿名对象: new Student();特点:匿名对象只能使用一次public class Test { public static void main(String[] args) { /* - 匿名对象的概述: 指的就是没有名字的对象

2021-03-04 16:29:57 462 1

原创 面向过程和面向对象编程思想的区别

编程思想其实就是编程思路,我们开发中2种经典的编程思想就是面向过程编程思想和面向对象编程思想.面向过程编程思想强调的是过程,必须清楚每一个步骤,然后按照步骤一步一步去实现面向对象编程思想强调的是对象, 通过调用对象的行为来实现功能,而不是自己一步一步的去操作实现。举例对比2种编程思想java程序, 需求:打印数组中所有的元素,打印格式为: [元素1,元素2,元素3,元素,…,元素n]public class Test {public static void main(Strin

2021-03-02 14:49:14 249

空空如也

空空如也

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

TA关注的人

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