什么是Zookeeper?

客户提问:

什么是Zookeeper?

阿里云运维工程师回复:

一个开放源码的分布式服务协调组件。
分布式协调工具,可以作为注册中心,分布式锁,分布式配置中心等。

本文适用于:

什么是Zookeeper?

 

不知道如何办理开通阿里云服务器ECS实例?让凯铧互联专业的工程师帮您。我们提供免费的技术咨询,方案建议,让您的企业上云变得更容易,更有效,更安全!

看完上述说明如果您还有疑问,或者是需要咨询阿里云产品相关折扣、优惠或者是技术问题,请加下面的微信!我们是阿里云/腾讯云/华为云代理商联系我更有折上折优惠,新老用户均有!微信(电话):158-0160-3153。

为什么选择凯铧互联:北京凯铧互联科技有限公司(简称凯铧互联)由多名前阿里云资深技术专家创立,核心员工来自阿里巴巴、腾讯服务器运维团队,公司90%成员均是超过10年具备专业运维经验的精英。作为阿里云,腾讯云,百度云,金山云,华为云重要的合作伙伴,专业从事互联网应用服务、云计算、大数据、人工智能、企业信息化建设,为企业用户提供基于大数据的企业上云解决方案。公司总部设在北京,并在内蒙设有办事处,服务全国各地企业,与互联网专业公司及主流服务商建立了良好合作关系。公司官网:www.bjkaihua.com; 腾讯云网站www.bjkaihua.net.cn; 阿里云业务网站:www.alibjyun.com。

目前像阿里云、腾讯云、华为云之类的云计算厂家后期续费,复购,升级是很贵的。而且推出的很多活动都是要求新用户购买的。推荐大家从节省成本考虑,尽量买的配置高一点的云服务器,时长尽量选3年。你现在选择高配,选择3年的差价比不过到时候续费、升级、复购时一半的费用。

为什么现在很多老用户都在想尽办法想买新用户活动下的云服务器,因为当他们业务起来了,环境熟悉了,想升级配置,想扩容业务,想续费云服务器结果发现再也买不到这么便宜的云服务器了。免费的才是最贵的就是这个道理。

Java基础知识点,速度记下来

1、Java源程序文件的后缀是*.java,Java字节码文件的后缀名称是*.class。

2、Java程序实现可移值性,依靠的是JVM。

3、Java语言的三个分支是:JAVASE、JAVAME、JAVAEE。

4、Java程序由类组成,如果Java使用publicclass声明类,则文件名称必须与类名称一致。

5、Java执行是从main()方法开始执行的,此方法的完整定义是publicstaticvoidmain(Stringargs[])。

6、从命名标准上来讲,Java类名的每个单词的首字母通常要求大写。

7、当使用java命令解释一个程序时,一定需要classpath环境属性来定位类资源路径;

8、Java中的标识符组成原则:由字母、数字、下划线、$所组成,其中不能以数字开头,不能是Java的关键字。

9、assert关键字是在JDK1.4时加入的,enum关键字是在JDK1.5时加入的。

10、列举出已经知道的5个关键字:public、static、void、int、double。

11、Java注释分为以下三种:单行注释(//)、多行注释(//)、文档注释。

12、Java中使用int关键字,可以定义一个整型数据。

13、在一个Java源文件中定义了3个类和15个方法,编译该Java源文件时会产生3个字节码文件,其扩展名是 *.class。

14、布尔型数据类型的关键字是boolean,有true和false两种取值。

15、整型数可以采用byte、short、int和long四种类型表示。

16、根据占用内存长度的不同将浮点型分为float和double两种。

17、Java程序结构分为:顺序结构、分支结构、循环结构三种。

18、逻辑表达式:true&&false&&true的结果是false。

19、逻辑表达式:!true||false的结果是false。

20、在方法中可以使用return语句来结束方法的执行。

21、方法中的void关键字用来表示方法不返回任何值。

二、选择题

1、下面那个是属于解释Java程序所使用到命令?(A)

A、java.exeB、javac.exeC、keytool.exeD、cmd.exe

2、下面的那个环境变量java解释时所需要的(B)。

A、pathB、classpathC、JAVA_HOMED、TEMP

3、下面那一种开发方向不属于Java定义的?(C)

A、JavaSEB、JavaEEC、JavaCED、JavaME

4、下面那些标识符是正确的 D。

A、classB、helloworldC、123$tempD、Demo

5、下面那些关键字是Java中未使用到的关键字 A、B(多选)。

A、constB、gotoC、intD、assert

6、publicstaticvoidmain方法的参数描述是:A。

A、Stringargs[]B、int[]argsC、Stringsargs[]D、Stringargs

7、下面说法正确的是 C。

A、Java程序的源文件名称与主类(puublicclass)的名称相同,后缀可以是.java或.txt等。

B、JDK的编译命令是java。

C、一个java源文件编译后可能产生多个class文件。

D、在命令行编译好的字节码文件,只需在命令行直接键入程序名即可运行该程序。

8、下面说法不正确的是 A。

A、Java语言是面向对象的、解释执行的网络编程语言

B、Java语言具有可移植性,是与平台无关的编程语言。

C、Java语言可对内存垃圾自动收集。

D、Java语言执行时需要Java的运行环境。

9、下面 A 不是Java的关键字。

A、integerB、doubleC、floatD、char

10、在Java中,字节数据类型的关键字和默认值是 A。

A、byte和0B、byte和1C、boolean和trueD、boolean和false

11、3.15E2表示的数据是 C。

A、3.15×2B、3.15×10-2C、3.15×102D、0.315×10-2

12、程序System.out.println(“1+1=”+1+1);的输出结果是 C。

A、1B、1+1=2C、1+1=11D、2

13、程序System.out.println(10/3);的输出结果是 B。

A、1B、3C、3.3D、3.33333

14、执行下面的语句后,a、b、c的值分别是 C。

inta=2;

intb=(a++)*3;

intc=(++a)*3;

A、2、6、6B、4、9、9C、4、6、12D、3、9、9

15、以下的 B 能正确表示Java语言中的一个整型常量。

A、35.dB、-20C、1,234D、”123”

16、下面的数据类型D是float型

A、33.8B、129C、89LD、8.6F

17、下列关于自动类型转换的说法中,正确的一个是 B。

A、int类型数据可以自动转换为char类型数据

B、char类型数据可以被自动转换为int类型数据

C、boolean类型数据不可以做自动类型转换,但是可以做强制转换

D、long类型数据可以被自动转换为short类型数据

18、一个方法在定义过程中又调用自身,这种方法称为 B。

A、构造方法B、递归方法C、成员方法D、抽象方法

三、简答题

1、简述Java实现可移值性的基本原理。

答:Java属于编译型和解释型的编程语言,所有的*.java程序必须编译为*.class文件之后才可以在电脑上执行,而执行*.class。 文件的电脑并不是一台真实的电脑,而是利用软件和硬件模拟出来的一台虚拟电脑,称为Java虚拟机,而针对于不同的操 作系统平台,有不同版本的Java虚拟机,即:由Java虚拟机去适应不同的操作系统,即:只要Java虚拟机的支持没有改 变,同一个*.class可以在不同的平台上运行。

2、简述Java语言的三个程序分支。

答:JAVASE(Java标准版):提供基础的Java类库及平台支持:

JAVAME(Java微型版):提供嵌入式开发支持:

JAVAEE(Java企业版):提供企业平台支持。

3、简述Java中path及classpath的作用。

答:PATH:是操作系统的环境属性,指的是可以执行命令的程序路径; CLASSPATH:是所有*.class文件的执行路径,java命令执行的时候将利用此路径加载所需要的*.class文件。

4、解释方法重载的概念,并举例说明。

答:方法重载指的是多个方法的方法名称相同,但是方法中的参数类型及个数不同。

代码说明:

returnx+y;
}
publicstaticintadd(intx,inty,intz){
returnx+y+z;
}
publicstaticdoubleadd(doublex,doubley){
returnx+y;
}

5、简述Java语言的主要特点。

答:Java语言的主要的特点如下: Java语言是一门面向对象语言,且语法足够简单; Java避免了C/C++之中复杂的指针关系,而使用了更为简单的引用方式来进行内存传递; Java是为数不多的支持多线程开发的编程语言; Java提供了自动的垃圾收集机制,可以定期释放出无用的垃圾空间; Java语言的安全性较高; Java最大的特点是具备可移植性,即:同一个程序在不同的操作系统上都可以运行。

6、详细阐述Java中使用publicclass或class声明一个类的区别及注意事项。

答:使用publicclass定义的类,要求文件名称和类名称保持一致,在一个*.java文件之中只能存在一个publicclass; 使用class定义的类,文件名称可以和类名称不一致,在一个*.java文件之中可以同时存在多个class定义,编译之后 会产生多个*.class文件。

四、编程题

1、在屏幕上输出:“我喜欢学习Java”的信息。

答案:

publicstaticvoidmain(String[]args){
System.out.println("我喜欢学习Java");
}
}

2、在屏幕上打印出以下的图形:

image.png

答案:

publicstaticvoidmain(String[]args){
System.out.println("*************************************");
System.out.println("*********Java程序设计*********");
System.out.println("*************************************");
}
}

3、打印出100~1000范围内的所有“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。 例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

publicstaticvoidmain(String[]args){
inti,j,k;
for(intx=100;x<1000;x++){
i=x/100;//计算百位数字
j=(x/10)%10;//计算十位数字
k=x%10;//计算个位数字
if(x==i*i*i+j*j*j+k*k*k){
System.out.print(x+"、");
}
}
}
}

程序运行结果:153、370、371、407、

4、通过代码完成两个整数内容的交换。

实现一:引用第三方变量


publicstaticvoidmain(String[]args){
intx=10;

inty=20;
inttemp=x;

x=y;
y=temp;
System.out.println("x="+x);
System.out.println("y="+y);

}

}

程序运行结果:x=20 y=10

5、判断某数能否被3,5,7同时整除。

publicstaticvoidmain(String[]args){
intdata=105;
if(data%3==0&&data%5==0&&data%7==0){
System.out.println(data+"可以同时被3、5、7整除。");
}else{
System.out.println(data+"不可以同时被3、5、7整除。");
}
}
}

6、编写程序,分别利用while循环、do…while循环和for循环求出100~200的累加和。

实现一:使用while循环

publicstaticvoidmain(String[]args){
intsum=0;
intx=100;
while(x<=200){
sum+=x;
x++;
}
System.out.println("累加结果:"+sum);
}
}

实现二:使用do…while循环

publicstaticvoidmain(String[]args){
intsum=0;
intx=100;
do{
sum+=x;
x++;
}while(x<=200);
System.out.println("累加结果:"+sum);
}
}

实现三:使用for循环

publicstaticvoidmain(String[]args){
intsum=0;
for(intx=100;x<=200;x++){
sum+=x;
}
System.out.println("累加结果:"+sum);
}
}