- 博客(32)
- 资源 (1)
- 收藏
- 关注
转载 java类加载器
Java在需要使用类的時候,才會将类载入,Java类的载入是由类加载器(Class loader)來完成的。 JVM本身包含了一个ClassLoader称为Bootstrap ClassLoader,和JVM一 样,Bootstrap ClassLoader是用C++实现的,它负责加载系统参数【sun.boot.class.path】中指定的类(例如所有java.*开头的类)。 个人
2015-12-16 10:39:01 567
原创 spring结合mockito
mockito可模拟依赖对象的行为,从而简化跨类的测试。maven获取mockito:<dependency> <groupId>org.mockito</groupId> <artifactId>mockito-all</artifactId> <version>1.10.19</version></dependency>以下例:被测类:ConnInfoService
2015-12-14 17:18:07 1505
转载 系统性能统计(CPU占用率,内存占用率,系统平均负载)
1、获取cpu占用情况[root@localhost utx86]# top -n 1 |grep CpuCpu(s): 1.9%us, 1.3%sy, 0.0%ni, 95.9%id, 0.6%wa, 0.1%hi, 0.2%si, 0.0%st解释:1.9%us是用户占用cpu情况1.3%sy,是系统占用cpu情况2、获得内存占用情况[root@
2015-12-10 09:08:22 3103
转载 消息队列/分布式消息队列介绍及其应用场景
消息队列的定义,以及引入消息队列可解决的问题1. 消息队列中的“消息”即指同一台计算机的进程间,或不同计算机的进程间传送的数据;“消息队列”是在消息的传输过程中保存消息的容器。消息被发送到队列中,消息队列充当中间人,将消息从它的源中继到它的目标。2. 传统的进程通信模式如图1左所示:client调用service,等待service的响应。但是这种模式有很多弊端:
2015-12-03 10:07:52 3819
原创 java泛型通配符
定义了通配符的集合是具体类型集合的父类型:public void sort(List<?> dataList)此方法可如此调用List<String> strList = new ArrayList<>();List<Integer> intList = new ArrayList<>();sort(strList);sort(intList);但如果方法如下定义:public void so
2015-12-01 10:19:41 484
原创 利用ThreadPoolExecutor控制并发任务数量
此前在项目中有如下场景:可同时开启多个任务,但要控制同时并发的任务数。这种场景刚好可借用ThreadPoolExecutor阻塞队列线程池来实现,先来看看其构造函数:public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,
2015-11-23 16:40:03 3322
转载 分布式系统的CAP定理
在理论计算机科学中,CAP定理(CAP theorem),又被称作布鲁尔定理(Brewer’s theorem),它指出对于一个分布式计算系统来说,不可能同时满足以下三点:1. 一致性(Consistency):同一个数据在集群中的所有节点,同一时刻是否都是同样的值。2. 可用性(Availability):集群中一部分节点故障后,集群整体是否还能处理客户端的更新请求。3. 分区容忍性(Part
2015-11-15 16:31:18 773
原创 CDH学习记录
本文简要概括Cloudera的用户体验指南中各章节内容:1. 安装两种方式体验Cloudera产品 + 在线体验(Cloudera Live) + 本地虚拟机安装(QuickStart VM)2. 场景一:导入并查询关系数据通过sqoop命令把存在于mysql数据库中的数据在内部以mapreduce任务的方式导入到HDFS中,文件格式为Apache Parquet(为hadoop
2015-11-05 18:05:35 540
原创 数据仓库基础概念
当今的数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。企业建立数据仓库是
2015-11-04 16:31:12 482
原创 jenkins配置应用自动部署到docker
概要本文记录jenkins上配置docker自动部署所用插件Hudson SCP publisher plugin:拷贝部署文件到远程虚拟机Publish Over SSH:执行远程部署命令Environment Injector Plugin:注入变量配置插件配置scp插件: 在jenkins的系统设置里为scp配置远程虚拟机登录信息: 配置Publish over ssh插件: 在
2015-11-03 15:05:45 13872 1
原创 工作记录-离线创建docker私有仓库
在联网环境下建立docker私有仓库很简单,在另一篇文章中已经介绍。但实际情况是服务器无法连接外网,且要在其上建立私有仓库,供内网其他服务器获取镜像。和联网环境相比,有以下变化: 1. docker安装:通过二进制文件安装 2. docker镜像获取:通过文件系统导入镜像首先,docker的安装,在这里参考二进制文件安装方式。按照介绍操作即可,注意要保证各种依赖的完整性,比如git的安装。其次,
2015-10-26 14:03:47 4199
原创 centos7上搭建docker私有仓库
私有仓库主机(centos7):10.60.34.46 客户机(centos7):client私有仓库主机上:下载registry镜像docker pull registry运行registry容器,为了在容器关闭时不删除仓库目录,需要把仓库目录挂载到宿主机目录docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry regi
2015-10-12 17:08:34 1285
原创 docker1.8.2创建并运行karaf镜像
本文记录用docker1.8创建karaf镜像的过程项目部署的目录结构: module – deploy – etcdeploy目录下放置了部署用的kar包,etc下放置了项目所需的配置文件。dockerFileFROM centos:7MAINTAINER apexljRUN yum -y install java-1.7.0-openjdkENV JAVA_HOME /etc/al
2015-10-10 14:40:04 1414
原创 karaf-maven-plugin制作本地feature仓库
项目中需要在karaf中集成cxf-dosgi-discovery-distributed特性,所以需要在karaf开启时启动cxf-dosgi-discovery-distributed的feature,只需要在etc/org.apache.karaf.features.cfg中加入如下的片段即可:“mvn:org.apache.cxf.dosgi/cxf-dosgi/1.6.0/xml/feat
2015-10-09 17:12:17 2845
原创 利用karaf-maven-plugin制作kar部署包
之前项目中部署karaf时是把依赖和本模块的bundle一起扔进deploy目录,然而这种方式有两个明显的缺陷:对部署的顺序有要求,依赖必须先于模块本身的bundle部署,否则会导致部署失败一大堆bundle对于部署来说繁琐且容易出错karaf提供了karaf-maven-plugin这个maven插件来解决这两个问题,首先可以对每一个bundle定义start-level启动顺序,其次可以把
2015-10-09 16:54:44 3902 1
原创 centos7为yum添加源
参考自: http://www.linuxidc.com/Linux/2015-03/114690.htm本地centos7没有安装fortune,通过yum -y install fortune时无法找到,于是运行下面的命令为yum添加源后,下载成功:yum localinstall http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-rel
2015-09-24 17:50:09 532
原创 windows安装docker
docker不支持在windows上运行,必须借助docker-machine。docker提供了toolbox用于在windows和mac平台安装docker。 工具箱包括:docker machineDocker EngineKitematicdocker命令行运行环境Oracle VM VirtualBox安装之前需要检查BIOS中虚拟化的设置是否已打开,参考此页面下载安装文件
2015-09-23 11:26:59 3131 1
原创 docker学习记录
通过docker列出所有imagedocker images查找在docker hub上的imagedocker search tutorial安装imagedocker pull learn/tutorial出现如下错误: INFO[2188] POST /v1.19/images/create?fromImage=learn%2Ftutorial%3Alatest Pulling re
2015-09-18 14:37:00 904
原创 centos7使用docker1.8.2
yum install docker-ioservice docker startdocker run hello-world出现错误“Cannot connect to the Docker daemon. Is 'docker -d' running on this host?”网上找到解决方式:http://blog.csdn.net/xu470438000/article/detail
2015-09-18 11:01:31 2916
原创 spring DM配置文件加载
spring DM支持Configuration Admin,可以使配置文件的内容注入到程序当中。 包括以下两种方式: 1. 把配置文件内容转换为properties,可以设置配置项默认值<!-- Configuration Admin entry --> <osgix:cm-properties id="cmProps" persistent-id="com.xyz.myapp">
2015-09-18 09:18:29 672
原创 windows下搭建hadoop-2.6.0本地idea开发环境
概述本文记录windows下hadoop本地开发环境的搭建:OS:windowshadoop运行模式:独立模式安装包结构:Hadoop-2.6.0-Windows.zip - cygwinInstall // cygwin离线安装包 - hadoop-2.6.0-windows.tar.gz // hadoop-2.6.0 windows安装包PS:hadoop-2.6.0-w
2015-08-20 15:40:30 8024 1
原创 制作并安装cygwin本地安装包
下载setup-x86_64.exe(64位) http://www.cygwin.com/双击setup-x86_64.exe开始安装选择Download Without Installing下载时添加国内高速镜像http://mirrors.sohu.com/cygwin下载完成后将会在本地创建一个文件夹把setup-x86_64.exe和本地文件夹一起拷贝到待安装的主机,运行set
2015-08-18 12:12:00 1545
原创 批量(bulkload)载入数据到hbase
HBase提供了操作表的java api,但是这种方式是单条数据插入,对于大量数据载入来说效率太低。 对于批量数据导入,直接生成HBase的内部存储结构:HFile,并将其导入到Hbase中的效率无疑是最高。 步骤如下:通过mapreduce将源数据导出为HFile文件 HBaseBulkLoadDriver.javaimport com.sq.platform.hbaseLoadServ
2015-08-17 17:07:16 1240
原创 java中利用jsch执行远程命令,实现sftp
利用jsch可以执行远程命令并实现sftp文件传输,以下为自定义的util:import com.jcraft.jsch.*;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.File;import java.io.FileInputStream;import java.io.InputStream;
2015-08-17 16:41:20 4257
原创 线程池中捕获线程执行异常
在项目中使用线程池时,使用了如下方式:ExecutorService dataUploadPool = Executors.newFixedThreadPool(writeThreadNum);dataUploadPool.execute(new Thread(task))但是这种方式下,主线程无法捕获子线程中的异常,也就无法在子线程出现异常时采取措施。如果换一个实现方式就可以捕获子线程异常,步骤如
2015-08-17 16:32:37 4945
原创 maven中使用不同配置文件打包
项目中经常会把项目部署到多个环境,例如本地和远程生产环境。 如果每次部署之前都手动修改配置文件会显得太土锤,maven的profile正好可以解决此类问题。 直接上实例:pom.xml<profiles> <profile> <!-- 本地环境 --> <id>local</id> <properties>
2015-08-11 09:13:49 801
原创 利用maven在一个项目中同时打war包和jar包
把项目的打包类型设置称war<packaging>war</packaging>然后添加:<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.2</version> <executions> <
2015-07-23 11:35:35 4914 2
原创 maven中自定义可执行jar包的MANIFEST
在上一篇文章中介绍了如何利用maven构建可执行jar包,但是如果还依赖了pom中定义的dependency之外的外部jar包,maven-jar-plugin不会把这些jar包的依赖信息放在MANIFEST中,这会导致jar包运行时出现找不到指定类的错误。 那么如何把这些外部jar包的依赖也添加到MANIFEST的classpath中呢? 其实只需要几行配置即可:<plugin> <g
2015-07-23 11:11:29 15521 1
原创 maven构建可执行jar包
使用maven-compiler-plugin和maven-jar-plugin两个插件可以构建可执行jar包:<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.2</version> <configurat
2015-07-23 11:01:38 1083
原创 java中判断线程执行是否超时
项目中有个功能需要判断某线程在指定时间内是否执行完毕,FutureTask正好可以实现此功能,FutureTask有个get(long timeout, TimeUnit unit)方法,可以指定超时时间,若超时会抛出TimeoutException。 被调方实现:public <T> void startTimer(Callable<T> task, long timeout) throws T
2015-07-16 10:33:56 4098
转载 公钥、私钥、SSL趣解
一,公钥私钥1,公钥和私钥成对出现2,公开的密钥叫公钥,只有自己知道的叫私钥3,用公钥加密的数据只有对应的私钥可以 解密4,用私钥加密的数据只有对应的公钥可以解密5,如果可以用公钥解密,则必然是对应的私钥加的密6,如果可以用私钥解密,则 必然是对应的公钥加的密明白了?假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们,然 后我
2015-07-14 12:21:37 348
原创 如何在quartz的job中实现spring的依赖注入
quarz的job通常会依赖业务对象执行操作,当然这些业务对象可以在job初始化时通过dataMap传入,但是在采用数据库持久化的模式下,由于很多业务对象无法进行序列化,故而无法实现持久化操作,如果能够避开dataMap传入的方式而在job中直接实现依赖注入是不是更好?下面这种方式就可以轻松实现: 只需要在Job的execute方法中加入SpringBeanAutowiringSupport.pr
2015-07-08 14:19:05 3519 6
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人