首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java基础

反射:使用Class类的newInstance方法可以调用无参的构造创建对象,如果是有参构造,则需要使用Class的forName方法和Constructor进行对象的创建。...true,值等于 100 的两个 Integer 对象(原因是 JVM 缓存部分基本类型常用的包装类对象, Integer -128 ~ 127 是被缓存的) 使用 equals() 比较 包装对象...Java的泛型基本都是在编译这个层次实现的,在生成的字节码中是不包含泛型中的类型信息的,使用泛型的时候加上类型参数,在编译编译的时候会去掉,这个过程称为类型擦除。 30....主要缺点: 由于单利模式中没有抽象层,因此类的扩展有很大的困难。 类的职责过重,在一定程度上违背了“单一职责原则”。...滥用将带来一些负面问题,为了节省资源将数据库连接池对象设计为的类,可能会导致共享连接池对象的程序过多而出现连接池溢出;如果实例化的对象长时间不被利用,系统会认为是垃圾而被回收,这将导致对象状态的丢失

1.3K10

Java学习笔记——面向对象编程(核心)

类是对一类事物描述,是抽象的、概念的定义。 对象是实际存在的某类事物的某个个体,因而也称实例(instance)。...可以调用属性、方法、构造(构造相互调用,使用this()必须放在构造的首行)。 super super可用于访问父类中定义的属性、成员方法,在子类构造方法中调用父类的构造。...A a1 = new B(); a1.staticFunc(); // A staticFunc ((B)a1).staticFunc(); // B staticFunc 模式 模式的几种实现方式...通过包装类的构造实现 还可以通过字符串参数构造包装类对象 5.2 拆箱 获得包装类对象中包装的基本类型变量。...如果抽象类和接口都可以使用的话,优先使用接口,因为避免继承的局限。 在开发中,一个类不要去继承一个已经实现好的类,要么继承抽象类,要么实现接口。

38220
您找到你想要的搜索结果了吗?
是的
没有找到

来了来了它来了,100条必背JAVA知识点(下)

64、基本数据类型与对应的包装类: 65、自动装箱和自动拆箱(JDK 5.0之后) 66、static关键字可以用来修饰属性、方法、代码块、内部类。...静态属性和静态方法的使用,都可以从生命周期的角度去理解。 71、设计模式:就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例。 代码实现一: 坏处:对象加载时间过长。...④若子类没重写父类中的所的抽象方法,则此子类也是一个抽象类,需要使用abstract修饰 注意点: abstract不能用来修饰:属性、构造等结构 abstract不能用来修饰私有方法、静态方法、final...如下: 83、接口使用上也满足多态性,接口,实际就是定义了一种规范,下面这个例子可以帮你深刻理解并记住接口! 85、Java中关于接口的新规范 ①接口中定义的静态方法,只能通过接口调用。...②使用try将可能出现异常代码包装起来,在执行过程中,一旦出现异常,就会生成一个对应异常类的对象,根据此对象的类型,去catch中进行匹配。

66010

java综合面试练习题

Long float  Float double  Double 10.基本数据类型包装类与String三者之间如何转换 基本数据类型包装类 自动装箱和拆箱 包装类 和 String 包装类数值...,分别表示什么意思 可修饰 类、方法、属性、局部变量 - 修饰局部变量表示,这个变量有且只能有唯一的一次赋值 - 修饰属性,同局部一样,但是可以使用显示声明、构造注入、代码块注入 - 修饰方法, 表示此方法不能被重写...代码实现模式的饿汉式 class Singleton{ private Singleton(){} private static final Singleton INSTANCE =...都不能实例化,可以被继承 - 抽象类有构造,但是接口没有 - 抽象类只能继承,接口可以多接口继承 19.遍历一个List有哪些不同的方式?...,然后再添加数据,长度是根据内容的多少而改变的,ArrayList可以存放不同类型的数据,在存储基本类型数据的时候要使用基本数据类型包装类 当能确定长度并且数据类型一致的时候就可以用数组,其他时候使用

55550

2024年java面试准备--java基础篇

抽象类和接口有什么区别 继承方面 抽象类只能继承;而接口可以多继承 成员属性方面 抽象类中可以有普通属性,也可以有常量; 接口中的成员变量全部默认是常量,使用public static final修饰...2.Spring中常用的设计模式 工厂模式:BeanFactory就是简单工厂模式的体现,用来创建对象的实例; 模式:Bean默认为模式。...模式 某个类只能生成一个实例,该实例全局访问,例如Spring容器里一级缓存里的池。 优点: 唯一访问:生成唯一序列化的场景、或者spring默认的bean类型。...缺点: 不适合有状态且需变更的 实现方式: 饿汉式:线程安全速度快,饿汉就是类一旦加载,就把初始化完成,保证getInstance的时候,是已经存在的了。...不能使用request对象共享数据 转发:forward: 转发地址栏路径不变 转发只能访问当前服务下的资源 转发是一次请求,可以使用request对象共享数据 8种基本数据类型和取值范围 基本类型

44541

设计模式常见面试知识点总结

模式保证全局的类只有一个实例,这样的话使用的时候直接获取即可,比如数据库的一个连接,Spring里的bean,都可以是的。 模式一般有5种写法。...第三种是逐步改进的方法,一开始可以用synchronized关键字进行同步,但是开销太大,而后改成使用volatile修饰,然后通过一次检查判断是否已初始化,如果未初始化就使用synchronized...第四种是使用静态内部类实现,静态内部类只在被使用的时候才进行初始化,所以在内部类中进行的实例化,只有用到的时候才会运行实例化代码。然后外部类再通过静态方法返回静态内部类的即可。...并且很难在不打开数据的情况下知道数据类型是什么。 知道后来为了使数据格式更加灵活,使用了事件和事件监听的模式,事件包装的事件类型和事件数据,从主题和观察者中解耦。...主题当事件发生时,触发该事件的所有监听,把该事件通过监听列表发给每个监听,监听得到事件以后,首先根据自己支持处理的事件类型中找到对应的事件处理,再用处理处理对应事件。

63130

设计模式常见面试知识点总结(Java版)

模式保证全局的类只有一个实例,这样的话使用的时候直接获取即可,比如数据库的一个连接,Spring里的bean,都可以是的。 模式一般有5种写法。...第三种是逐步改进的方法,一开始可以用synchronized关键字进行同步,但是开销太大,而后改成使用volatile修饰,然后通过一次检查判断是否已初始化,如果未初始化就使用synchronized...第四种是使用静态内部类实现,静态内部类只在被使用的时候才进行初始化,所以在内部类中进行的实例化,只有用到的时候才会运行实例化代码。然后外部类再通过静态方法返回静态内部类的即可。...并且很难在不打开数据的情况下知道数据类型是什么。 知道后来为了使数据格式更加灵活,使用了事件和事件监听的模式,事件包装的事件类型和事件数据,从主题和观察者中解耦。...主题当事件发生时,触发该事件的所有监听,把该事件通过监听列表发给每个监听,监听得到事件以后,首先根据自己支持处理的事件类型中找到对应的事件处理,再用处理处理对应事件。

34400

设计模式常见面试知识点总结

模式保证全局的类只有一个实例,这样的话使用的时候直接获取即可,比如数据库的一个连接,Spring里的bean,都可以是的。 模式一般有5种写法。...第三种是逐步改进的方法,一开始可以用synchronized关键字进行同步,但是开销太大,而后改成使用volatile修饰,然后通过一次检查判断是否已初始化,如果未初始化就使用synchronized...第四种是使用静态内部类实现,静态内部类只在被使用的时候才进行初始化,所以在内部类中进行的实例化,只有用到的时候才会运行实例化代码。然后外部类再通过静态方法返回静态内部类的即可。...并且很难在不打开数据的情况下知道数据类型是什么。 知道后来为了使数据格式更加灵活,使用了事件和事件监听的模式,事件包装的事件类型和事件数据,从主题和观察者中解耦。...主题当事件发生时,触发该事件的所有监听,把该事件通过监听列表发给每个监听,监听得到事件以后,首先根据自己支持处理的事件类型中找到对应的事件处理,再用处理处理对应事件。

42340

一文了解设计模式的常见面试知识点

模式保证全局的类只有一个实例,这样的话使用的时候直接获取即可,比如数据库的一个连接,Spring里的bean,都可以是的。 模式一般有5种写法。...第三种是逐步改进的方法,一开始可以用synchronized关键字进行同步,但是开销太大,而后改成使用volatile修饰,然后通过一次检查判断是否已初始化,如果未初始化就使用synchronized...第四种是使用静态内部类实现,静态内部类只在被使用的时候才进行初始化,所以在内部类中进行的实例化,只有用到的时候才会运行实例化代码。然后外部类再通过静态方法返回静态内部类的即可。...并且很难在不打开数据的情况下知道数据类型是什么。 知道后来为了使数据格式更加灵活,使用了事件和事件监听的模式,事件包装的事件类型和事件数据,从主题和观察者中解耦。...主题当事件发生时,触发该事件的所有监听,把该事件通过监听列表发给每个监听,监听得到事件以后,首先根据自己支持处理的事件类型中找到对应的事件处理,再用处理处理对应事件。

31920

Java设计模式学习总结

模式保证全局的类只有一个实例,这样的话使用的时候直接获取即可,比如数据库的一个连接,Spring里的bean,都可以是的。 模式一般有5种写法。...第三种是逐步改进的方法,一开始可以用synchronized关键字进行同步,但是开销太大,而后改成使用volatile修饰,然后通过一次检查判断是否已初始化,如果未初始化就使用synchronized...第四种是使用静态内部类实现,静态内部类只在被使用的时候才进行初始化,所以在内部类中进行的实例化,只有用到的时候才会运行实例化代码。然后外部类再通过静态方法返回静态内部类的即可。...并且很难在不打开数据的情况下知道数据类型是什么。 知道后来为了使数据格式更加灵活,使用了事件和事件监听的模式,事件包装的事件类型和事件数据,从主题和观察者中解耦。...主题当事件发生时,触发该事件的所有监听,把该事件通过监听列表发给每个监听,监听得到事件以后,首先根据自己支持处理的事件类型中找到对应的事件处理,再用处理处理对应事件。

31200

面试官:Mybatis里的设计模式有哪些?我一口气答了8种

我基本都是把相关设计模式先回答一遍。 我:量模式、代理模式、工厂模式、装饰模式.....劈哩吧啦的说上一堆设计模式。 面试官:能不能说说装饰模式在Mybatis中的什么场景中会用到?...工厂模式 就是专门创建某某对象的工厂,你要什么对象,尽管开口,能创建的我创建,你无需知道是怎么创建出来的。 在Mybatis中以Factory结尾的类,基本都是使用了工厂模式。...模式 模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。...这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。...对于文中的8种设计模式,我建议一个优先级,由高往低: ->工厂->模板方法->代理->装饰->责任链->适配器->建造者。 前面五个个人强烈推荐掌握。

46020

JAVA进阶2 深入理解面向对象

,严格控制GOTO语句的使用 自顶而下、逐步求精独立功能、出口、入口,减少模块的相互联系使模块可作为插件或积木使用,降低程序的复杂性,提高可靠性。 ...即:  Integer intObj=5; boolean b = (Boolean)boolObj; 包装类的parseXxx(String)静态方法提供了字符串值转换为基本类型的值的方法;也可以使用包装类的构造实现...创建可执行的jar包  程序发布的方式:  使用平台相关的编译使用第三方编译为应用编辑一个批处理,windows  java package.MainClass 或  start javaw package.MainClass...类在类图上使用包含三个部分的矩形描述,最上面的部分显示类的名称,中间部分包含类的属性,最下面的部分包含类的方法。...组件图通常包含组件、接口和Port等图元,UML使用带插头符号的矩形表示组件,使用圆圈代表接口,使用位于组件边界的小矩形代表Port。

46820

Scala 基础 (六):面向对象(下篇)

为了能够和Java语言进行交互,使用对象取代static关键字的语义,伴生类的静态声明都可放在伴生对象中。...对象对应的类称之为伴生类,伴生对象的名称应该和伴生类名一致,必须在同一个文件中。 对象中的属性和方法都可以通过伴生对象名(类名)直接调用访问。...Scala底层对于伴生对象的apply方法进行了优化,调用时可以省略方法名,直接使用对象的名称+调用apply方法的参数 当使用 new 关键字构建对象时,调用的其实是类的构造方法,当直接使用类名构建对象时...需要构造函数参数,使用抽象类,抽象类可以定义带参的构造,特质只是无参的构造。 四、扩展内容 类型检查和转换 obj.isInstanceOf[T]:判断 obj 是不是 T 类型。...object TestApp extends App{ println("app start" } 定义新类型 使用 type 关键字可以定义新的数据数据类型名称,本质就是类型的一个别名 type

46610

真没想到!三十步才能完成bean实例的创建

然后这个合并后的bean定义必须是,非抽象的,的,非延迟初始化的。 那么它就满足条件,如下图02: ? 三、判断是否为FactoryBean类型 如果不是的话,说明该beanName对应一个普通的bean,可以直接实例化。 如果是的话,说明该beanName对应的是一个工厂,这个工厂本身是的。...这个bean实例会用一个BeanWrapper接口进行包装,这个接口提供一些基础的JavaBean功能,如数据的类型转换然后再进行属性绑定等。...然后也用BeanWrapper接口进行包装。 十四、使用更适合的构造方法实例化,如果有的话 如果一步没有执行的话,则使用bean定义中更适合的构造方法,如下图18: ?...十五、使用默认无参的构造方法实例化 如果一步没有执行的话,则使用默认无参构造方法,如下图19: ? 编程新说注:至此bean实例已经创建好了。

37720

Java入门必背100条

体现二 不对外暴露的私有的方法 体现三 模式(将构造私有化) 体现四 如果不希望类在包外被调用,可以将类设置为缺省的。...静态属性和静态方法的使用,都可以从生命周期的角度去理解。 76、设计模式:就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例。...④若子类没重写父类中的所的抽象方法,则此子类也是一个抽象类,需要使用abstract修饰 3.注意点: abstract不能用来修饰:属性、构造等结构 abstract不能用来修饰私方法、静态方法...言外之意,不使用final,就可以被继承 可以被abstract修饰 92、如何在外部类创建成员内部类的对象?...使用try将可能出现异常代码包装起来,在执行过程中,一旦出现异常,就会生成一个对应异常类的对象,根据此对象的类型,去catch中进行匹配。

1K20

Java设计模式面试题

同时,它提供了一种抽象,因为客户端只使用接口,这样可以有多重实现, List 接口,你可以使用可随机访问的 ArrayList,也可以使用方便插入和删除的 LinkedList。...访问者模式用于解决在类的继承层次增加操作,但是不直接与之关联。这种模式采用双派发的形式增加中间层。 11.什么时候使用组合模式? 组合模式使用树结构展示部分与整体继承关系。...(比如一个军队出现了多个司令员同时指挥,肯定会乱成一团),所以只有使用模式,才能保证核心交易服务独立控制整个流程。 模式重点在于在整个系统共享一些创建时较耗资源的对象。...整个应用中只维护一个特定类实例,它被所有组件共同使用。Java.lang.Runtime是模式的经典例子。你可以在我的文章Java模式的10个问题看到更多的问题和讨论。...从Java 5开始你可以使用枚举(enum)实现线程安全的。 22. 在Java中,什么叫观察者设计模式(observer design pattern)?

75220

Spring 中 bean 注册的源码解析

SimpleAliasRegistry: 它是 AliasRegistry 接口的一个实现类,使用 map 做 alias 的的映射。...NULL_OBJECT 站位 protected static final Object NULL_OBJECT = new Object(); // 对象缓存,bean name...,可以使用工厂创建对象 bean name --> ObjectFactory private final Map<String, ObjectFactory<?...在创建的时候,如果该正在创建,就不会再创建了,就应该排除掉,如果某个在该集合中,则表示该正在创建 private final Set inCreationCheckExclusions...从上面的类图中也可以看到,该类实现了或者说继承了两种不同的接口和抽象类,一种是和注册相关的接口和抽象类,一种是和获取bean相关的接口,现在只关心和bean注册相关的部分: 先来看看它定义的一些属性

1K10

Effective Java(第三版)-学习笔记

对象必须私有化构造方法,或者使用枚举类型 必须保证只有一个对象实例,枚举会更加安全(不可序列化),如果的类必须继承抽象类的时候,只能使用前者,因为枚举类都会继承Enum类。...优先使用继承类而不是标记类 标记类是指用标记属性区分标记对象,如用长宽高属性区分长方形和圆。而应该分别设计长方形类和圆类(分别继承一个表示形状的类)区分长方形和圆。...3.Optional中T 不应该为包装类型Long等。 4.几乎也不把Optional 用在集合和数组的key,value或者element。...2.第1点可以优化为进入同步的条件必须保证可见性,双重检查实现懒加载方式时,静态对象用volatile修饰。...对于对象,优先使用枚举而不是readResolve方法 why: 枚举类对象的序列化和反序列化方式是Java语言规范的,不是由用户实现的。枚举类对象是天生的对象。

1.1K10

知识总结:设计模式总结(C++和Python实现)前言案例实现 创建型模式 结构型模式行为型模式对比总结

反射中使用的字符串可以通过配置文件传入,避免更改代码。 模式(Singleton) 模式:让类自身保证它只有一个实例,并提供一个全局访问点。...饿汉式:即静态初始化方式,在类初始化时产生私有对象,会提前占用资源;渴汉式:在第一次被引用时将自己初始化,会产生多线程访问安全问题,需要添加双重锁定。...解释模式(Interpreter) 解释模式:给定一种语言,定义它文法的一种表示,再定义一个解释使用该表示解释语言中的句子。...如果一种特定类型发生的频率足够高,就可以将其实例表达为一个句子,构建解释解析。 解释模式就是用“迷你语言”表现程序要解决的问题,将句子抽象为语法树。...解释为文法中的每条规则定义了一个类,当文法过多时将难以维护,建议使用其他技术语法分析程序或编译生成器处理。

1.4K80

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券