- 服务化架构 IM 系统之红包功能设计与实现
棕生
IM系统服务化架构IM系统服务化架构红包逻辑发红包抢红包拆红包
在IM系统中,“红包”是一种很常见的应用。在前面的文章(见《基于需求分析模型来结构化剖析IM系统》)中,我们曾分析过,“红包”属于扩展功能需求,“消息”属于基础功能需求,红包功能的实现需要基于消息功能的实现。在文章(见《分层架构IM系统之消息收发功能设计与实现》)中,我们深入分析过消息的收发流程;在IM的服务化架构中,消息收发逻辑与在分层架构中类似,见下图,我们快速回顾一下。图中箭头表示数据流向。
- 分层架构 IM 系统之消息收发功能设计与实现
棕生
IM系统分层架构IM系统分层架构消息收发生产消息阶段推送消息阶段确认消息阶段电话模型
“消息收发”是IM系统最最核心的业务逻辑模块,本篇文章是整个“分层架构IM系统”的核心!IM,即“即时通讯”,要求消息具备“及时性”和“可靠性”:及时性,要求消息的收发需要很低的延时,在线双方通过消息交流时,没有明显的滞后感。可靠性,要求消息不能丢失;对于消息发送方来说,只要消息发送成功了,消息就会一直存在服务端,不会丢失(除非因产品策略,删除久远的历史消息);对于服务端来说,只要接收方在线,一定
- 分层架构 IM 系统之架构演进
棕生
IM系统分层架构IM系统分层架构业务分离MQ解耦
在电商业务日活几百万的情况下,IM系统采用分层架构方式,如下图。分层架构的IM系统,整体上包含了【终端层】、【入口层】、【业务逻辑层】、【路由层】、【数据访问层】和【存储层】,我们在上篇文章(分层架构IM系统之架构解读)中进行了介绍。今天讨论局部的架构调整和演进!随着用户日活量的增多,业务规模也在逐步增大(即后端接口数量越来越大),而且业务逻辑也越来越复杂;为了引流,平台几乎每周都会做运营活动,此
- 思考(八十五):IM 服务设计思路
fananchong2
Go游戏服务器开发的一些思考IM服务架构设计聊天服后端
IM服务器IM服务器,在游戏开发中,俗称聊天服一般有内嵌在游戏服架构内,与外置于游戏服架构外外置于游戏服架构外的聊天服,通常就是完整的IM服务器设计目标消息可靠,不丢失无状态,易扩展高性能服务类型介绍设计以下服务:服务类型说明Gateway网关,保持玩家连接APIAPI服,HTTPWeb服务,处理除聊天流程外的逻辑,如注册账号、鉴权、好友管理、群组管理等等Single单聊消息处理服务Group群组
- SpringCloud Alibaba:RocketMQ - 分布式消息中间件的最佳实践
mckim_
笔记学习springcloudrocketmq
引言随着分布式系统和微服务架构的发展,消息队列作为异步通信的关键组件,其重要性日益凸显。RocketMQ作为一款高性能、高可靠的消息中间件,在处理海量消息方面表现卓越。本文将结合实际应用场景,全面介绍RocketMQ的基础知识、配置要点、高级特性以及性能监控的最佳实践。一、RocketMQ基础知识1.概述RocketMQ是由阿里巴巴开源的一款分布式消息中间件,以其高效、可靠、易用的特点著称。它支持
- C++游戏框架全解析!优缺点+使用场景一览!
技术男老张
编程语言#编程语言-C/C++cc++游戏
在当今数字娱乐的黄金时代,游戏作为最受欢迎的媒介之一,其背后离不开强大而高效的游戏开发框架支撑。C++语言,以其卓越的性能、精细的控制能力以及广泛的硬件支持,成为众多游戏开发者的首选工具。本文将深入探讨几个主流的C++游戏开发框架,揭示它们如何助力开发者打造出令人惊叹的游戏世界。1.SFML(SimpleandFastMultimediaLibrary)SFML(SimpleandFastMult
- 数据结构学习记录-队列
墨楠。
#C语言数据结构研习汇数据结构学习
队列的基本概念1、队列是操作受限的线性表2、队头:允许删除的一端3、队尾:允许插入的一端4、空队列:不含任何元素的空表5、特点:先进先出、FIFO6、应用场景:栈:解决括号匹配;逆波兰表达式求解;递归改非递归等等队列:公平排队,广度优先遍历等等队列的结构:队列的具体实现结构比较灵活,只要遵循先进先出原则即可。顺序表的方式实现,如果用数组表示,虽然尾插数据比较方便,但当头删数据时,还要移动剩余元素,
- 盘点原生JavaScript中直接触发事件的方式
javascript
JavaScript提供了多种方式来直接触发事件,无论是在用户交互、程序逻辑处理或是数据更新时。本文将全面探讨原生JavaScript中各种事件触发方式,并通过深入的技术案例分析,帮助开发者掌握这些方法在实际开发中的应用。使用dispatchEvent原生JavaScript中触发事件的核心方法是dispatchEvent。这个方法允许开发者为任何DOM元素触发几乎任何类型的事件,包括但不限于点击
- deepin-grep详解:文本搜索的强大工具
deepin
在Linux系统中,grep命令是一个极其强大的文本搜索工具,广泛应用于文本处理、日志分析和数据筛选等场景。它的全称是“GlobalsearchREgularexpressionandPrintouttheline”,即全局搜索正则表达式并打印匹配的行。本文将详细介绍grep命令的基本用法、常用选项以及正则表达式的使用技巧。1.grep命令的基本功能grep命令的主要作用是从文本文件或管道数据流中
- 分析-MQ消息队列中间件-在IM即时通讯系统的用途
酱油瓶啤酒杯
中间件分布式队列kafka
MQ消息队列在IM即时通讯的用途1)用户聊天消息的离线存储环节:因为IM消息的发送属于高吞吐场景,直接操作DB可能会让DB崩溃,所有离线消息在落地入库前,可以先扔到MQ消息队列中,再由单独部署的消费者来有节奏地存储到DB中;2)用户的行为数据收集环节:因为用户的聊天消息和指令等,可以用于大数据分析,而且基于国家监管要求也是必须要存储一段时间的,所以此类数据的收集同样可以用于MQ消息队列,再由单独部
- Android Rxjava3 使用场景
2401_89760309
android
Observable>>hotKey=ApiManager.getInstance().getApiService().getHotKey();Observable.just(articleList).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).map(newFunction,Observable>>
- 如何实现亿级用户在线状态统计?
繁川
Java面试精选数据库android
亿级用户在线场景分析与解决方案目录亿级用户在线场景分析解决方案2.1基于总数的统计方案2.2基于具体用户详情的统计方案具体实现3.1基于总数的统计方案3.2基于用户标识的统计实现3.3SpringBoot中的实现总结1.亿级用户在线场景分析以QQ在线状态统计为例,其典型特征包括:数据量大、内存占用高、实时性要求高。传统的解决方案(如在数据库中为每个用户添加一个在线状态字段,上线设为1,下线设为0)
- Python 一行命令部署http、ftp服务
程序员
Python一行命令部署http服务[TOC]具体操作命令如下这个比nginx相对来说更加简单,可以用于部署特殊场景时如银行等部署时,各种权限控制,内网之间可以分发部署包。首先进入需要访问下载对应目录root@raspberrypi:~$cdtmpfile如果Python版本为2.x,输入命令python-mSimpleHTTPServer80如果Python版本为3.x,输入命令python-m
- 为什么要将将 数据类(dataclass)对象 转换为 字典(dictionary)
背太阳的牧羊人
python模型参数理解python
将数据类(dataclass)对象转换为字典(dictionary)是为了更方便地使用和操作数据。字典是一种灵活的结构,很多函数、库或者系统都更容易处理字典格式的数据,而数据类对象的结构在某些场景下可能不够直观或不被支持。以下用简单例子说明为什么这么做,并以更容易理解的语言解释。场景1:参数传递给其他函数或对象很多库或函数要求参数以键值对(key-value)形式提供,而不是对象形式。例子假设有一
- 用Python实现办公自动化
shengyin714959
笔记最高笔记python开发语言
Python作为一种简单而强大的编程语言,不仅在数据科学和软件开发领域广受欢迎,还在办公自动化方面发挥了巨大作用。通过Python,我们可以编写脚本来自动执行各种重复性任务,从而提高工作效率并减少错误。在本文中,我们将探讨如何利用Python来实现办公自动化,并提供一些示例代码来帮助你入门。自动化处理电子表格数据在许多办公场景中,我们经常需要处理电子表格数据,例如Excel文件。使用Python的
- 深入解析CANN算子开发:TBE与AI CPU算子类型及其开发方法全指南
快撑死的鱼
华为昇腾AscendC的算子开发系统学习人工智能
深入解析CANN算子开发:TBE与AICPU算子类型及其开发方法全指南在现代AI计算领域中,高效的算子开发对于优化深度学习模型的推理与训练至关重要。CANN(ComputeArchitectureforNeuralNetworks)作为华为AscendAI处理器的开发平台,提供了两种类型的算子开发支持:TBE算子和AICPU算子。每种算子类型针对不同的计算任务和硬件架构,开发者需要根据具体场景选择
- 服务器面试必备-redis面试题总结
前网易架构师-高司机
2025年最新-服务器面试经验2025年最新-数据库redis面试题
在服务器开发中,Redis的面试题所占的比重通常比较大,这是因为Redis在服务器开发中扮演着重要的角色。首先,Redis是一款开源的内存数据存储系统,它支持多种数据结构,并提供了丰富的操作指令,被广泛应用于各种场景,如缓存、消息队列、计数器、分布式锁等。因此,对于服务器开发人员来说,熟悉Redis的使用和原理是非常重要的。其次,Redis的高性能和高可扩展性使其成为处理高并发的关键技术之一。在服
- Three 场景(Scene)
灵魂清零
threeweb3前端
场景(Scene)场景能够让你在什么地方、摆放什么东西来交给three.js来渲染,这是你放置物体、灯光和摄像机的地方。构造器Scene()创建一个新的场景对象。属性.autoUpdate:Boolean默认值为true,若设置了这个值,则渲染器会检查每一帧是否需要更新场景及其中物体的矩阵。当设为false时,你必须亲自手动维护场景中的矩阵。.background:Object若不为空,在渲染场景
- Oracle 数据库中的内容加密与解密 dbms_crypto
软猫克鲁
SQL相关SQLOracleoracle解密加密数据库
Oracle数据库中的内容加密与解密说起来Oracle中有很多涉及加密解密的东西,今天说的这个是dbms_crypto。有没有遇到过这样的应用场景,需要将一些敏感数据字段脱敏之后发送给下游。之后下游处理完其他数据之后会携带这个脱敏字段再发回给你,你再用这些敏感信息还原出原始的值匹配更新原来的数据。最近我就遇到了。找了一下,Oracle还真有类似的包:dbms_crypto,使用这个包需要管理员登录
- 面试-业务逻辑2
查士丁尼·绵
算法与数据结构python
应用给定2个数组a、b,若a[i]==b[j],则记(i,j)为一个二元数组,求具体的二元数组及其个数。实现a=input("请输入数组a的元素个数:")#print(a)a_list=list(map(int,input("请输入数组a的元素,以空格隔开:").split()))#print(a_list)b=input("请输入第数组b的元素个数:")b_list=list(map(int,i
- 探索MIPI D-PHY V1.2规范:深入了解高速数据传输技术
葛津旗Timekeeper
探索MIPID-PHYV1.2规范:深入了解高速数据传输技术【下载地址】MIPID-PHY规范V1.2资源下载-**文件名**:MIPI_D-PHY_Spec_V1.2.pdf-**内容**:该文件包含了MIPI联盟D-PHYV1.2规范的详细信息,涵盖了D-PHY的技术细节、协议、应用场景等内容。-**价值**:这份资料在全网非常罕见,对于从事相关领域的工程师、研究人员或学生来说,具有极高的参考
- 机器算法之逻辑回归(Logistic Regression)详解
HappyAcmen
算法合集算法逻辑回归机器学习
一、什么是逻辑回归?逻辑回归并不是传统意义上的回归分析,而是一种用于处理二分类问题的线性模型。它通过计算样本属于某一类别的概率来进行分类,尽管名字中有“回归”二字,但它实际上是一种分类算法。简单来说,逻辑回归回答的是“这件事发生的可能性有多大”。二、逻辑回归的基本原理在讲原理之前,我们先来了解一下逻辑回归的数学基础。逻辑回归的核心是一个Logistic函数(或称为Sigmoid函数),它的公式如下
- solidity基础 -- 内联汇编
第十六年盛夏.
Solidity区块链搭建和维护区块链智能合约
Solidity是以太坊智能合约开发的主流语言,而内联汇编(InlineAssembly)则为开发者提供了一种直接操作EVM(以太坊虚拟机)的低级方式。通过内联汇编,开发者可以实现一些在Solidity中难以实现或效率较低的功能,例如直接操作内存、存储或优化gas消耗。本文将详细介绍Solidity内联汇编的语法、应用场景以及具体实例。一、内联汇编简介性能优化:在某些对性能要求极高的场景下,Sol
- 设计Xnorgate FPGA同或门
CodeWG
fpga开发matlab
设计XnorgateFPGA同或门同或门是一种基本的逻辑门电路,它的输出与输入相反当且仅当所有输入都相同。在这篇文章中,我们将会介绍如何使用FPGA实现Xnorgate同或门电路。首先,我们需要了解FPGA(FieldProgrammableGateArray)是一种可编程的数字逻辑芯片,它可以通过编程来实现各种数字逻辑电路。在本文中,我们将使用Altera公司的QuartusII软件来进行FPG
- Python 爱心代码实现动态爱心图案展示
从以前
pythonpython
引言在Python中,我们可以利用tkinter库来创建有趣的图形界面,本文将为大家分享一段使用tkinter库绘制动态爱心图案的代码,并详细介绍其实现逻辑与运行方法。一、代码功能概述这段Python代码借助tkinter库创建了一个窗口,在该窗口中能够绘制出一个动态的爱心图案,效果十分美观,接下来我们一起看看代码的具体内容。二、代码详解(一)导入必要的库和模块importrandomfromma
- 最新面试题【mybatis】
牛马baby
1024程序员节java
1,#{},${}区别?#{}是占位符,可以避免SQL注入,~在执行时会将SQL中的#{}替换为?号。${}是拼接符2,实体类中的字段和表中不一致该如何处理?第一种通过起别名的方式。第二种使用resultmap进行一一对应3,动态SQL执行原理,有哪些?执行原理是使用OGNL从SQL参数对象中计算表达式的值,根据表达式的值完成逻辑判断并动态拼接SQL,有if,foreach,where,trim,
- 多种vue前端框架介绍
灵魂清零
其他前端javascript
学如逆水行舟,不进则退。在现今的软件开发领域,Vue.js凭借其高效、灵活和易于上手的特性,成为了前端开发的热门选择。对于需要快速搭建企业级后台管理系统的开发者而言,使用现成的Vue后台管理系统模板无疑是一个明智之举。本文我为大家分享几款开源、免费开源、开箱即用的开源免费的Vue3开源管理后台,它们可以帮助你在项目中快速起步!专注于业务逻辑的开发。01.vue-element-adminGithu
- 100天精通Python(基础篇)——第19天:异常类型大全、异常处理介绍
袁袁袁袁满
100天精通Pythonpython开发语言后端mce异常
目录1.异常的概念2.异常类型1)Python内置异常2)requests爬虫模块内置异常类3)自定义异常2.捕获异常1)简单的捕获异常语法2)错误类型捕获3)异常捕获完整语法3.异常的传递4.抛出raise异常1)应用场景2)抛出异常1.异常的概念程序在运行时,如果Python解释器遇到到一个错误,会停止程序的执行,并且提示一些错误信息,这就是异常程序停止执行并且提示错误信息这个动作,我们通常称
- Nacos 和 Zookeeper
小馋喵知识杂货铺
性能中间件
在分布式系统中,服务注册与发现机制是实现微服务架构的核心之一。服务注册中心是一个集中管理的地方,服务提供者在启动时会向服务注册中心注册自身的网络地址等信息,服务消费者可以通过注册中心查询到服务的网络地址,从而进行调用。常见的服务注册中心有Nacos和Zookeeper(ZK),它们各有特点,适用于不同的场景。1.服务注册与发现的基本概念服务注册:每个微服务启动时,会向注册中心注册自己的信息(如:服
- 微信小程序连接蓝牙
xluo1715
微信小程序小程序前端javascriptvue
准备工作:1:需要一个蓝牙板子和串口软件(卖蓝牙板子的商家会提供),手机上需要蓝牙调试助手(为了测试蓝牙是否正常连接)2:蓝牙板通过usb插入到电脑端3:安装好串口调试工具并打开连接上蓝牙4:打开手机蓝牙调试助手,连接上后进行读写操作,确认已正常连接通信准备工作完结!直接上代码第一步:初始化蓝牙设备,onShow里面调用或者onLoad里面调用都可,看你的需求场景initBlue(){wx.ope
- 怎么样才能成为专业的程序员?
cocos2d-x小菜
编程PHP
如何要想成为一名专业的程序员?仅仅会写代码是不够的。从团队合作去解决问题到版本控制,你还得具备其他关键技能的工具包。当我们询问相关的专业开发人员,那些必备的关键技能都是什么的时候,下面是我们了解到的情况。
关于如何学习代码,各种声音很多,然后很多人就被误导为成为专业开发人员懂得一门编程语言就够了?!呵呵,就像其他工作一样,光会一个技能那是远远不够的。如果你想要成为
- java web开发 高并发处理
BreakingBad
javaWeb并发开发处理高
java处理高并发高负载类网站中数据库的设计方法(java教程,java处理大量数据,java高负载数据) 一:高并发高负载类网站关注点之数据库 没错,首先是数据库,这是大多数应用所面临的首个SPOF。尤其是Web2.0的应用,数据库的响应是首先要解决的。 一般来说MySQL是最常用的,可能最初是一个mysql主机,当数据增加到100万以上,那么,MySQL的效能急剧下降。常用的优化措施是M-S(
- mysql批量更新
ekian
mysql
mysql更新优化:
一版的更新的话都是采用update set的方式,但是如果需要批量更新的话,只能for循环的执行更新。或者采用executeBatch的方式,执行更新。无论哪种方式,性能都不见得多好。
三千多条的更新,需要3分多钟。
查询了批量更新的优化,有说replace into的方式,即:
replace into tableName(id,status) values
- 微软BI(3)
18289753290
微软BI SSIS
1)
Q:该列违反了完整性约束错误;已获得 OLE DB 记录。源:“Microsoft SQL Server Native Client 11.0” Hresult: 0x80004005 说明:“不能将值 NULL 插入列 'FZCHID',表 'JRB_EnterpriseCredit.dbo.QYFZCH';列不允许有 Null 值。INSERT 失败。”。
A:一般这类问题的存在是
- Java中的List
g21121
java
List是一个有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
与 set 不同,列表通常允许重复
- 读书笔记
永夜-极光
读书笔记
1. K是一家加工厂,需要采购原材料,有A,B,C,D 4家供应商,其中A给出的价格最低,性价比最高,那么假如你是这家企业的采购经理,你会如何决策?
传统决策: A:100%订单 B,C,D:0%
&nbs
- centos 安装 Codeblocks
随便小屋
codeblocks
1.安装gcc,需要c和c++两部分,默认安装下,CentOS不安装编译器的,在终端输入以下命令即可yum install gccyum install gcc-c++
2.安装gtk2-devel,因为默认已经安装了正式产品需要的支持库,但是没有安装开发所需要的文档.yum install gtk2*
3. 安装wxGTK
yum search w
- 23种设计模式的形象比喻
aijuans
设计模式
1、ABSTRACT FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:
- 开发管理 CheckLists
aoyouzi
开发管理 CheckLists
开发管理 CheckLists(23) -使项目组度过完整的生命周期
开发管理 CheckLists(22) -组织项目资源
开发管理 CheckLists(21) -控制项目的范围开发管理 CheckLists(20) -项目利益相关者责任开发管理 CheckLists(19) -选择合适的团队成员开发管理 CheckLists(18) -敏捷开发 Scrum Master 工作开发管理 C
- js实现切换
百合不是茶
JavaScript栏目切换
js主要功能之一就是实现页面的特效,窗体的切换可以减少页面的大小,被门户网站大量应用思路:
1,先将要显示的设置为display:bisible 否则设为none
2,设置栏目的id ,js获取栏目的id,如果id为Null就设置为显示
3,判断js获取的id名字;再设置是否显示
代码实现:
html代码:
<di
- 周鸿祎在360新员工入职培训上的讲话
bijian1013
感悟项目管理人生职场
这篇文章也是最近偶尔看到的,考虑到原博客发布者可能将其删除等原因,也更方便个人查找,特将原文拷贝再发布的。“学东西是为自己的,不要整天以混的姿态来跟公司博弈,就算是混,我觉得你要是能在混的时间里,收获一些别的有利于人生发展的东西,也是不错的,看你怎么把握了”,看了之后,对这句话记忆犹新。 &
- 前端Web开发的页面效果
Bill_chen
htmlWebMicrosoft
1.IE6下png图片的透明显示:
<img src="图片地址" border="0" style="Filter.Alpha(Opacity)=数值(100),style=数值(3)"/>
或在<head></head>间加一段JS代码让透明png图片正常显示。
2.<li>标
- 【JVM五】老年代垃圾回收:并发标记清理GC(CMS GC)
bit1129
垃圾回收
CMS概述
并发标记清理垃圾回收(Concurrent Mark and Sweep GC)算法的主要目标是在GC过程中,减少暂停用户线程的次数以及在不得不暂停用户线程的请夸功能,尽可能短的暂停用户线程的时间。这对于交互式应用,比如web应用来说,是非常重要的。
CMS垃圾回收针对新生代和老年代采用不同的策略。相比同吞吐量垃圾回收,它要复杂的多。吞吐量垃圾回收在执
- Struts2技术总结
白糖_
struts2
必备jar文件
早在struts2.0.*的时候,struts2的必备jar包需要如下几个:
commons-logging-*.jar Apache旗下commons项目的log日志包
freemarker-*.jar  
- Jquery easyui layout应用注意事项
bozch
jquery浏览器easyuilayout
在jquery easyui中提供了easyui-layout布局,他的布局比较局限,类似java中GUI的border布局。下面对其使用注意事项作简要介绍:
如果在现有的工程中前台界面均应用了jquery easyui,那么在布局的时候最好应用jquery eaysui的layout布局,否则在表单页面(编辑、查看、添加等等)在不同的浏览器会出
- java-拷贝特殊链表:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?
bylijinnan
java
public class CopySpecialLinkedList {
/**
* 题目:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?
拷贝pNext指针非常容易,所以题目的难点是如何拷贝pRand指针。
假设原来链表为A1 -> A2 ->... -> An,新拷贝
- color
Chen.H
JavaScripthtmlcss
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD>&nbs
- [信息与战争]移动通讯与网络
comsci
网络
两个坚持:手机的电池必须可以取下来
光纤不能够入户,只能够到楼宇
建议大家找这本书看看:<&
- oracle flashback query(闪回查询)
daizj
oracleflashback queryflashback table
在Oracle 10g中,Flash back家族分为以下成员:
Flashback Database
Flashback Drop
Flashback Table
Flashback Query(分Flashback Query,Flashback Version Query,Flashback Transaction Query)
下面介绍一下Flashback Drop 和Flas
- zeus持久层DAO单元测试
deng520159
单元测试
zeus代码测试正紧张进行中,但由于工作比较忙,但速度比较慢.现在已经完成读写分离单元测试了,现在把几种情况单元测试的例子发出来,希望有人能进出意见,让它走下去.
本文是zeus的dao单元测试:
1.单元测试直接上代码
package com.dengliang.zeus.webdemo.test;
import org.junit.Test;
import o
- C语言学习三printf函数和scanf函数学习
dcj3sjt126com
cprintfscanflanguage
printf函数
/*
2013年3月10日20:42:32
地点:北京潘家园
功能:
目的:
测试%x %X %#x %#X的用法
*/
# include <stdio.h>
int main(void)
{
printf("哈哈!\n"); // \n表示换行
int i = 10;
printf
- 那你为什么小时候不好好读书?
dcj3sjt126com
life
dady, 我今天捡到了十块钱, 不过我还给那个人了
good girl! 那个人有没有和你讲thank you啊
没有啦....他拉我的耳朵我才把钱还给他的, 他哪里会和我讲thank you
爸爸, 如果地上有一张5块一张10块你拿哪一张呢....
当然是拿十块的咯...
爸爸你很笨的, 你不会两张都拿
爸爸为什么上个月那个人来跟你讨钱, 你告诉他没
- iptables开放端口
Fanyucai
linuxiptables端口
1,找到配置文件
vi /etc/sysconfig/iptables
2,添加端口开放,增加一行,开放18081端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 18081 -j ACCEPT
3,保存
ESC
:wq!
4,重启服务
service iptables
- Ehcache(05)——缓存的查询
234390216
排序ehcache统计query
缓存的查询
目录
1. 使Cache可查询
1.1 基于Xml配置
1.2 基于代码的配置
2 指定可搜索的属性
2.1 可查询属性类型
2.2 &
- 通过hashset找到数组中重复的元素
jackyrong
hashset
如何在hashset中快速找到重复的元素呢?方法很多,下面是其中一个办法:
int[] array = {1,1,2,3,4,5,6,7,8,8};
Set<Integer> set = new HashSet<Integer>();
for(int i = 0
- 使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL
lanrikey
history
后退时关闭当前页面
<script type="text/javascript">
jQuery(document).ready(function ($) {
if (window.history && window.history.pushState) {
- 应用程序的通信成本
netkiller.github.com
虚拟机应用服务器陈景峰netkillerneo
应用程序的通信成本
什么是通信
一个程序中两个以上功能相互传递信号或数据叫做通信。
什么是成本
这是是指时间成本与空间成本。 时间就是传递数据所花费的时间。空间是指传递过程耗费容量大小。
都有哪些通信方式
全局变量
线程间通信
共享内存
共享文件
管道
Socket
硬件(串口,USB) 等等
全局变量
全局变量是成本最低通信方法,通过设置
- 一维数组与二维数组的声明与定义
恋洁e生
二维数组一维数组定义声明初始化
/** * */ package test20111005; /** * @author FlyingFire * @date:2011-11-18 上午04:33:36 * @author :代码整理 * @introduce :一维数组与二维数组的初始化 *summary: */ public c
- Spring Mybatis独立事务配置
toknowme
mybatis
在项目中有很多地方会使用到独立事务,下面以获取主键为例
(1)修改配置文件spring-mybatis.xml <!-- 开启事务支持 --> <tx:annotation-driven transaction-manager="transactionManager" /> &n
- 更新Anadroid SDK Tooks之后,Eclipse提示No update were found
xp9802
eclipse
使用Android SDK Manager 更新了Anadroid SDK Tooks 之后,
打开eclipse提示 This Android SDK requires Android Developer Toolkit version 23.0.0 or above, 点击Check for Updates
检测一会后提示 No update were found