`
sundoctor
  • 浏览: 325761 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表

将博客搬至CSDN

    博客分类:
  • CSDN
将博客搬至CSDN
  系统为了提高数据访问速度,先将数据加载到redis缓存中,但是每次从缓存获取数据,要通过网络访问才能获取,效率还是不够逆天快。如果访问量很大,并发很高,性能不够快不说,还容易造成reids负载过高,redis的主机出现各种物理故障。因此,可以在redis前增加本地一级缓存,本地一级缓存和系统应用在同一个JVM内,这样速度最快,redis退居二线当作二级缓存。每次请求先从一级缓存读取数据,一级缓存没有数据,再从二级缓存读取,并同步到一级缓存里,通过redis的消息发布订阅通知其他client机器更新缓存。这同CPU的一级缓存,二级缓存是一个道理。   本文并不涉及spring boo ...
一致性哈希算法的Java实现   关于一致性哈希算法的原理,网上有很多介绍,在此只是简单介绍一下,不做详细说明。   一致性哈希算法是分布式系统中常用的算法,比如有N台缓存服务器,你需要将数据缓存到这N台服务器上。一致性哈希算法可以将数据尽可能平均的存储到N台缓存服务器上,提高系统的负载均衡,并且当有缓存服务器加入或退出集群时,尽可能少的影响现有缓存服务器的命中率,减少数据对后台服务的大量冲击。   一致性哈希算法的基本原理,把数据通过hash函数映射到一个很大的环形空间里,如下图所示:       A、B、C、D 4台缓存服务器通过hash函数映射环形空间上,数据的存储 ...
项目需要图片上传前预览,网上找了他人写的一个jquery插件,因为作者写的时间较早,浏览器的更新换代很快,我改改了,增强浏览器版本兼容性,支持ie6+、firefox、chrome。 插件代码: //说明:图片上传预览插件 //上传的时候可以生成固定宽高范围内的等比例缩放图 //参数设置: //width 存放图片固定大小容器的宽 //height 存放图片固定大小容器的高 //imgDiv 页面DIV的JQuery的id //maxSize 图片大小最大 ...
公司使用ssh框架,近期因为项目使用到多数据源,web服务器为tomcat,为了数据的一致性,需要使用jta。在spring中使用jta现有两个主要的开源项目:jotm、atomikos。spring3中己移除了对jotm支持,所以只能使用atomikos,按照网上资料学习 ...
安装了oracle11g的ubuntu升级到12.04启动是报错误ORA-00845: MEMORY_TARGET not supported on this system。 原因12.04中将/dev/shm目录改成了/run/shm,虽然已经有符号链接但是仍然报错。 解决: 1、编辑oracle-shm sundoctor@sundoctor-ThinkPad-W510:~$ sudo gedit /etc/init.d/oracle-shm #! /bin/sh # /etc/init.d/oracle-shm # # case $1 in start) echo " ...

One-JAR Quick Start

    博客分类:
  • Java
Quick Start There are various approaches to getting started with One-JAR. Ant users will find the "Application Generator Approach" most useful, Maven users the "Maven Approach", command-line tool users may prefer the "Command Line Approach". Application Generator Approac ...
前段时间在javaeye上看到一篇关于将数字转换成中文金额大写文章:将数字转换成中文金额大写形式(Java版),写得很不错,我也来写一个,我觉得这个算法比其更简单有效。闲话少说,大家看代码吧,代码很简单。 import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class CurrencyConverter { private static final double MAXIMUM_NUMBER = 9999999999999.99d; ...
在开发Hibernate的Web项目应用时使用tomcat时运行很好,但实际生产环境中要部署到WebLogic就会出现一些ClassNotFoundException异常。 org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken异常 这是使用Hibernate 3.0以后版本均会出现的异常; exception is java.lang.NoSuchMethodError: javax.persistence.UniqueConstraint.name()Ljava/lang/S ...
Protocol Buffers是一个平台中立,编程语言无关的,可扩展的机制,是用于结构化数据串行化的灵活、高效、自动的方法,有如XML,不过它更小、更快、也更简单。你可以定义自己的数据结构,然后使用代码生成器生成的代码来读 ...
在要生成证书的目录下建立几个文件和文件夹,有./demoCA/ ./demoCA/newcerts/  ./demoCA/index.txt ./demoCA/serial,在serial文件中写入第一个序列号“01” 1.生成X509格式的CA自签名证书 $openssl req -new -x509 -keyout ca.key -out ca.crt 2.生成服务端的私钥(key文件)及csr文件 $openssl genrsa -des3 -out server.key 1024 $openssl req -new -key server.key -out server.csr 3 ...
现在介绍第三种实现方式:Server端和Client端各自拥有可信认的第三方认证机构(CA)签名私有密钥证书,通过CA互相信认对方证书。 在第二种实现方式中,使用keytool生成的数字证书只能是自签名的。谓自签名就是指证书只能保证自己是完整的,没有经过非法修改的。但是无法保证这个证书是属于谁的。这种验证有一个缺点:对于每一个要链接的服务器,都要保存一个证书的验证副本。而且一旦服务器更换证书,所有客户端就需要重新部署这些副本。对于比较大型 的应用来说,这一点是不可接受的。所以就需要证书链进行双向认证。证书链是指对证书的签名又一个预先部署的,众所周知的签名方签名完成,这样每次需要验证证书时只要用这 ...
上回书说到...书接上回,现在介绍第二种实现方式:Server端和Client端各自拥有自签名的私有密钥证书,并且互相交换公钥,通过对方公钥互相信认对方证书。 1.创建Server端KeyStore文件serverKeys.jks,包含一个用于服务器的证书 : 引用keytool -genkey -alias server -keysize 1024 -validity 3650 -keyalg RSA -dname "CN=sundoctor.com, OU=Developer,O=Techstar, L=Beijing, S=Beijing, C=CH" -keypas ...
本文需要读者对mina和SSl原理有一定的了解,所以本文中对mina和SSL的原理,不做详细的介绍。 TSL/SSL双向认证连接:Server端和Client端通信,需要进行授权和身份的验证,即Client只能接受Server的消息,Server只能接受Client的消息。这样就可以在客户机和服务器之间通过TCP/IP协议安全地传输数据。 在mina中实现TSL/SSL双向认证连接,本人目前所知有三种方式: 1.Server端和Client端各自拥有自签名的私有密钥证书,重写的 javax.net.ssl.X509TrustManager接口中的三个方法实现Server端和Client端信认 ...
从9.04升级到9.10后,不知怎么的,flash没有声音了,前前后后共花60小时左右在网上找呀找呀找资料,试了N多办法均没效,今天终于找到解决办法,写下来做个留念 修改/etc/default/pulseaudio将PULSEAUDIO_SYSTEM_START=0改为PULSEAUDIO_SYSTEM_START=1,重启,Flash播放终于出声了。 sudo alsa force-reload sudo apt-get remove --purge sl-modem-daemon
Global site tag (gtag.js) - Google Analytics