- 博客(16)
- 收藏
- 关注
原创 Java面试必学-吐血推荐
最近在B站上制作了关于java面试的视频,希望各位大佬可以给点指导意见,作为一个老学姐,我认为有责任把知识分享给大家JAVA面试急救包:https://www.bilibili.com/video/BV1LE411F79v/JAVA学姐带你学面试急救包-JUC:https://www.bilibili.com/video/BV14E411F7qS/注:为节约大家的时间,可以开启1.5倍...
2020-03-24 10:18:27
296
原创 图解Paxos协议及运行实例
关于paxos协议,看了很多资料,很少有流程图资料,试了画了一个,方便理解。如有错误欢迎指正。一、节点角色proposer:提案者-可以有多个, 但每一轮只能有一个被批准acceptor:批准者- Proposer 提出的 value 必须获得超过半数(N/2+1)的 Acceptor批准后才能通过。learner:学习者-学习被批准的value二、流程图三、实例演示...
2019-03-04 12:00:11
1022
原创 分布式系统CAP定理
一、定义C:Consistenct(强一致性)A:Availiablity(高可用性)P:Partition tolerance(分区容错性)二、经典CAP图三、CAP的3进2CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性、可用性和分区容错性这三个需求,最多只能同时较好的满足两个。而由于当前的网络硬件肯定会出现延迟丢包等问题,分区容忍性是我们必须需要实现的,所...
2019-02-27 18:05:57
301
原创 分布式系统Quorum机制
Write-all-read-oneWrite-all-read-one(简称 WARO)是一种最简单的副本控制规则,顾名思义即在更新时写所有的副本,只有在所有的副本上更新成功,才认为更新成功,从而保证所有的副本一致,这样在读取数据时可以读任一副本上的数据。缺点:读服务的可用性较高,但更新服务的可用性不高Quorum 定义Quorum 机制只需成功更新 N 个副本中的 W 个,在读取...
2019-01-08 16:22:00
708
原创 JAVA虚拟机之垃圾收集与内存分配策略
最近再看《深入理解JAVA虚拟机》周志明写的第二版。现将学习笔记分享出来,方便日后复习,理解有误的地方欢迎指正!1、运行时数据区:程序计数器:一块较小的内存空间,保存当前线程所执行的字节码的行号指示器。java虚拟机栈:生命周期与线程相同,每个方法在执行的同事都会创建一个栈帧用于存储局部变量、操作数栈、动态链接、方法出口等信息。这个区域存在2种异常情况:①线程请求的栈深度大于虚拟机...
2019-01-02 15:13:44
205
原创 分布式系统Lease机制
最近在学习分布式,将学习笔记,总结精华分享出来,欢迎大家一起学习一起讨论!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~前言:Lease 机制最重要的应用:判定节点状态。基于 lease 的分布式 cache 系统一、1、原理:中心服务器向各节点发送数据的同时颁发一个lease,每个lease具有一个有效期(确保中心服务器与...
2018-12-28 19:53:33
829
原创 分布式系统基本副本协议
一、中心化副本控制协议中心化副本控制协议的基本思路是由一个中心节点协调副本数据的更新、维护副本之间的一致性。优点:协议相对较为简单,所有的副本相关的控制交由中心节点完成。并发控制也由中心节点完成。缺点:系统的可用性依赖于中心化节点,当中心节点异常时存在一定的停服务时间。primary-secondary协议primary-secondary协议(也称 primary-bac...
2018-12-28 19:37:31
491
原创 分布式系统的数据分布方式
哈希方式常见哈希方式:(用户id) % (机器(组)数)= 分配到0~(机器(组)数-1)上优点:只要哈希函数的散列特性较好,哈希方式可以较为均匀的将数据分布到集群中去。缺点:①可扩展性不高,一旦集群规模需要扩展,则几乎所有的数据需要被迁移并重新分布。②一旦某数据特征值的数据严重不均,容易出现“数据倾斜”(data skew)问题。解决方式:①扩展哈希分布的数据系统时...
2018-12-28 19:36:31
3283
原创 分布式系统优势及衡量指标
分布式系统:分布式系统就是利用多台计算机协同解决单台计算机所不能解决的计算、存储等问题。单机系统与分布式系统的最大的区别在于问题的规模,即计算、存储的数据量的区别。–《分布式系统原理介绍》分布式系统是若干独立计算机的集合,这计算机对用户来说就像单个相关系统。–<<分布式系统原理与范型>>分布式系统是其组件分布在联网的计算机上,组件之间通过传递消息进行通信和动作协...
2018-12-28 19:31:37
2622
原创 分布式架构演进过程
阶段一:单应用架构阶段二:应用服务器和数据库服务器分离阶段三:应用服务器集群阶段四:数据库读写分离阶段五:使用搜索引擎缓解读库的压力阶段六:引入缓存机制环节数据库压力阶段七:数据库的水平/垂直拆分阶段八:应用的拆分 参考博文:https://www.cnblogs.com/hafiz/p/9222973.html如有错误欢迎指...
2018-12-28 19:28:32
160
原创 多线程JUC学习
补充之前的学习笔记1JUC是什么1.1 Java.util.concurrent =JUC1.2 进程:系统里运行的多个程序QQ.exe 线程:一个进程中有多个线程1.3 线程的多种状态。.start()--就绪状态State:new创建 runnable启动 blocked阻塞 waiting等待(不见不散) timed_waiting等待(过时不候) t...
2018-11-10 10:50:13
378
原创 python变量/分支/循环/数组/列表/元组/序列
最近比较流行python,于是我这种从不赶潮流的人也决定跟一把潮流。工作原因学习时间有限,好容易挤着时间看了一部分网上的视频,却被劝说没什么用处,我们就是靠java吃饭的。当然多学一种语言也不会有什么坏处,既然开始了,那就应该坚持,不管对错,不管是否有用都要把它学完。下面是学习笔记:-----------------------------------Bif及打印----01--...
2018-11-10 10:29:20
389
原创 各种加密算法用法及作用
1、base64加密:防止在http传输过程中肉眼看到传输数据2、md5加密:防止发送的消息被篡改 ===不需要密钥①用MessageDigest信息摘要器获取MD5实例②调用digest方法获取字节数组③将每一个字节与OXFF做&运算再转换为16机制④将得到的每一个结果进行字符拼接得到加密后的字符串3、DES加密:保存数据加密使用 ====加密和解密的...
2017-05-03 19:10:59
1015
原创 Java实现Google第三方登录
其实所有的第三方登录都是基于OAuth协议的,大多数平台都支持OAuth2.0,只有Twitter的是基于OAuth1.0来做的。所以只要弄明白一个,其他的什么qq、微信、微博的第三方登录也都一样。上一篇写的Facebook,现在再写一个Google,两篇都看完的同学就会明白“道理都是相通的”这句话的意思了! 我做第三方登录的目的仅仅是获取到用户信息,然后将用户信息和本地程序的某一
2017-03-28 11:15:52
30375
27
原创 Java实现Facebook第三方登录
第一次接触Facebook第三方登录,可能有些地方做的并不全面,只是尝试着做了一个小demo,因为国内接入Facebook的项目并不多,并且多数都是Android或IOS的实现,所以资料也特别少,在此做个小总结。第三方登录主要就是OAuth2.0协议,了解OAuth2.0是必要的!开发流程:1、了解OAuth2.02、到Facebook官网注册开发者账号,创建应用3、代
2017-03-26 14:30:20
16820
22
原创 maven工程xml文件路径问题
想了半天也不知道标题应该怎么起,1、maven工程中的xml文件应该放在哪才能打包的时候打进去?2、用sax解析文件时,如何确定文件的路径?3、如何才能确保本地方法可以读取到本工程中的路径,但是打成jar包供别人调用方法的时候却找不到配置文件路径?直接上代码和截图maven工程下的配置文件统一放到src/main/resources下,这样默认会从这个路径下读取配置文件,然后在...
2017-03-08 11:50:00
4478
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人