8288分类目录 8288分类目录 8288分类目录
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

Zookeeper源码分析

来源:本站原创 浏览:40次 时间:2023-04-25
download:Zookeeper源码分析

Zookeeper作为阿里系与Dubbo完美搭配的注册中心,其江湖地位毋容置疑。本课程以最开始图解Zookeeper框架的架构和组件作为课程总起,进而“分而治之”各个击破Zookeeper框架的各个组件源码,如:序列化,数据模型,持久化,Client和Server架构、选举流程等,最后通过总结快速梳理所得。

适合人群
有代码洁癖的中高级Java工程师
从事分布式系统设计和开发的极客
认可“源码驱动式”学习方式的学生党

技术储备要求
Java基础扎实,对IO/NIO网络通信等知识有一定了解
了解序列化、持久化、多线程
了解zookeeper的一般使用命令
1。四位数字字母考证码的生成实例

复制代码
1 import random
2 if name =="main": #四位数字字母考证码的生成
3 checkcode="" #保管考证码的变量
4 for i in range(4):
5 index=random.randrange(0,4) #生成一个0~3中的数
6 if index!=i and index +1 !=i:
7 checkcode +=chr(random.randint(97,122)) # 生成a~z中的一个小写字母
8 elif index +1==i:
9 checkcode +=chr(random.randint(65,90) ) # 生成A~Z中的一个大写字母
10 else:
11 checkcode +=str(random.randint(1,9)) # 数字1-9
12 print(checkcode)
复制代码
输出为:m47A、8wQ9、vugS


2。格式化时间函数

1 def formatTime(longtime):
2 '''格式化时间的函数'''
3 import time
4 return time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(longtime))

3。记载显现登录日志实例

复制代码
import time
def show_info():
print('''输入提示数字,执行相应操作
0:退出
1:查看登录日志
''')
def write_loginfo(username):
"""
将用户名和登录时间写入日志
:param username: 用户名
"""
with open('log.txt','a') as f:
string = "用户名:{} 登录时间:{}\n".format(username ,time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
f.write(string)
def read_loginfo():
"""
读取日志
"""
with open('log.txt','r') as f:
while True:
line = f.readline()
if line == '':
break # 跳出循环
print(line) # 输出一行内容
if name == "main":

输入用户名
username = input('请输入用户名:')# 检测用户名while len(username) < 2 :    print('用户名长度应不少于2位')    username = input('请输入用户名:')# 输入密码password = input('请输入密码:')# 检测密码while len(passw ord) < 6 :    print('密码长度应不少于6位')    password = input('请输入密码:')print('登录胜利')write_loginfo(username)  # 写入日志show_info()              # 提示信息num = int(input('输入操作数字:')) # 输入数字while True:    if num == 0:        print('退出胜利')        break    elif num == 1:        print('查看登录日志')        read_loginfo()        show_info()        num = int(input('输入操作数字:'))    else:        print('您输入的数字有误')        show_info()        num = int(input('输入操作数字:'))

3。模仿淘宝客服自动回复
复制代码
1 # 任务2:模仿淘宝客服自动回复
2
3 def find_answer(question):
4 with open('reply.txt','r') as f :
5 while True:
6 line=f.readline()
7 if not line: #也能够为if line==''
8 break
9 keyword=line.split('|')[0]
10 reply=line.split('|')[1]
11 if keyword in question:
12 return reply
13 return '对不起,没有你想要找的问题'
14
15 if name =='main':
16 question=input('请输入想要发问的内容:')
17 while True:
18 if question=='bye':
19 break
20 reply=find_answer(question)
21 if not reply:
22 question=input("小蜜不懂您在说什么,您能够问一些与订单、账户和支付相关的内容(退出请输入bye):")
23 else:
24 print(reply)
25 question=input("您能够问一些与订单、账户和支付相关的内容(退出请输入bye):")
26 print('谢谢,再见!')
27
复制代码
复制代码
4。求最大条约数和最小公倍数 (辗转相除法)
最大条约数:指两个或多个整数共有约数中最大的一个

最小公倍数:两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数

二者关系:两个数之积=最小公倍数*最大条约数

复制代码
1 a=int(input('输入数字1:'))
2 b=int(input('输入数字2:'))
3 s=a*b
4 while a%b!=0:
5 a,b=b,(a%b)
6 print(a)
7 print(b)
8 else:
9 print(b,'is the maximum common divisor最大条约数')
10 print(s//b,'is the least common multiple,最小公倍数')
复制代码
更相减损法

复制代码
1 a=int(input('please enter 1st num:'))
2 b=int(input('please enter 2nd num:'))
3 s=a*b
4
5 while a!=b:
6 if a>b:
7 a-=b
8 elif a<b:
9 b-=a
10 else:
11 print(a,'is the maximum common divisor')
12 print(s//a,'is the least common multiple')
13
14 #运转结果
15 please enter 1st num:40
16 please enter 2nd num:60
17 20 is the maximum common divisor
18 120 is the least common multiple
复制代码
5。判别能否为闰年 (辗转相除法)
复制代码
1 # 判别能否为闰年
2 while True:
3 try:
4 num=eval(input("请输入一个年份:"))
5 except:
6 print('输入错误年份')
7 continue
8 if (num %4==0 and num%100 !=0) or num %400==0:
9 print(num,"是闰年")
10 else:
11 print(num,"不是闰年")
复制代码
复制代码
import calendar
year = int(input("请输入年份:"))
check_year=calendar.isleap(year)
if check_year == True:
print ("闰年")
else:
print ("闰年")
复制代码
6。Python统计字符串中数字,字母,汉字的个数
复制代码
1 import re
2 str_test='abcdefgHABC123456中华民族'
3
4 #把正则表达式编译成对象,假如经常运用该对象,此种方式可进步一定效率
5 num_regex = re.compile(r'[0-9]')
6 zimu_regex = re.compile(r'[a-zA-z]')
7 hanzi_regex = re.compile(r'[\u4E00-\u9FA5]')
8
9 print('输入字符串:',str_test)
10 #findall获取字符串中一切匹配的字符
11 num_list = num_regex.findall(str_test)
12 print('包含的数字:',num_list)
13 zimu_list = zimu_regex.findall(str_test)
14 print('包含的字母:',zimu_list)
15 hanzi_list = hanzi_regex.findall(str_test)
16 print('包含的汉字:',hanzi_list)
复制代码
#羊车门问题

复制代码
1 import random as r
2
3 #总次数
4 total=1000000 #1000,1W,10W,100W
5 #换与不换的获胜次数
6 win1=0
7 win2=0
8
9 for i in range(total):
10 #模仿选择过程
11 man=r.randint(1,3)
12 car=r.randint(1,3)
13 #结果:一开端为车门,不换+1.
14 # 否则则一开端为羊门,换+1.
15 if man==car:
16 win1+=1
17 else:
18 win2+=1
19
20 print("在{}次实验中:".format(total))
21 print("若不更改门,获胜概率为{:.3}%.".format((win1/total)100))
22 print("若更改门,获胜概率为{:.3}%.".format((win2/total)
100))
复制代码
复制代码
1 import random
2 x=random.randint(5000,10000)
3 print(x)
4 change=0
5 nochange=0
6 for i in range(1,x+1):
7 a=random.randrange(1,4)
8 b=random.randrange(1,4)
9 if a==b:
10 nochange=nochange+1
11 else:
12 change=change+1
13 print("不更改组择得到汽车的概率为{:.2f}".format(nochange/x))
14
15 print("更改组择得到汽车的概率为{:.2f}".format(change/x))

  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net