- c# DotNetty
wangyue4
c#开发语言
对于.NET开发者来说,DotNetty是一个开源、高性能的网络库,它是对Java平台上流行的Netty异步事件驱动网络应用程序框架的一个端口。DotNetty适用于创建各种网络应用程序,如IoT(物联网)、游戏服务器以及消息传递系统等。以下是对DotNetty核心组件的简要说明:Bootstrap类——这个类用于简化创建服务器和客户端的初始化操作。对于服务器而言,通常使用ServerBootst
- 基于DotNetty实现一个接口自动发布工具 - 通信实现
液态不合群
githubwpf.net
基于DotNetty实现通信DotNetty:是微软的Azure团队,使用C#实现的Netty的版本发布。是.NET平台的优秀网络库。项目介绍OpenDeploy.Communication类库项目,是通信相关基础设施层Codec模块实现编码解码Convention模块定义约定,比如抽象的业务Handler,消息载体NettyMessage,消息上下文'NettyContext'等自定义消息格式消
- ModBus TCP/RTU 报文解析
CHHC1880
c#开发语言
ModbusTcphttps://gitee.com/szwzhsz/Modbus-TCP-client-server-DotNetty.?_from=gitee_search固定协议格式事务标识(2byte):0000,可变(递增)协议标识(2byte):0000,固定长度(2byte):0006,可变单位标识(1byte):01,固定功能码(1byte):01,可变数据(nbyte):可变功能
- .NET 跨平台RPC框架DotNettyRPC Web后台快速开发框架(.NET Core) EasyWcf------无需配置,无需引用,动态绑定,轻松使用 C# .NET 0配置使用W...
anmei1912
nettyc#后端
.NET跨平台RPC框架DotNettyRPCDotNettyRPC1.简介DotNettyRPC是一个基于DotNetty的跨平台RPC框架,支持.NET45以及.NETStandard2.02.产生背景传统.NET开发中遇到远程调用服务时,多以WCF为主。而WCF虽然功能强大,但是其配置复杂,不易于上手。而且未来必定是.NETCore的天下,WCF暂不支持.NETCore(只有客户端,无法建立
- 网络开发框架 ——Kestrel
shengyin714959
笔记最高笔记网络服务器运维
为什么推荐Kestrel网络框架千千万万,在dotnet平台,我们可以直接手撸Socket,也可以基于dotnetty来开发,或者选择某些第三方类似于dotnetty的网络库,为何我要推荐Kestrel呢?1使用框架#网络编程是简单的,简单到大概就newSocket(),Send()发送数据,Receive()接收数据,这大概是初学者的大致感受。网络编程是复杂的,让Send()和Receive()
- DotNetty使用之Echo
码到_成功
通信c#dotNetty
一、DotNetty介绍DotNetty是微软的Azure团队,使用C#实现的Netty的版本发布。不但使用了C#和.Net平台的技术特点,并且保留了Netty原来绝大部分的编程接口。让我们在使用时,完全可以依照Netty官方的教程来学习和使用DotNetty应用程序。那Netty又是什么尼?Netty是一个提供asynchronousevent-driven(异步事件驱动)的网络应用框架,是一个
- NET Core通过DotNetty和Lua实现MQTT通讯
voxer
MQTT应用已经非常广泛了,目前笔者团队需要用lua来实现mqtt通讯,而服务端需要使用.NetCore来实现,以下是相关技术研究的一个总结。本文主要介绍.NetCore和Lua的MQTT通讯示例。所有源代码可以从这里下载。1.MQTT协议开发之前,非常有必要仔细的了解一下MQTT协议的基本介绍和报文结构,可以参考用户“技术学习”的MQTT专栏,里面关于协议介绍的非常详细。2.MQTTLuaMQT
- DotNetty发送请求的最佳实践
顽石2019
长链接发送request/response时,绝大部分包都是小包,而每个小包都要消耗一个IP包,成本大约是20-30us,普通千兆网卡的pps大约是60Wpps,所以想要提高长链接密集IO的应用性能,需要做包的合并,也称为了scatter/gatherio或者vectorio.在linux下有readv/writev就是对应这个需求的,减少系统调用,减少pps,提高网卡的吞吐量.关于readv提高
- DotNetty学习(四)——时间服务(Time)
Henny_CHN
DotNetty
总览链接:https://blog.csdn.net/a1234012340a/article/details/91040073服务端:服务端我在这里只负责返回时间,别的什么也不想做所以只需要写一个read然后返回时间就ok了。客户端:在写客户端之前的讲解:ChannelActive方法:将会在连接被建立并且准备进行通信时被调用。一句话就够用了。low一点。客户端写一个ChannelActive请
- 『神坑』DotNetty 内存泄漏 解决办法
denghui6223
背景近来在用DotNetty实现一个文件上传下载的同步服务。其中:客户端下载服务端的文件,客户端多次请求,从服务端将文件分片下载下来,追加到本地磁盘。——非常简单的代码,都写了几十次了,驾轻就熟。问题来了可是:在进行压力测试时,我这边下载一个Win10的ISO镜像,4个G。我发现:客户端内存不停增长,直到内存溢出——我擦。VS2015内存诊断内存诊断,我们发现有很多16M(16777228字节)的
- dotnetty 整合 msgpack编解码框架
夜幕-星辰
C#
dotnetty整合msgpack编解码框架主要是作java开发的,这一段时间用到了netty,权衡之下编解码框架选择了messagepack,当然protobuf同样是是很好的一种编解码框架,只是项目中需要传对象需要支持byte[]形式,而protobuf并不支持,经过努力也只能封装出支持list的数据结构,能力有限,就选择了messagepack。对于java方面的用法就不多说了,资料有很多,
- Uragano,基于dotnetty实现的高性能RPC框架
汪泽林
RPC微服务
部分API已经做了调整,请查看最新文档我做c#开发已经11年了,一直没写过博客,不是不想写,实在是没文采,不擅长写文章。虽然不写,但是还是经常看别人写的技术博客,也关注了很多大牛的blog和公众号。最近这两年微服务很火,自己也一直在不断的学习,因为所在的公司基于成本考虑一直没有打算把项目往微服务方向转,但是自己还是花了不少时间去学习这方面的知识。微软终于开窍走上了开源的道路,希望netcore越来
- Net Core、JS/H5、Lua通过Apollo 实现mqtt通讯
voxer
接上篇NETCore通过DotNetty和Lua实现MQTT通讯,这一篇尝试并不自己实现MQTT的服务端,而是用成熟的代理服务ApacheApollo,Apollo的优点很多,支持多种协议,支持web的管理界面,安装配置和使用容易。以下示例目标是以Apollo为MQTTBroker,以NetCore,JS,Lua三种语言来实现Broker的MQTT客户端,在它们之间实现消息互通。所有源码请参考地址
- 使用DotNetty编写跨平台网络通信程序
weixin_33979363
为什么80%的码农都做不了架构师?>>>长久以来,.Net开发人员都非常羡慕Java有Netty这样,高效,稳定又易用的网络通信基础框架。终于微软的Azure团队,使用C#实现的Netty的版本发布。不但使用了C#和.Net平台的技术特点,并且保留了Netty原来绝大部分的编程接口。让我们在使用时,完全可以依照Netty官方的教程来学习和使用DotNetty应用程序。DotNetty同时也是开源的
- C#/Java 常用轮子 (子文章)(持续更新)
xxxxxue
C#后端
----->总文章入口C#框架/类库名称介绍Topshelfwindows服务框架Quartz定时任务框架NVelocityMVC视图引擎NPOI文档读写SignalRWebSocket框架SwaggerRESTAPI文档生成工具:NSwagSwashbuckleSwifter.Json性能最佳的JSON序列化和反序列化库Newtonsoft.Json高级用法DotNetty异步事件驱动的网络应用
- DotNetty学习(五)——点对点聊天(WebSocket)
Henny_CHN
DotNetty
总览链接:https://blog.csdn.net/a1234012340a/article/details/91040073首先贴一下我的服务端代码staticasyncTaskRunServerAsync(){//方法1////申明一个主回路调度组//vardispatcher=newDispatcherEventLoopGroup();////主工作线程组,设置为1个线程//IEventL
- NET Core微服务之路:利用DotNetty实现一个简单的通信过程
另一个老李
上一篇我们已经全面的介绍过《基于gRPC服务发现与服务治理的方案》,我们先复习一下RPC的调用过程(笔者会在这一节的几篇文章中反复的强调这个过程调用方案),看下图根据上面图,服务化原理可以分为3步:服务端启动并且向注册中心发送服务信息,注册中心收到后会定时监控服务状态(常见心跳检测);客户端需要开始调用服务的时候,首先去注册中心获取服务信息;客户端创建远程调用连接,连接后服务端返回处理信息;第3步
- DotNetty项目基本了解和介绍
weixin_30794491
一、DotNetty背景介绍DotNetty是微软的Azure团队,使用C#实现的Netty的版本发布。不但使用了C#和.Net平台的技术特点,并且保留了Netty原来绝大部分的编程接口。让我们在使用时,完全可以依照Netty官方的教程来学习和使用DotNetty应用程序。DotNetty同时也是开源的,它的源代码托管在Github上:https://github.com/azure/dotnet
- C# 搭建DotNetty客户端
一只呆毛
C#
以下是DotNetty开源项目https://github.com/Azure/DotNetty我得出的结论:(2017年3月29日)1.DotNetty只能通过vs2017进行加载;(vs2013添加项目后报错:vserror:项目的默认XML命名空间必须为MSBuildXML命名空间——去github上找是否有人提问,发现两个关键信息如下图——>于是从nuget着手!)2.不能使用marsha
- DotNetty系列二:基本使用
qq_34719168
dotnetty
开发环境:VS20171.创建二个控制台应用,.netframework4.6.1。一个服务端,一个客户端。2.nuget,将前五项引入二个控制台应用。3.服务端代码:注释写代码里了usingDotNetty.Buffers;usingDotNetty.Transport.Bootstrapping;usingDotNetty.Transport.Channels;usingDotNetty.Tr
- DotNetty完全教程(九)
聂14昊51
DotNettyC#
引导Bootstrap引导一个应用程序是指对他进行配置并且使他运行的过程。体系结构注意,DotNetty没有实现Cloneable的接口,而是直接实现了一个Clone方法。Netty实现这个接口是为了创建两个有着相同配置的应用程序,可以把一个配置整体应用到另一个上面,需要注意的是EventLoopGroup是一个浅拷贝,这就导致了拷贝的Bootstrap都会使用同一个EventLoopGroup,
- DotNetty完全教程(七)
聂14昊51
DotNettyC#
ChannelPipeline和ChannelHandleContext介绍ChannelPipeline是一系列ChannelHandler连接的实例链,这个实例链构成了应用程序逻辑处理的核心。下图反映了这种关联:ChannelHandlerContext提供了一个ChannelPipeline的上下文,用于ChannelHandler在Pipeline中的交互,这种交互十分的灵活,不仅是信息可
- DotNetty完全教程(十一)
聂14昊51
DotNettyC#
编码器和解码器定义编码器负责将应用程序可以识别的数据结构转化为可传输的数据流,解码器反之。对于应用程序来说,编码器操作出站数据,解码器操作入站数据。解码器和Handler解码器因为是处理入站数据的,所以继承了ChannelInBoundHandler.我们理解的时候可以认为解码器就是一种特殊的Handler,用于处理信息。解码器的类型ByteToMessageDecoderReplayingDec
- DotNetty完全教程(十)
聂14昊51
DotNettyC#
单元测试EmbeddedChannel介绍EmbeddedChannel是专门为了测试ChannelHandler的传输。我们先看一下他的API用一张图来描述这样的一个模拟过程编写基于xUnit的单元测试新建一个xUnit工程UnitTest新建一个用于测试EmbededChannel的工程EmbededChannelTestEmbededChannelTest工程需要引用DotNetty的类库,
- DotNetty完全教程(六)
聂14昊51
DotNettyC#
资源管理目的在处理数据的过程中,我们需要确保没有任何的资源泄漏。这时候我们就得很关心资源管理。引用计数的处理使用完ByteBuf之后,需要调整其引用计数以确保资源的释放内存内漏探测Netty提供了ResourceLeakDetector来检测内存泄漏,因为其是采样检测的,所以相关开销并不大。泄露日志检测级别手动释放消息ReferenceCountUtil.SafeRelease(this.Mess
- DotNetty完全教程(五)
聂14昊51
DotNettyC#
ChannelHandler本篇文章着重介绍ChannelHandlerChannel的生命周期我们复习一下,Channel是Socket的抽象,可以被注册到一个EventLoop上,EventLoop相当于Selector,每一个EventLoop又有自己的处理线程。复习了这部分的知识,我们就知道在Channel的生命中,有以下这么几个关键的时间节点。ChannelHandler的生命周期我们复
- DotNetty完全教程(四)
聂14昊51
DotNettyC#
ByteBufferNetty中ByteBuffer的介绍Netty的数据处理API通过两个组件暴露——abstractclassByteBuf和interfaceByteBufHolderDotNetty中有AbstractByteBufferIByteBufferIByteBufferHolder优点:它可以被用户自定义的缓冲区类型扩展;通过内置的复合缓冲区类型实现了透明的零拷贝;容量可以按需
- DotNetty完全教程(八)
聂14昊51
DotNettyC#
EventLoop介绍我们先回顾一下,EventLoop就是我们在最开始的示意图中的Selector,每个EventLoop和一个线程绑定,用于处理多个Channel。任务调度如果我们想实现延时任务的调度,比如连接成功5s之后发送一包数据,就可以用到EventLoop的计划任务ctx.Channel.EventLoop.Schedule(()=>{Console.WriteLine("delay1
- DotNetty使用之心跳机制
码到_成功
通信
因为DotNetty是从java的Netty框架仿写过来的,介绍的文档特别少,加之官方也没有提供api文档,所以之前一直不理解心跳的用法。最近忙里偷闲,稍稍研究了一番,终于有点明白了。现在将代码复制上来,留作日后查看(ps:精髓都在代码里):Uptime.Client:publicclassProgram{conststringHOST="127.0.0.1";constintPORT=8045;
- .NET Core微服务之路:利用DotNetty实现一个简单的通信过程
另一个老李
.NETCore微服务之路:利用DotNetty实现一个简单的通信过程上一篇我们已经全面的介绍过《基于gRPC服务发现与服务治理的方案》,我们先复习一下RPC的调用过程(笔者会在这一节的几篇文章中反复的强调这个过程调用方案),看下图根据上面图,服务化原理可以分为3步:服务端启动并且向注册中心发送服务信息,注册中心收到后会定时监控服务状态(常见心跳检测);客户端需要开始调用服务的时候,首先去注册中心
- iOS http封装
374016526
ios服务器交互http网络请求
程序开发避免不了与服务器的交互,这里打包了一个自己写的http交互库。希望可以帮到大家。
内置一个basehttp,当我们创建自己的service可以继承实现。
KuroAppBaseHttp *baseHttp = [[KuroAppBaseHttp alloc] init];
[baseHttp setDelegate:self];
[baseHttp
- lolcat :一个在 Linux 终端中输出彩虹特效的命令行工具
brotherlamp
linuxlinux教程linux视频linux自学linux资料
那些相信 Linux 命令行是单调无聊且没有任何乐趣的人们,你们错了,这里有一些有关 Linux 的文章,它们展示着 Linux 是如何的有趣和“淘气” 。
在本文中,我将讨论一个名为“lolcat”的小工具 – 它可以在终端中生成彩虹般的颜色。
何为 lolcat ?
Lolcat 是一个针对 Linux,BSD 和 OSX 平台的工具,它类似于 cat 命令,并为 cat
- MongoDB索引管理(1)——[九]
eksliang
mongodbMongoDB管理索引
转载请出自出处:http://eksliang.iteye.com/blog/2178427 一、概述
数据库的索引与书籍的索引类似,有了索引就不需要翻转整本书。数据库的索引跟这个原理一样,首先在索引中找,在索引中找到条目以后,就可以直接跳转到目标文档的位置,从而使查询速度提高几个数据量级。
不使用索引的查询称
- Informatica参数及变量
18289753290
Informatica参数变量
下面是本人通俗的理解,如有不对之处,希望指正 info参数的设置:在info中用到的参数都在server的专门的配置文件中(最好以parma)结尾 下面的GLOBAl就是全局的,$开头的是系统级变量,$$开头的变量是自定义变量。如果是在session中或者mapping中用到的变量就是局部变量,那就把global换成对应的session或者mapping名字。
[GLOBAL] $Par
- python 解析unicode字符串为utf8编码字符串
酷的飞上天空
unicode
php返回的json字符串如果包含中文,则会被转换成\uxx格式的unicode编码字符串返回。
在浏览器中能正常识别这种编码,但是后台程序却不能识别,直接输出显示的是\uxx的字符,并未进行转码。
转换方式如下
>>> import json
>>> q = '{"text":"\u4
- Hibernate的总结
永夜-极光
Hibernate
1.hibernate的作用,简化对数据库的编码,使开发人员不必再与复杂的sql语句打交道
做项目大部分都需要用JAVA来链接数据库,比如你要做一个会员注册的 页面,那么 获取到用户填写的 基本信后,你要把这些基本信息存入数据库对应的表中,不用hibernate还有mybatis之类的框架,都不用的话就得用JDBC,也就是JAVA自己的,用这个东西你要写很多的代码,比如保存注册信
- SyntaxError: Non-UTF-8 code starting with '\xc4'
随便小屋
python
刚开始看一下Python语言,传说听强大的,但我感觉还是没Java强吧!
写Hello World的时候就遇到一个问题,在Eclipse中写的,代码如下
'''
Created on 2014年10月27日
@author: Logic
'''
print("Hello World!");
运行结果
SyntaxError: Non-UTF-8
- 学会敬酒礼仪 不做酒席菜鸟
aijuans
菜鸟
俗话说,酒是越喝越厚,但在酒桌上也有很多学问讲究,以下总结了一些酒桌上的你不得不注意的小细节。
细节一:领导相互喝完才轮到自己敬酒。敬酒一定要站起来,双手举杯。
细节二:可以多人敬一人,决不可一人敬多人,除非你是领导。
细节三:自己敬别人,如果不碰杯,自己喝多少可视乎情况而定,比如对方酒量,对方喝酒态度,切不可比对方喝得少,要知道是自己敬人。
细节四:自己敬别人,如果碰杯,一
- 《创新者的基因》读书笔记
aoyouzi
读书笔记《创新者的基因》
创新者的基因
创新者的“基因”,即最具创意的企业家具备的五种“发现技能”:联想,观察,实验,发问,建立人脉。
第一部分破坏性创新,从你开始
第一章破坏性创新者的基因
如何获得启示:
发现以下的因素起到了催化剂的作用:(1) -个挑战现状的问题;(2)对某项技术、某个公司或顾客的观察;(3) -次尝试新鲜事物的经验或实验;(4)与某人进行了一次交谈,为他点醒
- 表单验证技术
百合不是茶
JavaScriptDOM对象String对象事件
js最主要的功能就是验证表单,下面是我对表单验证的一些理解,贴出来与大家交流交流 ,数显我们要知道表单验证需要的技术点, String对象,事件,函数
一:String对象;通常是对字符串的操作;
1,String的属性;
字符串.length;表示该字符串的长度;
var str= "java"
- web.xml配置详解之context-param
bijian1013
javaservletweb.xmlcontext-param
一.格式定义:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>contextConfigLocationValue></param-value>
</context-param>
作用:该元
- Web系统常见编码漏洞(开发工程师知晓)
Bill_chen
sqlPHPWebfckeditor脚本
1.头号大敌:SQL Injection
原因:程序中对用户输入检查不严格,用户可以提交一段数据库查询代码,根据程序返回的结果,
获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。
本质:
对于输入检查不充分,导致SQL语句将用户提交的非法数据当作语句的一部分来执行。
示例:
String query = "SELECT id FROM users
- 【MongoDB学习笔记六】MongoDB修改器
bit1129
mongodb
本文首先介绍下MongoDB的基本的增删改查操作,然后,详细介绍MongoDB提供的修改器,以完成各种各样的文档更新操作 MongoDB的主要操作
show dbs 显示当前用户能看到哪些数据库
use foobar 将数据库切换到foobar
show collections 显示当前数据库有哪些集合
db.people.update,update不带参数,可
- 提高职业素养,做好人生规划
白糖_
人生
培训讲师是成都著名的企业培训讲师,他在讲课中提出的一些观点很新颖,在此我收录了一些分享一下。注:讲师的观点不代表本人的观点,这些东西大家自己揣摩。
1、什么是职业规划:职业规划并不完全代表你到什么阶段要当什么官要拿多少钱,这些都只是梦想。职业规划是清楚的认识自己现在缺什么,这个阶段该学习什么,下个阶段缺什么,又应该怎么去规划学习,这样才算是规划。
- 国外的网站你都到哪边看?
bozch
技术网站国外
学习软件开发技术,如果没有什么英文基础,最好还是看国内的一些技术网站,例如:开源OSchina,csdn,iteye,51cto等等。
个人感觉如果英语基础能力不错的话,可以浏览国外的网站来进行软件技术基础的学习,例如java开发中常用的到的网站有apache.org 里面有apache的很多Projects,springframework.org是spring相关的项目网站,还有几个感觉不错的
- 编程之美-光影切割问题
bylijinnan
编程之美
package a;
public class DisorderCount {
/**《编程之美》“光影切割问题”
* 主要是两个问题:
* 1.数学公式(设定没有三条以上的直线交于同一点):
* 两条直线最多一个交点,将平面分成了4个区域;
* 三条直线最多三个交点,将平面分成了7个区域;
* 可以推出:N条直线 M个交点,区域数为N+M+1。
- 关于Web跨站执行脚本概念
chenbowen00
Web安全跨站执行脚本
跨站脚本攻击(XSS)是web应用程序中最危险和最常见的安全漏洞之一。安全研究人员发现这个漏洞在最受欢迎的网站,包括谷歌、Facebook、亚马逊、PayPal,和许多其他网站。如果你看看bug赏金计划,大多数报告的问题属于 XSS。为了防止跨站脚本攻击,浏览器也有自己的过滤器,但安全研究人员总是想方设法绕过这些过滤器。这个漏洞是通常用于执行cookie窃取、恶意软件传播,会话劫持,恶意重定向。在
- [开源项目与投资]投资开源项目之前需要统计该项目已有的用户数
comsci
开源项目
现在国内和国外,特别是美国那边,突然出现很多开源项目,但是这些项目的用户有多少,有多少忠诚的粉丝,对于投资者来讲,完全是一个未知数,那么要投资开源项目,我们投资者必须准确无误的知道该项目的全部情况,包括项目发起人的情况,项目的维持时间..项目的技术水平,项目的参与者的势力,项目投入产出的效益.....
- oracle alert log file(告警日志文件)
daizj
oracle告警日志文件alert log file
The alert log is a chronological log of messages and errors, and includes the following items:
All internal errors (ORA-00600), block corruption errors (ORA-01578), and deadlock errors (ORA-00060)
- 关于 CAS SSO 文章声明
denger
SSO
由于几年前写了几篇 CAS 系列的文章,之后陆续有人参照文章去实现,可都遇到了各种问题,同时经常或多或少的收到不少人的求助。现在这时特此说明几点:
1. 那些文章发表于好几年前了,CAS 已经更新几个很多版本了,由于近年已经没有做该领域方面的事情,所有文章也没有持续更新。
2. 文章只是提供思路,尽管 CAS 版本已经发生变化,但原理和流程仍然一致。最重要的是明白原理,然后
- 初二上学期难记单词
dcj3sjt126com
englishword
lesson 课
traffic 交通
matter 要紧;事物
happy 快乐的,幸福的
second 第二的
idea 主意;想法;意见
mean 意味着
important 重要的,重大的
never 从来,决不
afraid 害怕 的
fifth 第五的
hometown 故乡,家乡
discuss 讨论;议论
east 东方的
agree 同意;赞成
bo
- uicollectionview 纯代码布局, 添加头部视图
dcj3sjt126com
Collection
#import <UIKit/UIKit.h>
@interface myHeadView : UICollectionReusableView
{
UILabel *TitleLable;
}
-(void)setTextTitle;
@end
#import "myHeadView.h"
@implementation m
- N 位随机数字串的 JAVA 生成实现
FX夜归人
javaMath随机数Random
/**
* 功能描述 随机数工具类<br />
* @author FengXueYeGuiRen
* 创建时间 2014-7-25<br />
*/
public class RandomUtil {
// 随机数生成器
private static java.util.Random random = new java.util.R
- Ehcache(09)——缓存Web页面
234390216
ehcache页面缓存
页面缓存
目录
1 SimplePageCachingFilter
1.1 calculateKey
1.2 可配置的初始化参数
1.2.1 cach
- spring中少用的注解@primary解析
jackyrong
primary
这次看下spring中少见的注解@primary注解,例子
@Component
public class MetalSinger implements Singer{
@Override
public String sing(String lyrics) {
return "I am singing with DIO voice
- Java几款性能分析工具的对比
lbwahoo
java
Java几款性能分析工具的对比
摘自:http://my.oschina.net/liux/blog/51800
在给客户的应用程序维护的过程中,我注意到在高负载下的一些性能问题。理论上,增加对应用程序的负载会使性能等比率的下降。然而,我认为性能下降的比率远远高于负载的增加。我也发现,性能可以通过改变应用程序的逻辑来提升,甚至达到极限。为了更详细的了解这一点,我们需要做一些性能
- JVM参数配置大全
nickys
jvm应用服务器
JVM参数配置大全
/usr/local/jdk/bin/java -Dresin.home=/usr/local/resin -server -Xms1800M -Xmx1800M -Xmn300M -Xss512K -XX:PermSize=300M -XX:MaxPermSize=300M -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=5 -
- 搭建 CentOS 6 服务器(14) - squid、Varnish
rensanning
varnish
(一)squid
安装
# yum install httpd-tools -y
# htpasswd -c -b /etc/squid/passwords squiduser 123456
# yum install squid -y
设置
# cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
# vi /etc/
- Spring缓存注解@Cache使用
tom_seed
spring
参考资料
http://www.ibm.com/developerworks/cn/opensource/os-cn-spring-cache/
http://swiftlet.net/archives/774
缓存注解有以下三个:
@Cacheable @CacheEvict @CachePut
- dom4j解析XML时出现"java.lang.noclassdeffounderror: org/jaxen/jaxenexception"错误
xp9802
java.lang.NoClassDefFoundError: org/jaxen/JaxenExc
关键字: java.lang.noclassdeffounderror: org/jaxen/jaxenexception
使用dom4j解析XML时,要快速获取某个节点的数据,使用XPath是个不错的方法,dom4j的快速手册里也建议使用这种方式
执行时却抛出以下异常:
Exceptio