自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 资源 (1)
  • 收藏
  • 关注

转载 为什么不建议3G以下的情况下使用CMS GC

之前曾经有讲过在heap size<=3G的情况下完全不要考虑CMS GC,在heap size>3G的情况下也优先选择ParallelOldGC,而不是CMS GC,只有在暂停时间无法接受的情况下才考虑CMS GC(不过当然,一般来说在heap size>8G后基本上都得选择CMS GC,否则那暂停时间是相当吓人的,除非是完全不在乎响应时间的应用),这其实也是官方的建议(每年J...

2020-03-29 09:14:56 458

原创 Mac OS X安装libevent库报Install libevent bufferevent_openssl.c:60:10: fatal error: 'openssl/bio.h' file

编译 libevent(源文件在/Users/carl/Downloads/libevent-2.1.8-stable),执行make命令是,报Install libevent bufferevent_openssl.c:60:10: fatal error: 'openssl/bio.h' file第一反应,感觉是不是 openssl版本太低了。1. 查看openss

2017-08-27 19:45:52 5565

原创 awk使用shell变量及shell使用awk中的变量

在写shell脚本时,经常会使用到awk程序。但是有些复杂的逻辑,可能需要在awk中使用在shell中定义的变量,而且awk程序处理之后,产生的中间变量,还需要在shell中继续处理。一、那如何在awk中使用在shell中定义的变量呢?方法一:使用"'把shell变量包起来,即"'$var'";注意是“双引号+单引号+shell变量+单引号+双引号”的格式。这种写法大家无需改变

2017-06-04 18:03:14 61933 8

原创 linux下如何使用自己安装的SunJDK替换默认的OpenJDK

在linux系统中,由于涉及到版权问题,在大部分linux系统的发行版本中,默认都安装了OpenJDK,并且OpenJDK的java命令也已经加入到环境变量中了。在刚装好的linux系统中,运行java -version,输出如下(根据JDK版本不同,输出的版本可能不同):java version "1.7.0_131"OpenJDK Runtime Environment (rh

2017-05-14 19:11:26 10269 9

原创 游标循环体中使用select into赋值可能导致提前退出

Mysql存储过程的游标循环体中使用“select  【某个字段】into 【某个变量】 from 【某个表】”语句进行 赋值, 如果 select 出来没有记录,则会导致游标提前退出(即使游标没有遍历完也会退出)。

2016-05-01 21:38:48 4944 1

原创 批量插入记录,遇到重复记录则为自动更新

在插入大量数据时可能同时遇到两个问题:如果每条更新执行一次sql性能很低,也容易造成阻塞;批量插入时又有可能遇到主键 或者 唯一索引重复的问题,导致整个批量插入失败使用 ON DUPLICATE KEY UPDATE 一条sql解决批量插入和主键或者唯一索引重复问题举例如下:表结构如下:create table mytable(

2016-01-22 10:50:12 10975

转载 轻松理解吞吐量与延迟,信号量与互斥锁

我们知道,计算机中有很多概念并不容易理解,有些时候一个好的比喻能胜过很多句解释。下面两个是我看到的两个很精彩的比喻,拿出来和大家分享一下。吞吐量和延迟第一比喻是关于吞吐量(throughput)和延迟(latency)的。如果你要搞网络性能优化,这两个概念是你必须要知道的,它们看似简单实则不是。我相信包括我在内的很多人都曾经认为大的吞吐量就意味着低延迟,高延迟就意味着吞吐量变小。下

2015-10-14 12:14:37 945

转载 Base64编码原理

所谓Base64,就是说选出64个字符----小写字母a-z、大写字母A-Z、数字0-9、符号"+"、"/"(再加上作为垫字的"=",实际上是65个字符)----作为一个基本字符集。然后,其他所有符号都转换成这个字符集中的字符。具体来说,转换方式可以分为四步。第一步,将每三个字节作为一组,一共是24个二进制位。第二步,将这24个二进制位分为四组,每个组有6个二进制位

2015-09-25 15:02:11 820

转载 网络字节序和主机字节序

什么是Big Endian和Little Endian?来源:http://blog.ednchina.com/qinyonglyz/194674/message.aspx1.故事的起源“endian”这个词出自《格列佛游记》。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开,由此曾发生过六次叛乱,其中一个皇帝送了命

2015-09-23 18:39:57 774

转载 数字证书原理(转)

文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用。接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理,最后演示使用makecert生成数字证书。如果发现文中有错误的地方,或者有什么地方说得不够清楚,欢迎指出!1、基础知识      这部分内容主要解释一些概念和术语,最好是先

2015-03-13 10:03:29 1179

原创 Spring MVC之LocaleResolver(解析用户区域)

为了让web应用程序支持国际化,必须识别每个用户的首选区域,并根据这个区域显示内容。在Spring MVC应用程序中,用户的区域是通过区域解析器来识别的,它必须实现LocaleResolver接口。Spring MVC提供了几个LocaleResolver实现,让你可以按照不同的条件来解析区域。除此之外,你还可以实现这个接口,创建自己的区域解析器。要定义一个区域解析器,只需在web

2014-04-10 14:49:13 39960 4

原创 spring mvc路径匹配原则

Ant path 匹配原则路径匹配原则(Path Matching) Spring MVC中的路径匹配要比标准的web.xml要灵活的多。默认的策略实现了 org.springframework.util.AntPathMatcher,就像名字提示的那样,路径模式是使用了Apache Ant的样式路径,Apache Ant样式的路径有三种通配符匹配方法(在下面的表格中列出)这些可以

2014-04-09 16:45:51 58527

原创 Eclipse编辑java文件报Unhandled event loop exception错误的解决办法

本人Eclipse版本是”eclipse-jee-kepler-SR2-win32-x86_64“       昨天因为换电脑,所以重装了一下软件,装好eclipse之后eclipse是可以使用的(换电脑之前也一直是用这个版本)。后来又装了其他一些软件,为了工作效率,只有边装软件边coding。后来发现再次在Eclipse中编辑java文件就一直会弹出错误提示框。如图。点开图下面的

2014-04-03 10:30:26 99525 53

转载 Java 序列化的高级认识

引言将 Java 对象序列化为二进制文件的 Java 序列化技术是 Java 系列技术中一个较为重要的技术点,在大部分情况下,开发人员只需要了解被序列化的类需要实现 Serializable 接口,使用 ObjectInputStream 和 ObjectOutputStream 进行对象的读写。然而在有些情况下,光知道这些还远远不够,文章列举了笔者遇到的一些真实情境,它们与 Java 序

2014-03-23 19:01:02 1398

转载 Spring全局事务之WebLogicJtaTransactionManager

全局事务是指在一个事务中涉及到几个事务参入者,这些事务参入者可以是我们常见的数据库操作,消息(MQ)操作等等.如同时进行下面的操作,比如"转账"操作发生在两个数据库:1,从数据库A的的表中将某个帐号的余额减少.2从数据库B的的表中将某个帐号的余额增加.3,提交在数据库A中的操作.4,提交在数据库B中的操作.通常单个数据库只能保证本数据库的事务要么提交要么回滚,当涉及的事务跨数据

2014-03-20 23:17:32 2277

转载 Spring全局事务之JTA+Atomikos

本文简单介绍一下在Spring通过声明管理一个有数据库和ActiveMQ参入的全局事务,事务管理器的实现为Atomikos.全局事务的步骤为1,更新数据库操作.2访问ActiveMQ资源.3,提交在数据库A中的操作.4,提交在ActiveMQ中的操作.上面的所有步骤应该保证要么全部成功,要么全部回滚.下面是实现的步骤:1,配置Spring文件:[ht

2014-03-20 23:15:51 1814

转载 Spring多数据源的配置和使用

最近开发一个数据同步的小功能,需要从A主机的Oracle数据库中把数据同步到B主机的Oracle库中。当然能够用dmp脚本或者SQL脚本是最好,但是对于两边异构的表结构来说,直接导入不可行。然后在需要实时同步的情况下用存储过程也不可行了。写一个数据同步的小程序是个不错的选择。使用框架的封装和连接池是必须的,Spring是首选,这里我们同样需要Spring的多数据源连接配置方式。 其实再进行项目开发

2014-03-20 23:02:44 55258 4

转载 Spring基于ThreadLocal的“资源-事务”线程绑定设计的缘起

题目起的有些拗口了,简单说,这篇文章想要解释Spring为什么会选择使用ThreadLocal将资源和事务绑定到线程上,这背后有着什么样的起因和设计动机,通过分析帮助大家更清晰地认识Spring的线程绑定机制。ThreadLocal不是用来解决对象共享访问问题的,而主要是提供了保持对象的方法和避免参数传递的方便的对象访问方式。归纳了两点:       1。每个线程中都有一个自己的T

2014-03-18 23:16:01 1287

原创 JAVA深复制(深克隆)与浅复制(浅克隆)

1.浅复制与深复制概念⑴浅复制(浅克隆或者影子克隆)被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。⑵深复制(深克隆)被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被

2014-03-18 00:21:20 1144

转载 Java 深度克隆 clone()方法重写 equals()方法的重写

1、为什么要重写clone()方法?答案:Java中的浅度复制是不会把要复制的那个对象的引用对象重新开辟一个新的引用空间,当我们需要深度复制的时候,这个时候我们就要重写clone()方法。2、为什么要重载equal方法?答案:因为Object的equal方法默认是两个对象的引用的比较,意思就是指向同一内存,地址则相等,否则不相等;如果你现在需要利用对象里面的值来判断是否相等

2014-03-17 13:34:39 10943 2

原创 合并两个已经排序的数组为另一个数组

要求算法在最坏的情况下所用的计算时间为O(n), 且只用到O(1)的辅助空间.void MergeArray(int *pArray1, int nLen1, int *pArray2, int nLen2, int *pArray){    int i, j, n;    i = j = n = 0;    while (i // 循环一直进行到拷贝完某一

2014-03-13 23:56:34 1910

原创 在给定的数组中找出两个元素和为给定值的所有元素对

使用hash map:1假设V为给定的值,A为给定的数组。2创建hash map M,M将从数组元素映射到出现次数。3对数组中的元素A[i]:如果 V-A[i] 在M中,打印A[I] 和V-A[I], M[V-A[i]] 次.如果A[i]在M中,增加M[A[i]],否则M[A[i]] = 1.

2014-03-13 23:34:49 1089

转载 如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)

题目描述:如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1)解析:利用计数排序法,设置一大小为65536的int数组,范围a[0]~a[65535],并初始为0,然后遍历n个数,假设这n个数在数组array[0...n-1]中,则i取值从0到n-1同时执行a[array[i]]++,最后再依照顺序读数组a,遇到不为0时,将对应的下标读回数组array,计数是几

2014-03-13 00:18:59 5375 1

转载 集群环境中使用 EhCache 缓存系统

EhCache 缓存系统简介EhCache 是一个纯 Java 的进程内缓存框架,具有快速、精干等特点,是 Hibernate 中默认的 CacheProvider。下图是 EhCache 在应用程序中的位置:图 1. EhCache 应用架构图EhCache 的主要特性有:快速;简单;多种缓存策略;缓存数据有两级:内存和磁盘,因此无需担心容量问题;缓存数据会在虚拟机重

2014-01-04 11:16:57 1128

原创 使用Mybatis3.1.1时J2EE容器启动不起来而且不报错

我们的系统Dao层使用的ORM映射框架是Mybatis3.1.1,在启动J2EE容器(Tomcat)时,服务器一直在启动,查看日志也不报错。日志如下:……2013-11-10 10:36:43,963 [pool-2-thread-1] INFO com.mchange.v2.log.MLog - MLog clients using log4j logging.2013-

2013-11-10 11:41:01 5911 2

原创 常用WebService一览表

天气预报Web服务,数据来源于中国气象局Endpoint :http://www.webxml.com.cn/WebServices/WeatherWebService.asmxDisco       :http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?discoWSDL      :http://www.webxm

2013-05-07 15:05:07 1041

转载 关于 shell 脚本编程的10 个最佳实践

每一个在UNIX/Linux上工作的程序员可能都擅长shell脚本编程。但大家解决问题的方式却不尽相同,这要取决于对专业知识的掌握程度、使用命令的种类、看待问题的方式等等。对于那些处在shell脚本编程初级阶段的程序员来说,遵循一些恰当的做法可以帮助你更快、更好的学习这些编程技巧。下面,我们就来讨论这些能帮助你学习shell脚本编程的方法吧。1、多动手 你想学习shell脚本编

2013-04-24 11:05:54 829

转载 IO - 同步,异步,阻塞,非阻塞

同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronous IO和non-blocking IO是一个东西。这其实是因为不同的人的知识背景不同,并且在讨论这个问题的时候上下文(context)也不

2013-04-17 18:13:45 930

原创 Ubuntu12.10登陆时一闪而过总回到登陆界面

使用非root用Ubuntu12.10上装了jdk,配了下环境变量在/etc/profile文件中。在配置的时候提示只读文件,不能写。然后chmod此文件给当前用户分配写权限。在profile文件最后加入了JAVA_HOME=/home/liujicheng/java/jdk1.6.0_12export JRE_HOME=/home/liujicheng/java/jdk1

2012-12-06 23:50:51 4815 3

原创 IP别名及其应用

Linux下配置网卡ip别名何谓ip别名(ip alias)?用windows的话说,就是为一个网卡配置多个ip。什么场合增加ip别名能派上用场?布网需要、多ip访问测试、特定软件对多ip的需要...and so on.下面通过几个例子简单介绍一下如何使用ifconfig命令给网卡配置ip别名。环境:新购买的服务器,刚装好RedHat AS4操作系统,只有一个网卡并

2012-12-01 18:55:51 9444 1

原创 Linux下运行java DES解密失败,报javax.crypto.BadPaddingException:Given final block not properly padded

DES java源代码如下:import java.security.InvalidKeyException;import java.security.NoSuchAlgorithmException;import java.security.SecureRandom;import java.security.spec.InvalidKeySpecException;imp

2012-11-18 14:04:05 97490 17

转载 Linux主分区,扩展分区,逻辑分区的联系和区别

在安装CentOS5.3的过程中,会遇到磁盘分区的界面,下拉式菜单中有4个选项,这时你不要选择默认,打开下拉式菜单,选择最后一项(翻译成中文意思是:建立自定义的分割模式)。然后选择右下角的确认,在下一个对话界面里依序建立/、/home 及 swap ,完成后如图。确认设置后的分割区。 为强调重点,把图中重要内容,再写一遍。/             根目录

2012-11-18 09:52:47 5523

原创 JAVA读取属性文件的几种方法

1.使用java.util.Properties类的load()方法      示例: Java代码 InputStream in = lnew BufferedInputStream(new FileInputStream(name));      Properties p = new Properties();      p.load(in);      2

2012-09-11 23:58:07 1387

转载 路由器端口映射帮助文档

什么是端口映射?端口映射又称端口转发。端口映射过程就如同你家在一个小区里B栋2410室,你朋友来找你,找到小区门口,不知道你住哪层哪号?就问守门的保安,保安很客气的告诉了他你家详细门牌号,这样你朋友很轻松的找到了你家。这个过程就是外网访问内网通过端口映射的形象说法。为什么要做端口映射?目前的网络接入主要有2种:1.ADSL连接猫再直接连接主机,这种情况主机是直接进行ADSL

2012-09-06 18:14:44 2462

转载 Oracle 归档日志

Oracle可以将联机日志文件保存到多个不同的位置,将联机日志转换为归档日志的过程称之为归档。相应的日志被称为归档日志。 一、归档日志    是联机重做日志组文件的一个副本    包含redo记录以及一个唯一的log sequence number    对日志组中的一个日志文件进行归档,如果该组其中一个损坏,则另一个可用的日志将会被归档    对于归档模式的日志切换,当日

2012-08-24 23:13:01 1460

原创 几大排序算法舞蹈

找到完整版的排序算法舞蹈了,一起感受程序员的艺术吧。果断收藏! http://dapenti.com/blog/more.asp?name=xilei&id=65524有 冒泡排序、希尔排序、选择排序、插入排序、快速排序、归并排序找到完整版的排序算法舞蹈了,一起感受程序员的艺术吧。冒泡排序:http://t.cn/hrf58M希尔排序:http://

2012-08-20 10:10:09 1433 1

转载 Oracle中关于查看角色与角色间权限的差异的SQL语句

1.查看当前用户所拥有的系统权限 02 select* from session_privs; 03 2.查看数据库内的所有角色04 selec * from dba_roles; 05 3.查看数据库所支持的最大角色数

2012-07-21 20:31:48 975

原创 android问题解决:Your project contains errors,please fix them before running your application

今天中午一打开eclipse要准备学习android,原来的项目突然全带有红色叉叉了。但是其中的项目的文件却没有错误,匪夷所思!  然后我再运行一下吧~提示如下错误:到底是什么原因呢?然后我去百度一下:网友们针对这个问题给出了多种解决方法:1、有可能是无法读取r.class,删除R.java文件,刷新2、clean整个项目,重新再编译一下。以上方式我都试过了

2012-06-28 00:03:39 1933

转载 nginx 的proxy_pass 基本设置问题

曾在网上看到一些问题,比如 nginx 的proxy_pass后面的地址加“/”与不加“/”有区别。   参看nginx英文文档后,发现:If it is necessary to transmit URI in the unprocessed form then directive proxy_pass should be used without URI part:locati

2012-05-16 23:40:31 1917

原创 Spring Junit 读取WEB-INF下的配置文件

假设Spring配置文件为applicationContext.xml一、Spring配置文件在类路径下面在Spring的java应用程序中,一般我们的Spring的配置文件都是放在放在类路径下面(也即编译后会进入到classes目录下)。以下是我的项目,因为是用maven管理的,所以配置文件都放在“src/main/resources”目录下这时候,在

2012-05-09 13:04:16 47537 6

jar转换成exe文件

把编译之后的jar包,转换成exe文件。资源中介绍了几种通用的方法。

2013-07-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除