自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(279)
  • 收藏
  • 关注

原创 分布式系统思考

分布式系统一般会碰到两个问题。 一是多个服务处于一个事务中时,某一个服务挂掉后的处理。 比如订单预处理时,需要调用扣减库存服务和扣减税金服务。当扣减库存成功后,调用扣减税金服务失败时, 如果直接终止订单预处理就会导致订单已经被扣减库存,但还是初始化状态。一般在终止订单预处理,需要调用返还库存的服务,如果调用返还服务时失败,可以记入事件等待补偿任务去处理。 另外一种...

2018-06-27 15:14:24 201

原创 JAVA内存分析

jmap -heap pid : 查看堆的使用状况信息 

2017-09-30 18:42:48 196

原创 mysql锁分析

select * from INNODB_TRX;select * from innodb_locks;select * from innodb_lock_waits; select r.trx_id waiting_trx_id,r.trx_mysql_thread_Id waiting_thread,r.trx_query waiting_query,b.trx_id blo...

2017-07-22 09:49:08 210

原创 maven 发布jar包

mvn deploy:deploy-file -DgroupId=com.xy.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpackaging=jar -Dfile=E:\ojdbc14.jar -Durl=http://localhost:9090/nexus-2.2-01/content/repositories/thirdparty/...

2016-02-16 17:56:50 142

原创 java dump线程日志

JVM 自带的工具获取线程堆栈:JDK自带命令行工具获取PID并做ThreadDump:1.         jps2.         jstack <pid> 

2016-02-15 10:52:45 915

原创 jqgrid去掉分页

 设置jqgrid的属性rowNum:-1

2015-12-15 11:17:00 4795

原创 jqgrid获取选择行的值

var params = $("#grid_1").jqGrid('getGridParam', 'selarrrow');        if (!params || params.length == 0) {            alert('请选择');            return;        } var ids = $("#grid_1").jqGrid...

2015-12-14 20:56:30 479

原创 jqgrid中的 editcell获取值

当需要在表格中输入数据时,就可以将单元格设置为可编辑的。将单元格设置为可编辑的{name: 'quantity', editable:true,editrules:{number:true}}设置grid的下列属性:        cellEdit: true,    cellsubmit: 'clientArray',但是获取值时,会发现最后一个输入框的值获取不到,为h...

2015-12-14 20:51:34 1694

原创 MySQL创建用户与授权

一, 创建用户:       命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password';       说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 该用户的登陆密码...

2015-12-08 19:19:03 82

原创 Linux 安装nginx

1.下载文件2.将文件放在/usr/local/nginx下3.解压 tar zxvf4.安装yum -y install pcre-develyum -y install openssl openssl-devel ./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.co...

2015-11-13 17:10:29 77

原创 多选下拉框

1.下载地址https://github.com/davidstutz/bootstrap-multiselect2.文档地址:http://davidstutz.github.io/bootstrap-multiselect/#known-issues3.使用方法如下:  <!-- Build your select: --><select ...

2015-07-22 17:46:27 89

原创 mysql数据类型

1、整型MySQL数据类型含义(有符号)tinyint(m)1个字节  范围(-128~127)smallint(m)2个字节  范围(-32768~32767)mediumint(m)3个字节  范围(-8388608~8388607)int(m)4个字节  范围(-2147483648~2147483647)bigint(m...

2015-06-13 15:49:44 72

原创 editor上传图片

<script type="text/plain" id="upload_ue"></script><script type="text/javascript">//重新实例化一个编辑器,防止在上面的editor编辑器中显示上传的图片或者文件var _editor = UE.getEditor('upload_ue'); _edito..

2015-06-12 14:31:12 436

原创 echarts使用

<!DOCTYPE html><head> <meta charset="utf-8"> <title>ECharts</title></head><body> <div id="main" style=

2015-06-11 18:07:24 104

原创 spring 拦截器

1.拦截器配置 <mvc:interceptors > <mvc:interceptor> <mvc:mapping path="/user/**" /> <bean class="com.xxx.interceptor.UserInterceptor"></bean>

2015-05-05 16:07:06 86

原创 solr多核心配置

1.将solr-4.10.3\example\multicore下的所有文件copy到solr home。如之前配置的e:solr2.修改solr.xml <cores adminPath="/admin/cores" host="${host:}" defaultCoreName="core0" hostPort="${port:8090}" hostContext="${h...

2015-02-05 15:44:11 171

原创 solr分词器安装

1.下载IK Analyzer 2012FF_hf1.zip2.将 IKAnalyzer2012FF_u1.jar拷贝到目录"$TOMCAT_HOME \webapps\solr\WEB-INF\lib"中3.将IKAnalyzer.cfg.xml、stopword.dic拷贝到目录$TOMCAT_HOME \webapps\solr\WEB-INF\classes目录下,没有则新建cl...

2015-02-05 14:59:43 104

原创 solr安装

1.下载并解压solr2.将solr-4.10.3\dist\ solr-4.10.3\.war复制到Tomcat webapp/目录下,最好重命名为solr.war3.启动Tomcat,会报错,这步只是为了将solr-4.9.0.war解压,所以手动解压放在webapp目录下面也是可行的。4.打开webapps\solr\WEB-INF\web.xml <!--&lt...

2015-02-05 14:44:02 87

原创 用 ThreadLocal 管理用户session

很多项目中需要在代码中使用当前登录用户的信息,但是又不方便把保存用户信息的session对象传来传去,这种情况下,就可以考虑使用 ThreadLocal。 ThreadLocal是一个依附于本地线程的变量,按照我的理解,每次对服务器请求,都会使用到一个线程,ThreadLocal的作用就是在这个线程的使用过程中只为这个线程所用。 说说具体如何管理用户session。 现在...

2014-11-10 15:47:28 1006

原创 JAVA并发控制的几种办法

假如有十张票,现在需要三个窗口(线程)卖,代码如下:  package com.test.runnable;class MyThread implements Runnable { private int ticket = 10; public void run() { while (ticket > 0) { System.out.printl...

2014-08-25 16:43:09 834

synchronized

synchronized 关键字的作用一个词概括就是:线程同步。它可以将将对象或者Class加锁,用来防止两个线程同时访问一个数据。 看如下代码: package com.test.runnable;public class DoSomething implements Runnable{ private String name; public DoSom...

2014-08-21 16:58:27 74

原创 非阻塞同步机制与CAS操作

 锁的劣势    Java在JDK1.5之前都是靠synchronized关键字保证同步的,这种通过使用一致的锁定协议来协调对共享状态的访问,可以确保无论哪个线程 持有守护变量的锁,都采用独占的方式来访问这些变量,如果出现多个线程同时访问锁,那第一些线线程将被挂起,当线程恢复执行时,必须等待其它线程执行完他 们的时间片以后才能被调度执行,在挂起和恢复执行过程中存在着很大的开销。锁还存在着...

2014-07-29 16:07:54 109

原创 数据库的拆分

http://blog.csdn.net/bluishglc/article/details/6161475 本文着重介绍sharding的基本思想和理论上的切分策略,关于更加细致的实施策略和参考事例请参考我的另一篇博文:数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示  一、基本思想      Sharding的基本思想就要把一个数据库切分成多个部分放...

2014-07-24 17:07:58 71

原创 数据库事务隔离级别

转自:http://singo107.iteye.com/blog/1175084数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。 √: 可能出现    ×: 不会出现 脏读不可重复读幻读...

2014-07-24 16:09:03 60

原创 一致性哈希算法详解

onsistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees中被提出,目前在 cache 系统中应用越来越广泛;1 基本场景比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 object 的 ...

2014-04-25 14:44:33 78

原创 一致性哈希算法及其在分布式系统中的应用

摘要本文将会从实际应用场景出发,介绍一致性哈希算法(Consistent Hashing)及其在分布式系统中的应用。首先本文会描述一个在日常开发中经常会遇到的问题场景,借此介绍一致性哈希算法以及这个算法如何解决此问题;接下来会对这个算法进行相对详细的描述,并讨论一些如虚拟节点等与此算法应用相关的话题。分布式缓存问题假设我们有一个网站,最近发现随着流量增加,服务器压力越来越大,之前直接...

2014-04-25 14:36:18 59

原创 线程简介(转)

一、线程概述线程是程序运行的基本执行单元。当操作系统(不包括单线程的操作系统,如微软早期的DOS)在执行一个程序时,会在系统中建立一个进程,而在这个进程中,必须至少建立一个线程(这个线程被称为主线程)来作为这个程序运行的入口点。因此,在操作系统中运行的任何程序都至少有一个主线程。进程和线程是现代操作系统中两个必不可少的运行模型。在操作系统中可以有多个进程,这些进程包括系统进程(由操作系统...

2014-04-21 12:06:04 63

原创 什么是线程,如何创建线程

如果你学习过操作系统,那么一定对进程的概念非常熟悉,其实,几乎每种操作系统都支持进程——进程就是在某种程度上相互隔离的、独立运行的程序。进程的引入大大提高了任务并发执行的效率,但是,进程也因为耗费资源太大等缺陷限制了它在并行处理方面的发展。不过线程的引入改变了这一状况,线程也称做轻量级进程。就像进程一样,线程在程序中是独立的、并发的执行路径,每个线程有它自己的堆栈、自己的程序计数器和自己的局部变...

2014-04-21 12:03:11 267

原创 线程池有助于实现最佳资源利用率

为什么要用线程池?诸如 Web 服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务器应用程序都面向处理来自某些远程来源的大量短小的任务。请求以某种方式到达服务器,这种方式可能是通过网络协议(例如 HTTP、FTP 或 POP)、通过 JMS 队列或者可能通过轮询数据库。不管请求如何到达,服务器应用程序中经常出现的情况是:单个任务处理的时间很短而请求的数目却是巨大的。 构建服...

2014-04-21 10:01:29 694

原创 用nexus搭建自己的maven远程仓库。

1.下载并安装nexus,由于是war,此步比较简单。 2.用默认密码admin/admin123登录。 配置central Repositories --central  配置group repository   配置用户名密码 在Security-->Users中配置,在deployment用户上点击右键,选择Set ...

2014-03-28 09:30:02 219

原创 sonar客户端Sonar Runner配置

1.下载Sonar Runnerhttp://www.sonarqube.org/downloads/ 2.解压到对应目录,如我的是D:\Program Files 3.配置环境变量 SONAR_RUNNER_HOME = D:\Program Files\sonar-runner-2.3 在Path下添%SONAR_RUNNER_HOME%/bin ...

2014-03-28 09:29:32 357

原创 新建 struts、spring和mybatis的工程的mavensetting文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_...

2014-03-27 12:02:44 79

原创 在eclipse中新建maven工程

 注:本文是以ecclipse 4.3 为基础,低版本的eclipse不能这样设置,请参考网上其他文章 1.eclipse安装maven插件 2.配置maven的setting.xml文件,放在对应目录下,如C:\Users\Administrator\.m2<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0...

2014-03-27 12:00:22 131

jenkins、maven和sonar自动部署发布和分析代码

1.安装jenkins    下载war包,扔到tomcat里面即可,如果不能访问看看防火墙是否添加了8080端口。2.安装maven和sonar服务器,见之前文章 3. 需要一个maven项目,关于怎样建一个maven项目,见之前文章。 4.安装插件 进入系统管理---系统设置 搜索下面两个插件并安装, Sonar Plugin:集成sonar...

2014-03-27 11:38:38 192

原创 maven安装

 安装maven前提是jdk已经安装,安装过程如下: 1.下载对应的maven包,放在相应目录下,如/usr/local,解压 2.设置环境变量。   编辑/etc/profile文件。加入下面两行代码   export MAVEN_HOME=/usr/local/apache-maven-3.0.5  export PATH=${PATH}:${MAVEN...

2014-03-27 10:56:13 57

原创 sonar安装配置

Sonar简介   Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量   通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测sonarQube能带来什么? 1.糟糕的复杂度分布   文件、类、方法等,如果复杂度过高将难...

2014-03-27 10:38:46 173

原创 spring实现初始化和销毁bean之前进行的操作

第一种:通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作 第二种是:通过 在xml中定义init-method 和  destory-method方法 第三种是: 通过bean实现InitializingBean和 DisposableBean接口   ...

2014-03-03 19:01:08 93

文章自动添加超链接

在网上可以发现,很多文章中的关键词会有超链接,超链接的实现可以由编辑手动添加,但这样工作量大。如果能实现发表文章时自动添加超链接,编辑工作将会有很大的提升。 词库采用hashtable数据结构(最终实现是HashMap)。 下面是代码的实现:十万的词库,一万字的文章,自动标注在本机上测试只需要100ms,个人觉得效率还不错。 public class test {...

2014-01-14 16:01:39 409

原创 lucene排序

只需要在查询的同时传入排序字段, 对单个字段排序:Sort sort=new Sort(new SortField("price", Type.DOUBLE,false));//false为降序排列 对多个字段排序:Sort sort=new Sort(new SortField("date", Type.INT, true),new SortField("ename",...

2013-12-11 17:26:00 102

lucene多条件查询

/** * 多条件查询 * * @param termQueryList * @return */ public List<Document> complexSearch() { List<Document> docList = new ArrayList<Document...

2013-12-04 16:13:01 229

空空如也

空空如也

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

TA关注的人

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