自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

泊川

技术的道路要不断的学习进步,并保持兴趣

  • 博客(127)
  • 资源 (4)
  • 收藏
  • 关注

原创 Java中利用位与和位或进行函数参数优化的技巧

如果你留意过JDK中正则表达式处理的源码就会发现其实在java.util.regex.Pattern中就使用了这个技巧,这样我们在初始化java.util.regex.Pattern对象时就可以这么写:Pattern pattern=Pattern.compile("\\w",Pattern.CASE_INSENSITIVE|Pattern.COMMENTS|Pattern.MULTILINE);

2016-05-17 17:24:11 825

原创 DBCP连接池泄露问题

线上使用DBCP时,因为网络闪断、数据库重启、授权错误,在获取连接出现异常时,就可能导致连接数持续增多,配置以下参数可以进行补救:datasource.removeAbandoned=truedatasource.removeAbandonedTimeout=120datasource.logAbandoned=true datasource.removeA

2016-04-20 16:16:00 7201

原创 Mysql联合索引实测分析

对于为什么要使用联合索引,最重要的几点如下:1.在mysql查询中一次简单查询仅能使用一个索引,索引过多,会影响INSERT及UPDATE性能,简单说就是会影响数据写入性能。因为更新数据的同时,也要同时更新索引。但是索引列越多,通过索引筛选出的数据越少。有1000W条数据的表,有如下sql:select * from table where a = 1 and b =2 and c = 3,假

2016-03-18 10:37:26 816

转载 使用 Nginx 构建一个“高”可用的 PHP 集群

跳过没必要的介绍,直接进入主题。目前建立一个高可用集群的方案不少,可以使用硬件或软件 LVS 类构建,现在我说的方案是只用 Nginx 来进行构建。  这个集群的架构如下图:  上面我们共部署了5个节点,每个节点上配有 Nginx + PHP。这个架构的重点就在于,Nginx 不只是与本机的 PHP 通信,整个集群应该把 Nginx 部分抽象到面向业务的第一层,而 PHP

2016-03-15 09:35:09 3106

转载 JVM内幕:Java虚拟机详解

这篇文章解释了Java 虚拟机(JVM)的内部架构。下图显示了遵守 Java SE 7 规范的典型的 JVM 核心内部组件。 上图显示的组件分两个章节解释。第一章讨论针对每个线程创建的组件,第二章节讨论了线程无关组件。线程JVM 系统线程每个线程相关的程序计数器栈本地栈栈限制栈帧局部变量数组操作数栈动态链接线程共享堆内存管理非堆内存即时编译方

2016-03-15 08:49:56 517

转载 Mybatis拦截器Plugin源代码分析

package org.apache.ibatis.plugin;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;import java.util.HashMap;import java.util.HashSet;impo

2016-03-10 08:50:02 592

原创 Java发送内嵌图片的邮件

使用Java发送邮件时,既需要发送html文档又需要在邮件中内嵌图片(非附件形式),这里封装了一个类使用JavaMail组织的邮件发送,支持多张图片发送,并指定图片位置。注意img标签src要如下写"其中abcd对应mageMailDto#imageCid,可以自行定义,不要出现重复。发送方法,注意替换几个邮件参数,如host、user、password /** * 发送内嵌图片

2016-03-02 18:22:49 5875

原创 JAXB将JAVA对象转换为XML时CDATA的问题

对Java对象转换为xml字符串时,如果有特殊字符如<>必须要是用<![CDATA[]]>来声明。我先尝试了使用XStream解决这个问题也有使用MOXy CDATA注解解决,最后发现,都存在一定的缺陷,甚至不能正常的实现该功能。最终解决方案有两个,都可以解决这个问题,但是第一个方案由于引用了sun的专有API,在编译时会存在警告,使用了内部的API并不是值得推荐的。但是这里也贴出来,供大家参考。

2016-02-16 16:43:11 6418 2

原创 log4j2获取JVM启动参数

在log4j1.x版本如果想获取如下的JVM启动参数Dlog.path.prefix=/export/home/tomcat/logs/waybill1.etms/waybill1.etms.360buy.com -Ddeploy.project.id=2856 -Ddeploy.app.id=370 -Ddeploy.app.name=myApp其中log.path.pref

2016-01-20 09:41:41 8920

原创 关于Hessian的入门知识和性能测试指标

Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。如果是基于JAVA 到JAVA的调用,服务端提供JAR包后,客户端可以使用JAVA方便的调用,即使是自定义类,非常的方便。hessian支持的语言:Jav

2015-12-16 09:07:34 2445

转载 服务治理过程演进

在大规模服务化之前,应用可能只是通过RMI或Hessian等工具,简单的暴露和引用远程服务,通过配置服务的URL地址进行调用,通过F5等硬件进行负载均衡。(1) 当服务越来越多时,服务URL配置管理变得非常困难,F5硬件负载均衡器的单点压力也越来越大。此时需要一个服务注册中心,动态的注册和发现服务,使服务的位置透明。并通过在消费方获取服务提供方地址列表,实现软负载均衡和Fa

2015-12-15 10:12:20 450

原创 springmvc中执行异步任务

在springmvc中如果通过http请求触发的一个耗时任务,想使用异步执行的方式,使用传统的new Thread是无法实现的。会话超时或者返回后,异步的线程也会消亡。支持的版本是2.0.3以后,3.2后基于servlet3.0可通过可通过返回 Callable 来完成异步处理。package controller;import domain.Response;imp

2015-09-07 10:11:23 2268

原创 Log4j配置为何失效

昨天上线折腾了半天,发现日志始终不能正确打印到指定文件,反而Tomcat的catalina.out打印了业务日志,仔细检查线上log4j配置,未发现任何问题,console日志输入并没有打开。于是迅速使用上次上线包进行替换重新发布,发现问题解决。考虑到本次上线新依赖了其他系统的jar包,检查该jar后发现,jar包中包含了Log4j.xml!!log4j为何选择了jar中的log4j.

2015-08-14 09:31:15 7931 1

原创 gitignore不起作用解决办法

git rm -r --cached .git add .git commit -m 'update .gitignore'

2015-07-14 14:50:50 487

原创 List进行remove和add操作时缘何会报UnsupportedOperationException

看段简单的代码:String[] arry={"abc","eee","fff"};List list= Arrays.asList(arry);list.add("eeef");运行结果:Exception in thread "main" java.lang.UnsupportedOperationException at java.util.AbstractList.add

2015-05-22 10:45:03 738

转载 神经网络的通俗解释

人工神经网络算法的作用机理还是比较难理解,现在以一个例子来说明其原理。这个例子是关于人的识别技术的,在门禁系统,逃犯识别,各种验证码破译,银行预留印鉴签名比对,机器人设计等领域都有比较好的应用前景,当然也可以用来做客户数据的挖掘工作,比如建立一个能筛选满足某种要求的客户群的模型。    机器识别人和我们人类识别人的机理大体相似,看到一个人也就是识别对象以后,我们首先提取其关键的外部特征比如身高

2015-03-04 11:44:46 2142

原创 在input元素上用非绑定的方式监听回车事件并传递参数

场景是动态生成html元素,为生成的input添加事件。要求有两点:非绑定的方式并且需要传递参数 ;参数为方法名称,回调该方法并将input的值作为参数。参考实现如下:input写法 tmp.push('');其中 userFunction为要调用的方法名称(方法名字符串)javascript写法function _callBack(fuc){ var myIn

2015-02-03 15:31:19 1560

原创 Jackson转换泛型List出现错误java.util.LinkedHashMap cannot be cast to com.xxx

使用stackoverflow上的代码描述这个问题: ObjectMapper mapper = new ObjectMapper(); List list = new ArrayList(); try { list = mapper.readValue(con.getInputStream(), ArrayList.class); } ca

2015-01-12 16:13:04 46292 2

原创 一个很稳定的服务框架Dubbo

简单介绍,不做深刻技术分析。Dubbo是阿里开源的一个项目,有幸听过梁飞现场的介绍,目前该框架广泛应用于我所在公司,经过多次大型活动的考验,事实证明Dubbo是一个确实很优秀的框架,当然我们对它也有所改造。目前为止,Dubbo已经不再更新。我简单介绍一下它的使用场景。首先Dubbo适用于高负载,高并发的场景,诞生在阿里的服务框架, 设计目标是什么,你懂的。当然不是说有几台十几台

2014-11-15 16:43:28 1749

原创 windows开发平台下本地项目如何使用git管理

最简单的方法介绍在window开发平台下,本地项目如何使用git进行管理

2014-08-01 15:32:21 1072

原创 如何给ExecutorService异步计算设置超时

ExecutorService接口使用submit方法会返回一个Future对象,Future表示异步计算的结果。它提供了检查计算是否完成的方法,以等待计算的完成,并获取计算的结果。计算完成后只能使用get方法来获取结果,如有必要,计算完成前可以阻塞此方法。取消则由cancel方法来执行。还提供了其他方法,以确定任务是正常完成还是被取消了。一旦计算完成,就不能再取消计算。如果为了可取消性而使用Fu

2014-07-01 19:35:03 4811

原创 一段代码说明javascript闭包运行机制

如果你能理解下面代码的运行结果,应该就算理解闭包的运行机制了。 var name = "tom"; var myobj = { name: "jackson", getName: function () { return function () { return this.name;

2014-07-01 19:32:37 1093

原创 javascript的prototype经典使用场景

prototype的经典使用场景就是为对象增加属性和方法,如给自定义的Man对象增加个姓名属性和语言方法: function man() { this.age = "22"; } var tom = new man(); man.prototype.name = "tom"; man.prototype.say = function () {

2014-07-01 19:31:07 1730

原创 Javascript-自定义对象转换成JSon后如何再转换回自定义对象

man是自定义的对象,使用var tim = JSON.stringify(man); var newman=JSON.parse(tim)后newman的类型是“object”并不是一个Man,怎么才能变回一个Man呢?function Man() { this._type = "man"; this.name=""; this.run = function () {

2014-07-01 19:28:35 1271

原创 MyBatis异常java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for

1.表现:    异常表现,数据插入操作执行失败,无语法错误,配置文件检查正常2.异常详细信息:[ERROR][2014-03-26 16:02:52.490]nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error updating database. Cause:

2014-07-01 19:26:51 19377

原创 sqlite-5分钟入门手册

它的特点是:极小、数据库、性能不错。适合场景:小型应用软件,解决存文件的不便

2014-07-01 19:25:43 936

原创 intellij idea 生成JavaDoc乱码问题处理

在Other command line arguments 中填写:-encoding utf-8 -charset utf-8如图:

2014-07-01 19:25:13 4808 1

原创 JAVA开发的网页式看图软件

现在大家都忙着大数据,中间件,web开发,偶尔看看Swing的作品,或许能有另一番感觉。而且......用来看妹子不错!

2014-06-21 12:41:14 1395 2

原创 Spring3.1中使用profile配置开发测试线上环境

如果在开发时进行一些数据库测试,希望链接到一个测试的数据库,以避免对开发数据库的影响。开发时的某些配置比如log4j日志的级别,和生产环境又有所区别。各种此类的需求,让我希望有一个简单的切换开发环境的好办法,曾经在ROR的时候就很喜欢舒服。现在spring3.1也给我们带来了profile,可以方便快速的切换环境。配置环境使用也是非的方便。只要在applicationConte

2014-06-17 14:51:02 1476

原创 Spring无配置使用properties文件

利用@PropertySource注解加载@Configuration@ComponentScan(basePackages="*")@PropertySource({"classpath:config.properties"})//@Import(DataSourceConfig.class)public class DefaultAppConfig { @Be

2014-06-17 14:50:58 712

原创 理解RESTful架构

越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系统之间的通信。互联网的兴起,使得这两个领域开始融合,现在我们必须考虑,

2014-06-17 14:50:54 468

原创 ORACLE解锁record is locked by another user

在操作ORACLE数据库的时候,由于执行完,没有COMMIT,直接把PL/SQL关闭掉,后来导致那张表被锁住,当编辑时就会出现这个信息,record is locked by another user! 当出现这种情况的时候,只要操作下面几个步骤就可以解锁了。 1、查看锁 select t2.username,t2.sid,t2.serial#,t2.logon_time from v$l

2014-06-17 14:50:50 554

翻译 分布式网站架构后续:zookeeper技术浅析

Zookeeper是hadoop的一个子项目,虽然源自hadoop,但是我发现zookeeper脱离hadoop的范畴开发分布式框架的运用 越来越多。今天我想谈谈zookeeper,本文不谈如何使用zookeeper,而是zookeeper到底有哪些实际的运用,哪些类型的应用能发挥 zookeeper的优势,最后谈谈zookeeper对分布式网站架构能产生怎样的作用。  Zookeeper是针

2014-06-17 14:50:45 529

原创 MySQL集群的可行方案

如果单MySQL的优化始终还是顶不住压力时,这个时候我们就必须考虑MySQL的高可用架构(很多同学也爱说成是MySQL集群)了,目前可行的方案有:一、MySQL Cluster优势:可用性非常高,性能非常好。每份数据至少可在不同主机存一份拷贝,且冗余数据拷贝实时同步。但它的维护非常复杂,存在部分Bug,目前还不适合比较核心的线上系统,所以这个我不推荐。二、DRBD磁盘网络镜像方案优势:软件

2014-06-17 14:50:41 454

原创 Maven 安装Jar包到本地仓库

开始cmd:例1:mvn install:install-file -DgroupId=Issues -DartifactId=beautyeye -Dversion=3.5 -Dpackaging=jar -Dfile=D:\download\beautyeye_lnf_v3.5_all_in_one\src_all\SwingSets2_for_be_lnf\lib\beautye

2014-06-17 14:50:37 1601

原创 JProfiler 使用说明

一个全功能的 Java 剖析工具( profiler ),专用于分析 J2SE 和 J2EE 应用程序。它把 CPU 、执行绪和内存的剖析组合在一个强大的 应用中。 JProfiler 可提供许多 IDE 整合和应用服务器整合用途。 JProfiler 直觉式的 GUI 让你可以找到效能瓶颈、抓出内存漏失 (memory leaks) 、并解决执行绪的问题。它让你得以对 heap walker 作

2014-06-17 14:50:33 1643

原创 【J2EE性能分析篇】JVM参数对J2EE性能优化的影响

一切J2EE应用都是基于JVM的,那么对于JVM的设置和监控,成为J2EE应用程序性能分析和性能优化的必然手段。今天Sincky和大家交流该话题。这里以Tomcat环境为例,其它WEB服务器如Jboss、Weblogic、Websphere完全一致。【认识JVM】 首先我们来看一张图,这是目前JDK1.6版本自带的JVM性能监控工具VisualVM的一个插件VisualGC的显示情况。让我

2014-06-17 14:50:29 444

转载 C语言字节对齐 内存管理

用C语言写程序时需要知道是大端模式还是小端模式。          所谓的大端模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;所谓的小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。          为什么会有大小端模式之分呢?这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8bit。但

2014-06-17 14:50:24 770

原创 MYSQL自动备份策略的选择

目前流行几种备份方式:1、逻辑备份:使用mysql自带的mysqldump工具进行备份。备份成sql文件形式。优点:最大好处是能够与正在运行的mysql自动协同工作,在运行期间可以确保备份是当时的点,它会自动将对应操作的表锁定,不允许其他用户修改(只能访问)。可能会阻止修改操作。sql文件通用方便移植。缺点:备份的速度比较慢。如果是数据量很多的时候。就很耗时间。如果数据库服务器处在提供给用户服务状

2014-06-17 14:50:20 596

原创 This system is not registered with RHN

root@localhost ipvsadm-1.25]# yum install gccLoading "security" pluginLoading "rhnplugin" pluginThis system is not registered with RHN.RHN support will be disabled.Setting up Install ProcessParsing pa

2014-06-17 14:50:16 478

文件加密解密工具

JAVA实现的文件加密解密功能,只需要将JAR放到需要加密的文件夹里运行,就可以将该文件夹下所有文件加密。 经测试在普通PC上加密速度约为1Gb/20s,解密速度为1Gb/12s。

2016-02-24

mana2.0看图一个网页看图方式的看图软件

一个使用Java语言实现的看图软件,该软件的独特之处是可以将图片管理起来,并提供网页看图的浏览模式。 2.0修复了已经存在的bug,优化了加载方式和速度。

2016-02-18

mana看图一个网页看图方式的看图软件

一个使用Java语言实现的看图软件,该软件的独特之处是可以将图片管理起来,并提供网页看图的浏览模式。

2016-02-18

mana看图,一个网页看图方式的看图软件

一个使用Java语言实现的看图软件,该软件的独特之处是可以将图片管理起来,并提供网页看图的浏览模式。

2014-06-21

空空如也

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

TA关注的人

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