- Java原生序列化和Kryo序列化性能比较
编码前线
1.背景最近几年,各种新的高效序列化方式层出不穷,不断刷新序列化性能的上限,最典型的包括:专门针对Java语言的:Kryo,FST等等跨语言的:Protostuff,ProtoBuf,Thrift,Avro,MsgPack等等这些序列化方式的性能多数都显著优于hessian2(。有鉴于此,我们为dubbo引入Kryo和FST这两种高效Java序列化实现,来逐步取代hessian2。其中,Kryo是
- 序列化框架的选择- hession2、kyro、protostuff
芝士汉堡 ིྀིྀ
java服务器网络
序列化框架的选择前言Hessian2KryoProtostuff性能对比其他比较前言当涉及到序列化框架时,Hessian2、Kryo和Protostuff是三个常见的选择。它们在性能、跨语言支持、序列化大小和使用灵活性等方面存在一些差异。hession2、kyro、protostuff都是第三方开源的序列化/反序列化框架,要了解其各自的特性,我们首先需要知道序列化/反序列化是什么:序列化和反序列化
- Dubbo 原理浅析到实现一个RPC框架
A.iguodala
项目zookeeperspringjavadubborpc
文章目录一、Dubbo原理1.整体架构2.服务提供方的暴露服务3.服务消费者方的引用服务4.调用服务5.SPI机制5.1JDK的SPI实现原理5.2Dubbo的SPI自适应扩展5.3Dubbo的IOC和AOPIOCAOP5.3Dubbo的@Activate注解6.序列化协议6.1编码和解码6.2序列化6.1protostuff6.1.1protostuff的使用:6.1.2原理6.2kryo7.负
- unity中使用protobuf工具将proto文件转为C#实体脚本
类人_猿
Unityc#protoprotobufProtoGen
unity中使用protobuf工具将proto文件转为C#实体脚本介绍优点缺点Protobuf为什么比XML快得多?Protobuf的EncodingProtobuf封解包的过程通常编写一个GoogleProtocolBuffer应用需要以下几步:Protostuff是什么Protobuf工具总结介绍protobuf也就是GoogleProtocolBuffers是一种轻便、高校的结构化数据存储
- Redis如何做内存优化?
韩金群
java中级面试题redis数据库内存优化
Redis如何做内存优化?1、缩短键值的长度缩短值的长度才是关键,如果值是一个大的业务对象,可以将对象序列化成二进制数组;首先应该在业务上进行精简,去掉不必要的属性,避免存储一些没用的数据;其次是序列化的工具选择上,应该选择更高效的序列化工具来降低字节数组大小;以JAVA为例,内置的序列化方式无论从速度还是压缩比都不尽如人意,这时可以选择更高效的序列化工具,如:protostuff,kryo等2、
- Netty高级特性及源码详解
法号轻尘
#网课笔记javajvmlinuxnettysocket
Netty的编码与解码编解码:出站消息会把Java对象转换成字节,入站消息则将字节转成Java对象Netty内部提供了一系列内置编解码API如StringEncoder和StringDecoder和编解码对象的ObjectEncoder和ObjectDecoder如果要实现高效的编解码可以用protobufprotobuf要维护大量proto文件,比较麻烦,一般可以使用protostuff,使用简
- 基于Springboot-Netty-Protostuff-ZooKeeper分布式RPC框架
成功不打折扣
rpc
目录一、概述二、RPC原理简介三、序列化协议概述1XML-RPC,SOAP,WebService2PHPRPC3Hessian4JSON-RPC5MicrosoftWCF,WebAPI6ZeroCIce,Thrift,GRPC7Hprose8protobuf9protostuff四、项目模块关系图五、项目核心代码讲解1Server端讲解2client端讲解3common讲解4剩余模块简介六、项目模
- java 序列化 protobuf_java序列化系列之protobuf
佳丽影像
java序列化protobuf
我们之前曾讲过java自带的一种序列化机制,但是这种机制效率太低,有很多缺点。因此也涌现出了很多优秀的系列化框架,比如说protobuf、protostuff、thrift、hession、kryo、avro、fst、msgpack等等。这篇文章我们就看一下第一个序列化框架protobuf,给出一个简单案例,看看其是如何实现的。注:若你对序列化概念和基本使用还有疑惑,可以翻看我之前的文章,或者百度
- google protobuf 实体类和java对象互转_java序列化机制之protobuf(快速高效跨语言)...
weixin_39618574
googleprotobuf实体类和java对象互转
我们之前曾讲过java自带的一种序列化机制,但是这种机制效率太低,有很多缺点。因此也涌现出了很多优秀的系列化框架,比如说protobuf、protostuff、thrift、hession、kryo、avro、fst、msgpack等等。这篇文章我们就看一下第一个序列化框架protobuf,给出一个简单案例,看看其是如何实现的。注:若你对序列化概念和基本使用还有疑惑,可以翻看我之前的文章,或者百度
- 手写RPC框架项目代码解读——Netty版本
Kevin_Opt
Java项目RPCrpcjavaspring
手写RPC框架项目代码解读——Netty版本1、基于Netty1.1Spring类1.2服务端1.1.1启动1.1.2业务处理器1.3客户端1.3.1test方法1.3.2发送请求1.3.3接收响应2、序列化2.1Kyro2.2Hessian2.3Protostuff项目地址:https://github.com/Snailclimb/guide-rpc-framework。Socket版本的手写
- unity中使用protobuf工具将proto文件转为C#实体脚本
类人_猿
Unity网络c#protobufProtoGenproto工具Unity
unity中使用protobuf工具将proto文件转为C#实体脚本介绍优点缺点Protobuf为什么比XML快得多?Protobuf的EncodingProtobuf封解包的过程通常编写一个GoogleProtocolBuffer应用需要以下几步:Protostuff是什么Protobuf工具总结介绍protobuf也就是GoogleProtocolBuffers是一种轻便、高校的结构化数据存储
- 数据序列化方案
会打莎士比亚的猴子
物联网物联网
序列化的定义序列化:把对象转化为可传输的字节序列过程称为序列化。反序列化:把字节序列还原为对象的过程称为反序列化。序列化方案一些比较通用的序列化方案JSON、XML、Thrift、Protostuff、Hessian。JSONJSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。json使用方便,序列化过程的数据也非常便
- 二阶段提交分布式事务框架源码解析系列(一)之项目结构
dromara
transaction跟踪存储调用提交
happylifeplat-transaction是什么?有什么功能?这是碧桂园旺生活二阶段提交分布式事务开源解决方案。github地址支持dubbo,springcloud等rpc框架进行分布式事务本地事务存储,支持redis,mogondb,zookeeper,file,mysql等关系型数据库序列化方式,支持java,hessian,kryo,protostuff事务发起者,参与者与协调者底
- tcc分布式事务源码解析系列(一)之项目结构
dromara
TCCgithubjavaredisdubbo分布式事务
happylifeplat-tcc是什么?有什么功能?这是碧桂园旺生活解决分布式事务的TCC开源方案。github地址支持dubbo,springcloud等rpc框架进行分布式事务本地事务存储,支持redis,mogondb,zookeeper,file,mysql等关系型数据库序列化方式,支持java,hessian,kryo,protostuff项目结构happylifeplat-annot
- Netty粘包拆包、自定义Protostuff编解码器
CodingAnHour
nettyNetty粘包拆包protostuff
1、Netty粘包拆包TCP是一个“流”协议,所谓流,就是没有界限的一长串二进制数据。TCP作为传输层协议并不了解上层业务数据的具体含义,会根据TCP缓冲区的实际情况进行数据包的划分;所以在业务上认为是一个完整的包,可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这就是所谓的TCP粘包和拆包问题。例如,TCP缓冲区是1024个字节大小,如果应用一次请求发送的数据量
- 简述Java序列化的几种方式
LSZXZNJ
笔记常用中间件java开发语言
目录JDK原生的序列化字符串获取字节流ProtobufProtostuffThriftkryohessianfstJSON字符串序列化JacksonGsonFastJson序列化和反序列化在网络传输过程中需要做的事情。序列化就是得的字节流,反序列化就是得的对象。下面梳理Java编程需要用到的一些序列化技术。有些序列化技术不是简单的API调用,做了一些说明。其他一些简单的API调用只是提一下。JDK
- Hessian、Kryo、Protostuff序列化使用区别
”PANDA
JAVAkryohessianjavaprotobuf
Kryo序列化后的数据相比Hessian小很多。Hessian使用固定长度存储int和long,而kryo使用变长的int和long保证这种基本数据类型序列化后尽量小,实际应用中,很大的数据不会经常出现。Kryo进行序列化的时候,需要传入完整类名或者利用register()提前将类注册到Kryo上,其类与一个int型的ID相关联,序列中只存放这个ID,因此序列体积就更小,而Hessian则是将所有
- 性能飙升20倍!!! 超高性能协议框架fury完爆protostuff
流子
Javajava
简单介绍:序列化框架是系统通信的基础组件,在大数据、AI框架和云原生等分布式系统中广泛使用。当对象需要跨进程、跨语言、跨节点传输、持久化、状态读写、复制时,都需要进行序列化,其性能和易用性影响运行效率和开发效率。Fury是一个基于JIT动态编译和零拷贝的多语言序列化框架,支持Java/Python/Golang/JavaScript/C++等语言,提供全自动的对象多语言/跨语言序列化能力。而提到p
- 谁才是真正的协议之王?fastjson2 vs fury
流子
java网络协议性能优化
文章目录写在前面简单介绍官网和引入设备,环境及样本设备JDK样本测评数据包体大小序列化反序列化垃圾回收JIT优化耗时结论序列化对比反序列化对比包体压缩比上API易用性上多语言生态上垃圾回收上JIT优化耗时上综述写在前面前阵子,我们写过一篇关于fury和protostuff的性能对比的文章:性能飙升20倍!!!超高性能协议框架fury完爆protostuff,那么,fury是否能真的坐稳协议框架的头
- 【序列化工具JdkSerialize和Protostuff】
蛋饼吧
java开发语言
序列化工具对比JdkSerialize:java内置的序列化能将实现了Serilazable接口的对象进行序列化和反序列化,ObjectOutputStream的writeObject()方法可序列化对象生成字节数组Protostuff:google开源的protostuff采用更为紧凑的二进制数组,表现更加优异,然后使用protostuff的编译工具生成pojo类JdkSerializeUtil
- 【深入浅出Spring原理及实战】「开发实战系列」分析探究RedisTemplate的序列化和反序列化+泛型机制
洛神灬殇
#springjavaredis
前提介绍【【深入浅出Spring原理及实战】「开发实战系列」采用protostuff和kryo高性能序列化框架实现RedisTemplate的序列化组件】介绍了一下Java实现序列化的众多手段和优秀框架,现在我们针对于序列化和反序列化结合这些优秀的框架进行实现。Redis序列化与反序列化Redis底层以二进制/字符串形式存储内容;序列化把java对象转换为二进制/字符串,然后存储到内存中;反序列化
- 如何构建一个交易系统
未央xx
系统框架:Axon内存数据库&cep:Ignite(esper)外部内存数据库:redis内部队列:disrupter外部队列:kafka(rocketmq)编解码:sbe(protostuff)通讯基础:netty如何构建一个交易系统(一)概述如何构建一个交易系统(二)交易如何构建一个交易系统(三)CMEGroup如何构建一个交易系统(四)安全、性能如何构建一个交易系统(五)设计模式如何构建一个
- 自定义spring mvc和feign对应的protostuff消息转换器
疾风sxp
Springspringmvcjava
一、自定义springmvcprotostuff消息转换器1.protostuff是一个序列化和反序列化的高性能类型,它比json字节数少,且快,适合做rpc调用2.自定义protostuff消息转换器,代码如下:publicclassProtostuffHttpMessageConverterextendsAbstractHttpMessageConverter{/***避免每次序列化都重新申请
- 淘宝开源版权信息-Android
inlooker
zxingcommons-codecottoNineOldAndroidsuniversal-image-loaderandroid-pulltoRefreshActionBar-PullToRefreshViewPagerIndicatorAndroid-MenudrawerWheelWidgetandroid-wheelhorizontalpagerjgeohashprotostuffdisk
- 序列化和反序列化
黑夜-SO
java基础java序列化和反序列化序列化协议比较
文章目录什么是序列化和反序列化?常见序列化协议有哪些?JDK自带的序列化方式serialVersionUID有什么作用?serialVersionUID不是被static变量修饰了吗?为什么还会被“序列化”?如果有些字段不想进行序列化怎么办?关于transient还有几点注意:为什么不推荐使用JDK自带的序列化?KryoProtobufProtoStuffHessian总结什么是序列化和反序列化?
- 2018-02-12高并发
and天神
java序列化:java虽然有自带的序列化反序列化Serialization但是再高并发的时候这个反序列化是很慢的,大多数我们用redis获取缓存(redis缓存是字节形式存贮的没需要反序列化)可以使用protostuff来反序列化速度最快,极致的超越java自带的反序列化高并发的优化:可以改变执行的顺序先插入后修改库存数据,插入后再去操作减库存mysql使用ignore关键字插入重复主键数据不会
- java string 反序列化_java序列化和反序列化
梧桐树下读书人
javastring反序列化
引语:平时我们在运行程序的时候,创建的对象都在内存中,当程序停止或者中断了,对象也就不复存在了.如果我们能将对象保存起来,在需要使用它的时候在拿出来使用就好了,并且对象的信息要和我们保存时的信息一致.序列化就可以解决了这样的问题.序列化当然不止一种方式,如下:序列类型是否跨语言优缺点hession支持跨语言,序列化后体积小,速度较快protostuff支持跨语言,序列化后体积小,速度快,但是需要S
- Java技术指南「序列化机制」采用protostuff和kryo高性能序列化框架实现RestTemplate的序列化组件
洛神灬殇
序列化序列化可以简单理解为对象-->字节的过程,同理,反序列化则是相反的过程。为什么需要序列化?因为网络传输只认字节。所以互信的过程依赖于序列化。网络传输的性能等诸多因素,通常会支持多种序列化方式以供使用者插拔使用,一些常用的序列化方案hessian,kryo,Protostuff、FST等,其中最快、效果最好的要数Kryo和ProtostuffRedisConfiguration的配置创建Red
- [Java] 序列化(Serialization)的本质是什么?在Java中怎么实现?为什么要了解序列化技术?序列化技术选型要点是什么?
虎猫_EICHO
#JavajavaSerialization序列化
文章目录前言序列化是什么?理解对象在内存中是如何存储的数据在进程内存中的分布图数据被序列化之后在内存中的分布图序列化/反序列化的本质?序列化在Java中的实现?1.JDKSerialization(不推荐使用)2.第三方实现:Kryo3.第三方实现:ProtoStuff和Protobuf为什么要了解序列化技术?序列化技术选型要点补充:byte[]vsbytestream结语前言序列化是相对比较重要
- Unchecked assignment
来日可期1314
分享经验unchecked
Uncheckedassignment:'io.protostuff.Schema'to'io.protostuff.Schema'less...(Ctrl+F1)Signalsplaceswhereanuncheckedwarningisissuedbythecompiler,forexample:voidf(HashMapmap){map.put("key","value");}Hint:Pa
- Java开发中,spring mvc 的线程怎么调用?
小麦麦子
springmvc
今天逛知乎,看到最近很多人都在问spring mvc 的线程http://www.maiziedu.com/course/java/ 的启动问题,觉得挺有意思的,那哥们儿问的也听仔细,下面的回答也很详尽,分享出来,希望遇对遇到类似问题的Java开发程序猿有所帮助。
问题:
在用spring mvc架构的网站上,设一线程在虚拟机启动时运行,线程里有一全局
- maven依赖范围
bitcarter
maven
1.test 测试的时候才会依赖,编译和打包不依赖,如junit不被打包
2.compile 只有编译和打包时才会依赖
3.provided 编译和测试的时候依赖,打包不依赖,如:tomcat的一些公用jar包
4.runtime 运行时依赖,编译不依赖
5.默认compile
依赖范围compile是支持传递的,test不支持传递
1.传递的意思是项目A,引用
- Jaxb org.xml.sax.saxparseexception : premature end of file
darrenzhu
xmlprematureJAXB
如果在使用JAXB把xml文件unmarshal成vo(XSD自动生成的vo)时碰到如下错误:
org.xml.sax.saxparseexception : premature end of file
很有可能时你直接读取文件为inputstream,然后将inputstream作为构建unmarshal需要的source参数。InputSource inputSource = new In
- CSS Specificity
周凡杨
html权重Specificitycss
有时候对于页面元素设置了样式,可为什么页面的显示没有匹配上呢? because specificity
CSS 的选择符是有权重的,当不同的选择符的样式设置有冲突时,浏览器会采用权重高的选择符设置的样式。
规则:
HTML标签的权重是1
Class 的权重是10
Id 的权重是100
- java与servlet
g21121
servlet
servlet 搞java web开发的人一定不会陌生,而且大家还会时常用到它。
下面是java官方网站上对servlet的介绍: java官网对于servlet的解释 写道
Java Servlet Technology Overview Servlets are the Java platform technology of choice for extending and enha
- eclipse中安装maven插件
510888780
eclipsemaven
1.首先去官网下载 Maven:
http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-3.2.3-bin.tar.gz
下载完成之后将其解压,
我将解压后的文件夹:apache-maven-3.2.3,
并将它放在 D:\tools目录下,
即 maven 最终的路径是:D:\tools\apache-mave
- jpa@OneToOne关联关系
布衣凌宇
jpa
Nruser里的pruserid关联到Pruser的主键id,实现对一个表的增删改,另一个表的数据随之增删改。
Nruser实体类
//*****************************************************************
@Entity
@Table(name="nruser")
@DynamicInsert @Dynam
- 我的spring学习笔记11-Spring中关于声明式事务的配置
aijuans
spring事务配置
这两天学到事务管理这一块,结合到之前的terasoluna框架,觉得书本上讲的还是简单阿。我就把我从书本上学到的再结合实际的项目以及网上看到的一些内容,对声明式事务管理做个整理吧。我看得Spring in Action第二版中只提到了用TransactionProxyFactoryBean和<tx:advice/>,定义注释驱动这三种,我承认后两种的内容很好,很强大。但是实际的项目当中
- java 动态代理简单实现
antlove
javahandlerproxydynamicservice
dynamicproxy.service.HelloService
package dynamicproxy.service;
public interface HelloService {
public void sayHello();
}
dynamicproxy.service.impl.HelloServiceImpl
package dynamicp
- JDBC连接数据库
百合不是茶
JDBC编程JAVA操作oracle数据库
如果我们要想连接oracle公司的数据库,就要首先下载oralce公司的驱动程序,将这个驱动程序的jar包导入到我们工程中;
JDBC链接数据库的代码和固定写法;
1,加载oracle数据库的驱动;
&nb
- 单例模式中的多线程分析
bijian1013
javathread多线程java多线程
谈到单例模式,我们立马会想到饿汉式和懒汉式加载,所谓饿汉式就是在创建类时就创建好了实例,懒汉式在获取实例时才去创建实例,即延迟加载。
饿汉式:
package com.bijian.study;
public class Singleton {
private Singleton() {
}
// 注意这是private 只供内部调用
private static
- javascript读取和修改原型特别需要注意原型的读写不具有对等性
bijian1013
JavaScriptprototype
对于从原型对象继承而来的成员,其读和写具有内在的不对等性。比如有一个对象A,假设它的原型对象是B,B的原型对象是null。如果我们需要读取A对象的name属性值,那么JS会优先在A中查找,如果找到了name属性那么就返回;如果A中没有name属性,那么就到原型B中查找name,如果找到了就返回;如果原型B中也没有
- 【持久化框架MyBatis3六】MyBatis3集成第三方DataSource
bit1129
dataSource
MyBatis内置了数据源的支持,如:
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<data
- 我程序中用到的urldecode和base64decode,MD5
bitcarter
cMD5base64decodeurldecode
这里是base64decode和urldecode,Md5在附件中。因为我是在后台所以需要解码:
string Base64Decode(const char* Data,int DataByte,int& OutByte)
{
//解码表
const char DecodeTable[] =
{
0, 0, 0, 0, 0, 0
- 腾讯资深运维专家周小军:QQ与微信架构的惊天秘密
ronin47
社交领域一直是互联网创业的大热门,从PC到移动端,从OICQ、MSN到QQ。到了移动互联网时代,社交领域应用开始彻底爆发,直奔黄金期。腾讯在过去几年里,社交平台更是火到爆,QQ和微信坐拥几亿的粉丝,QQ空间和朋友圈各种刷屏,写心得,晒照片,秀视频,那么谁来为企鹅保驾护航呢?支撑QQ和微信海量数据背后的架构又有哪些惊天内幕呢?本期大讲堂的内容来自今年2月份ChinaUnix对腾讯社交网络运营服务中心
- java-69-旋转数组的最小元素。把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素
bylijinnan
java
public class MinOfShiftedArray {
/**
* Q69 旋转数组的最小元素
* 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素。
* 例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1。
*/
publ
- 看博客,应该是有方向的
Cb123456
反省看博客
看博客,应该是有方向的:
我现在就复习以前的,在补补以前不会的,现在还不会的,同时完善完善项目,也看看别人的博客.
我刚突然想到的:
1.应该看计算机组成原理,数据结构,一些算法,还有关于android,java的。
2.对于我,也快大四了,看一些职业规划的,以及一些学习的经验,看看别人的工作总结的.
为什么要写
- [开源与商业]做开源项目的人生活上一定要朴素,尽量减少对官方和商业体系的依赖
comsci
开源项目
为什么这样说呢? 因为科学和技术的发展有时候需要一个平缓和长期的积累过程,但是行政和商业体系本身充满各种不稳定性和不确定性,如果你希望长期从事某个科研项目,但是却又必须依赖于某种行政和商业体系,那其中的过程必定充满各种风险。。。
所以,为避免这种不确定性风险,我
- 一个 sql优化 ([精华] 一个查询优化的分析调整全过程!很值得一看 )
cwqcwqmax9
sql
见 http://www.itpub.net/forum.php?mod=viewthread&tid=239011
Web翻页优化实例
提交时间: 2004-6-18 15:37:49 回复 发消息
环境:
Linux ve
- Hibernat and Ibatis
dashuaifu
Hibernateibatis
Hibernate VS iBATIS 简介 Hibernate 是当前最流行的O/R mapping框架,当前版本是3.05。它出身于sf.net,现在已经成为Jboss的一部分了 iBATIS 是另外一种优秀的O/R mapping框架,当前版本是2.0。目前属于apache的一个子项目了。 相对Hibernate“O/R”而言,iBATIS 是一种“Sql Mappi
- 备份MYSQL脚本
dcj3sjt126com
mysql
#!/bin/sh
# this shell to backup mysql
#
[email protected] (QQ:1413161683 DuChengJiu)
_dbDir=/var/lib/mysql/
_today=`date +%w`
_bakDir=/usr/backup/$_today
[ ! -d $_bakDir ] && mkdir -p
- iOS第三方开源库的吐槽和备忘
dcj3sjt126com
ios
转自
ibireme的博客 做iOS开发总会接触到一些第三方库,这里整理一下,做一些吐槽。 目前比较活跃的社区仍旧是Github,除此以外也有一些不错的库散落在Google Code、SourceForge等地方。由于Github社区太过主流,这里主要介绍一下Github里面流行的iOS库。 首先整理了一份
Github上排名靠
- html wlwmanifest.xml
eoems
htmlxml
所谓优化wp_head()就是把从wp_head中移除不需要元素,同时也可以加快速度。
步骤:
加入到function.php
remove_action('wp_head', 'wp_generator');
//wp-generator移除wordpress的版本号,本身blog的版本号没什么意义,但是如果让恶意玩家看到,可能会用官网公布的漏洞攻击blog
remov
- 浅谈Java定时器发展
hacksin
java并发timer定时器
java在jdk1.3中推出了定时器类Timer,而后在jdk1.5后由Dou Lea从新开发出了支持多线程的ScheduleThreadPoolExecutor,从后者的表现来看,可以考虑完全替代Timer了。
Timer与ScheduleThreadPoolExecutor对比:
1.
Timer始于jdk1.3,其原理是利用一个TimerTask数组当作队列
- 移动端页面侧边导航滑入效果
ini
jqueryWebhtml5cssjavascirpt
效果体验:http://hovertree.com/texiao/mobile/2.htm可以使用移动设备浏览器查看效果。效果使用到jquery-2.1.4.min.js,该版本的jQuery库是用于支持HTML5的浏览器上,不再兼容IE8以前的浏览器,现在移动端浏览器一般都支持HTML5,所以使用该jQuery没问题。HTML文件代码:
<!DOCTYPE html>
<h
- AspectJ+Javasist记录日志
kane_xie
aspectjjavasist
在项目中碰到这样一个需求,对一个服务类的每一个方法,在方法开始和结束的时候分别记录一条日志,内容包括方法名,参数名+参数值以及方法执行的时间。
@Override
public String get(String key) {
// long start = System.currentTimeMillis();
// System.out.println("Be
- redis学习笔记
MJC410621
redisNoSQL
1)nosql数据库主要由以下特点:非关系型的、分布式的、开源的、水平可扩展的。
1,处理超大量的数据
2,运行在便宜的PC服务器集群上,
3,击碎了性能瓶颈。
1)对数据高并发读写。
2)对海量数据的高效率存储和访问。
3)对数据的高扩展性和高可用性。
redis支持的类型:
Sring 类型
set name lijie
get name lijie
set na
- 使用redis实现分布式锁
qifeifei
在多节点的系统中,如何实现分布式锁机制,其中用redis来实现是很好的方法之一,我们先来看一下jedis包中,有个类名BinaryJedis,它有个方法如下:
public Long setnx(final byte[] key, final byte[] value) {
checkIsInMulti();
client.setnx(key, value);
ret
- BI并非万能,中层业务管理报表要另辟蹊径
张老师的菜
大数据BI商业智能信息化
BI是商业智能的缩写,是可以帮助企业做出明智的业务经营决策的工具,其数据来源于各个业务系统,如ERP、CRM、SCM、进销存、HER、OA等。
BI系统不同于传统的管理信息系统,他号称是一个整体应用的解决方案,是融入管理思想的强大系统:有着系统整体的设计思想,支持对所有
- 安装rvm后出现rvm not a function 或者ruby -v后提示没安装ruby的问题
wudixiaotie
function
1.在~/.bashrc最后加入
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
2.重新启动terminal输入:
rvm use ruby-2.2.1 --default
把当前安装的ruby版本设为默