自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 hash

在Hashtable类中得到key的hash值后会进行如下运算: hash & 0x7FFFFFFF  原因是得到的hash值可能是个负数,而0x7FFFFFFF表示int类型的最大值,0x7FFFFFFF的二进制表示如下: 0111 1111 1111 1111 1111 1111 1111 1111  首位表示符号位,0表示正整数,这样和hash值进行‘与’操作时得到一个正...

2017-10-09 10:11:45 128

原创 系统进程占用CPU过高的处理流程

1、jps -v列出java进程; 2、top列出所有进程及占用CPU情况,结合上一步就可以找出占用CPU过高的java进程pid; 3、top -H -p pid,查看进程中线程占用CPU的情况; 4、printf "%x\n" tid,把线程ID转换为16进制; 5、使用jstack -l pid > pid.dump命令dump出进程的堆栈信息到文件; 6、在文件中找到线程...

2017-05-11 19:53:38 430

原创 jvm内存结构图

 从图可以看出,jvm内存模型由三部分组成: 堆:存放对象实例、数组; 方法区:也叫持久代,存放类的信息(类名、方法、字段)、静态变量、编译后的代码; 本地方法栈:也叫线程栈,存放引用(指向对象或数组在堆中的位置)、基本类型变量。 堆内存划分: 新生代,包含了Eden区和Survivor区; 老年代。 各区存放对象: Eden区:存放新建的或短期的对象; Survi...

2017-04-14 14:12:16 192

原创 转:redis sentinel模式下,如何选举新的master

sentinel是一个独立于redis之外的进程,不对外提供key/value服务。在redis的安装目录下名称叫 redis-sentinel 。 主要用来监控redis-server进程,进行master/slave管理,如果你的redis没有运行在master/slave模式下,不需要设置sentinel。   两个基本概念 S_DOWN :subjectively down,...

2017-04-11 17:33:27 891

原创 mongo多条件

Criteria criteria = new Criteria(); criteria.and("type").is("1"); criteria.and("id").is("10009"); criteria.orOperator(new Criteria("src").is("online"),new Criteria("src").exists(fals

2017-04-06 15:13:17 172

原创 redis记录目录

1、主从、主从复制; 2、sentinel; 3、分片; 4、哈希一致性。

2017-03-31 10:01:35 85

原创 java装箱和拆箱

在java中有byte、short、int、float、double、long、boolean7中基本类型即其对应的包装类型。在java SE5之前要想生产一个基本类型数值的对象,必须像下面这样: Integer count = new Integer(1); 而从java SE5开始提供了自动装箱功能,即要生成一个基本类型数值的对象,只要像下面这样即可: Integer count =...

2017-03-21 11:44:34 74

原创 Aspect出现error Type referred to is not an annotation type

使用Aspect记录操作日志时,启动项目报以下异常: 严重: StandardWrapper.Throwable org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mvcContentNegotiationManager': Initialization of be...

2017-03-16 14:00:01 3247

原创 eclipse部署找不到jar

在eclipse发布工程部署时,报如下异常:  到部署在tomcat的项目目录WEB-INF下看,并没有lib目录,也就是依赖的jar并没有拷贝过来。 解决办法是,右击工程:Properties--->Deploymeng Assemly  从图中可以看出,部署缺少lib目录,把lib目录加入进去就可以了。  ...

2017-03-13 14:30:59 222

原创 redis集群数据同步

1、redis没有像mysql那样复制位置的概念,所以Slave和Master断开连接再重新连接时,会全量取Master的快照,Slave的所有数据都会清除,重新建立整个内存表,这样导致Salve恢复数据特别慢,同时也给Master带来的压力。 2、通过主动复制解决redis本身复制的缺陷,即通过业务端或代理中间件对redis中的数据进行多份存储。Twitter开发的用于复制和分区的中间件g...

2017-03-11 16:08:43 2606

原创 设计模式

设计模式六大原则: 1、开闭原则 具体就是对扩展开放,对修改关闭。即在程序需要扩展的时候,不能去修改原来的代码,而是用抽象类和接 口去进行扩展。 2、里式代换原则 里式代换原则((Liskov Substitution Principle LSP))是面向对象设计的基本原则之一,里式代换原则定义:基类可以出现的地方,子类一定可以出现。 3、依赖倒转原则 这是开闭原则的基础,具体就...

2017-03-11 16:06:12 121

原创 nginx

一、nginx缓存静态资源 在nginx中使用expires指令来控制HTTP头部过期时间,这个指令可以放在http {}、server {}、location {} 等语句块或者 location {} 语句块中的条件语句中,如在 location 语句块中用 expires 指令控制静态文件: 写道 location ~* \.(jpg|jpeg|png|gif|ico|css|js...

2017-03-10 11:16:56 84

原创 mysql索引

mysql有三类索引: B-Tree索引 MySQL中的B-Tree索引的物理文件大多都是以BalanceTree的结构来存储的,也就是所有实际需要的 数据都存放于Tree的LeafNode,而且到任何一个LeafNode的最短路径的长度都是完全相同的,所以我们大家都称之为B-Tree索引当然,可能各种数据库(或MySQL的各种存储引擎)在存放自己的B-Tree索引的时候会对存储结构...

2017-03-09 11:21:36 81

原创 mysql优化

一、sql优化原则: 使用EXPLAIN分析; 使用小结果集驱动大结果集; 尽可能在索引中完成排序; 只取出需要的字段; 尽可能避免复杂的join和子查询。 二、sql优化 1、创建索引;       创建组合索引时,选择范围较小的字段放到前面。 2、分页:先分页查出主键,再使用inner join查询,如: select id,name from user t inn...

2017-03-05 19:37:54 67

原创 聊聊并发 Java SE1.6中的Synchronized

引用:http://www.infoq.com/cn/articles/java-se-16-synchronized

2017-03-05 16:03:33 101

原创 杀掉mysql被锁的进程

1、查出被锁的进程: mysql -uroot -h127.0.0.1 -p*** -e 'show processlist'|grep "tablename" |grep -v grep|awk '{print $1}'|xargs  2、把查出来的进程ID放到一个变量中: arr=(768,358)  3、循环杀掉被锁进程: for i in ${arr[@]}; do mysq...

2017-02-27 10:39:07 222

原创 Java数据类型及对应取值范围

在Java中,数据类型分为两大种:基本数据类型(值类型)和包装类型(引用数据类型)。基本数据类型不是对象,不能调用toString()、hashCode()、getClass()、equals()等方法。 8种基本数据类型-----8种包装类型  整型:     byte  Byte     【-128,127】 1个字节(【-2的7次方,2的7次方-1】)   一个字节有8位      ...

2017-02-22 19:10:12 114

原创 io基本理解

1、以内存为媒介理解io的输入输出,往内存写数据就是输入,往内存取数据就是输出。 2、从源读取数据到内存:InputStream或者Reader。 3、把内存中的数据写到源:OutputStream或者Writer。 ...

2017-02-21 19:20:31 462

原创 redis集群搭建

引用:http://www.cnblogs.com/zhaoguihua/p/redis-005.html 集群要实现的目的是要将不同的 key 分散放置到不同的 redis 节点,这里我们需要一个规则或者算法,通常的做法是获取 key 的哈希值,然后根据节点数来求模,但这种做法有其明显的弊端,当我们需要增加或减少一个节点时,会造成大量的 key 无法命中,这种比例是相当高的,所以就有人提出...

2017-02-20 20:08:06 69

原创 redis集群

http://www.cnblogs.com/zhaoguihua/p/redis-005.html   http://www.cnblogs.com/zhaoguihua/p/redis-006.html   redis集群规范:http://blog.chinaunix.net/uid-7374279-id-4470290.html

2017-02-20 09:24:52 51

原创 redis主从复制

Redis支持主从复制,Redis的主从结构可以采用一主多从或者级联结构。 Redis主从复制可以根据是否是全量分为全量同步和增量同步。 1、全量同步   Redis全量复制一般发生在Slave初始化阶段,这时Slave需要将Master上的所有数据都复制一份。具体步骤如下: 
   1)从服务器连接主服务器,发送SYNC命令; 
   2)主服务器接收到SYNC命名后,开始执行BG...

2017-02-18 21:50:09 56

原创 redis批量删除

redis中没有批量删除数据的指令,但可以借助linux的指令xargs来批量删除: redis-cli keys CUST_APP_KEY* | xargs redis-cli del   如果redis-cli没有设置成系统变量,需要指定redis-cli的完整路径,如: /opt/redis/redis-cli keys CUST_APP_KEY* | xargs /opt/re...

2017-02-16 14:25:34 141

原创 tomcat原理

http://www.ibm.com/developerworks/cn/java/j-lo-tomcat1/

2017-01-22 15:22:03 81

原创 LinkedHashMap源码解读

LinkedHashMap继承了HashMap,采用双向链表结构,数据顺序是可预知的 void transfer(HashMap.Entry[] newTable, boolean rehash)  以及 void addEntry(int hash, K key, V value, int bucketIndex) { super.addEntry(hash, key...

2016-12-24 15:46:47 72

原创 HashSet源码解读

HashSet是通过HashMap来实现数据存放的,即把元素作为HashMap的key存放的,取出的数据是无序的,即存放的顺序与遍历输出的顺序不是对应的关系。

2016-12-24 15:37:39 54

原创 HashMap源码解读

HashMap保存数据的结构是数组+单向链表,它集成AbstractMap类以及实现Map接口:   public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable { //初始化大小16 ...

2016-12-24 15:35:26 67

原创 ArrayList源码解读

ArrayList继承了AbstractList类记忆实现了List接口,使用数组保存元素 public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable { ...

2016-12-24 14:48:25 61

原创 LinkedList源码解读

LinkedList 存放数据通过双向链表实现: 写道 private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<E> prev, E element, Node<E> next) { this.item = element; this...

2016-12-24 14:34:25 63

原创 java并发

Semaphore:用在有多少个线程可以同时访问一个资源,如控制流量; CountDownLatch:一般用在等所有线程完成某组操作之后才做接下来的任务,如并发读取一个数据文件,要等所有线程完成后才去做统计数据操作。 CyclicBarrier:有点类似spring中的切面编程,在一个线程的一个切面切入一块逻辑。 ...

2016-12-22 20:02:19 53

原创 maven入门

1、先去maven官网http://maven.apache.org/download.html下载,下载完后解压到本地; 2、设置maven环境变量:       MAVEN_HOME=D:\apache-maven-3.3.9       path=%MAVEN_HOME%\bin;       查看maven版本信息:mvn -v 3、使用maven创建一个工程:  4、生...

2016-10-21 12:50:21 78

srping 实例作用域

在spring中是通过bean标签的scope属性设置bean的作用域的: 1、默认情况下,scope="singleton",那么该bean是单例; 2、scope="prototype",任何一个实例都是新的实例; 3、scope="request",在web应用中,每个实例的作用域在request中; 4、scope="session",在web应用中,每个实例的作用域在sess...

2016-09-23 09:16:59 99

原创 maven编译失败

使用maven在编译代码时报错误:   经过一番折腾,发送原因是测试类的包路径写错了,即测试类须放在src\test下,而不是src\main下。 记录之。 

2016-03-02 14:19:52 195

原创 抽象类属性注入实现

由于抽象类不能实例化,所以在spring中就不能在xml配置文件中把值注入到抽象类中,比如我有个抽象类AbstractHtmlParser,而这个抽象类又有多个具体实现类BaiduHtmlParser、GoogleHtmlParser,这些具体实现类又都需要注入一些相同的实例,如果每个实现类都要去声明和注入一些相同的属性则显得太麻烦。这个时候我们可以使用spring的注解方式,在抽象类中把属性声明...

2014-12-11 19:29:03 3508

原创 struts2学习之四-struts2注解

struts2学习之一: [url]http://arthur2014.iteye.com/blog/2162974[/url] struts2学习之二-json插件:[url]http://arthur2014.iteye.com/blog/2162989[/url] struts2学习之三-spring注解:[url]http://arthur2014.iteye.com/admin/...

2014-12-04 20:41:45 91

原创 struts2学习之三-spring注解

请看之前的 struts2学习之一: [url]http://arthur2014.iteye.com/blog/2162974[/url] struts2学习之二-json插件: [url]http://arthur2014.iteye.com/blog/2162989[/url] struts2学习之四-struts2注解:[url]http://arthur2014.iteye.com...

2014-12-04 20:22:42 88

原创 struts2学习之二-json插件

struts2学习之一:[url]http://arthur2014.iteye.com/admin/blogs/2162974[/url] struts2学习之三-spring注解:[url]http://arthur2014.iteye.com/admin/blogs/2162996[/url] struts2学习之四-struts2注解:[url]http://arthur2014.it...

2014-12-03 19:08:30 128

原创 struts2学习之一

纯属记录。 由于工作中的项目需要用到struts2,就花了点时间作了些了解和练习,为了加深印象记录之。 大步骤如下: 1、使用gradle构建项目; 2、一个简单的action; 3、使用json格式数据传输数据[url]http://arthur2014.iteye.com/admin/blogs/2162989[/url]; 4、spring注解[url]http://arth...

2014-12-03 19:05:57 75

Ant使用说明

Ant的使用分以下几步: (操作系统:Windows) 一、Ant下载:http://ant.apache.org/bindownload.cgi,最新版本为apache-ant-1.7.0-bin.zip; 二、安装Ant: 假设安装在d盘:D:\apache-ant-1.7.0,直接解压就行。 设置ANT_HOME系统变量和PATH系统变量: set ANT_HOME= D:\...

2008-03-03 17:14:44 166

在Tomcat和Eclipse进行远程调试的配置

在做远程调试时,在windows系统和非windows系统下的配置,Tomcat中会有所差别,具体如下: 第一步、配置tomcat 一、 在windows系统中: 打开%CATALINE_HOME%/bin下的文件catalina.bat,加入下面这行: set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -...

2008-03-03 17:06:50 55

空空如也

空空如也

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

TA关注的人

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