- IM项目:进阶版即时通讯项目---文件存储和消息转发
海绵宝宝de派小星
实战项目项目
文章目录文件传输服务基本功能模块划分流程图实现逻辑代码实现消息转发功能设计模块划分获取转发目标和消息处理代码实现文件传输服务基本功能文件的上传文件的下载模块划分基于gflags进行参数和配置文件的解析基于spdlog进行日志输出基于etcd进行服务注册基于brpc进行RPC服务器远程调用基于文件流操作进行读写的封装流程图实现逻辑单个文件上传获取文件的元数据分配文件的ID以文件ID为文件名打开文件,
- brpc学习笔记(1)
sun_abcd
#rpcrpc
文章目录一、简介及各个文档学习1.1bvar1.2bthread1.3client1.4server1.5内置服务1.6工具参考一、简介及各个文档学习brpc是一款RPC框架,基于brpc可以在一个端口上搭建支持多种协议的服务。编译按照文档编译即可,编译完成后需要将output目录下的拷贝到对应的系统目录:cp-rbin/*/usr/bincp-rinclude/*/usr/includecp-r
- brpc之单例
kgduu
brpc开发语言
简介GetLeakySingleton是单例模板类,线程安全的GetLeakySingletontemplateclassGetLeakySingleton{public:staticbutil::subtle::AtomicWordg_leaky_singleton_untyped;staticpthread_once_tg_create_leaky_singleton_once;staticv
- brpc负载均衡load balance和服务发现name servicing
INGNIGHT
Baidu-RpcLinux网络编程负载均衡服务发现运维
1.SharedLoadBalancer(load_balancer.h):包含LoadBalancer指针_lb,AddServersInBatch2.LoadBalancerWithNaming:继承SharedLoadBalancer和NamingServiceWatcher2.1Init函数:SharedLoadBalancer::Init,new一个loadbalance对象(服务发现线
- RPC之对象序列化/反序列化
sunny_sailor
rpc序列化/反序列化
从传统的单体服务到现在的分布式服务,微服务截然已经成为主流。RPC作为微服务最重要的核心模块之一,也越来越受到关注。市场主流的rpc有dubbo、springcloud、thrift、grpc、brpc等。那RPC的通信传输数据方式是什么样子呢?我们通过下面一张图来看下服务调用方(consumer)将数据序列化打包通过网络模块传给服务提供方(provider)。provider将接收到的数据包反序
- brpc: a little source code
SakamataZ
c++
之前在https://www.yuque.com/treblez/qksu6c/nqe8ip59cwegl6rk?singleDoc#《olap/clickhouse-编译器优化与向量化》中我谈过brpc的汇编控制bthread。本文就来看一下brpc作为一个高性能的rpc实现,除了自定义线程栈之外,代码还有什么优秀之处。因为时间原因,本文不做深入分析,只是解读下几个有意思的模块。用户态futex
- 2024 计划
kgduu
职场计划
工作争取有所突破学习brpc源码netty源码ace源码《Javascript高级程序设计》《Full-stackwebdevelopmentwithVue.jsandNodebuildscalableandpowerfulwebappswithmodernwebstack,MongoDB,Vue,Node.js,andExpress》(之前没有看完)生活每周跑步45公里左右注意用眼其它《穷查理宝
- brpc之接口Protocol
kgduu
brpc服务器网络
简介brpc主要是通过Protocol这个接口来支持多协议的。其提供了解析,序列化,处理请求与响应的函数指针,通过函数指针以达到多态的效果Protocol结构体定义如下structProtocol{typedefParseResult(*Parse)(butil::IOBuf*source,Socket*socket,boolread_eof,constvoid*arg);Parseparse;t
- CMAKE的学习笔记——初始CMAKE
啊罗罗
C++brpccmake
CMAKE是一个很强大的编译工具最近在看BRPC,发现其中的编译部分都是CMAKE来完成的,在囫囵吞枣编译出第一个demo后,我觉得自己该学习一下cmake了。1、及其简单的例子任何东西都是从helloworld开始的,cmake也不例外,这里就是一个非常简单的cmake:【请注意,文件名必须是CMakeLists.txt】现在的cmakelists很简单,一共就三句话:指定cmake版本(也可以
- 百度正式开源其RPC框架brpc
weixin_34241036
javagit运维
嘉宾|戈君编辑|Gary百度开源的这款RPC框架brpc,背后有什么门道?写在前面9月14日,百度正式在GitHub上基于Apache2.0协议开源了其RPC框架brpc。brpc是一个基于protobuf接口的RPC框架,在百度内部称为“baidu-rpc”,它囊括了百度内部所有RPC协议,并支持多种第三方协议,从目前的性能测试数据来看,brpc的性能领跑于其他同类RPC产品。brpc开发于20
- 初探brpc
祚儿疯
brpc学习brpc
今天开始对百度的这块开源项目进行学习,之前一直有听说,但是没有去尝试使用,下面就自己对brpc的学习心得进行一个总结。1、brpc的简介brpc又称为baidu-rpc,是百度开发一款“远过程调用”网络框架。目前该项目已在github上开源:https://github.com/brpc/brpc从开源的github上看,确实是很有水准的一款rpc,不仅是文档内容及其丰富,其中也提到了,brpc被
- brpc访问MySQL_brpc一些笔记 -- 从http看协议实现
心诚则零c
brpc访问MySQL
[我的blog原地址:brpc一些笔记--从http看协议实现,后续会持续努力同步更新到知乎~]这篇是一篇单纯的读文档+源码的笔记,从brpc中的http看协议如何使用、各协议的关系是什么。本来只是工作上扩展思考的一些调研,不需要单独写个blog的,但是代码比较多,就还是整理过来。本文不足点在于不涉及基本知识,但是好处是结合了我同为rpc框架开发者角度的一些架构思考。所以如果看到这个标题觉得你也想
- 百度开源RPC框架brpc
yageebu
9月14日,百度正式在GitHub上基于Apache2.0协议开源了其RPC框架brpc。brpc是一个基于protobuf接口的RPC框架,在百度内部称为“baidu-rpc”,它囊括了百度内部所有RPC协议,并支持多种第三方协议,从目前的性能测试数据来看,brpc的性能领跑于其他同类RPC产品。brpc开发于2014年,主要使用的语言是C++和Java,是百度内部使用最为广泛的RPC框架,它经
- 【项目学习】brpc
o小菜
笔记
目录1.bvar2.bthreadFAQ3.常见线程模型问题4.同步访问和异步访问同步访问异步访问组合channel5.channel和mutex6.自适应限流算法7.雪崩8.FlatMap-权衡空间的快速哈希表结构.9.work_stealing10.负载均衡算法一致性hash11.timersometips小菜learning这些内容全部摘自https://github.com/apache/
- brpc初步学习
okiwilldoit
brpc学习
一.BRPC介绍BRPC百度开源的一个rpc框架,它具有以下特性:基于protobuf接口的RPC框架,也提供json等其他数据格式的支持囊括baidu内部所有RPC协议,支持多种第三方协议模块化设计,层次清晰,很容易添加自定义协议全面的服务发现、负载均衡、组合访问支持可视化的内置服务和调试工具性能上领跑目前其他所有RPC产品支持的协议baidu_std(默认)hulu-pbrpc协议nova-p
- brpc线程模型学习
okiwilldoit
brpc学习
bthread是brpc使用的M:N线程库,目的是在提高程序的并发度的同时,降低编码难度,并在核数日益增多的CPU上提供更好的scalability和cachelocality。”M:N“是指M个bthread会映射至N个pthread,一般M远大于N。由于linux当下的pthread实现(NPTL)是1:1的,M个bthread也相当于映射至N个LWP。bthread的前身是Distribut
- brpc server端异步回包源码分析(二)
dandyhuang
brpc源码解析c++linuxrpc后端
brpcserver端异步回包源码分析(二)大家好,我是dandyhuang。上回给大家介绍了brpc从客户端到服务端整个收包的逻辑,详情可见Brpc服务端收包源码分析(一),本次咱们介绍server端异步回包逻辑,同步直接response写数据即可。server异步处理//异步回调voidhelloServiceImpl::ServiceCb(brpc::Controller*cntl,::he
- brpc
wilson_go
实用工具实用技术
百度内最常使用的工业级RPC框架,有1,000,000+个实例(不包含client)和上千种多种服务,在百度内叫做"baidu-rpc".目前只开源C++版本。你可以使用它:搭建能在一个端口支持多协议的服务,或访问各种服务restfulhttp/https,h2/gRPC。使用brpc的http实现比libcurl方便多了。从其他语言通过HTTP/h2+json访问基于protobuf的协议.re
- 2021SC@SDUSC BRPC源码分析(一) 项目综述
Lollo_HA
c++
2021SC@SDUSCBRPC源码分析(一)项目综述2021SC@SDUSCBRPC源码分析(一)项目综述目录2021SC@SDUSCBRPC源码分析(一)项目综述一、BRPC介绍1.1RPC概述1.2BRPC概述1.3BRPC可以做什么?二、编译2.1编译前置知识2.2Ubuntu的依赖准备2.3使用config_brpc.sh编译brpc三、项目分工一、BRPC介绍1.1RPC概述RPC是远
- 【brpc学习实践十三】基于brpc的redis client的实现
小蜜蜂爱编程
brpcredisbrpc后端c++
brpc支持了redis协议,提供了相关redis访问接口,充分利用了bthread,可以坐到比hiredis更高效。brpcredis与hiredis的对比相比使用hiredis(官方client)的优势有:线程安全。用户不需要为每个线程建立独立的client。支持同步、异步、批量同步、批量异步等访问方式,能使用ParallelChannel等组合访问方式。支持多种连接方式。支持超时、backu
- 【brpc学习实践】ParallelChannel的使用与并行请求
小蜜蜂爱编程
brpcbrpc后端c++
概览ParallelChannel(有时被称为“pchan”)同时访问其包含的subchannel,并合并它们的结果。用户可通过CallMapper修改请求,通过ResponseMerger合并结果。ParallelChannel看起来就像是一个Channel:支持同步和异步访问。发起异步操作后可以立刻删除。可以取消。支持超时。任何brpc::ChannelBase的子类都可以加入Parallel
- 【brpc学习实践十二】bthread
小蜜蜂爱编程
brpcc++后端brpc
概览bthread(代码)是baidu-rpc使用的M:N线程库,是其稳定和高效的关键组件。能更好地利用多核cpu,能在pthread中运行,需要注意的是,bthread的workstealing机制会da让任务pthread发生切换,从而让thread_local变量不可信,通常在bthread_usleep或这join的时候就有可能发生切换。thread_localSomeObjectobj;
- 【brpc学习实践十一】session-local与thread-local应用与brpc抽象工厂模式实践
小蜜蜂爱编程
brpc抽象工厂模式brpcc++后端
什么是session-local与thread-local百度内的检索程序大量地使用了thread-localstorage(缩写TLS),有些是为了缓存频繁访问的对象以避免反复创建,有些则是为了在全局函数间隐式地传递状态。你应当尽量避免后者,这样的函数难以测试,不设置thread-local变量甚至无法运行。session-local与thread-local是brpc解决thread-loca
- 【brpc学习实践七】dummy server、DynamicPartitionChannel
小蜜蜂爱编程
brpcbrpcc++后端
dummyserver如果你的程序只使用了baidu-rpc的client或根本没有使用baidu-rpc,但你也想使用baidu-rpc的内置服务,只要在程序中启动一个空的server就行了,这种server我们称为dummyserver。Dummyserver可以用于原型设计和开发目的,作为简单的http服务器使用,多数场景用不上。brpc怎么开启dummyserver使用brpc的clien
- 【brpc学习实践八】bvar及其应用
小蜜蜂爱编程
brpcbrpc后端c++
什么是bvarbvar是多线程环境下的计数器类库,支持单维度bvar和多维度mbvar,方便记录和查看用户程序中的各类数值,它利用了threadlocal存储减少了cachebouncing,相比UbMonitor(百度内的老计数器库)几乎不会给程序增加性能开销,也快于竞争频繁的原子操作。brpc集成了bvar,/vars可查看所有曝光的bvar,/vars/VARNAME可查阅某个bvar,在b
- 【brpc学习实践九】mbvar及bvar可观测
小蜜蜂爱编程
brpcbrpc后端c++
概念、学习地址mbvar中有两个类,分别是MVariable和MultiDimension,MVariable是多维度统计的基类,MultiDimension是派生模板类。也是主要用来多多线程计数用的。这里用到再详细去了解即可https://github.com/luozesong/brpc/blob/master/docs/cn/mbvar_c%2B%2B.mdbrpc服务观测bvarbrpc提
- 【brpc学习实践十】streaming log实战
小蜜蜂爱编程
brpcc++后端
实战实例通常我们在服务还没正式起来时,会用brpc流式log打印,支持对日志输出到ostream对象中(默认std)。同时会在服务初始化时配置LogSink,实现自己的log,这样后续都可以将输出重定向至自己的log.intinit(intargc,char**argv,constchar*product_name,constchar*mod_name){//读日志文件配置(设置baidu-rpc
- tf模型在C++部署
wp133716
c++深度学习人工智能
tensorflow训练好的模型使用ONNXRuntime在C++部署tf模型转onnx使用tf2onnx,在前面的文章有讲到c++调用tf.keras的模型.环境ubuntu20.04cuda11.6cudnn8.2.4参考链接(2023.11.22新增)使用bRPC和ONNXRuntime把BERT模型服务化onnxruntime(C++/CUDA)编译安装及部署https://blog.cs
- 【brpc学习实践六】backup request场景案例
小蜜蜂爱编程
brpcbrpcc++后端
应用场景有时为了保证可用性,需要同时访问两路服务,哪个先返回就取哪个。在brpc中,这有多种做法,根据server是否挂在同一个命名服务内有所区别。当后端server可以挂在一个命名服务内时Channel开启backuprequest。这个Channel会先向其中一个server发送请求,如果在ChannelOptions.backup_request_ms后还没回来,再向另一个server发送。
- 【brpc学习实战三】同步、异步、半同步原理
小蜜蜂爱编程
brpcc++rpcbrpc后端
同步访问指的是:RPC请求(CallMethod、xxx_stub.xxxService)会阻塞到收到server端返回response或发生错误(包括超时)。同步访问中的response/controller不会在CallMethod后被框架使用,它们都可以分配在栈上。注意,如果request/response字段特别多字节数特别大的话,还是更适合分配在堆上。MyRequestrequest;M
- 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