自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

原创 解Bug之路-串包Bug

解Bug之路-串包Bug笔者很热衷于解决Bug,同时比较擅长(网络/协议)部分,所以经常被唤去解决一些网络IO方面的Bug。现在就挑一个案例出来,写出分析思路,以飨读者,希望读者在以后的工作中能够少踩点坑。串包Bug现场前置故障Redis超时由于某个系统大量的hget、hset操作将Redis拖垮,通过监控发现Redis的CPU和IO有大量的尖刺,CPU示意图下图所示:CPU达到了100%,导致很多Redis请求处理不及时,其它业务系统都频繁爆出readTimeOut。此时,紧急将这个做大

2020-09-08 10:09:54 257 1

原创 日常Bug排查-系统失去响应-Redis使用不当

日常Bug排查-系统失去响应-Redis使用不当前言日常Bug排查系列都是一些简单Bug排查,笔者将在这里介绍一些排查Bug的简单技巧,同时顺便积累素材^_^。Bug现场开发反应线上系统出现失去响应的现象,收到业务告警已经频繁MarkAndSweep(Full GC)告警。于是找到笔者进行排查。看基础监控首先呢,当然是看我们的监控了,找到对应失去响应的系统的ip,看下我们的基础监控。机器内存持续上升。因为我们是java系统,堆的大小一开始已经设置了最大值。--XX:Xms2g

2021-05-31 15:07:37 177

原创 从Linux源码看Socket(TCP)的listen及连接队列

从Linux源码看Socket(TCP)的listen及连接队列前言笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件Exciting的事情。 今天笔者就来从Linux源码的角度看下Server端的Socket在进行listen的时候到底做了哪些事情(基于Linux 3.10内核),当然由于listen的backlog参数和半连接hash表以及全连接队列都相关,在这一篇博客里也一块讲了。Server端Socket需要Listen众所周知,一个Server端Socket的建立,需要so

2020-10-15 14:58:17 497

原创 从Linux源码看Socket(TCP)的bind

从Linux源码看Socket(TCP)的bind前言笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件Exciting的事情。 今天笔者就来从Linux源码的角度看下Server端的Socket在进行bind的时候到底做了哪些事情(基于Linux 3.10内核)。一个最简单的Server端例子众所周知,一个Server端Socket的建立,需要socket、bind、listen、accept四个步骤。代码如下:void start_server(){ // serv

2020-10-09 14:25:16 408

原创 分库分表中间件的高可用实践

分库分表中间件的高可用实践前言分库分表中间件在我们一年多的锤炼下,基本解决了可用性和高性能的问题(只能说基本,肯定还有隐藏的坑要填),问题自然而然的就聚焦于高可用。本文就阐述了我们在这方面做出的一些工作。哪些高可用的问题作为一个无状态的中间件,高可用问题并没有那么困难。但是尽量减少不可用期间的流量损失,还是需要一定的工作的。这些流量损失主要分布在:(1)某台中间件所在的物理机突然宕机。 (2)中间件的升级和发布。由于我们的中间件是作为数据库的代理提供给应用的,即应用把

2020-09-16 17:47:40 150

原创 解Bug之路-Nginx 502 Bad Gateway

解Bug之路-Nginx 502 Bad Gateway前言事实证明,读过Linux内核源码确实有很大的好处,尤其在处理问题的时刻。当你看到报错的那一瞬间,就能把现象/原因/以及解决方案一股脑的在脑中闪现。甚至一些边边角角的现象都能很快的反应过来是为何。笔者读过一些Linux TCP协议栈的源码,就在解决下面这个问题的时候有一种非常流畅的感觉。Bug现场首先,这个问题其实并不难解决,但是这个问题引发的现象倒是挺有意思。先描述一下现象吧,笔者要对自研的dubbo协议隧道网关进行压测(这个网关

2020-09-14 11:30:16 1631 1

原创 要看的书单

Android源代码情景分析ZooKeeperRedis设计与实现

2015-07-15 21:04:48 537

原创 将博客搬至CSDN

本人要将将博客搬至CSDN

2015-05-03 17:20:17 274

原创 周游六虚与天子望气

周游六虚与天子望气沧海里面,有两大绝世武学。一为克尽天下真气,视所有招式为无物的周游六虚功。一为可勘破天下真气流动与破绽的天子望气术。两大绝学走的却是相反的路子,一个是靠自身的境藐视天下,一个是靠自己的观察去找到所有武学的弱点。但总比较而言,还是周游六虚技高一筹。但周游六虚之功太强,以致天妒,仅有一人能行,其他若强行学之,只能受最强之人的牵制。我由此得到了启发,在我开始做某件事得

2015-05-03 17:20:12 5381

原创 身为剑所天成

“身为剑所天成”“血若钢铁铮铮,心似琉璃易碎”“横行沙场无数,未尝败绩”“然虽不曾落败”“却也不被理解”“其常独立于剑丘之上,沉醉于胜利之中”“故其之一生,没有意义”“其身,定为无限之剑所天成”

2015-05-03 17:20:09 1213

原创 2011年03月04日

考研74 77 139 135 总分425 It's time to rage my dream.00:-0.50]Rage Your Dream [00:02.10]我没有留下任何印象 [00:03.58] [00:06.29]这个城市由假象所制造 [00:08.44] [00:10.12]等待你的感动 [00:12.50] [00:13.66]在这可笑

2015-05-03 17:20:03 380

原创 中兴捧月 俄罗斯套娃奖品

#include #define  FALSE0   //用来标记有未被访问过 #define  TRUE 1 #define R  5 #define C  5#define flag1 -10#define  Max_Size 100#define MAX(x,y) ((x) > (y) ? (x) :(y)) int visited[Max_Size][Max_Siz

2015-05-03 17:19:58 384

原创 操作系统Marking02源代码

文件比较多! >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>1.首先是编译文件makefile:>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

2015-05-03 17:19:55 292

原创 2010年02月28日

;%define _BOOT_DEBUG_%ifdef _BOOT_DEBUG org 0100h%else   org07c00h%endif;==================================================================%ifdef _BOOT_DEBUG_BaseOfStack equ 0100h ;调试状态下堆栈基地

2015-05-03 17:19:52 385

原创 多区域选路算法研究

#include #include #include /* Dijkstra算法 */#define MAX_VERTICES 10 /* maximum number of vertices */#define FALSE 0#define TRUE 1#define INT_MAX 10000 //定义无穷大为1000#define MAX_POINTS

2015-05-03 17:18:40 273

原创 loader

org 0100hjmp LABEL_START;磁盘文件定义%include "fat12hdr.inc"%include "load.inc"%include "pm.inc";GDTLABEL_GDT:  Descriptor 0, 0, 0 ;空描述符LABEL_DESC_FLAT_C: Descriptor 0,0fffffh, DA_CR| DA_32 | DA_L

2015-05-03 13:38:36 346

原创 JAVA随机大楼

import java.awt.Graphics;import java.applet.Applet;import java.awt.*;import javax.swing.JApplet;import javax.swing.*;import java.util.Random;public class Building1 extends JApplet{     public

2015-05-03 13:33:25 645

原创 JAVA小键盘

import java.awt.*;import javax.swing.*;import  java.awt.event.*;public class JANPAN extends JFrame{              JTextAreatext;           JButton   btn[]=newJButton[9];                   

2015-05-03 13:33:21 566

原创 JAVA秒表

import javax.swing.*;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;import java.awt.*;import java.util.Calendar;import java.util.GregorianCalendar;public class TimerTest

2015-05-03 13:33:18 682

原创 1.7子程序及其应用

实验任务:编一子,主程序,其功能要求如下:子程序的入口参数为一ASCII码字符,它将该字符的ASCII码分部以十六进制和二进制形式显示出来。如主程序调用该子程序时,若传送给子程序的ASCII码为42H,则显示信息如下:B:  42H   01000010主程序的功能是反复从键盘输入字符,然后调用上述子程序,用十六进制及二进制形式显示出键入字符的ASCII码,当输入ESC时返回Dos。

2015-05-03 13:33:16 551

原创 1.6循环程序设计

实验任务:编一程序,显示ASCII码表,将这些字符以16行,16列的表格形式显示出来。要求显示时按ASCII码的递增顺序分行显示(即行内的ASCII码依此递增,与附录D列出的表格位置正好倒置)。每个相邻的两字符间用空白符或空格分开。注:采用的是BIOS调用代码(测试可用,排版格式问题请自行调整):;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

2015-05-03 13:33:13 439

原创 1.5分支程序

实验任务一:二进制到ASCII码的转换在DATA单元存放着一个8位二进制码,将其按位转换成一串ASCII码,即'1'转换成'1'的ASCII码31H;'0'转换成30H。并依此存放在以STRING开始的RAM区中(高位在前地位在后)。代码:;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

2015-05-03 13:33:10 314

原创 1.4串处理程序

实验任务:编写程序,建立数据段data,将你的姓名及学号存入数据段的BUFFER1区域,然后利用程序将BUFFER1区域中的字符串依次传送到从BUFFER2开始的内存区域中去。以下是本人自己的代码,测试可用,代码如下:;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

2015-05-03 13:33:07 507 1

原创 打乱你的桌面,OhYeah,恶作剧的小程序

windows程序设计

2015-05-03 00:03:25 679

原创 回退n帧协议(基于Opnet)

/* Process model C form file: Pro5_proc.pr.c *//* Portions of this file copyright 1986-2008 by OPNET Technologies, Inc. *//* This variable carries the header into the object file */c

2015-05-02 23:52:06 1511

原创 滑动窗口协议(基于Opnet)

/* Process model C form file: Pro4_proc.pr.c *//* Portions of this file copyright 1986-2008 by OPNET Technologies, Inc. *//* This variable carries the header into the object file */c

2015-05-02 23:50:41 1006

原创 选择性重传协议(基于Opnet)

/* Process model C form file: Pro6.pr.c *//* Portions of this file copyright 1986-2008 by OPNET Technologies, Inc. *//* This variable carries the header into the object file */const

2015-05-02 23:48:40 1198

原创 操作系统Marking02进程切换代码

操作系统进程切换源码

2015-05-02 23:06:58 484

天文算法 坐标变换

《天文算法》之--坐标变换 利用天文里面的只是 进行坐标变换 感兴趣的同学可以下载一下

2012-06-07

空空如也

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

TA关注的人

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