- 博客(17)
- 收藏
- 关注
原创 项目管理工具Jira中的Auth1和Auth2认证
文档在此:https://developer.atlassian.com/cloud/jira/platform/jira-rest-api-oauth-authentication/Auth1认证流程下面来详细说明sso中的Auth1完整流程:以微信小程序为例子:微信小程序服务器会提供一个接口,当然这个接口是只提供给开发者,开发者用client_id+redirect_url去微信端...
2019-05-18 23:51:07 3976
原创 Redis学习专题
1.Redis内存模型参考文章:https://www.cnblogs.com/kismetv/p/8654978.html1.1 Redis数据存储dictEntry:Redis是Key-Value数据库,因此对每个键值对都会有一个dictEntry,里面存储了指向k和v的指针;next指向下一个dictEntry,与本k-v无关key:键值不是直接以字符串存储,而是存储在SD...
2019-08-01 15:34:33 245
原创 TCP/IP协议
本文参考链接:1)MTU 百度百科 https://baike.baidu.com/item/mtu/508920?fr=aladdin2)Http1.x和Http2.0 https://www.cnblogs.com/heluan/p/8620312.html3) Ipv4和Ipv6对比 https://zhidao.baidu.com/question/113756183.html4...
2019-07-28 19:03:33 489
原创 设计模式
github代码仓库:https://github.com/wanggangkun/DesignPatterns/tree/master/src/main/java/com/kunbilibili视频链接:https://www.bilibili.com/video/av299886601.策略模式2.观察者模式3.装饰者模式Java中的io就是装饰者模式设计的我们如果要求读一个...
2019-07-24 16:29:07 180
原创 Zookeeper学习专题
参考链接:https://my.oschina.net/ifraincoat/blog/870162Apache ZooKeeper为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。 Zookeeper的架构通过冗余服务实现高可用,因此,如果第一次无应答,客户端就可以询问另一台ZooKeeper主机。ZK节点将它们的数据存储在一个分层的命名空间,类似于一个文件系统或者一个前缀树结构。...
2019-07-23 15:03:31 156
原创 大型分布式网站与中间件(3)消息中间件
从传统意义上,消息中间件为我们带来了异步的特性,对系统进行了解耦,这对于大型分布式系统来说有非常重要的意义。1.消息发送一致性首先,我们需要弄清楚消息发送一致性是什么,一致性指的是:业务如果操作成功了,那么由这个操作产生的消息一定要发送出去,否则就丢失消息了。而另一方面,如果这个业务操作失败了,那么就不应该把消息发送出去。JMS如何实现消息发送到一致性?此外,在JMS的API中,我们看...
2019-07-22 17:42:29 213
原创 大型分布式网站与中间件(2)数据访问层
网站的服务化1.服务框架服务调用端:其中,在调用发起时,我们得确定与服务提供端一致的参数,保证数据在被反序列化后能得到正确的对象,通过Spring容器,我们可以将对象(bean)通过xml的格式约定,如以下方式:因为Java有动态代理的支持,所以我们在完成远程调用时,使用一个通用的对象就可以解决问题了,而不需要像很多语言那样,需要通过类似IDL的方式定义,然后生存代理存根代码,再分别与...
2019-07-05 14:54:07 220
原创 大型分布式网站与中间件(1)
1.分布式系统的基础知识网络IO实现方式:1)BIOBIO即Blocking IO,采用阻塞的方式实现。也就是一个套接字需要使用一个线程来处理。不管是磁盘I/O还是网络I/O,数据在写入OutputStream或者从InputStream读取时都有可能会阻塞,一旦有阻塞,线程将会失去CPU的使用权,这在当前的大规模访问量和有性能要求的情况下是不能被接受的。虽然当前的网络I/O有一些解决办法...
2019-06-22 16:54:27 271
原创 Java高并发之AQS详解
1.CountDownLatchfinal CountDownLatch countDownLatch = new CountDownLatch(clientTotal);//请求总数countDownLatch.countDown();//减少countDownLatch.await();//等待通知组有一个计数器,对计数器的操作是原子的。在某些场景中,需要等待程序完成某些条件后...
2019-05-14 00:30:46 400
原创 Java并发编程与高可用
1.基本概念1.并发:同时拥有两个或者多个线程,如果程序在单核处理器运行,多个线程将交替地换入或者换出内存,这些线程是“同时存在的”,每个线程都处于执行过程中的某个状态,如果运行在多核处理器上,此时,程序中的每个线程都将分配在一个处理器核上,因此可以同时运行。2.高并发:是互联网分布式系统架构中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。3.CPU多级缓存:...
2019-05-07 23:00:29 171
原创 Mysql入门及重要规则
一.基本语法增Insert Into table_nameValues(’field1’,’field2’…)Insert Into table_name(field_name1,field_name2…)Values(’field1’,’field2’…)改Update table_nameSetfield_name = ‘field’Where exp删Del...
2019-04-27 16:34:16 1945
原创 Elasticsearch 进阶
一.入门go调用es的demo:https://gitee.com/DP_zhouyang/elasticsearch_demomac下es的安装和简单使用:http://www.ruanyifeng.com/blog/2017/08/elasticsearch.html官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/...
2019-04-24 13:34:18 249
原创 操作系统
一.kernel与shell从整体上来说,操作系统一般分为内核和外壳两大部分。操作系统的内核是实现操作系统基本功能的程序模块的集合,在机器的核心态下运行;操作系统的外壳,是指运行在内核之上的、完成OS外层功能(如命令解释、机器诊断等)的程序,他们运行在机器的用户态下,是一种开放式结构,其功能可方便地修改或增删。计算机系统都有两种状态,即核心态和用户态,某一时刻二者必然占其一。用户态:用户具有...
2019-04-03 17:48:07 3367
原创 Mysql数据库事务与并发
数据库的读现象参考文章:http://www.hollischuang.com/archives/900脏读脏读又称无效数据的读出,是指在数据库访问中,事务T1将某一值修改,然后事务T2读取该值,此后T1因为某种原因撤销对该值的修改,这就导致了T2所读取到的数据是无效的。脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交(commit)到数据库中,这时,另外一个事...
2019-03-22 17:39:37 133
原创 计算机网络
概述1.电路交换与分组交换电路交换用于电话通信系统,两个用户在通信之前要建立一条专用的物理链路,并且在整个通信过程中始终占用该链路。对线路的利用率很低。报文交换用于邮局通信系统,收到一份报文之后,先存储下来,然后把相同目的地的报文一起转发到下一个目的地,这个过程就是存储转发过程。分组交换也使用了存储转发,但是转发的是分组而不是报文。把整块数据称之为一个报文,切分报文成分组再分发的通信方式。...
2019-03-03 11:19:18 460
原创 Kafka学习笔记
基础概念消息记录(record): 由一个key,一个value和一个时间戳构成,消息最终存储在主题下的分区中, 记录在生产者中称为生产者记录(ProducerRecord), 在消费者中称为消费者记录(ConsumerRecord),Kafka集群保持所有的消息,直到它们过期, 无论消息是否被消费了,在一个可配置的时间段内,Kafka集群保留所有发布的消息,不管这些消息有没有被消费。比如,如果...
2019-02-17 17:30:29 251
原创 推荐系统
推荐系统入门推荐系统可能涉及的常见算法聚类;关联模式挖掘;大规模矩阵计算;文本挖掘;复杂网络和图论算法;推荐系统实现可能涉及的人工技术关系型数据库和sqlHadoop和Map-Reduce编程Spark、strom等基于内存的快速计算平台Mahout、MLLIB等机器学习算法库Neo4J等图数据库或其他NoSql类数据库其他实现工具图数据库的基本思想图由节点...
2018-12-10 15:17:23 198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人