自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

转载 c语言中变量的再度理解

最近看了一篇知乎,解答了我内心的疑问question:比如 int a = 5我知道有一块内存,存了这个值5,a代表了这块内存。就好像给一个盒子起名叫a,这个盒子里装了5,现实中这个名字,也就是a只是存在人脑里的,不是实话的。另外a,b等字符在计算机里用很小的整数储存,也就是a和65对应。我的问题是 a = 5 的时候,有一块内存存了5,也就是这块内存是00000101,但计算机怎么知道这块内存叫a?这个名字a是在哪里储存的?我的理解是否有一块专门存储变量名的内存,比如根据顺序第x块存了65,这

2021-01-10 18:13:46 173

转载 zookeeper的zab协议工作原理

原子广播说zab协议之前必须提一下 paxos 协议paxos协议主要就是如何保证在分布式环网络环境下,各个服务器如何达成一致最终保证数据的一致性问题ZAB协议,基于paxos协议的一个改进。zab协议为分布式协调服务zookeeper专门设计的一种支持崩溃恢复的原子广播协议zookeeper并没有完全采用paxos算法, 而是采用zab Zookeeper atomic broadca...

2020-04-19 16:17:43 538 1

转载 Seata AT 模式分布式事务源码分析

什么是 Seata AT 模式AT 模式是 Seata 主推的分布式事务解决方案,最早来源于阿里中间件团队发布的 TXC 服务,后来成功上云改名 GTS。Seata 官方文档中有关于 AT 模式的详细介绍 —— AT Mode,它使得应用代码可以像使用本地事务一样使用分布式事务,完全屏蔽了底层细节,它和笔者之前介绍过的 Seata TCC 模式的区别有以下几点:使用上,TCC 依赖于用户自行实...

2020-04-18 23:56:28 447

原创 rpc服务发现篇(九)

本篇针对hystrix进行粗略的讲解上篇对hystrix留了三个疑问1、如何做到对不同的command对象使用相同的semaphore和断路器呢?2、semaphore和断路器是作用于什么维度上的呢?是command key还是group key?也就是对每个方法进行限流和断路还是每个service呢?3、每次都传入hystrix command properties,会修改之前的配置吗?...

2020-04-03 11:46:53 309

原创 读netty源码有感

netty的核心组件有:BootStrap、EventLoop、EventLoopGroup、ChannelPipeLine、HandlerContext、Handler、ByteBuf接下来按流程来叙述首先通过BootStrap启动类来启动一个netty server或者client,启动分为三步,对于server而言,第一步,首先是通过反射创建一个NioServerSocketChanne...

2020-03-31 14:05:19 254

原创 为什么要使用自定义 tcp 协议的 rpc 做后端进程通信?

从知乎上看了一篇文章,深有感触,这里贴一下原文章地址https://www.zhihu.com/question/41609070?sort=created问题:既然有 HTTP 请求,为什么还要用 RPC 调用?首先 RPC 框架配置复杂,如果走 HTTP 请求同样也能做到相同功能,而且配置可以几乎为零配置。项目也不用引用太多的包。虽然如果单纯用 RPC,可以不用类似于 Servlet 的...

2020-01-28 11:50:21 764 1

原创 传输层、应用层协议简述

传输层协议传输层协议有tcp和udp,UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境;TCP因为要经过三次“对话”,传输可靠,适用于传输大文件,速度比UDP慢。socket分别实现了这两种协议,在java中,class Socket实现了tcp协议,class DatagramSocket实现了udp协议,当调用了socket或者datagramSocket的send方法时,底层会...

2020-01-21 14:46:23 556

转载 Redis事件机制

分别转自:https://segmentfault.com/a/1190000020014518?utm_source=tag-newesthttps://cloud.tencent.com/developer/article/1054016Redis 采用事件驱动机制来处理大量的网络IO。它并没有使用 libevent 或者 libev 这样的成熟开源方案,而是自己实现一个非常简洁的事件驱...

2019-11-01 10:48:48 149

转载 NIO的write事件及connect事件

NIO Server端多路复用开发的一般步骤是://打开选择器Selector selector = Selector.open();//打开通到ServerSocketChannel socketChannel = ServerSocketChannel.open();//配置非阻塞模型socketChannel.configureBlocking(false);//绑定端口so...

2019-10-30 13:57:50 834

转载 分析Zookeeper的一致性原理

转自:https://blog.51cto.com/welcomeweb/2103292?utm_source=oschina-appzookeeper(简称zk),顾名思义,为动物园管理员的意思,动物对应服务节点,zk是这些节点的管理者。在分布式场景中,zk的应用非常广泛,如:数据发布/订阅、命名服务、配置中心、分布式锁、集群管理、选主与服务发现等等。这不仅得益于zk类文件系统的数据...

2019-10-14 09:41:12 166 1

转载 关于mysql事务与锁

最近学习了几篇博客, 对以前事务与锁的理解有所更改,做一下记录。参考的博客:https://blog.csdn.net/wwd0501/article/details/85322142https://blog.csdn.net/c466254931/article/details/53463596锁的释放机制如下:补充一下select for update也会加select的排他锁,在...

2019-02-19 11:54:04 156

原创 Tomcat启动session创建机制

session只有在调用request.getSession()或request.getSession(true)时才会创建。注意jsp由于默认指令:<%@ page session=“true”%>,导致在访问jsp时也会创建session,置为false可关闭。如:启动一个项目,浏览器中输入localhost:8088来访问该项目,进入到欢迎页面,第一次时请求和相应如下:由...

2019-02-10 11:26:06 1469

原创 linux ll命令各字段意义及chmod和chown、chgrp

linux ll命令各字段意义参考https://www.cnblogs.com/xiaoyangyi/p/6305952.html文件属性 文件数 拥有者 所属的group 文件大小 建档日期 文件名  drwx------ 2 Guest users 1024 Nov 21 21:05 Mail  -rwx–x--x 1 root root 89080 Nov 7 22:41 tar*...

2019-02-02 19:52:47 414

原创 mysql及mybatis批量更新数据update

mysql批量更新update使用case when语句,数据表如下:case 1其中age为非空字段。sql如下update test1set age=casewhen id=2 then 1when id =3 then 2endwhere id in (2,3,4)对id为2,3,4的设置age字段,id为2的设置为1,3的设置为2,结果为:Column ‘age...

2019-01-27 15:50:53 35056 6

原创 @RequestParam和request.getParamter和request.getParamterMap的用法及区别

@RequestParam该注解是用于获取在get 方式中queryString的值,和Content-Type为application/x-www-form-urlencoded的post方式中 body data的值。request.getParamter(String s)该方法和上面的注解功能相同,也是用来获取get或post方式传递的参数值,输出结果为String类型reques...

2019-01-25 11:03:17 1863

原创 tomcat多线程处理及ThreadLocal使用注意

tomcat多线程处理及ThreadLocal使用注意tomcat默认使用线程池来管理线程,即当收到一个请求时,如果线程池存在空闲线程,则会从中取出一个空闲线程来处理该请求。当一个线程在处理请求时,其他请求就不会被分配至该线程。例如有a,b,c三个空闲线程:1、当request1到来时,分配a线程来处理2、同时有request2到来,此时a线程在处理中,因此只有bc两个空闲线程,则会从中选...

2019-01-24 14:14:13 4466 1

原创 如何将项目部署到远程linux服务器并进行远程调试

如何将项目部署到远程linux服务器并进行远程调试一、将项目部署到远程服务器二、内网穿透三、nginx反向代理四、远程debug一、将项目部署到远程服务器1、将本地web项目打包成war包,如maven项目可双击package进行打包,默认输出路径在target路径下。2、通过命令将本地的war包传输到远程服务器的tomcat下的webapps:scp /…/target/XXX.war...

2019-01-23 14:48:34 1417

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除