Java有关知识
文章平均质量分 84
java有关的一些问题
拥抱月光
这个作者很懒,什么都没留下…
展开
-
Java中的设计模式有哪几种?
文章目录单例模式工厂设计模式工厂方法模式:抽象工厂模式建造者模式(Builder)适配器模式Java中一般认为有23种设计模式。总体来说可以分为三大类:1.创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。2.结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。3.行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。单例模式原创 2021-02-01 10:12:55 · 374 阅读 · 0 评论 -
设计模式的六大原则?
文章目录单一职责原则接口隔离原则里氏替换原则依赖倒置原则迪米特法则开闭原则单一职责原则有且只有一个原因会引起类的变化,即是说,一个类只会对一个职责内的事情负责。比如说权限类,那么他只负责权限内的所有事情,其他登录或者角色等相关的一些东西他不会干涉,也不要把权限的事情放到其他的类里面。一定要记住,手不要伸的太长,否则的话,相关的代码分散到系统的各个地方,维护的代码实在太多,随着你系统的扩张,维护的代码也会呈几何增长。想象下中医药房,每个抽屉只放了一种药材,抓方子的时候很方便,直接抓起来称重量就可以了,如原创 2021-01-29 16:58:10 · 278 阅读 · 0 评论 -
java中有关集合(容器)的问题整理
整理了下有关Java集合有关的面试问题1.Java集合框架是什么?说出一些集合框架的优点?每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,Java已近经历了很久。它还包括在Java并发包中,阻塞接口以及他们的实现。集合框架的部分优点如下:1.使用核心集合类降低开发成本,而非实现我们自己的集合类2.随着使用原创 2021-01-27 13:55:52 · 139 阅读 · 0 评论 -
NIO/BIO/AIO三者的区别?
文章目录NIO/BIO/AIO是什么?区别IO按照方向和数据类型划分能划分为那些数据流Java中IO流分为几种?NIO/BIO/AIO是什么?BIO:同步阻塞IO Block IO,举个例子:我现在上厕所 现在厕所的坑已经满了,我什么事情都不做,我就在哪儿一直等着(主动观察)那个坑没人了,我就立马去占坑NIO:同步非阻塞IO Non-Block IO,举个例子:我现在上厕所,现在厕所的坑已经满了,这时候我不会像之前一样 ,我会出去抽只烟,或者微信摇一摇,然后我会时不时去厕所主动看看,看看有没有人走原创 2021-01-26 15:32:15 · 179 阅读 · 0 评论 -
接口与抽象类的区别
文章目录概述接口与抽象类的区别总结:概述一个软件设计的好坏,很大程度上取决于它的整体架构,而这个整体架构其实就是你对整个宏观业务的抽象框架,当代表业务逻辑的高层抽象层结构合理时,底层的具体实现需要考虑的就仅仅是一些算法和一些具体的业务实现了。当你需要再开发一个相近的项目时,你以前的抽象层说不定还可以再次利用。面向对象的设计,复用的重点其实应该是抽象层的复用,而不是具体某一个代码块的复用。Java接口(interface)和Java抽象类(abstract class)代表的就是抽象类型,就是我们需转载 2021-01-26 14:56:00 · 118 阅读 · 0 评论 -
什么是重载&什么是重写&区别
文章目录重载重写区别重载重载(OverLoad)是让类以统一的方式处理不同类型数据的一种手段,实质表现就是多个具有不同的参数个数或者类型的同名函数(返回值类型可随意,不能以返回类型作为重载函数的区分标准)同时存在于同一个类中,是一个类多态性的一种表现(调用方法时通过传递不同参数个数和参数类型来决定使用那个方法的多态性)。上图为Android中的一个重载例子。重写重写(Override)是父类与子类之间的多态性,实质是对父类的函数进行重新定义,如果在子类中定义某方法与其父类有相同的名称和参数则该方原创 2021-01-26 11:02:41 · 3671 阅读 · 0 评论 -
Java中面向对象的特征
文章目录封装继承多态多态的实现Java实现多态有三个必要条件:继承,重写,向上转型实现形式:继承和接口抽象封装封装是保证软件部件具有优良的模块性的基础,封装的目标就是要实现软件部件的"高内聚,低耦合",防止程序相互依赖性而带来的变动影响。在面向对象的编程语言中,对象是封装的最基本单位,面向对象的封装比传统语言的封装更为清晰,更为有力。面向对象的封装就是把描述一个对象的属性和行为的代码封装在一个“模块中”,也就是一个类中,属性用变量定义,行为用方法进行定义,方法可以直接访问同一个对象中的属性。把握一个原创 2021-01-26 10:27:48 · 106 阅读 · 0 评论 -
面向对象&面向过程&区别?
文章目录一、面向对象与面向过程的区别二、面向对象的特点三、面向对象与面向对象的优缺点一、面向对象与面向过程的区别面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。可以拿生活中的实例来理解面向过程与面向对象,例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、原创 2021-01-25 17:04:00 · 199 阅读 · 0 评论 -
JDK&JVM&JRE
文章目录JDK&JVM&JRE分别是什么以及他们的区别?JVMJREJDK为什么JAVA可以跨平台?JDK&JVM&JRE分别是什么以及他们的区别?如果从数学的角度来看,那么JDK>JRE>JVMJVMjvm:java虚拟机,顾名思义——虚拟的机器 虚拟机,之所以称为虚拟机,是因为他实际上不存在,他是一个规范,提供一个java字节码可以运行的环境,它也可以运行其它语言编写的编译成java字节码的程序 jre, jdk,jvm依赖于平台~因为每个操作系统的配原创 2021-01-25 16:41:36 · 170 阅读 · 0 评论