自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 资源 (1)
  • 收藏
  • 关注

原创 Hexo中Buttefly最新教程总览

在美化的过程中见过了参考了很多大佬的博客,自己也做出了一些修改,还有一些功能与自己预期的不相符合,博主自己也没有找到关键的更改代码,暂时不向大家展示,后续会继续更新的,大家如果有问题,可以去博客底下评论,有邮件通知,回复消息更加快速!!!

2022-12-09 10:52:36 477 1

原创 抽象工厂模式

Java语言中的AWT中使用了抽象工厂模式,比如window操作系统的包含的元素是窗口,按钮等等,而在linux下面也包含窗口,按钮等,他们产品相同,而所属的标志不同用户不需要知道这个产品怎么被创建的,只需要知道这个产品可以被正确创建就好,这也是所有工厂方法的基石系统中有多个产品族,并且可以动态改变产品族不会有新的产品等级被加入,同一个产品族的产品将在一起使用,不一定要有必然的联系httpshttps。...

2022-08-02 15:19:35 187

原创 工厂方法模式

在面对简单工厂模式的时候,如果此时我们工厂生产圆形和椭圆形纽扣,那么此时我们可以通过一个简单的工厂进行生产,但是如果此时我们想要进行正方形或者长方形的工厂生产,那么此时我们不得不进行源代码的修改,那么此时就违背了开闭原则,而且当我们再一次需要生产圆形的纽扣,那么还得更改过来。那么解决方法就是在开一个新的厂子,那么现在我们有圆形纽扣工厂和方形纽扣工厂,那么还是存在一个问题,如果我想要生产⭐型扣子,那么我们还需要建立一个工厂,那么此时我们可以对这个工厂进行抽象为一个父类引入抽象层,可理解性变差。...

2022-08-02 15:17:20 195

原创 简单工厂模式

定义一个工厂类,它可以根据参数的不同的返回不同类的实例,被创建的实例具有共同的父类。

2022-08-02 15:15:41 114

原创 Synchronized关键字

我们都知道Synchronized是实现线程同步的一个机制,为了使多个线程一次获得某个资源,那么Synchronized到底锁的是什么??

2022-07-28 12:48:07 79

原创 SQL进阶教程—自链接的用法

https。

2022-07-23 12:54:51 491

原创 Java语言实现堆的实现,插入删除

二叉堆像二叉查找树一样,也含有两个性质,即结构性和堆序性,对堆的一种操作可能破坏这两个性质的一个,因此堆的操作必须到堆的所有性质都被满足才能终止首先明确,堆必须是完全二叉树,不是完全二叉树的结构不能被称为堆。...

2022-07-19 09:38:08 360

原创 String类剖析

String对象用于保存字符串,也就是一组字符序列字符串常量的对象是用双引号括起的字符序列字符串通常使用Unicode字符编码,一个字符(不管时字母还是汉字)占用两个字节字符串String拥有很多的构造器String类时final类,不能被其他的类所继承。String类拥有value属性,并且为final性质,表示不能被做出修改。比如从TOM变成TOO。也就是一句话,当我们的str发生更改之后,其地址已经改变,原地址的内容不会发生改变。查看上述的图可以发现,String继承了以上的接口,而。........

2022-07-18 12:39:35 82

原创 为什么文件索引使用B树

其实面对上述的三种树结构的各种问题,我们会发现他们都是二叉树,那么就会在成每一个节点的左右只能存储2个数据索引,这样的话,无论结构多么优化,文件增多,深度必将会增加,索引的效率也会下降。.........

2022-07-15 12:36:41 296

原创 SQL进阶教程—CASE表达式

所有的文件在SQL进阶教程 (ituring.com.cn),随书下载那里需求:现在我需要将1作为男生,2作为女生进行查询,其他人作为中间人,查出来表名为性别同样的需求,出来结果相同需求:现在是找出20-26之间的年轻人注意使用case表达式的时候,要注意条件的排他性比如执行下面的这一段sql语句我们知道条件1包含条件2,那么执行结果中条件2的判断会不可达,即条件2语句不会执行需求:对于这个表格,我们要统计各个地区的人口数需求:现在需要查询每一个县对应级别的数量注意:我们在这里引用的

2022-07-14 16:46:24 606

原创 Java八大排序算法

Java中8大排序算法

2022-07-05 08:54:00 296

原创 Java中常用类——包装类

针对8中基本数据类型相应的引用类型——包装类,有了类的特点,就可以调用类中的方法是基本数据类型 包装类 boolean Boolean char Character byte Byte short Short int Interger long Long float Float double Double 案例展示int与Interger之间的转换,jdk5之前采用手动装箱与拆箱,其中装箱:基本数

2022-02-28 11:18:15 208

原创 Java中throws与throw的区别

throws 异常处理的一种方式,用在方法声明处,后面是异常的类型 throw 手动生成异常对象的关键字,在方法体中,后面是异常的对象 package Learn;public class Test { public static void main(String[] args) throws Judge { int age=152; if (age<=10||age>=120){ throw new Ju

2022-02-25 20:55:13 80

原创 Java中的自定义异常

当我们的程序中出现某种错误,但是我们的Exception并没有对其进行详细的描述,这时我们可以自定义异常,来显示信息。我们自定义异常类去继承Exception类或者RuntimeException 如果继承Exception则属于编译异常 如果继承RuntimeException,则输入运行异常下面的这中情况是自定义编译异常,必须在main方法中抛出或者处理异常。但是我们默认情况下使用运行异常,这种情况下系统可以自己调用,而不用我们自己手写相关的代码情况。package Learn;p

2022-02-25 20:51:06 227

原创 Java中异常处理的两种方式

try-catch-finally 程序员在代码中国捕获发生的异常,自行处理try{可能发生异常的代码块}catch(Exception e){系统将其封装成Exception对象 ,传递给catch。也可以在这里增加自己的业务逻辑}finally{不管是否有异常发生,finally代码块一定会执行}注意事项:如果在try中发生异常了,则其后面的语句不会执行,直接进入catch中package Learn;public class Test { public s

2022-02-25 17:57:44 882

原创 Java中异常

基本概念在Java语言中,将程序执行中发生的不正常情况称为“异常”。执行过程中所发生的异常事件可分为两类1.错误:Java虚拟机无法解决的严重问题,比如jvm系统内部错误,资源耗尽等情况。2.异常:其他因编程错误或者偶然外在因素导致的一般性问题,可以使用针对性的代码进行处理。比如空指针的访问,访问不存在的文件等等。异常也可以分为两个大类:运行时的异常和编译时的异常。异常体系图对于不同的jdk版本异常体系图显示的会有所不同,但是Throwable是Error与Exception的父类。而

2022-02-25 16:50:08 260

原创 Java中的注解(Annotation)

三种注解@Override:限定于某个某个方法,重写父类的方法,该注解只能用于方法 @Override public String toString(){ return season+characteristic; }源码,下面的并非一个接口,而是一个注解类,是jdk1.5之后添加的@Target(ElementType.METHOD)@Retention(RetentionPolicy.SOURCE)public @interface Overrid

2022-02-24 14:37:49 117

原创 Java中的枚举类

我们现在需要一个枚举出四季以及他们各自的特点,四季只有春夏秋冬这四个季节,而且特点固定,所以我们不需要用户去创建新的季节对象。自定义枚举package Learn;public class Test { public static void main(String[] args) { System.out.println(Season.SPRING.toString()); System.out.println(Season.SUMMER.toString

2022-02-23 20:39:30 313

原创 Java中的四种内部类

基本介绍一个类的内部又完整的嵌套了另外一个类的结构。被嵌套的类称为内部类,嵌套其他类的类称为外部类,是类的第五大成员(属性,方法,构造器,代码块,内部类)。内部类最大的特点就是可以直接访问私有属性。分类:定义在外部类的局部位置上(比如方法内):局部内部类(有类名),匿名内部类(没有类名)定义在外部类的成员位置上:成员内部类(没有用static修饰),静态内部类(使用static修饰)局部内部类:定义在外部类的局部位置,比如方法中,并且有类名可以直接访问外部类的所有成员,包含私有

2022-02-22 20:59:21 569

原创 Java中接口的多态

多态参数就像我们现实生活中电脑的usb接口,我们既可以接受手机对象,又可以接受相机对象,等等,体现了接口的多态,查看以下代码接口:package InterfaceM;public interface Interface { public void join(); public void stop();}手机类:package InterfaceM;public class Phone implements Interface{ @Override

2022-02-08 11:58:53 1181

原创 实现接口VS继承类

首先继承关系我们可以自然的使用父类的功能,而不需要去重写,比如下面的一段的代码,monkey本身的本领就可以爬树,是从父辈上继承过来,而不需要去学习。但是如果悟空还想要飞翔则需要继承一个接口,提供相应的功能,同样悟空还可以学习更多的技能,也就需要更多的接口。public interface Bird { /**小鸟飞翔的功能*/ public void fly();}public class Test { public static void main(String[]

2022-02-08 11:08:40 421

原创 Java中的接口

基本介绍接口就是给出一次额没有实现的方法,封装到一起,到某个类要使用的时候,根据具体的情况把这些方法写出来。语法:interface 接口名{属性+方法}class 类名 implements 接口{自己的属性//方法}注意:在jdk7以前都没有接口中的方法都没有方法体,而在8.0之后可以有静态方法,默认方法(需要用default进行标记),也就是说接口中有方法的具体实现,在接口中抽象方法可以进行省略。public interface InterfaxeTest {

2022-02-08 10:42:34 1047

原创 Java中的模板设计模式

我们首先来观察以下代码,我们要求统计aa类与bb类的两个任务的执行时间main方法类package Time;public class Main { public static void main(String[] args) { AA aa=new AA(); aa.job(); BB bb=new BB(); bb.job(); }}aa类package Time;public class A

2022-02-07 11:08:19 336

原创 Java中的抽象的类

首先抽象的类使用需要abstract来进行注明!!!我们不知道该类中某个方法的具体用途,但是现在需要将其在这个类中展示出来,查看以下代码,我们并不知道eat方法的具体用途,需要将其进行抽象abstract class aa{ public abstract void eat();}抽象类的价值在于,在父类中定义这些抽象的方法,但是让其在子类中进行继承实现抽象类的使用细节抽象类不能进行实例化,运行以下代码,会发现系统报错public class Test { publi

2022-02-07 10:28:32 151

原创 Java中final关键字

基本介绍final中文意思为最后的,最终的,final可以修饰类,属性,方法和局部变量。应用场景:当不希望类被继承时,可以用final修饰 当不希望父类的某个方法被子类覆盖或者被重写时,可以用关键字修饰 当不希望类的某个属性值被修改,可以用final修饰使用细节final其实可以认为成常量,所以在变量命名中用XXX大写来表示常量 final修饰的属性在定义时,必须赋初值,并且以后不能在修改。 如果final修饰的为静态变量,对final的赋值不能在构造器之中进行赋值操作。静态变量是

2022-02-07 10:00:03 168

原创 Java中的单例设计模式

什么是单例设计模式所谓单例设计模式,就是采取一定的方法保证整个软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。目的:使用着在main方法中就不可以自己创建实例对象以及定义一些变量。单例设计模式的两种方法:饿汉式,懒汉式饿汉式将我们的构造器私有化,防止我们在类的外部可以直接new一个对象 在类的内部直接创建该静态对象(否则下面的static方法无法调用) 提供一个公共的static方法,返回我们想要的对象 实现代码疑问:为什么getInsatn

2022-02-05 20:32:10 1000

原创 Java中代码块的执行

代码块的格式:{执行的语句}代码块的主要用途当我们定义了代码块之后,我们每一次调用构造器,代码块的语句都会被执行一次。我们可以看出代码块在构造器的第一列就被调用执行了。如果有多个代码块则会按照顺序进行调用public class Test { public static void main(String[] args) { aa b= new aa("小明"); aa c= new aa("小明",99); }}class aa{

2022-01-29 11:16:23 1470

原创 Java中main方法的语法

理解main方法public static void main(String[] args) Java虚拟机调用类的main方法,所以该方法必须为public类,如果是private类等则运行不通过 Java虚拟机在执行main方法时不必创建实例对象,所以执行方法必须时static 该方法接受String类型的数组参数,该数组中保存执行Java命令时传递给所运行的类的参数(String[] args用来保存参数)。我们来运行以下代码,查看,当我们尝试将参数输出时。我们正常运行,什么也不会输出,但

2022-01-29 10:32:01 799

原创 静态方法(工具人)

在程序员开发中,往往会将一些通用的方法,设计成静态方法,这样我们就不需要创建对象就可以使用,比如打印数组,完成排序和我们设计的程序中一些非静态函数需要的功能等。静态方法可以通过不用创建实例对象而进行调用使用,查看以下代码我们并没由去创建一个tets对象实例,而是直接调用这个方法,public class Test extends a{ public static void main(String[] args) { a.printfHello(); }}clas

2022-01-29 10:06:52 309

原创 Java中finalize方法的使用(经典白学,新idk已经弃用)

在jdk文档中,其解释为当垃圾回收器确定不存在对该对象的更多的引用时,由对象的垃圾回收器调用此方法。什么情况下会被回收:某个对象没有任何引用时,则jvm就认为这个对象是一个垃圾对象,用垃圾回收机制调用finalize方法垃圾回收的调用时系统决定的,但是我们可以通过System.gc()来主动调用查看以下代码,其实在这种情况下,系统已经自动调用了finalize函数,但是我们不能确定是在什么时候调用的,所以当没有主动运行.gc的情形下,输出语句不会这里输出。public class Test

2022-01-27 20:37:06 322

原创 Java中toString方法

tostring方法默认返回:全类名(包名+类名)+@+哈希值的十六进制源码:public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); }观察以下代码查看效果:public class Test { public static void main(String[] args) { A a=new A("小钻风

2022-01-27 20:18:04 1044

原创 Java中hasCode方法

hasCode可以认为是地址的映射,如果指向同一个对象则其值为相同,如果指向不同的对象,则其值不相同。public class Test { public static void main(String[] args) { A obj1=new A(); A obj2=new A(); A obj3=obj1; System.out.println(obj3.hashCode()); System.out.print

2022-01-27 19:59:42 877

原创 Java中重写equals方法,改变其功能

首先我们运行以下代码,比较两个对象是否相等。可以看出,两个person明明完全相等,但是结果却是false,这是因为person1与person2是两个对象,虽然包含内容相等,但是equals的源码将两个不同的对象直接处理为不相等。这个时候我们可以选择重写equals代码,完成我们的需求。package com.zss.Mlearn;public class A { public static void main(String[] args) { Person person1

2022-01-27 11:44:58 410

原创 Java中==与equals

==作用:对于基本数据类型,比较值是否相等,对于引用数据类型,比较地址是否相等。equals作用:一般比较地址内存地址是否相等,必要时方法会被重写。首先我们查看以下代码以及运行结果public class Test { public static void main(String[] args) { Integer integer1=1; Integer integer2=1; Integer integer3=1000;

2022-01-27 11:34:44 659

原创 Java的动态绑定机制

首先我们运行以下一段代码,结果大家很容易看出来结果为40与30。但是如果我将B类的sum方法注释掉那么他将会输出什么???会发现最终的结果变为30与30,其中间发生了什么??首先输出时检索子类B中没有sum类,就去调用父类A的sum,但是我们会发现A的sum函数包含了getl()函数,我们这个时候使用子类的getl方法还是父类的getl方法??? Java的的动态绑定机制,在这个函数中A a=new B(),其就与B(等号后面的)的地址进行绑定,这个时候B中含有getl函数,就去调用B中的函数。而i=

2022-01-26 12:11:51 72

原创 Java面向对象的多态

多态的具体体现在Java中重写和重载都是多态的一种体现,重载我们对相同的函数名输入不同的参数,函数就拥有不同的功能,而重写同一个函数名拥有不同的函数体现,比如返回值不同等等。对象的多态一个对象的编译类型和运行类型可以不一致 编译类型在定义对象时就确定了,不能更改 运行的类型时可以变化的Animal animal=new Dog();//编译类型为Animal,运行类型为Dog animal=new Cat;//编译类型为Animal,运行类型为Cat从上面的代码可以看出,

2022-01-26 11:51:57 67

原创 Java中方法重写的注意事项

基本介绍super代表父类的引用,用于访问父类的属性,方法,构造器。基本语法访问父类的属性,但是不能访问父类的private的属性,super.属性名 访问父类的方法,但是不能访问private方法 访问父类的构造器,并且必须放到第一句...

2022-01-26 10:16:55 82

原创 Java中继承的本质分析

观察以下代码,当我们运行Son son=new Son();内存中发生了什么public class Test { public static void main(String[] args) { Son son=new Son(); }}class GrandFa{ String name="老头爷爷";}class Father extends GrandFa{ String name="小头爸爸";}class Son extends

2022-01-25 10:15:07 146

原创 Java面向对象的继承

详细说明Java中继承以及继承的相关细节

2022-01-24 19:59:14 194

原创 Java面向对象的封装

封装概念是把抽象的数据(属性)与对数据的操作方法封装在一起,数据被保存在内部,程序的其他部分只有通过被授权的操作方法,才能对数据进行操作。封装的好处隐藏我们对方法实现的细节,用户只需要知道怎么去使用这个功能,而不需要知道我们如何去实现的这一功能,安全性比较高。 封装还可以对用户输入的数据进行验证,保证数据合情合理,但是用户不会提前了解到规则,造成数据造假。封装的步骤将想要隐藏的数据进行私有化(用户不能直接去修改属性) 提供一个公共的set方法,用于对属性进行判断并且赋值 提供一个公共

2022-01-24 18:51:45 777

计算机网络概述.xmind

适合期末进行计算机网络进行期末考试的大学生,本导图

2021-12-26

空空如也

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

TA关注的人

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