面试题30天打卡-day07

简介: 面试题30天打卡-day07

1、访问修饰符 public、private、protected,以及无修饰符(默认)时的区别


Java中的访问修饰符实现了信息的隐藏与封装,也就是定义变量或者方法的可见范围。


public:改修饰符修饰的类、变量、方法、接口可以被任何的类访问,包括改工程的其他包。

private:改修饰符修饰的变量、方法只能被本类进行调用,其他类不能调用到。

protected:改修饰符修饰的方法、变量可以被同一个包下的类以及子孙类进行访问到。

无修饰符(默认):默认修饰符修饰的方法、和变量只能被同一个包下的进行访问,其他包不能进行访问。

2、线程间有哪些通信方式?

  • 共享内存:线程之间共享程序的公共状态,线程之间通过读-写内存中的公共状态来隐式通信。
  • 消息传递:线程之间没有公共的状态,线程之间必须通过明确的发送信息来显示的进行通信。


3、什么是分布式?为什么需要分布式?



分布式是指将一个大型系统分割成多个子系统,每个子系统都可以独立运行,但又可以通过网络协同工作,共同完成系统的功能。每个子系统可以运行在不同的物理机器上,也可以运行在不同的进程或线程中。


分布式的出现主要是为了解决单机系统存在的各种问题,包括:


性能瓶颈:单机系统在面对高并发请求时,由于硬件资源有限,容易出现性能瓶颈。


可靠性问题:单机系统可能因为硬件故障、系统崩溃等原因导致整个系统不可用。


扩展性问题:单机系统的扩展性有限,一旦需要增加处理能力,就必须增加更多的硬件资源,成本高昂。


分布式系统通过将一个大型系统分割成多个子系统,可以提高系统的并发处理能力、提高系统的可靠性、提高系统的可扩展性。同时,分布式系统还可以提高系统的安全性,通过分散存储和分散处理等方式降低系统受到攻击的风险。


总之,分布式系统的出现是为了更好地应对高并发、大数据、高可用、可扩展等问题,可以提高系统的性能、可靠性和可扩展性.


分布式是指将一个计算机系统或应用程序分解为多个相互独立的部分,这些部分在不同的计算机节点上运行,通过网络通信协作完成任务的一种计算模型。通常,分布式系统由多个计算节点组成,节点之间通过网络连接进行通信和协作。


需要分布式的原因包括以下几个方面:


性能:分布式系统可以利用多个计算节点的处理能力和存储资源,实现并行处理和数据共享,从而提高系统的性能和吞吐量。

可扩展性:分布式系统可以方便地扩展计算和存储资源,以应对不断增长的数据量和用户访问量,从而保证系统的可靠性和稳定性。

容错性:分布式系统可以通过备份和冗余机制,避免单点故障和数据丢失,提高系统的容错性和可靠性。

地理位置分布:分布式系统可以将计算和数据存储在不同的地理位置上,满足异地备份和灾备恢复的需求,同时也可以提供更快的服务响应和用户体验。

总之,分布式系统可以提高计算资源的利用率和系统的可靠性,适应不断变化的业务需求和用户访问模式。

目录
相关文章
|
缓存 前端开发 Java
面试题打卡30天-day28
面试题打卡30天-day28
62 1
面试题打卡30天-day28
|
JavaScript 前端开发 Java
面试题30天打卡-day05
面试题30天打卡-day05
40 0
|
前端开发 JavaScript 开发工具
【面试题2】2
【面试题2】
|
6月前
|
缓存 小程序 Java
【面试题】1、总结面试题1
【面试题】1、总结面试题1
58 0
|
6月前
|
网络协议 NoSQL 数据库
C++面试题
C++面试题
|
存储 NoSQL 关系型数据库
面试题30天打卡-day20
面试题30天打卡-day20
61 0
|
前端开发 Java 数据库
面试题30天打卡-day01
面试题30天打卡-day01
52 0
|
设计模式 负载均衡 Java
面试题30天打卡-day25
面试题30天打卡-day25
28 0
|
缓存 前端开发 JavaScript
【面试题2】1
【面试题2】
|
存储 缓存 NoSQL
【面试题系列】(一)
【面试题系列】(一)