精华内容
下载资源
问答
  • 与 a.equals(b) 有什么关系?hashCode() 方法对应对象整型的 hash 值。它常用于基于 hash 的集合类,如 Hashtable、HashMap、LinkedHashMap等等。它与 equals() 方法关系特别紧密。根据 Java 规范,两个使用 equal()...
    f78b6cd374eac4d274542f9a11f877ea.png

    41、a.hashCode() 有什么用?与 a.equals(b) 有什么关系?

    hashCode() 方法对应对象整型的 hash 值。它常用于基于 hash 的集合类,如 Hashtable、HashMap、LinkedHashMap等等。它与 equals() 方法关系特别紧密。根据 Java 规范,两个使用 equal() 方法来判断相等的对象,必须具有相同的 hash code。

    42、字节流与字符流的区别

    要把一段二进制数据数据逐一输出到某个设备中,或者从某个设备中逐一读取一段二进制数据,不管输入输出设备是什么,我们要用统一的方式来完成这些操作,用一种抽象的方式进行描述,这个抽象描述方式起名为IO流,对应的抽象类为OutputStream和InputStream,不同的实现类就代表不同的输入和输出设备,它们都是针对字节进行操作的。

    计算机中的一切最终都是二进制的字节形式存在。对于经常用到的中文字符,首先要得到其对应的字节,然后将字节写入到输出流。读取时,首先读到的是字节,可是我们要把它显示为字符,我们需要将字节转换成字符。由于这样的需求很广泛,Java专门提供了字符流包装类。

    底层设备永远只接受字节数据,有时候要写字符串到底层设备,需要将字符串转成字节再进行写入。字符流是字节流的包装,字符流则是直接接受字符串,它内部将串转成字节,再写入底层设备,这为我们向IO设备写入或读取字符串提供了一点点方便。

    字符向字节转换时,要注意编码的问题,因为字符串转成字节数组,其实是转成该字符的某种编码的字节形式,读取也是反之的道理。

    43、什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。

    我们有时候将一个java对象变成字节流的形式传出去或者从一个字节流中恢复成一个java对象,例如,要将java对象存储到硬盘或者传送给网络上的其他计算机,这个过程我们可以自己写代码去把一个java对象变成某个格式的字节流再传输。

    但是,jre本身就提供了这种支持,我们可以调用OutputStream的writeObject方法来做,如果要让java帮我们做,要被传输的对象必须实现serializable接口,这样,javac编译时就会进行特殊处理,编译的类才可以被writeObject方法操作,这就是所谓的序列化。需要被序列化的类必须实现Serializable接口,该接口是一个mini接口,其中没有需要实现方法,implements Serializable只是为了标注该对象是可被序列化的。

    例如,在web开发中,如果对象被保存在了Session中,tomcat在重启时要把Session对象序列化到硬盘,这个对象就必须实现Serializable接口。如果对象要经过分布式系统进行网络传输,被传输的对象就必须实现Serializable接口。

    44、描述一下JVM加载class文件的原理机制?

    JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。

    45、heap和stack有什么区别。

    java的内存分为两类,一类是栈内存,一类是堆内存。栈内存是指程序进入一个方法时,会为这个方法单独分配一块私属存储空间,用于存储这个方法内部的局部变量,当这个方法结束时,分配给这个方法的栈会释放,这个栈中的变量也将随之释放。

    堆是与栈作用不同的内存,一般用于存放不在当前方法栈中的那些数据,例如,使用new创建的对象都放在堆里,所以,它不会随方法的结束而消失。方法中的局部变量使用final修饰后,放在堆中,而不是栈中。

    46、GC是什么?为什么要有GC?

    GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。

    47、垃圾回收的优点和原理。并考虑2种回收机制。

    Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于垃圾回收机制,Java中的对象不再有"作用域"的概念,只有对象的引用才有"作用域"。

    垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。

    回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。

    48、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?

    对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"。当GC确定一些对象为"不可达"时,GC就有责任回收这些内存空间。

    程序员可以手动执行System.gc(),通知GC运行,但是Java语言规范并不保证GC一定会执行。

    49、Java 中,throw 和 throws 有什么区别

    throw 用于抛出 java.lang.Throwable 类的一个实例化对象,意思是说你可以通过关键字 throw 抛出一个Exception,如:

    throw new IllegalArgumentException(“XXXXXXXXX″)

    而throws 的作用是作为方法声明和签名的一部分,方法被抛出相应的异常以便调用者能处理。Java 中,任何未处理的受检查异常强制在 throws 子句中声明。

    50,java中会存在内存泄漏吗,请简单描述。

    先解释什么是内存泄漏:所谓内存泄露就是指一个不再被程序使用的对象或变量一直被占据在内存中。java中有垃圾回收机制,它可以保证当对象不再被引用的时候,对象将自动被垃圾回收器从内存中清除掉。

    由于Java使用有向图的方式进行垃圾回收管理,可以消除引用循环的问题,例如有两个对象,相互引用,只要它们和根进程不可达,那么GC也是可以回收它们的。

    java中的内存泄露的情况:长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄露,尽管短生命周期对象已经不再需要,但是因为长生命周期对象持有它的引用而导致不能被回收,这就是java中内存泄露的发生场景,通俗地说,就是程序员可能创建了一个对象,以后一直不再使用这个对象,这个对象却一直被引用,即这个对象无用但是却无法被垃圾回收器回收的,这就是java中可能出现内存泄露的情况,例如,缓存系统,我们加载了一个对象放在缓存中(例如放在一个全局map对象中),然后一直不再使用它,这个对象一直被缓存引用,但却不再被使用。

    展开全文
  • 对象就是一个真实世界中的实体,对象与实体一一对应关系的,意思就是现实世界的每一个实体都一个对象,所以对象一个具体的概念。类对象的集合,对象类的实例。对象通过new className产生的,用来调用类...

    b0951db8ff84b1f3d98b01512196f852.png

    类就是具备某些共同特征的实体的集合,它是一种抽象的数据类型,它是对所具有相同特征实体的抽象。在面向对象的程序设计语言中,类是对一类“事物”的属性与行为的抽象。

    对象就是一个真实世界中的实体,对象与实体是一一对应关系的,意思就是现实世界的每一个实体都是一个对象,所以对象是一个具体的概念。

    类是对象的集合,对象是类的实例。对象是通过new className产生的,用来调用类的方法、类的构造方法。

    java相关视频教程推荐:java在线学习

    举一个例子说明,比如Person(人)就是一个类,那么具体的某个人“张三”就是“人类”这个类的对象,而“姓名、身高、体重”等信息就是对象的属性,人的动作比如“吃饭、穿衣”等就是对象的方法。

    总之,类就是有相同特征的事物的集合,而对象就是类的一个具体实例。

    同时类有多态和继承,例如“人类”可以分为“男人、女人”,“老人、小孩”那么“男人、女人”就是“人类”的子类等等。

    Java语言中对类Person的定义往往如下:public class Person {

    private String name; //属性:姓名

    private int height; //属性:身高

    private int weight; //属性:体重

    public Person() {}

    public Person(String name, int height, int weight) {

    this.name = name;

    this.height = height;

    this.weight = weight;

    }

    //... some methods...

    public void doSth() { //行为:

    //... do something

    }

    }

    对象是类的具体的个体。比如,张三是类Person的一个对象。Person可能存在无数个对象(就好像地球上存在数十亿人一样)。

    方法是被对象调用的比如“张三.穿衣()”,用static修饰的方法是静态的方法或称为共享方法,一般用类名直接调用。

    Java中,对象的创建可以使用new来创建一个对象。比如:Person zhangsan = new Person("Zhangsan", 170, 65); //创建对象:“Zhangshan”

    zhangsan.doSth(); //对象行为:对象自己发出行为

    类和对象的区别

    1、类是一个抽象的概念,它不存在于现实中的时间/空间里,类只是为所有的对象定义了抽象的属性与行为。就好像“Person(人)”这个类,它虽然可以包含很多个体,但它本身不存在于现实世界上。

    2、对象是类的一个具体,它是一个实实在在存在的东西。

    3、类是一个静态的概念,类本身不携带任何数据。当没有为类创建任何对象时,类本身不存在于内存空间中。

    4、对象是一个动态的概念。每一个对象都存在着有别于其它对象的属于自己的独特的属性和行为。对象的属性可以随着它自己的行为而发生改变。

    相关文章教程推荐:java开发入门

    展开全文
  • 分布式和微服务是什么关系?简而言之,分布式和微服务的概念相似,并且分布式属于微服务。但是分布式服务和微服务在架构,功能和粒度上有所不同。因此,两者之间的关系既相关又互不相同。本文主要向您介绍分布式服务...

    分布式和微服务是什么关系?简而言之,分布式和微服务的概念相似,并且分布式属于微服务。但是分布式服务和微服务在架构,功能和粒度上有所不同。因此,两者之间的关系既相关又互不相同。本文主要向您介绍分布式服务和微服务,并讨论两者之间的关系。有兴趣的朋友可以继续阅读。

    java架构师培训

    1、微服务

    微服务的意思也就是将模块拆分成一个独立的服务单元通过接口来实现数据的交互。简单来说微服务就是很小的服务,小到一个服务只对应一个单一的功能,只做一件事。这个服务可以单独部署运行,服务之间可以通过RPC来相互交互,每个微服务都是由独立的小团队开发,测试,部署,上线,负责它的整个生命周期。

    2、分布式

    顾名思义,分布式服务将服务部署在不同的计算机上。一种服务可能负责多种功能。它是面向SOA的体系结构。服务也可以通过rpc或webservice进行交互。设计逻辑体系结构后,应完成物理体系结构设计。系统应用程序部署在多台服务器或虚拟机上,并且分别部署的部件通过各种通信协议彼此交换信息,这可以视为分布式部署和生产环境。以下微服务必须以分布式方式部署,而且以分布式方式部署的应用程序不一定具有微服务体系结构,例如集群部署,它可以将同一应用程序复制到不同的服务器,但在逻辑上仍然是单个应用程序。

    3、关系

    联系:分布式只是将不同机器分散在不同位置的一种手段,然后这些机器可以互相帮助完成业务。微服务是一种特殊的分布式,换句话说,微服务体系结构是分布式服务体系结构的子集。微服务体系结构通过更细粒度的服务分段使整个系统的迭代速度和并行度更高,但是操作和维护的复杂性和性能将随着服务的精细度而增加。微服务专注于解耦,因此每个模块都是独立的。分发侧重于资源共享和加快计算机计算。

    区别:

    (1)架构不同:微服务的设计是为了不因为某个模块的升级和BUG影响现有的系统业务。微服务与分布式的细微差别是,微服务的应用不一定是分散在多个服务器上,他也可以是同一个服务器。

    (2)作用不同:分布式:不同模块部署在不同服务器上,分布式主要解决的是网站高并发带来问题。微服务:各服务可独立应用,组合服务也可系统应用。

    (3)粒度不同:微服务相比分布式服务来说,它的粒度更小,服务之间耦合度更低,由于每个微服务都由独立的小团队负责,因此它敏捷性更高,分布式服务最后都会向微服务架构演化,这是一种趋势,不过服务微服务化后带来的挑战也是显而易见的,例如服务粒度小,数量大,后期运维将会很难。

    推荐阅读:java架构师培训:java最佳测试框架JBehave的基本介绍

    如果你想了解更多关于java架构师的专业知识,可以加入JAVA架构师交流群:1160405674,里面都是同行,有资源分享包括但不限于(分布式架构、高可扩展、高性能、高并 发、Jvm性能调优、Spring,MyBatis,Nginx源码分析,Redis,ActiveMQ、Mycat、Netty、Kafka、Mysql 、Zookeeper、Tomcat、Docker、Dubbo、Nginx)。欢迎一到五年的工程师加入,合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

    展开全文
  • 入门类和对象的关系

    2019-03-20 17:33:28
    对象就是一个真实世界中的实体,对象与实体一一对应关系的,意思就是现实世界的每一个实体都一个对象,所以对象一个具体的概念。 类对象的一个集合,对象类的实例。 而对象的产生在Java中使用new来实现...

    什么是类?
    类就是具备某些共同特征的实体的集合,它是一种抽象的数据类型,它是对所具有相同特征实体的抽象。在面向对象的程序设计语言中,类是对一类“事物”的属性与行为的抽象。

    什么是对象?
    对象就是一个真实世界中的实体,对象与实体是一一对应关系的,意思就是现实世界的每一个实体都是一个对象,所以对象是一个具体的概念。

    类是对象的一个集合,对象是类的实例。

    而对象的产生在Java中是使用new来实现的。

    做一个比方老师是对一个群体的称呼,老师这个群体就是一个类,而老师又可以具体到某一个人,比如张老师、王老师之类的等等,张老师就是一个对象。

    类和对象的区别
      1,类是一个抽象的概念,它不存在于现实中的时间/空间里,类只是为所有的对象定义了抽象的属性与行为。就好像“Person(人)”这个类,它虽然可以包含很多个体,但它本身不存在于现实世界上。
      2,对象是类的一个具体。它是一个实实在在存在的东西。
      3,类是一个静态的概念,类本身不携带任何数据。当没有为类创建任何对象时,类本身不存在于内存空间中。
      4,对象是一个动态的概念。每一个对象都存在着有别于其它对象的属于自己的独特的属性和行为。对象的属性可以随着它自己的行为而发生改变。

    作者:scbiaosdo
    来源:CSDN
    原文:https://blog.csdn.net/scbiaosdo/article/details/79912037
    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • 面向对象:类与对象之间的关系

    千次阅读 2019-01-23 00:52:02
    对象就是一个真实世界中的实体,对象与实体一一对应关系的,意思就是现实世界的每一个实体都一个对象,所以对象一个具体的概念。 类对象的一个集合,对象类的实例。 而对象的产生在Java中使用new来...
  • Java中类与对象的关系与区别

    千次阅读 2018-04-12 12:43:59
    对象就是一个真实世界中的实体,对象与实体一一对应关系的,意思就是现实世界的每一个实体都一个对象,所以对象一个具体的概念。类对象的一个集合,对象类的实例。而对象的产生在Java中使用new来实现的...
  • 在内核线性地址前16M与物理地址一一对应关系,但对此这句话不是很理解,想了一个晚上,终于想明白了,首先,什么叫一一对应,就是线性地址就是物理地址,但是要如何保证分页之后线性地址与物理地址相同的呢?...
  • 这个对称是什么意思?即处理器与处理器的关系,在对称多处理架构中,处理器之间是相同等级的,所有处理器都可以访问相同的资源。与之相应的,非对称多处理架构,各处理器之间形成简单的主从设备关系,访问有限的资源...
  • 不幸的,虽然关系型数据库历经了约30年的发展,有成熟的理论和大量的实践基础,但是,大多数设计、开发人员在设计数据库结构时仍然“跟着感觉走”,根据业务的需要和编程的方便,把字段这张表放几个那张表放几个...
  • java中的类与对象

    2019-10-09 16:34:26
    对象就是一个真实世界中的实体,对象与实体是一一对应关系的,意思就是现实世界的每一个实体都是一个对象,所以对象是一个具体的概念。 看了概念似乎看不懂他们是什么,没关系,我们用简单的例子去理解: 如果狗为...
  • (1) 对象就是一个真实世界中的实体,对象与实体一一对应关系的,意思就是现实世界的每一个实体都一个对象,所以对象一个具体的概念。 (2) 类对象的一个集合,对象类的实例。 (3) 而对...
  • 面向对象第一章

    2018-05-09 20:19:53
    对象就是一个真实世界中的实体,对象与实体是一一对应关系的,意思就是现实世界的每一个实体都是一个对象,所以对象是一个具体的概念。3: 方法和属性是什么?方法是指:对象具有的特征属性是指:对象执行的操作4:...
  • 首先,“映射”这个词,就和数学课上说的“一一映射”一个意思,就是建立一种一一对应关系,在这里主要只 硬盘上文件 的位置与进程 逻辑地址空间 中一块大小相同的区域之间的一一对应,如图1中过程1所示。...
  • 首先,“映射” 这个词,就和数学课上的 “一一映射” 一个意思,就是建立一种一一对应关系,在这里主要指硬盘上文件的位置与进程逻辑地址空间中一块大小相同的区域之间的一一对应,如图1中过程1所示。这种对应...
  • 阿里云域名和ip绑定步骤 一、总结 一句话总结:域名转IP信息存在所在地运营商那,比如电信联通等。 ...3、域名解析中的域名记录类型中的@是什么意思? 不要前面www主机的域名解析,将域名解...
  • 对象:对象就是一个真实世界中的实体,对象与实体一一对应关系的,意思就是现实世界的每一个实体都一个对象,所以对象一个具体的概念。类:类具有相同属性和服务的一组对象的集合。为属于该类的所有对象提供...
  • 内存映射文件原理探索

    千次阅读 2011-01-25 18:41:00
     原理首先,“映射”这个词,就和数学课上说的“一一映射”一个意思,就是建立一种一一对应关系,在这里主要只硬盘上文件的位置与进程逻辑地址空间中 一块大小相同的区域之间的一一对应,如图1中过程1所示。...
  • 首先,“映射”这个词,就和数学课上说的一一“映射”,一个意思,就是建立一种一一对应关系,在这里主要指硬盘上文件的位置与进程逻辑地址空间中 一块大小相同的区域之间的一一对应。 而内存映射文件,由一...
  • 内存映射原理

    2021-04-07 15:30:49
    “映射”这个词,就和数学课上说的“一一映射”一个意思,就是建立一种一一对应关系 1.2 内存映射原理通俗理解 通俗说就是:在这里主要将硬盘上文件的位置与进程逻辑地址空间(其实就是32位下的4GB虚拟地址空间)...
  • ①这里的假设数据分布是什么意思?哪些分类器需要事先假设数据分布? 网络上相关资料好少,贴点相关知识辅助理解。 数据分布就是数据在它对应的特征空间中的位置,数据是如何在空间排布的。 为什么机器学习中常常...
  • 原理首先,“映射”这个词,就和数学课上说的“一一映射”一个意思,就是建立一种一一对应关系,在这里主要只 硬盘上文件 的位置与进程 逻辑地址空间 中一块大小相同的区域之间的一一对应...
  • 原理首先,“映射”这个词,就和数学课上说的“一一映射”一个意思,就是建立一种一一对应关系,在这里主要只 硬盘上文件 的位置与进程 逻辑地址空间 中一块大小相同的区域之间的一一对应...
  • 原理首先,“映射”这个词,就和数学课上说的“一一映射”一个意思,就是建立一种一一对应关系,在这里主要只 硬盘上文件 的位置与进程 逻辑地址空间 中一块大小相同的区域之间的一一对应...
  • 看了半天没看懂题目,看评论才懂一一映射是什么意思,也就是每个字母以任意规则对应另一个字符串的字母,但每个字母的对应规则不同 所以题目就变成出现两个字符串出现相同次数的字母的种类是否相同 AC代码: #...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 143
精华内容 57
关键字:

对应关系相同是什么意思