- 博客(35)
- 资源 (2)
- 收藏
- 关注
原创 记录删除重复数据保留最早一条的sql
业务规则是以手机号来确定同一个用户,正常来说系统里面同一手机号只能存在一个用户。在做新系统存量用户数据迁移的时候,发现数据存在重复。判断最早注册的用户信息是有效的,不正常添加的重复数据不可靠需要删除。这里使用的是mysql的主键自增策略,可以直接选择保留重复数据中最小的id-- 按照重复的字段分组查询出要保留的用户id,取反查询出重复的数据,注意修改对应的表名,主键idselect *FROM用户表WHERE用户ID NOT IN (SELECT t.用户IDFROM...
2022-03-14 11:11:02
2149
原创 centos7卸载openjdk安装oraclejdk
1.检查是否已经安装java环境java -version2.查看系统的jdk安装包rpm -qa | grep java3.卸载已经安装的openjdkyum remove *openjdk*4.安装上传oraclejdk包,我这里用的是jdk-8u131-linux-x64.tar.gz5.解压mkdir -p /usr/lib/jvmtar -zxvf jdk-8u131-linux-x64.tar.gz -C /usr/lib/jvm注意,可能有的...
2021-05-20 11:19:06
226
原创 docker搭建kafka+zookeeper
1.找到并拉取kafka和zookeeper镜像docker search kafkadocker search zookeeper我们统一拉取这两个docker pull wurstmeister/kafkadocker pull wurstmeister/zookeeper2.运行zookeeperdocker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper3.运行kafka配置中
2021-05-13 14:33:38
332
原创 java调优诊断的一些方法
1.多线程监控上下文切换频率linux系统下,使用内核提供的vmstat如vmstat 2 1 表示采集间隔2秒采样1次vmstat各字段说明1、procsr:表示运行和等待CPU时间片的进程数(就是说多少个进程真的分配到CPU),这个值如果长期大于系统CPU个数,说明CPU不足,需要增加CPUb:表示在等待资源的进程数,比如正在等待I/O或者内存交换等。2、memoryswpd:表示切换到内存交换区的内存大小,即虚拟内存已使用的大小(单位KB),如果大于0,表示你...
2021-04-14 14:04:53
111
原创 使用vagrent来搭建虚拟环境(安装docker)
1.下载安装vagrant (官网下载http://www.vagrantup.com/downloads.html去吧,按照对应操作系统下载安装包,安装一路下一步)2.下载安装virtualBox (该虚拟机与vagrant搭配免费使用,据说vmware收费),安装好就行,其他不用做3.接下来在磁盘中创建一个专用工作目录,在该目录下打开命令行,输入vagrant -v验证安装是否成功,正确应该显示vagrant版本4.添加box镜像现在要往vagrant里面装虚机镜像了,可以去http..
2021-03-29 15:23:05
1135
1
原创 mongodb批量导出csv脚本
说明:1、我的方式是按照指定字段满足条件搜索,先把这些条件按行存放在一个文本文件中2、然后使用shell读取这个文件,每读取一个条件就做导出,保存到指定位置,并且按照条件给导出文件命名方便归类3、我的导出csv文件和分类条件文件都保存在脚本当前执行位置的exportcsv目录,请先创建该目录4、然后创建types文件,里面存放你的mongo查询条件,我这里仅仅是一个参数变量,...
2018-08-10 17:28:15
2343
原创 在redhat el6上安装svn服务器
1、源码库需要存放在挂载的磁盘目录,想要使用iF-svnadmin来管理把已经安装好的apache httd删除删除方法先通过rpm -qa|grep httpd查看都安装了哪些包,然后通过rpm -e httpd --nodeps来删除,注意加上--nodeps是忽略错误,强制删除。我这里还删除了rpm -e httpd-util --nodeps2、可以指定位置安装apac
2017-07-07 15:52:58
458
原创 mongodb如何修改字段名称,删除字段
//修改字段名称,把synonymsList表的name_status修改为statusdb.getCollection('synonymsList').update({}, {$rename : {"name_status" : "status"}}, false, true)
2017-06-18 23:26:15
25063
原创 mongodb的分组查询和处理
//删除synonymsList表中name+latin+status+sysName重复数据db.synonymsList.aggregate([ { $group:{ _id: {name: "$name",latin:"$latin",status:"$status",sysName:"species2000"},
2017-06-18 23:25:40
7297
原创 mongodb的启动和导入数据
1、win7启动如果没有创建服务,则需要命令行启动,在mongoDB安装目录创建data目录,logs目录,然后cd d:/mongodb/bin mongod.exe --dbpath=../data --logpath=../logs/mongod.log2、导入csv, mongoimport -d zws -c species2000 --type csv -
2017-05-16 22:09:27
490
原创 win7用虚机搭建docker开发测试环境的网络配置,免去端口映射烦恼
之前有写过一篇centos6.4使用docker,使用的是NAT网络模式,外部网络想要访问容器服务,只能通过端口转发。如果我们是在win7系统上使用虚拟机的centos6.4来安装docker做开发测试研究,那么网络环境很复杂,要对外提供服务,层层端口转发管理起来会崩溃。场景:win7(路由器上网) 本地网卡 ip 192.168.2.195 网关192
2017-04-23 17:59:22
4280
原创 docker搭建duboo连接zookeeper
1、为了方便监控和管理,我们需要部署duboo-admin.war去我共享的下载http://pan.baidu.com/s/1geHKnmz2、准备一个tomcat7去我共享的下载http://pan.baidu.com/s/1boRvL5l3、将两个文件上传到已经准备好jdk7的docker容器中解压tomcattar -zvxf apache-tomc
2017-04-08 22:53:00
2553
原创 docker搭建zookeeper集群
1、首先去下载linux下的压缩包http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.10/2、然后上传zookeeper-3.4.10.tar.gz到容器服务器环境,需要先安装好jdk,我用的是jdk7解压tar -zvxf zookeeper-3.4.10.tar.gzpwd 此时路径应为
2017-04-01 14:47:26
1093
1
原创 jdk7监听文件变化感知
我们常常会遇到需要修改配置文件,却不得不重启应用才能使配置生效的问题。使用spring可以自动感知变化,但我们自己写的配置读取却需要通过jdk7提供的库来实现。说白了,就是需要在适当的位置开启一个监听线程,使用WatchService去监听变化,处理变化。例如我们在拦截器中读取了当前项目的config/Application.properties配置文件,把配置中的ip白名单读取到成员
2017-03-29 16:26:39
1431
1
原创 xStream的对象序列化
首先需要引入xstream-1.4.4.jar对象序列化为xml字符串Bean obj = new Bean("001","张三");XStream xstream = new XStream(new DOomDriver());xstream.alias("bean",Bean.class);//对象别名和对象类String xmlStr = xstream.t
2017-03-28 17:31:04
491
原创 jackson的对象序列化
需要引入jackson-all-1.7.6.jarpublic class JsonUtils { // 定义jackson对象 private static final ObjectMapper MAPPER = new ObjectMapper(); /** * 将对象转换成json字符串。 * Title: pojoT
2017-03-28 17:27:45
498
原创 dom4j处理xml
/*** 加载xml字符串,转换为document对象* @param strXML* @return Document* @throws DocumentException */public static Document loadXML(String strXML) throws DocumentException{StringReader strReader =
2017-03-28 17:10:25
274
原创 记录cxf3.7.1发布soap1.1时的格式和发送xml数据遇到的问题
1、最好用工具根据wsdl生成接口规范文件,这样接口的定义包括namespace等都处理了2、请求时遇到错误:org.apache.cxf.interceptor.Fault: Unmarshalling Error: 意外的元素 (uri:"http://www.xxx.com.cn/"", local:"strRequest")。所需元素为strRequest>,
2017-03-28 17:05:02
2344
转载 springmvc前后端分离,后端对应做的工作
统一响应结构@RestController与json转换的对象序列化处理异常行为支持参数验证解决跨域问题提供安全机制认识RESTREST本质上是使用URL来访问资源种方式。众所周知,URL就是我们平常使用的请求地址了,其中包括两部分:请求方式与请求路径,比较常见的请求方式是GET与POST,但在REST中又提出了几种其它类型的请求方式,汇总起来有六种:GET、P
2017-03-28 16:58:06
14062
2
原创 基于tcp的简单PRC
先定义接口public interface IHelloService {public String sayHello(String name);}实现类public class HelloServiceImpl implements IHelloService{@Overridepublic String sayHello(String name) {
2017-03-27 16:49:01
427
原创 java的序列化和反序列化
一个标准的对象类jdk的序列化 //定义字节组输出流 ByteArrayOutputStream bos = new ByteArrayOutputStream(); //定义对象输出流 ObjectOutputStream out = new ObjectOutputStream(bos); //将对象输出流写入到字节组输出,进行序列化
2017-03-27 15:17:39
312
原创 docker容器centos中安装mysql
解压包tar -zvxf mysql-xxxxx.tar /usr修改目录名称mv /usr/mysql-xxxxx /usr/mysql创建数据保存目录mkdir /mysqldata创建用户组groupadd mysql创建不可登录的mysql用户,-r就是不能登录usera
2017-03-19 21:00:14
2591
原创 docker容器centos6.4安装jre6
1、下载到jdk-6u45-linux-x64.bin,或其他安装包2、安装./ ,或其他安装方式3、这里作为服务器,只需要jre,其他的不需要,我们解压后拷贝jre即可不排除还会安装其他版本,这里我们拷贝到/usr/java/目录下cd /usrmkdir javacp -ri /softs/jdk-6u45-linux-x64/jre /usr/java/jre6
2017-03-19 20:58:19
684
原创 docker-centos容器的远程连接
由于docker的容器是运行在docker虚拟机上,因此想要在这之外的机器如宿主机(win10)上去远程连接容器,需要配置端口映射。1、找到docker虚拟机的网关在win10安装了docker,会生成一个虚拟网卡,记住ip,我这里为10.0.75.1这个可以在docker的settings->network里面自由配置网关2、运行容器时指定远程连接端口我这里将运行的c
2017-03-19 20:56:30
4480
2
转载 docker容器中的权限问题
Dcoker容器在使用的过程中,有的时候是需要使用在容器中使用iptables进行启动的,默认的docker run时都是以普通方式启动的,没有使用iptables的权限,那么怎样才能在容器中使用iptables呢?要如何开启权限呢?在docker进行run的时候如何将此容器的权限进行配置呢?主要是使用--privileged或--cap-add、--cap-drop来对容器本身的
2017-03-19 20:54:23
33024
原创 centos6.4使用docker
首先检测系统位数和内核uname -akernel要是3.1.0以上版本,系统是X86_64安装docker使用道客云的资源curl -sSL https://get.daocloud.io/docker | sh查看状态service docker status报错docker dead but pid file exists或者docker
2017-03-16 22:58:43
1961
转载 centos6.4升级内核
首先你要做的就是导入public keyrpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 然后安装ELRepo到CentOS-6.5中
2017-03-16 22:54:21
495
原创 wmware安装centos
1、先下载vmware和centos的镜像,这个不用说了吧,vmware下载个11的绿色版http://www.cr173.com/soft/68735.htmlcentos6.4用的是网络分享最简版本,大约360M ,http://pan.baidu.com/s/1sk9qXcD2、安装centos6.4精简版这个在安装时好像会检测media disk image,因
2017-03-15 21:37:05
240
原创 docker中安装ssh和vsftp
1、创建容器docker run --name centos_ssh_ftp --privileged=true -p 10.0.75.1:3222:22 -p 10.0.75.1:3223:3223 -p 10.0.75.1:3224-3299:3224-3299 -v e:/softs:/softs -it centos_ssh说明:--name centos_ssh_ft
2017-03-14 22:08:17
6744
原创 php基本语法2
php的类和对象用class来声明类,注意,在方法的入参可以给参数赋默认值入参和类的属性一样的名字$color,使用$this->color来区分$color入参<?phpclass Car{ var $color; #这个方法可以输出变量的类型和值 var_dump($x); function Car($color="green") { $thi
2017-03-13 10:35:09
260
原创 php基本语法1
网上很容易找到php的免费虚拟主机空间,抽空学习一下php。php的语法<?php?>输出语句echo跟linux很相似啊,的确,搭建环境一般都是用LAMP,即linux+apache+mysql+php注意语句以分号结尾,跟js差不多,最后一个语句的分号可以省略。<?phpecho "Hello World!";?>PHP的变量
2017-03-13 10:10:20
296
原创 List<String> 转 Object[] 转 String[]
List list = new ArrayList();list.add("1");list.add("hello world");Object[] objArr = list.toArray();//这样是对象数组String[] StrArr = list.toArray(new String[0]);//字符串数组
2017-03-13 10:06:46
5673
原创 Dockerfile实践
1、在linux下指定目录创建文件touch Dockerfile,或者windows下直接新建Dockerfile文件2、编辑该文件,写入FROM centos6:latestMAINTAINER Dzy "yndxc@163.com"CMD ["vsftpd","/bin/bash"]说明:FROM #是依赖哪个镜像MAINTAINER #是作者信息RU
2017-03-13 10:04:12
329
原创 记录docker的常用命令
1、查看本机安装的所有镜像docker images2、从镜像库中搜索镜像如搜索mysql相关的镜像docker search mysql3、通过name拉取一个镜像如从道客云拉取一个centos的镜像docker pull daocloud.io/kitsudo/aliyun_centos6:latest解释:daocloud.io是道
2017-03-09 22:30:49
273
原创 java字符串格式补齐
工作上用到的一个方法,记录一下 /** * 商品id生成 */ public static long genItemId() { //取当前时间的长整形值包含毫秒 long millis = System.currentTimeMillis(); //long millis = System.nanoTime(); //加上两位随机数 Random r
2017-03-09 22:02:09
599
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人