自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (9)
  • 收藏
  • 关注

原创 java基础之List遍历速度

一、对ArrayList与LinkedList分别使用10w次不同的方式进行遍历,试了三次,结果如下arrayList:for:12arrayList:for-earch:11arrayList:forEach:167arrayList:parallelStream().forEach:18arrayList:stream().collect:14linkedList:for:13081linkedList:for-earch:10linkedList:forEach:7linkedLi

2020-06-09 16:33:41 918

原创 rocketMQ之StoreCheckpoint

一、StoreCheckpoint1、作用记录commitLog、ConsumeQueue、Index文件的刷盘时间点,当上一次broker是异常结束时,会根据StoreCheckpoint的数据进行恢复2、参数private volatile long physicMsgTimestamp =0;private volatile long logicsMsgTimest...

2020-01-06 15:19:28 1062

原创 broker启动主要过程

一、读取启动配置文件二、加载本地数据文件1、加载topics.json2、加载consumerOffset.json3、加载subscriptionGroup.json4、加载consumerFilter.json5、判断abort文件是否存在:存在表示上一次broker是异常启动6、加载delayOffset.json7、加载commitLog文件8、加载c...

2020-01-06 15:16:36 756

原创 rgw报错SignatureDoesNotMatch

一、sdk版本<dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-s3</artifactId> <version>1.11.475</version&gt...

2019-12-26 16:12:30 3648 1

原创 ceph运维问题记录

一、如果出现 osd启动报try_get_map错误,可以从正常的osd去导出对应版本的epoch,然后导回就可以了1、如何导出导入osdmap第一步:先停掉坏的osd,以及一个好的osd(因为ceph-objectstore-tool执行时需要停止osd),第二步:执行导出导入即可命令例子:其中84是好的osd,85是有问题的osdceph-objectstore-...

2019-11-27 14:55:05 2450

原创 redis序列化问题

今天在现网发现程序做了一个full GC,heap堆栈出来,发现一个redis的序列化问题从数据库获取了33w条数据,大小是1M多一点,然后之后在redisClient.put的时候,对这个集合做序列化,字节数变为了80M多。而内部的序列化是,ByteArrayOutputStream与ObjectOutputStream又复制内容导致最终内存暂用了200M左右原因:1、redis中序...

2019-09-27 16:20:24 345

原创 数据库事务特性

一、事务的四大特性隔离性:隔离性是指当多个用户并发操作数据库时,数据库为每一个用户开启不同的事务,这些事务之间相互不干扰,相互隔离。原子性:一个事务内所有的操作要么都成功、要么都失败持久性:当一个事物提交之后,数据库状态永远的发生了改变。不会因服务器宕机而改变。数据落地到硬盘了(可能以日志的形式落地)一致性:数据库事务的一致性就规定了事务提交前后,永远只可能存在事物提交前的状态和事...

2019-06-27 19:23:38 165

原创 G1垃圾回收器

引言1、垃圾回收器需要做三件事: 分配内存:垃圾回收算法的设计往往制约了内存分配的方式; 确保存活对象不会被回收 回收垃圾对象(垃圾是指那些不再被使用的对象)2、对于垃圾回收器的回收来说,不管算法怎么样,基本思路都是基于以下流程: 扫描得到根节点——>从根节点扫描被引用存活对象——>删除不再应用到的对象一、G1垃圾回收器特点1、G1的...

2019-06-20 23:15:52 1774

原创 CMS垃圾回收器

一、垃圾回收流程1、初始标记(STW) 1.1、标记老年代中所有的GC Roots对象 1.2、标记老年代中被年轻代中活着的对象引用的对象2、并发标记 2.1、从初始标记收集到的"根"对象引用开始,遍历出所有被引用的对象 PS:因为是并发运行的,在运行期间会发生新生代的对象晋升到老年代、或者是直接在老年代分配对象、或者更新老年代对象的引用关系等等,对...

2019-06-20 21:03:16 602

原创 selenium(java)实现滑动图片验证码

一、原由网上搜索了一下,有一些使用selenium实现滑动图片的代码,但是多是需要获取完整图的。现在很多滑动图片验证码没有完整图,这里记录一下我实现的。二、整理思路1、获取背景图(bgImg)、获取验证图(vrImg)2、对背景图与验证图做二值化处理(PS:这里二值化的阈值需要调整,不然可能获取不到想要的效果)3、比较背景图与验证码图相似的地方(二值化之后背景图就会有跟验证图一...

2019-04-12 14:25:43 3648 3

原创 hadoop2.9.2插件编译以及安装

一.hadoop2.9.2源码编译 因为直接使用官方的编译包,执行命令的时候,会报一些警告,很碍眼。所以自己编译一个linux 64位的2.9.2的版本。 参考:https://blog.csdn.net/qq_24811513/article/details/79021508 。我按上面的去操作,成功了。二、hadoop2.9.2对应的eclipse插件编译1、安装a...

2019-02-28 17:37:33 2295 5

原创 java并发编程的艺术笔记——volatile理解

现象:A线程写一个volatile变量后,B线程读同一个volatile变量。A线程在写volatile变量之前所有可见的共享变量,在B线程读同一个volatile变量后,将立即变得对B线程可见。原理:1、从happen-before原则理解    线程A在写volatile变量之前的所有变量happen-before于当前volatile的变量    线程B在读volatile变量happen-...

2018-06-24 22:18:14 195

原创 AbstractQueuedSynchronizer分析

AbstractQueuedSynchronizer(同步器,以下称为同步器)提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架。一般要使用同步器,会自己实现一个同步器的子类并覆盖以下方法方法名称描述protected boolean tryAcquire(int arg)排它的获取这个状态。这个方法的实现需要查询当前状态是否允许获取,

2016-03-14 20:39:00 519

原创 基础概念

1、http请求连接跟断开,一般在6m左右2、redis 一般1s能读取数据10万次,现在遇到的瓶颈是每秒 32k3、try{}catch 几万次也才几毫秒一个进程,应该至少需要撑住1K的并发请求每天4000W的请求,每个请求耗时40,ms左右,6台服务器,会出现请求超时。一般一个请求在10s以内

2016-01-07 23:26:49 448

原创 cxf根据wsdl生成webserivice服务端

1.根据wsdl文件生成相关代码wsdl2java用法: wsdl2java -p com -d src -all  aa.wsdl -p  生成代码的包名: -d  指定要产生代码所在目录 -client 生成web service客户端代码 -server 生成web  service服务器代码 -impl 生成web service

2015-09-01 19:20:06 9407

原创 类初始化与类对象初始化

类的生命周期:加载——> 验证、准备、解析——>初始化——>使用——>卸载类初始化进行的5种情况:1.遇到new、getstatic、putstatic或invokestatic这4条字节码指令时,如果类没有进行过初始化,则需要先触发其初始化。生成这4条指令的最常见的java代码场景是:使用new关键字实例化对象的时候、读取或者设置一个类的静态字段(被final修饰的除外),以及调用一

2015-08-13 23:26:43 1397

原创 memcached的失效时间设置注意点

memcache的失效时间设置比如memcache.set(key,value,50) 设置为50秒过期memcache.set(key,value,new Date(System.currentTimeMillis()+5000)) 设置为50秒过期第二个跟第一个的区别是当设置了这个时间点之后,它会以服务端的时间为准,也就是说如果本地客户端的时间跟服务端的时间有差值,这个值就

2015-08-05 21:07:20 23069

原创 maven线上遇到的一个问题

问题描述:今天在升级程序的时候突然报找不到某个类文件,很惊讶,一直找不到原因,后来发现maven打的jar包中MANIFEST.MF中写的依赖包有些带有时间戳,而不是我们在pom文件配置的版本,所以在我们生产的lib文件夹下找不到相关的类了。原因:这些带有了时间戳的jar,我们在pom中写的是快照(SNAPHOST),而今天刚好有个同事上传了一个新的jar到私服上,并刷新了一下。这导致了我

2015-06-09 23:15:41 535

原创 java synchronized总结

一句话总结:每个类,每个对象都有一个锁,当在方法或者代码块中添加了synchronized关键字时,要访问这个方法或者这个代码块时就需要获取对应的锁,没有添加synchronized则不受影响。举例说明:1、举例的类package com.sync;public class TestSync {        private Object lock = ne

2015-05-29 10:57:16 642

转载 Nagle算法(转)

该文转载自其它地方1、Nagle算法作用        TCP/IP协议中,无论发送多少数据,总是要在数据前面加上协议头,同时,对方接收到数据,也需要发送ACK表示确认。为了尽可能的利用网络带宽,TCP总是希望尽可能的发送足够大的数据。(一个连接会设置MSS参数,因此,TCP/IP希望每次都能够以MSS尺寸的数据块来发送数据)。Nagle算法就是为了尽可能发送大块数据,避免网络中充斥着许多

2015-03-05 13:34:47 986

原创 Shiro源码学习之ShiroFilter

一、shiroFilter的继承关系二、接口说明1、ServletContextSupport :封装了一个ServletContext2、Filter 接口public interface Filter {     void init(FilterConfig filterConfig) throws ServletException; 

2015-02-28 17:20:30 1197

原创 ORACLE使用记录

oracle 实例名,服务名,数据库名称是三个概念java连接时jdbc:oracle:thin:@10.1.56.123:1521:sid(实例名)jdbc:oracle:thin:@//10.1.56.123:1521/服务名TNSNAMES.ORA配置文件orcl=  (DESCRIPTION =    (ADDRESS = (PROTOCOL

2015-01-28 14:56:07 595

原创 FastDFS_v5.05安装记录

1、软件包  FastDFS_v5.05.tar.gz  libfastcommon-master.zip  fastdfs-nginx-module_v1.16.tar.gz  zlib-1.2.8.tar.gz  pcre-8.12.tar.gz  nginx-1.7.9.tar.gz2.安装部署    FastDFS_v5.05依赖

2015-01-12 19:40:09 11302 2

原创 一些名言,升华自己的境界

1、先把事实搞清楚,歪曲是以后的事      ——马克·吐温

2014-12-30 16:51:17 1072 1

原创 Mybatis参数传递记录

当对mybaits进行参数传递时#{paramter} 表示一个'?'  ${paramter}表示替换例如:updateid=123infoids=123,123select * from test where updateid=#{updateid}  and infoids in (#{infoids})  mybaitis打印出来的sql是 sele

2014-12-19 14:09:32 605

原创 12月15日突感之storm

最近项目中在用storm,都说storm实时计算比较牛,很快,那么为什么它很快呢?撇开技术想想,道理也挺简单的——在同样的生产设备下,农场主(多个农民)干的活肯定比一个农民干的活快,正所谓人多力量大。但是人多起来了,麻烦事情也会多起来。农场主得管理一帮人的吃喝拉撒,头痛闹热。为了每个农民都能积极得干活,得调节好大伙的心态,得根据每个人得生产能力分配好任务,得关心每个人的身体健康。于是,农场主制定了

2014-12-15 22:48:34 516

原创 SwfTools之linux环境安装

主要步骤:wget http://www.swftools.org/swftools-0.9.1.tar.gztar xvzf swftools-0.9.1.tar.gzcd swftools-0.9.1./configuremakemake install遇到问题:当./configure的时候遇到* The following headers/l

2014-09-23 14:53:20 924

原创 rabbitmq之window环境启动

rabbitmq启动方式1、以应用方式启动rabbitmq-server -detached 后台启动Rabbitmq-server 直接启动,如果你关闭窗口或者需要在改窗口使用其他命令时应用就会停止  2、以服务方式启动rabbitmq-service install 安装服务,安装完之后在任务管理器中服务一栏能看到RabbtiMqrabbitmq-service

2014-09-03 14:11:41 23231

原创 java代码之数据库ResultSet转换成javaBean

public T handler(ResultSet rs,Class clazz){        T entity=null;        try {            entity=clazz.newInstance();            ResultSetMetaData rsMetaData=rs.getMetaData();            int

2014-08-16 14:56:15 6877

原创 Paxos算法学习总结1

一、Paxos 算法解决的问题是一个分布式系统如何就某个值(决议)达成一致。一个典型的场景是,在一个分布式数据库系统中,如果各节点的初始状态一致,每个节点都执行相同的操作序列,那么他们最后能得到一个一致的状态。为保证每个节点执行相同的命令序列,需要在每一条指令上执行一个「一致性算法」以保证每个节点看到的指令一致。一个通用的一致性算法可以应用在许多场景中,是分布式计算中的重要问题。因此从20世纪80

2014-03-20 18:06:33 856

原创 FastDFS使用情况总结2

FastDFS_v3.11版本当使用文件服务器合并小文件功能,需要注意的地方1、定时生成一个固定大小的trunk文件(用于存放小文件)2、当删除存放在trunk文件中的小文件的时候,trunk不会被删除,而且trunk文件大小是不变的,只是在trunk文件中存放更多的小文件。trunk文件就像一个大小固定、用来存放小文件的容器,当一个文件被删除,就相当于从容器中拿出了这个文件,容器中文

2014-02-25 19:14:23 964

原创 FastDFS使用情况总结1

FastDFS_v3.11版本  fastdfs-nginx-module_v1.10版本  nginx-1.0.11版本 pcre-8.34tracker 10.0.2.15storage1 10.0.2.15(s1)storage2 10.0.2.16 (s2)nginx+fastdfs插件(n1,n2)一、安装过程遇到的问题1、如果group name设置成一样的话,

2014-02-17 14:47:38 1553

原创 学习jVM之垃圾回收器学习总结

1、Serial收集器(串行收集器,属于新生代收集器,是Client模式下的默认收集器)    单线程收集器,运行的时候,用户线程会停止2、ParNew收集器(并行收集器,属于新生代收集器,是server模式下下的首选收集器)    多线程收集器,运行的时候,用户线程会停止    -XX:+UseConcMarkSweepGC选项后的默认新生代收集器  -XX:+UseParNew

2014-01-23 18:40:40 923

原创 ZooKeeper Watcher执行顺序

有如下三个wathcer zk.extist(rootpath,new ExistWater())zk.getData(rootpath+childpath,new DataWatcher());zk.getChildren(rootpath+childpath,new ChilrenWatcher());ZooKeeper Watcher测试顺序如下1、ExistWate

2014-01-02 11:12:38 6205

原创 UsernamePasswordAuthenticationFilter

UsernamePasswordAuthenticationFilter本身不是过滤器,而是继承了AbstractAuthenticationProcessingFilter才拥有过滤器的性能。认证过程如下1、先判断请求(请求必须是post请求)地址是否为/j_spring_security_check,如果不是,则放行,进入下一个过滤器,是则进行校验。2、AbstractAuthen

2013-12-01 23:10:14 13449 1

原创 UsernamePasswordAuthenticationFilter学习之基础

UsernamePasswordAuthenticationFilter是登陆用户密码验证过滤器,它继承了AbstractAuthenticationProcessingFilter过滤器(真正的Filter),是spring security3的第4个过滤器。UsernamePasswordAuthenticationFilter由于3个表单参数,是我们需要知道的1、username

2013-11-28 23:40:31 23476

原创 ConcurrentSessionFilter

ConcurrentSessionFilter做的功能比较简单,主要是判断session是否过期以及更新最新访问时间     通过代码HttpSession session = request.getSession(false);判断获取session1、首先判断session是否存在--------HttpSession session = request.getSession(fals

2013-11-28 22:53:16 8087

原创 SecurityContextPersistenceFilter

SecurityContextPersistenceFilter主要是在SecurityContextRepository中保存更新一个securityContext,并将securityContext给以后的过滤器使用本质上就是在session中生成一个securityContext——httpSession.setAttribute(springSecurityContextKey, co

2013-11-26 19:33:15 6876

原创 ChannelProcessingFilter

通常最可能用来确保一个请求在https上发生,可以给ChannelDecisionManagerImpl赋值SecureChannelProcessor和InsecureChannelProcessor一个典型的配置如下:      ref="channelDecisionManager"/>              -security-metadata-source

2013-11-25 23:57:24 2109

原创 Rabbitmq集群测试1

假设有3个rabbitmq A,B,C组成集群(普通集群)(一)测试一1、在A中添加一个queue--mq.test12、连接B向mq.test1发送持久化数据3、关闭A现象1:当关闭A,发送程序能够继续发送数据,不会报错原因:虽然A已经关闭了,但是B没有关闭,connection依旧存在。4、关闭发送程序5、重启启动发送程序现象2:发送程序启动失败报错原因

2013-07-02 17:40:25 1632

hadoop2.9.2 linux 64位编译包地址

附件hadoop2.9.2 linux 64位编译包地址下载地址,有需要的可以下载使用 https://pan.baidu.com/s/1b2LTvLm9N3fxaQVIeyvu1w 不用下载扣积分

2019-02-28

hadoop2.9.2 eclipse插件

hadoop2.9.2 eclipse插件,里面有说明。1、使用hadoop-eclipse-plugin-2.9.2.jar该eclipse插件,可以访问远程的hdfs 2、使用hadoop-eclipse-plugin-2.9.2-local.jar,访问本地的文件系统 3、wintuils_hadoop.zip本地eclipse运行需要的包。 另外2.9.2hadoop编译包太大,传不上来

2019-02-28

hadoop权威指南第4版 中文

hadoop权威指南中文第四版,方面其他人使用

2019-02-18

javscript学习文档

js文档 代码

2012-07-25

锋利的jqeury pdf与源码

锋利的jqeury.pdf与源码

2012-07-22

extjs学习文档

extjs.pdfextjs.pdf

2012-07-17

ExtJS快速入门.ppt

ExtJS快速入门.ppt

2012-07-15

OSGi原理与最佳实践(两章那种)与源代码

OSGi原理与最佳实践(两章那种)与源代码

2012-05-15

extjs中文文档

这个关于extjs的中文文档

2012-05-04

空空如也

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

TA关注的人

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