- 博客(88)
- 资源 (3)
- 收藏
- 关注
原创 sonar代码质量管理工具
SonarQube1.SonarQube是什么SonarQube是一个用于代码质量管理的开放平台。为项目提供可视化报告, 连续追踪项目质量演化过程。 通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。对结果进行再加工处理,通过量化的方式度量代码质量的变化。2.特性所有项目的概览:可以快速了解上百项目的健康程度深入代码查看:想知...
2016-12-20 17:12:41
1199
原创 OpenTSDB和Grafana
1.背景 监控redis的运行实时情况和历史,了解redis的运行情况2.目的通过此监控,可以实时监控redis服务的运行状态;并通过历史数据,了解redis的走势。采取相应的操作,达到监控的目的。3.监控环境搭建(3.1)修改主机名 (3.1.1)在/etc/hosts 192.168.165.130 nameNode #添加ip和主机名 ...
2016-12-13 16:33:47
872
原创 Sonar技术调研
1.SonarQube是什么 SonarQube 是一个用于代码质量管理的开源平台,用于管理源代码的质量。 通过插件形式,可以支持包括 java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等等二十几种编程语言的代码质量管理与检测。Sonar可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前5种代码质量问题。2.特性 .不...
2016-10-11 18:01:45
259
原创 Centos 6.5升级到Git2.1.2的步骤
安装需求# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel# yum install gcc perl-ExtUtils-MakeMaker卸载Centos自带的git1.7.1通过git –version查看系统带的版本,Cento6.5应该自带的是git版本是1.7.1# y...
2016-06-30 17:37:43
130
原创 centos 升级到python2.7
查看python的版本 [plain] view plain copy print?#python -V Python 2.6.6 1.下载Python-2.7.3 [plain] view plain copy print?#wget http://python.org/ftp/pytho...
2016-06-29 11:06:08
94
原创 Java并发编程实战读书笔记
1.在Servlet规范中,Servlet同样需要满足被多个线程同时调用,换句话说,Servlet需要时线程安全的;2.如果当多个线程访问同一个可变的状态变量时没有使用合适的同步,那么程序就会出现错误。有三种方式可以修复这个问题(1)不在线程之间共享该状态变量,(2)将状态量修改为不可变的变量,(3)在访问状态变量时使用同步。...
2016-06-12 16:59:26
108
原创 重温Java基础知识
1.list.map.set的存储特点? (1)List 以特定次序来持有元素,可有重复元素. (2)Set 无法拥有重复元素,内部排序. (3)Map 保存key-value值,value可多值2.arraylist和vector的区别? (1).同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程不安全的,不是同步的 (2).数据增长:当需要增长时,Vecto...
2016-05-26 09:45:35
170
原创 BlockingQueue,阻塞队列实现线程通信
可阻塞队列 (1) 队列包含固定长度的队列和不固定长度的队列。 (2)什么是可阻塞队列,阻塞队列的作用与实际应用,阻塞队列的实现原理ArrayBlockingQueue 看ArrayBlockingQueue类的帮助文档,其中有各个方法的区别对比的表格 只有put方法和take方法才具有阻塞功能 (3)用3个空间的队列来演示阻塞队列的功能和效果 (4)用两个具有1个空间的队...
2016-05-17 22:32:27
284
原创 BlockingQueue
可阻塞队列 (1) 队列包含固定长度的队列和不固定长度的队列。 (2)什么是可阻塞队列,阻塞队列的作用与实际应用,阻塞队列的实现原理ArrayBlockingQueue 看ArrayBlockingQueue类的帮助文档,其中有各个方法的区别对比的表格 只有put方法和take方法才具有阻塞功能 (3)用3个空间的队列来演示阻塞队列的功能和效果 (4)用两个具有1个空间的队...
2016-05-17 22:30:51
204
原创 Exchanger
Exchanger 用于实现两个人之间的数据交换,每个人在完成一定的事务后想与对方交换数据,第一个先拿出数据的人将一直等待第二个人拿着数据到来时,才能彼此交换数据。package com.ronbay.thread.timer;import java.util.concurrent.Exchanger;import java.util.concurrent.Execu...
2016-05-12 14:51:28
114
原创 CountDownLatch
CountDownLatch (1)犹如倒计时计数器,调用CountDownLatch对象的countDown方法将计数器减1,当技术到达0时,则所有等待者或单个等待者开始执行。这直接通过代码来说明CountDownLatch的作用,这样理解更为直接 (2)可以实现一个人(也可以是多个人)等待其他所有人都来通知他,可以实现一个人通知多个人的效果,类似裁判一声口令,运动员同时开始奔跑,或...
2016-05-12 14:32:29
104
原创 CyclicBarrier
类似旅游的一个场景 表示大家彼此等待,大家集合好后才开始出发,分散活动后又在指定地点集合碰面,这就好比整个公司的人员利用周末时间集体郊游一样,先各自从家出发到公司集合后,再同时出发到公园游玩,在指定地点集合后再同时开始就餐,...。package com.ronbay.thread.timer;import java.util.concurrent.CyclicBarr...
2016-05-12 12:03:51
112
原创 ThreeConditionCmmunication
面试题 子线程执行10次,主线程执行100次;接着子线程再执行十次,主线程再执行100次,如此循环50次 package com.ronbay.thread.timer;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util....
2016-05-12 10:53:35
121
原创 Semaphore实现信号灯
1.Semaphore可以维护当前访问自身的线程个数,并提供了同步机制。使用Semaphore可以控制同时访问资源的线程个数,例如,实现一个允许的并发访问数。 (1)Semaphore实现的功能就类似厕所有5个坑,假如有十个人要上厕所,那么同时能有多少个人去上厕所呢?同时只能有5个人能够占用,当5个人中的任何一个人让开后,其中在等待的另外5个人中又有一个可以占用了。 (2)另外等待...
2016-05-12 10:53:03
119
原创 Condition
Condition Condition的功能类似在传统线程技术中的Object.wait()和Object.notify() 的功能。在等待Condition时,允许发生“虚假唤醒”,这通常作为对基础平台语义的让步。对于大多数应用程序,这带来的实际影响很小,因为Condition应该是在一个循环中被等待,并测试正被等待状态声明。某个实现可以随意移除可能的虚假唤醒,但建议应用程序程序员...
2016-05-11 22:51:03
122
原创 Java读写锁ReadWriteLock
1.多个读锁不互斥,读锁与写锁互斥,写锁与写锁互斥 package com.ronbay.thread.timer;import java.util.HashMap;import java.util.Map;import java.util.concurrent.locks.ReadWriteLock;import java.util.concurrent.lock...
2016-05-11 18:49:59
112
原创 Lock&Condition实现线程同步通信
Java1.5提供了锁机制,位于java.util.current.locks下面 Lock比传统线程模型中的synchronized方式更加面向对象,与生活中的锁类似,本身也应该是一个对象。两个线程执行的代码片段要实现同步互斥的效果,它们徐用同一个Lock对象。锁是上在代表要操作的资源的类的内部方法中,而不是线程代码中。读写锁:分为读锁和写锁,多个读锁不互斥,读锁与写锁互斥,写锁与写...
2016-05-10 08:34:14
126
原创 Callable和Future
package com.ronbay.thread.timer;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorService;import java.util.concurre...
2016-05-09 20:12:03
110
原创 Redis安装
1、安装需要的支持环境在安装Redis之前首要先做的是安装Unix的Tcl工具,如果不安装的话后期将无法对Redis进行测试。在后期执行make test的时候返回如下错误信息:You need tcl 8.xuyao de5 or newer in order to run the Redis test,具体的流程为:cd /usr/local/srcwget http://do...
2016-04-18 11:40:50
90
原创 Redis监控Redis-stat
Redis-stat一个用ruby写成的监控redis的程序,基于info命令获取信息,而不是通过monitor获取信息,性能应该比monitor要好。 redis监控软件,redis-stat安装 1、安装依赖yum -y install ruby ruby-devel rubygems 2、安装redis-stat软件,可能比较慢且执行失败,...
2016-04-07 14:33:50
200
原创 PrintWriter中write()方法和print()方法的区别?
运用Ajax这么多年了,PrintWriter中write()方法和print()方法都在用,还不知道其区别1.共同点:两者都不刷新页面,只在原来的页面写数据.最终都是重写了抽象类Writer里面的write方法.2.区别: (1)print方法可以将各种类型的数据转换成字符串的形式输出。 (2)重载的write方法只能输出字符、字符数组、字符串...
2016-03-22 10:59:29
1484
原创 Java线程池的使用
Java四种线程池的使用本文转载,转载地址:http://cuisuqiang.iteye.com/blog/2019372 Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。newFixedThreadPool 创建一个定长线程池,可控制线程最大...
2016-03-17 14:48:05
100
原创 java.util.Date和java.sql.Date的区别和相互转化
java.util.Date是在除了SQL语句的情况下面使用的。java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分它们都有getTime方法返回毫秒数,自然就可以直接构建。 java.util.Date 是 java.sql.Date 的父类,前者是常用的表示时间的类,我们通常格式化或者得到当前时间都是用他,后者之后在读写数据库的时候用他,因为PreparedStam...
2016-03-15 14:06:46
85
原创 Centos安装Redis
1、安装需要的支持环境 在安装Redis之前首要先做的是安装Unix的Tcl工具,如果不安装的话后期将无法对Redis进行测试。在后期执行make test的时候返回如下错误信息:You need tcl 8.xuyao de5 or newer in order to run the Redis test,具体的流程为:cd /usr/local/srcwget http://d...
2016-03-01 16:55:17
193
原创 文件传输
将linux服务器上的文件下载到Windows系统上,则用sz命令:(1) sz 文件路径 会出现对话框,选择Windows路径进行下载;(2) rz 文件路径 root@ip:路径,提示输入密码进行上传到服务器。...
2015-11-25 15:31:38
118
原创 Java中使用Timer和TimerTask实现多线程
Timer是一种线程设施,用于安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行,可以看成一个定时器,可以调度TimerTask。TimerTask是一个抽象类,实现了Runnable接口,所以具备了多线程的能力。 import java.util.TimerTask; public class OneTask extends TimerTask{ ...
2015-11-13 14:55:56
163
原创 线程池的引入-解决性能问题
业务是这样的:背景:提供rsf服务1.先根据图片流,将图片写入到服务端的/dev/shm文件下下面(此路径问服务器端内存目录);2.利用gm将服务器端的图片锐化并变灰;3.再利用tesseract将图片识别并形成txt文件;4.由于图片和txt文件均为临时文件,便利用线程池的方式将临时文件删除private static final Log logger = L...
2015-11-04 13:55:57
157
原创 Hadoop集群环境搭建
1. 2.集群搭建(1) hadoop-2.2.0/etc/hadoop/hadoop-env.shexport JAVA_HOME=/usr/java/jdk1.7.0_79 (2) hadoop-2.2.0/etc/hadoop/core-site.xml<configuration> <!-- 指定hdfs的nam...
2015-09-20 15:28:59
83
原创 Zookeeper集群搭建
Zookeeper1. 为什么要使用zookeeper(1) 大部分分布式应用需要一个主控、协调器或控制器来管理物理分布的子进程(如资源、任务分配等)(2) 目前,大部分应用需要开发私有的协调程序,缺乏一个通用机制(3) 协调程序的反复编写浪费,且难以形成通用、伸缩性好的协调器(4) ZooKeeper:提供通用版的分布式锁服务,用以协调分布式应2 .Zookeeper能帮我们做些什么...
2015-09-20 12:44:36
89
原创 java高并发,如何解决,什么方式解决
之前我将高并发的解决方法误认为是线程或者是队列可以解决,因为高并发的时候是有很多用户在访问,导致出现系统数据不正确、丢失数据现象,所以想到 的是用队列解决,其实队列解决的方式也可以处理,比如我们在竞拍商品、转发评论微博或者是秒杀商品等,同一时间访问量特别大,队列在此起到特别的作用,将 所有请求放入队列,以毫秒计时单位,有序的进行,从而不会出现数据丢失系统数据不正确的情况。今天我经过查资料,...
2015-09-11 17:54:05
297
原创 高并发系统中的常见问题
原文出处: 卫向军(@卫向军_微博) 欢迎分享原创到伯乐头条本文一共分析了三个案例,分别介绍并发系统中的共享资源并发访问、计算型密集型任务缓存访问 、单一热点资源峰值流量问题和解决方案。1:订票系统,某车次只有一张火车票,假定有1w个人同时打开12306网站来订票,如何解决并发问题?A1: 首先介绍数据库层面的并发访问,解决的办法主要是乐观锁和悲观锁。乐观锁假设不会发生...
2015-09-11 16:58:13
171
原创 hadoop2.X环境搭建
Hadoop的安装配置Hadoop所有版本:http://archive.apache.org/dist/1.查看防火墙开机启动状态chkconfig iptables --list关掉防火墙开机启动chkconfig iptables off 2.修改主机名2.1 vim /etc/hosts127.0.0.1 loc...
2015-08-18 14:01:18
147
原创 servlet-api-6.0.37.jar) - jar not loaded,常会遇到页面报错问题
servlet-api-6.0.37.jar) - jar not loaded,常会遇到页面报错问题常见问题问题是lib加载了与tomcat相同的两个包, servlet-api.jar和servlet-api.jar,需要去掉则在pom.xml文件里面添加如下代码1.项目打jar包或者war包时间,该依赖包将不被打进去<!-- 非运行时所需的类库 --><...
2015-07-30 18:06:00
350
1
原创 从数组中随机取出各个元素并不重复
从数组中随机取出各个元素并不重复 1.定义一个Integer的List,且长度和要排序的数组长度相同;2.从List随机取出一个随机数,该数相当是数组的指针;3.移除后再从剩下的List元素里面取另一个元素,如此类推public static void main(String[] args) { String[] strArray = {"a","b","c","d","e"...
2015-07-06 17:40:01
1183
原创 centos修改主机名
修改Centos主机名1、 hostname hbase-632./etc/sysconfig/network中的hostnamevi /etc/sysconfig/networkHOSTNAME=localhost.localdomain #修改localhost.localdomain为hbase-633修改/etc/hosts文件vi /etc/hosts127.0.0.1...
2015-06-10 18:07:36
107
infobright包
2012-10-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人