自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

旋风的技术

路漫漫其修远兮,吾将上下而求索

  • 博客(22)
  • 资源 (11)
  • 收藏
  • 关注

原创 java创建kafka的topic

kafka 0.10及其以下版本创建topic这个版本创建topic必须使用zookeeper,一般可以使用如下命令手动创建topic:bin/kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --replication-factor 3 --partitions 3 --topic test那如何使用代码自动创建topic呢,可以使用AdminZkClient,示例如下:KafkaZkClient zkClient = KafkaZkClie

2022-03-03 16:41:03 6882 1

原创 java.lang.NoSuchFieldError: SERVER_SENT_EVENTS_TYPE异常问题

项目启动过程中,出现了java.lang.NoSuchFieldError: SERVER_SENT_EVENTS_TYPE异常,查看抛出的异常函数调用栈,发现是在引入的jar包中,同时引入了javax.ws.rs-api-2.1.jar和jaxrs-api-3.0.12.Final.jar,由于它们有相同类MediaType,且包名都是javax.ws.rs.core,前者有SERVER_SENT_EVENTS_TYPE字段,但是后者没有,而jvm最终加载的类是后者的MediaType,导致意图使用前者的

2021-07-13 10:08:55 2100 1

原创 kafka配置项offsets.retention.minutes导致offset丢失的问题

最近在一个项目中遇到kafka的current-offset丢失的问题。问题现象是,服务程序在暂停kafka的一个topic消费后,过了一天多,运维人员发现这个topic的消费组的current-offset丢失,在服务程序继续消费这个topic,消费者只能从最新的offset开始消费,导致之前一天累积的数据没有被处理。经过排查发现,是kafka的配置项offsets.retention.minutes导致。offsets.retention.minutes设置服务端保存消费者提交的offset的时间,

2021-06-30 21:22:45 2363 1

原创 linux内核设计与实现——进程(第3章和第4章)

1. 进程进程就是处于执行期的程序。但进程不仅仅包括可执行程序代码,还包括打开的文件、内存、信号量、处理器状态等资源。线程是进程中活动的对象。每个线程都拥有一个独立的程序计数器、进程栈和一组进程寄存器。内核调度的对象是线程,而不是进程。linux对线程和进程并不特别区分,线程是一种特殊的进程,它会与其他进程共享某些资源。1.1 进程描述符内核把进程的列表存放在叫做任务队列的...

2018-06-22 22:17:40 192

原创 linux内核设计与实现——虚拟文件系统

虚拟文件系统虚拟文件系统(有时也称作虚拟文件交换,更常见的是简称VFS)作为内核子系统,为用户空间程序提供了文件和文件系统相关的接口。之所以可以使用这种通用接口对所有类型的文件系统进行操作,是因为内核在它的底层文件系统接口上建立了一个VFS抽象层,该抽象层使Linux能够支持各种文件系统,即便是它们在功能和行为上存在很大的差别。VFS抽象层能够支持各种各样的文件系统,因为它定义了所有文...

2018-06-05 21:59:48 1451 1

原创 linux内核设计与实现——内存管理(第12章)

页内核以页作为内存管理的基本单位。32位机器支持4KB的页,64位支持8KB的页。 内核用struct page结构表示页,位于 linux/mm_types.h 中:struct page { unsigned long flags; // 存放也的状态 atomic_t _count; ...

2018-06-04 20:33:33 262

原创 linux内核设计与实现 —— 定时器和时间管理(第11章)

内核中的时间概念硬件为内核提供了一个系统定时器用以计算流逝的时间。系统定时器是一种可编程硬件芯片,它能以固定频率产生中断。该频率可以通过编程预定,称作节拍率(tick rate)。该中断就是所谓的定时器中断,它所对应的中断处理程序负责更新系统时间,也负责执行需要周期性运行的任务。节拍率Hz系统定时器频率(节拍率)是通过静态预处理定义的,也就是HZ(赫兹),在系统启动时按照HZ值对硬...

2018-05-30 12:05:07 288

原创 linux内核设计与实现 —— 中断和中断处理(第7章,第8章)

中断和中断处理中断的目的:让处理器最快地响应外部硬件的请求。中断本质上是一种特殊的电信号,由硬件设备发向处理器,处理器反映到操作系统中,最后由操作系统处理这个中断电信号。不同的设备对应的中断不同。每个中断都通过一个唯一的数字标记,这个标记通常被称为中断请求(IRQ)线。每个中断都有一个中断处理程序,运行在中断上下文中。(中断上下文与进程上下文的区别在于:中断上下文中的执行代码不可阻...

2018-05-29 21:10:47 325

转载 五大常用算法之二:动态规划算法

一、简介动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的。动态规划在查找有很多重叠子问题的情况的最优解时有效。它将问题重新组合成子问题。为了避免多次解决这些子问题,它们的结果都逐渐被计算并被保存,从简单的问题直到整个问题都被解决。因此,动...

2018-03-05 20:28:29 387

转载 五大常用算法之一:分治算法

文章转载自:http://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741370.html,自己添加了一些算法相关的题目。一、基本概念在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即...

2018-03-05 15:11:23 152

原创 旅行商问题(TSP)的启发式求解算法

一、TSP问题TSP问题(Travelling Salesman Problem)即旅行商问题,又译为旅行推销员问题、货郎担问题,是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。二、求解算法从图论的角度来看,TSP问题实质是在一...

2018-03-02 22:25:40 28101 1

原创 java虚拟机探索(一):jvm架构简介

java虚拟机的实现必须遵循《java虚拟机规范》,而规范只是规定了java虚拟机实现的一些必要细节,并没有指出具体该如何实现,所以具体的厂商可以有自己的实现方法。在这里以jdk自带的虚拟机Hotspot为例,介绍其实现架构。 如上图所示,Hotspot JVM总体结构分为3个部分:类加载器子系统,运行时数据区,执行引擎子系统。以下是对每个部分的简单介绍。1. 类加载子系统虚拟机...

2018-02-24 15:23:40 228

原创 linux的debugfs机制

debugfs是linux中用户层与内核层的的一种数据交互方式。debugfs相关函数定义在 linux.debugfs.h 文件中,实现在linux.debugfs.c文件中。重要函数有下面几个。创建和撤销目录及文件struct dentry *debugfs_create_dir(const char *name, struct dentry *parent);struct

2018-01-08 22:05:12 485

原创 wifi配置工具iw源码解析

iw是一个基于nl80211接口的无线配置工具,用于替代原先基于wext接口的iwconfig。iw源码可以在网址 https://www.kernel.org/pub/software/network/iw/ 获取,或者使用git命令从http://git.kernel.org/?p=linux/kernel/git/jberg/iw.git. 中下载。1、简单的nl80211程序i...

2017-10-09 16:10:04 6014 1

原创 ubuntu安装搜狗输入法出现两个图标和两个输入框的解决方式

ubuntu16.04安装搜狗输入法后出现两个图标和两个输入框,让人很困扰,如何让它只出现一个呢?只要卸载掉fcitx-ui-qimpanel就行了 卸载命令如下:sudo apt-get purge fcitx-ui-qimpanel

2016-08-22 22:36:42 7777

转载 socket编程的select模型 转载

socket编程的select模型在掌握了socket相关的一些函数后,套接字编程还是比较简单的,日常工作中碰到很多的问题就是客户端/服务器模型中,如何让服务端在同一时间高效的处理多个客户端的连接,我们的处理办法可能会是在服务端不停的监听客户端的请求,有新的请求到达时,开辟一个新的线程去和该客户端进行后续处理,但是这样针对每一个客户端都需要去开辟一个新的线程,效率必定底下。其实,socket编程提供

2015-06-05 21:10:53 378

转载 MFC下的消息处理

一、添加消息处理函数PreTranslateMessage,此函数可以通过MFC ClassWizard添加BOOL CPreTranslateMessageDlg::PreTranslateMessage(MSG* pMsg){ if (pMsg->message==WM_LBUTTONDOWN) { MessageBox("一二三四"); } r

2015-05-15 17:52:23 557

转载 动态链接库DLL

这是转载博客园的一篇文章,我进行了一下简单的整理 原文链接:http://www.cnblogs.com/lidabo/archive/2013/08/30/3291784.html。

2015-05-13 14:33:15 766

原创 C++动态数组

在C++中,使用变长数组,有三种方式: 1、使用new动态分配数组的长度。int *p;int len;p=new int[len];............delete[] p; 2、使用函数 void* malloc(size_t n)动态分配内存空间,然后将首地址赋给一个数组指针。3、使用C++容器vector。采用vector可以动态增加数组长度,与java的java.util包中

2015-05-06 14:39:05 943

原创 android socket编程client

activity篇:package com.mysocket.androidclient;import java.io.*;import java.net.InetSocketAddress;import java.net.Socket;import android.os.Bundle;import android.os.Handler;import android.os.Message;

2015-04-04 00:37:40 765

原创 android笔记之activity与broadreceiver通信

broadreceiver从其他地方接收到消息,然后在将消息转发给指定的activity在BroadcastReceiver中:public class MsgReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Lo

2015-03-31 22:32:36 499

原创 android笔记之activity使用intent通信

activity之间可以使用intent进行通信 例如在ActivityA和ActivityB之间进行通信,使用intent传递数据 关键函数: ActivityA: startActivityForResult(Intent intent, int requestCode) //可将消息添加到intent中,利用intent传递消息

2015-03-31 11:07:12 407

Atheros AR9223芯片

Atheros 802.11 系 列 芯 片 采 用 SOC 方 式 设 计 , 即 在 单 一 芯 片 内 集 成 包 括CPU,802.11MAC,PHY,I/O 接口等多个功能。

2018-12-14

802.11协议竞争机制解析

802.11 成功地将以太网形式的网络应用到无线链路之上。和以太网一样,802.11 采用载波侦听(carrier sense multiple access,简 称CSMA)机制,来控制传输媒质的访问。不过,碰撞会浪费宝贵的传输资源,因此802.11 转而使用冲突避免(CSMA/CA)机制,而非 使用以太网所采用的碰撞检测(CSMA/CD)机制。和以太网一样,802.11 采用的是不具中枢控制功能的分散式访问机制,因此每部 802.11 工作站访问媒质的方式都一样。802.11 与以太网之间的差异,在于所使用的底层介质不同

2018-12-14

分层分组公平排队算法

我们建议使用理想化的分层通用处理器共享(H-GPS)模型来同时支持保证的实时,速率自适应的步进和受控链路共享服务。我们设计了分层数据包公平队列(H-PFQ)算法,通过使用单级可变速率PFQ服务器作为基本构建块来近似H-GPS。通过以位为单位而不是以秒为单位计算系统虚拟时间和每包虚拟开始/结束时间,文献中的大多数PFQ算法可以被适当地定义为可变速率服务器。我们开发了分析可变速率和分层PFQ服务器的延迟和公平属性的技术。我们证明,为了提供与H-PFQ服务器的紧密延迟界限,单级PFQ服务器必须具有小的最坏情况公平指数(WFI)。我们提出了一种名为WF2Q +的newp PFQ算法,它是第一个具有以下三个属性的算法:1)在所有PFQ算法中提供最紧密的延迟约束; 2)在所有PFQ算法中具有最小的WFI; 3)具有相对低的渐近复杂度O(log N)。仿真结果用于评估H-WF2Q +,H-WFQ,H-SFQ和H-SCFQ的延迟和链路共享特性。

2018-12-14

游双-Linux高性能服务器编程(高清pdf+源码)

本书是Linux服务器编程领域的经典著作,由资深Linux软件开发工程师撰写,从网络协议、服务器编程核心要素、原理机制、工具框架等多角度全面阐释了编写高性能Linux服务器应用的方法、技巧和思想。不仅理论全面、深入,抓住了重点和难点,还包含两个综合性案例,极具实战意义。 全书共17章,分为3个部分:第一部分对Linux服务器编程的核心基础——TCP/IP协议进行了深入的解读和阐述,包括TCP/IP协议族、TCP/IP协议,以及一个经典的TCP/IP通信案例;第二部分对高性能服务器编程的核心要素进行了全面深入的剖析,包含Linux网络编程API、高级I/O函数、Linux服务器程序规范、高性能服务器程序框架、I/O复用、信号、定时器、高性能I/O框架库Libevent、多进程编程、多线程编程、进程池和线程池等内容,原理、技术与方法并重;第三部分从侧重实战的角度讲解了高性能服务器的优化与监测,包含服务器的调制、调试和测试,以及各种实用系统监测工具的使用等内容。

2018-10-12

802.11无线网络权威指南第二版

本书讨论了802.11协议的工作原理,分析了各种可用选项的意义,以及排除故障问题,讨论了无线网络的安全问题,介绍了802.1x安全标准,展示了怎样从Linux系统和公开的源代码软件创建无线便携式探测器,还介绍了无线网络的最新发展等。

2018-10-12

VC++ 20个网络相关源码实例

如何获得本地计算机的DNS服务器地址 如何获得本地计算机的IP地址 如何获得本地计算机的IP协议统计信息 如何获得本地计算机的MAC地址 如何获得本地计算机的TCP协议统计信息 如何获得本地计算机的UDP协议统计信息 如何获得本地计算机的名称 如何获得本地计算机的网络协议信息 如何获得本地计算机的域名 如何获得本地计算机的子网掩码 如何获得网上邻居 如何实现面相连接的网络通信 如何实现套接字的连接 如何实现网络浏览器 如何实现无连接的网络通信 如何通过IP地址获得主机名称 如何通过主机名称获得IP地址 如何映射网络驱动器

2015-06-05

android 流量监控源码

可以监控数据流量和wifi流量,还可以对单个应用进行流量统计

2015-04-15

SocketAndroidClient源码

这是android socket通信的一个实例

2015-04-05

MFC创建属性表单和向导

简单的基于MFC对话框创建属性表单和向导的程序~~~~~~有代码注释,可供初学者参考

2013-10-19

MFC 制作数据图(柱形图,饼图)有标注

MFC制作饼图,柱形图,有详细代码注解,代码可借鉴

2013-10-12

二十个C++经典程序附源代码

C++的小应用:个人理财小助手,电子便签,考勤软件,生成绩系统…… 小游戏:俄罗斯方块,坦克大战,裸男快跑……

2013-05-16

空空如也

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

TA关注的人

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