自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

calvins的专栏

知识回顾、分享、总结、反思、成长!

  • 博客(68)
  • 资源 (7)
  • 问答 (1)
  • 收藏
  • 关注

原创 位运算场景六高低位交换

1 描述给定一个 16 位的无符号整数,将其高 8 位与低 8 位进行交换,求出交换后的值,如:10 的二进制表示:00000000 00001010将其高8位与低8位进行交换,得到一个新的二进制数:0000101000000000其十进制为2560从上面移位操作我们可以知道,只要将无符号数 a>>8 即可得到其高 8 位移到低 8 位,高位补 0;将 a<<8 即可将 低 8 位移到高 8 位,低 8 位补 0,然后将 a>>8 和 a<..

2021-03-22 20:32:37 1385

原创 位运算场景五求绝对值

1 描述通常使用Math.abs 求绝对值,可以使用位运算进行。2 实现方法一 public static int abs(int a) { int i = a >> 31; return i == 0 ? a : (~a + 1); }方法二public static int abs2(int a) { int i = a >> 31; return ((a^i) - i); }3 总结通过取反的

2021-03-21 22:48:12 269

原创 位运算场景四正负数转换

1 描述通常正负数通过 *-1进行,此时可以通过位运算实现,交换符号将正数变成负数,负数变成正数2 实现public static int reversal(int a) { return ~a + 1;}3 总结整数取反加1,正好变成其对应的负数(补码表示);负数取反加一,则变为其原码,即正数...

2021-03-21 22:14:50 803

原创 位运算场景三判断奇偶

1 描述一般通过 % 2 来进行奇偶判断,同时我们可以通过位运算进行2 实现public static void isEven(int b) { if( (b & 1) == 0) { System.out.println("偶数"); } else { System.out.println("奇数"); } }3 总结通过& 运算,只要根据数的最后一位是 0 还是 1 来决定即可,为 0 就是偶数,为 1 就是奇数。...

2021-03-21 22:12:26 124

原创 位运算场景二元素交换

1 描述 当我们做排序的时候,特别是进行两个元素交换时,常常需要定义一个临时变量来保存过渡元素。当不使用额外空间时,我们可以利用位运算进行。2 实现 public static void swap(int a,int b) { a = a^b; b = a^b; a = a^b; System.out.println(a+","+b); }3 总结根据异或的规则, a^a =0 , a^0 = a 来达到临时变量的存储目的。...

2021-03-21 22:10:04 136

原创 位运算场景一成对整数里面找单个数字

1 描述: 给定一个非空整数数组,除了某个元素只出现一次外,其余每个元素均出现两次,找出那个只出现一次的元素。不使用额外空间实现样例:输入:[2,2,1]输出 1输入:[4,1,2,1,2]输出 42 实现public static void singleNumber() { int nums[] = new int[] {4,1,2,1,2}; int n = 0; for(int i=0;i<nums.length;i++) { ...

2021-03-21 22:04:03 98

原创 nc 模拟发送tcp socket xml 定长报文

因工作需要进行模拟数据测试,之前使用的是TCP window 客户端工具,由于字符集编码问题,windows 发送中文到 linux 会导致乱码,故在linux 机器 使用 nc 进行模拟报文发送。此篇为总结记录。协议 TCP + XML命令nc -t 10.8.4.140 9010 < data.txt数据样例 data.txt000001014<?xml version="1.0" encoding="UTF-8"?><SERVICE&gt...

2021-03-18 15:51:05 1686

原创 Linux 下 virsh 虚拟机 批量启停

1、背景 因物理机上创建了很多虚拟机,每次重启硬件服务器后,手动启动每个虚拟机很麻烦,有的虚拟机带括号,启动容易出错。需要通过批量脚本进行启动。2、命令(1)查看运行中的虚拟机 virsh list (2) 查看全部虚拟机 virsh list --all (3) 启动虚拟机 virsh start name (4) 关闭虚拟机 virsh shutdown name (5) 批量启动虚拟机 for a in `...

2021-02-18 11:01:21 1016

原创 Map 忽略大小写 转换实体Bean

需求场景:适配不同类型数据库,由于Mysql 返回小写,Oracle返回的字段列是大小,为了方便前台统一处理,使用反射的方式来进行数据转换。 代码如下:public class BeanUtil { /** * 大小写可以忽略 * 下划线 _ 被忽略 * NULL值和空字符串不会覆盖新值 * * @param source * @param target * @param <T> * @return .

2020-11-04 20:43:32 1880

原创 华为防火墙USG6600E SNMP OID 梳理

USG6600E V600R006C00SNMP OID 梳理tcp会话数 1.3.6.1.4.1.2011.6.122.15.1.2.1.6.0udp会话数 1.3.6.1.4.1.2011.6.122.15.1.2.1.7.0icmp会话数 1.3.6.1.4.1.2011.6.122.15.1.2.1.8.0设备管理状态:1.3.6.1.4.1.2011.5.25.31.1.1.1.1.1取值范围:notSupported(1)、locked...

2020-08-26 16:55:29 1816

原创 Windows 文本大文件查看工具

最近经常查看超过100多兆的文本文件,普通的Editplus 、UE 的打开很慢很卡,最后发现一个比较好用的工具。下载地址:http://glogg.bonnefon.org/download.html工具名:glogg介绍:gloggis a multi-platform GUI application to browse and search through long or complex log files. It is designed with programmers a...

2020-08-26 16:37:34 4137 1

原创 Linux 下文件及文件夹乱码删除

1 概述当我们上传中文文件包到linux 服务后,有时候解压后的文件或者文件夹乱码,rm -rf 删除又删除不掉,导致不得不采取其他办法进行处理。2 删除乱码文件的3种操作方式第一种删除当前所在文件夹把当前文件夹中的文件全部移动到其他文件目录中,rm -rf 删除当前文件夹,即可删除乱码文件等内容。缺点是,当文件夹里文件多时,很麻烦,少量文件可以使用。复制乱码文件名删除此方式删除并不是适用于所有乱码文件,部分乱码文件可采用此方式删除。使用节点编号删除推荐使用此方式进行删除。删除命令

2020-08-11 15:16:48 874

原创 网络拨测调研分析总结

一、 概述实现应用拔测管理功能,支持通过配置方式实现HTTP/HTTPS、TCP和UDP协议的拨测。不同的协议采用不同的方式实现。二、探测内容Http探测解析IP : 测试域名解析后的IP 地址解析IP所在地: 解析后IP所在地理位置状态: 当前域名返回的状态总时间 : 当前域名响应的总时间解析时间: 当前域名解析的时间连接时间: 当前域名连接的时间下载时间: 当前域名返回下载内容时间下载大小: 当前域名返回内容大小下载速度: 当前域名返回的下载速度P.

2020-08-10 15:52:07 1685

原创 Spark 入门知识了解学习总结

1 Spark 了解开发语言:scala目前支持的应用编程语言如下:Scala Java Python Clojure R2 Spark 生态Spark Core(1)有向无环图(DAG)的分布式并行计算框架,并提供Cache机制来支持多次迭代计算或者数据共享,大大减少迭代计算之间读取数据局的开销。(2)在Spark中引入了RDD (Resilient Distributed Dataset)的抽象,它是分布在一组节点中的只读对象集合,这些集合是弹性的,如果数据集一部.

2020-07-03 00:41:37 138

原创 大数据运维-监控可视化需求构建总结

1 数据源需求1.1 主动接入 需求来源:某些市场银行1.1.1 API 接入能力要求支持请求授权接入。(auth 认证) 支持数据快速获取测试验证。 支持数据依赖的参数引用。 支持全量、增量同步(日、时、分、秒) 支持多层级解析 (目前按JSON格式处理)1.1.2 SDK接入能力要求支持快速集成SDK 。 支持数据依赖之间的参数引用。 支持数据快速获取测试验证。 支持格式化解析。 支持全量、增量同步(日、时、分、秒)1.1.3WebService接入 ..

2020-06-30 23:19:32 1176

原创 Linux 下 替代wget 加速下载的方式总结

1 概述 最近需要下载很多软件包,有的包的下载源速度特别慢,几kb 的方式进行,为了加快下载速度,进行了调研学习和安装使用。主要是以mwget 和 aria2 的方式作为新的下载方式。2 安装与说明(1)aria2 安装aria2是一款使用 C++ 编写的轻量级跨平台命令行下载工具,支持 HTTP/HTTPS, FTP, SFTP, BitTorrent 和 Metalink 等多种协议。 通过yum list |grep aria2 的方式,可以在镜像仓库中找到镜像包。通过...

2020-06-30 22:59:50 7219

原创 IBM MQ 安装学习总结

1 MQ 下载下载链接:http://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/messaging/mqadv/参考文档:https://www.ibm.com/developerworks/cn/linux/linux-speed-start/l-ss-mq/#code9解压后为rpm 包。2 安装MQ安装许可协议./mqlicense.sh 1 接收,2-拒绝,Enter 阅读协议,3-输出,99-退出.

2020-06-24 14:30:09 931

原创 MySQL 函数学习总结

1 概述我们都知道Mysql 内置了很多常用函数,比如日期函数DATE_FORMAT(date,format)、SUBSTR(str FROM pos FOR len) 等,为了就是方便的进行数据转换处理,但是有些业务场景系统内置函数不能满足,此时我们可以通过自定义函数的方式进行。通过select 的方式进行函数使用。2 使用函数的好处函数可以简化操作,提供sql 复用性。举个例子,比如我们想统计某个分类下有多少个子类,一般通过接口代码的方式通过传参进行递归调用实现,也可以通过SQL 函数传..

2020-06-23 23:33:50 159

原创 docker-machine 命令学习总结

1 docker-machine 是用来干嘛的?Docker Machine 是一种可以让您在虚拟主机上安装 Docker 的工具,并可以使用 docker-machine 命令来管理主机。Docker Machine 管理的虚拟主机可以是机上的,也可以是云供应商,如阿里云,腾讯云,AWS,或 DigitalOcean。使用 docker-machine 命令,您可以启动,检查,停止和重新启动托管主机,也可以升级 Docker 客户端和守护程序,以及配置 Docker 客户端与您的主机进行通信。通俗

2020-06-23 23:04:38 343

原创 CentOS7 安装VirtualBox 总结

1 概述为了搭建docker 应用集群,一台服务器无法完成,想通过virtualbox 的方式进行虚拟化多台docker.2 yum 安装首先查看aliyun 镜像库是否有virtualbox 镜像包。yum list |grep virtualbox如果没有,需要添加镜像源。地址:https://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo在vi /etc/yum.repos.d 创建virtualb...

2020-06-21 23:01:44 248

原创 Chrome 浏览器多开及 UDP 测试报文发送

最近工作比较忙,在window 多用户模式下,chrome 浏览器没法多开,导致多个用户同时只能使用一个浏览器,经过研究测试,发现可以通过配置解决问题。1 Chrome 浏览器多开首先找到浏览器快捷方式,如果要多开,需要拷贝多份。右键属性打开配置界面。修改 目标的内容:将原来的 chrome.exe 后面增加 --user-data-dir=目录 ,此目录可随便定义。修改完成后保存,即可实现多开。原理大概是如果没有指定用户目录,走的默认目录,每个用户同时只能打开一个客...

2020-06-18 22:15:53 1565

原创 Windows 多网卡连接内外网配置

1 概述在日常工作中,有时候需要使用网线连接内网,内部网络没有外网,这时候可以通过无线网卡连接外网,当两个网络同时存在时,访问IP时,默认会选择第一条路由配置。此时往往会导致网络不能并存,不能同时满足我们的需要。下面通过配置路由桥接的方式,根据不同链路和接口,选择网卡出入。2 删除通过配置route delete 0.0.0.0此时内外网都不能进行访问。3 添加外网配置route add 0.0.0.0 mask 0.0.0.0 172.100.10.10.0.0.0 为

2020-06-15 16:51:56 540

原创 mongodb 副本集复制原理解析总结

参考文档https://docs.mongodb.com/v4.0/tutorial/resync-replica-set-member/https://docs.mongodb.com/v4.0/core/replica-set-sync/?spm=a2c4e.10696291.0.0.603b19a4lvsetK#slow-oplogshttps://docs.mongodb.com/v4.0/core/replica-set-architectures/http...

2020-06-11 19:52:01 475

原创 mongodb 副本集(Replica Set) 高可用主从配置搭建

1 概述搭建mongodb 一主两从,通过复制集的模式,进行高可用数据容灾。端口规划 主 :27018 从1: 27019 从2: 27020目的: 验证节点动态增加 验证节点动态删除 验证数据同步一致性 验证主从切换、故障转移测试 验证数据写入测试 验证压测进行并发场景模拟2 下载安装二进制版本包https://www.mongodb.org/dl/linux/x86_64-rhel70本次版本:http://downloads...

2020-06-09 22:58:53 275

原创 Linux 用户相关操作总结

1 创建用户组groupadd mongo2.创建用户目录并分配所属组useradd -d /home/mongo -g mongo mongo3.创建用户密码passwd mongo (用户名) 输入密码4 用户目录授权chown -R mongo:mongo mongo (用户名:用户组) 用户所在目录5 当前用户组查看groups8. 当前用户who am i9. root 查看密码信息cat /etc/shadow10 查看用户及

2020-06-09 14:50:46 114

原创 mongodb 入门学习(索引-聚合)(四)总结

本篇主要学习索引和聚合,B树,B+数 参考链接:https://www.cnblogs.com/vianzhang/p/7922426.htmlwiredTiger 引擎 参考:https://mongoing.com/archives/35143

2020-06-06 15:49:07 256

原创 mongodb wiredTiger 存储引擎索引原理的理解总结

本篇文章主要是回顾一下B-tree(B树) B+tree(B+数) 数据结构在磁盘存储方面的应用,以及理解目前Mysql 数据库和Mongo 数据库底层的数据存储结构。参照文章:B-tree 和B+tree :https://www.cnblogs.com/vianzhang/p/7922426.htmlMongo wireTiger 存储引擎分析:https://mongoing.com/archives/35143https://www.cnblogs.com/oli...

2020-06-06 14:07:57 1661

原创 mongodb 入门学习-模糊查询、类型查询、Limit、Skip(三)总结

本篇主要从模糊查询,类型查询,Limit 行数以及排序方面进行开展。1 模糊查询在mongo 中模糊查询不同于SQL 中的关键字,其他的方式mongo 通过$ge 等的方式进行匹配,模糊查询比较特殊,采用的是正则匹配的方式。通过 /keyword/ 代表 SQL 中like '%keyword%', /^keyword/ 代表 like 'keyword%', /keyword$/ 代表like '%keyword'. 目前测试好像只对字符串类型有效。db.col.find({tit...

2020-06-05 10:48:37 541

原创 mongodb 入门学习-集合、数据增删改查(二) 总结

1 创建、删除集合 mongo 默认可以不用创建集合的,当插入数据时,如果指定的集合不存在,会自行创建。也可以直接创建。区别是直接创建可以增加可选参数,指定其大小,文档数量。创建db.createCollection(name, options)db.createCollection("test");db.createCollection("test", { capped : true, autoIndexId : true, size : 6142800, max : 1000..

2020-06-03 20:57:46 230

原创 mongodb 入门学习-数据库创建、用户信息创建(一)总结

1 知识回顾关系数据库中几个名词,database, table, row ,column,index ,对应到nosql mongo 中 database,collection,document,field,index, 所有除了不能join 外,大部分概念是一样的。存储的数据结构不一样。关系数据库对字段类型,数据格式有要求,mongo 可存储的数据结构多样化。 需要注意的是mongo 中的 id 构成。Mongo ObjectId 规则ObjectId 类似唯一主键,可以很快的去生...

2020-06-03 11:57:43 557

原创 mongo db 连接总结

1 Shell连接方式(1)mongo 直接连接本地 通过db.auth(username,pwd)授权(2)mongo ip:port/db -uusername -p 可连接本地或远程mongo数据库。2 URL连接客户端工具:nosqlbooster下载地址:https://nosqlbooster.com/downloads或3 mongo 的连接格式mongodb://[username:password@]host1[:port1][,ho...

2020-06-02 20:54:54 425

原创 Docker 快速安装 mongodb 学习总结

1 查找镜像通过docker search mongo 命令或者 dockerhub:https://hub.docker.com/_/mongo?tab=tags&page=1。2 拉取镜像docker pull mongo:latest3 查看本地镜像4 运行容器//使用默认端口 + 权限访问运行容器docker run -itd --name mongo -p 27017:27017 mongo --auth5查看运行情况6执...

2020-06-01 21:13:33 188

原创 SpringBoot Memcached 学习总结

1 概述 Memcached 常用做集中式缓存,后续的高版本支持分布式扩展,通过内存进行数据存储,保证数据的高效读取。Memcached 通过magent 代理进行HA 高可用的访问,通过Master - Slave 的形式。保证数据的灾备。通过keepalived 来进行vip 的漂移切换,保证magent 不是单点。 通常我们为了加快程序的性能,会对热点数据进行缓存,缓存对频率更新不是特别快的数据及部分趋势端数据。常用缓存的场景如下: 1)全局序列 ...

2020-06-01 20:06:52 284

原创 HTTP 请求之PostMan 中文乱码分析

1.概述最近在测试接口时,发现通过页面提交中文是正常的,Postman 提交的中文就乱码,为了搞清楚具体问题,使用wireshark分别对不同的请求方式进行了数据包分析。2 Wireshark抓取 本地Localhost 的方法我们都知道wireshark 是通过网卡进行 抓包的,而localhost (127.0.0.1) 比较特殊。属于本地回环地址。不经过网卡,那么怎么抓包呢。下面就如何抓包进行总结。 借助第三方工具RawCap.exe 抓取 pcap 包。 下载地址:http...

2020-05-30 14:24:20 5953

原创 个人成长总结

最近开始写博客,目的一是为了输出,二是为了督促自己学习,工作好些年了,使用的技术也比较久,因为工作中用到的比较少,所以长时间不学习,慢慢的有点力不从心,特别是今年疫情期间,好好了反思了一下,觉得应该利用碎片化的时间学习。只有亲自动手学习了,验证了,才算有个基本的认识,本年度博客全部写自己的理解和学习。 今年有个大致的规划是,利用业务时间慢慢学习,补充梳理一些内容,以博客的形式记录下来,先开始整理学习基本的,然后阅读源码总结,等这部分利用3到4个月基本学习梳理一遍后,开始学习g...

2020-05-29 22:43:30 311

原创 memcached 命令学习总结

1 set 命令set key flags exptime bytes [noreply] value key:键值 key-value 结构中的 key,用于查找缓存值。flags:客户机使用它存储关于键值对的额外信息,主要是标记当前存储的数据格式 。exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)bytes:在缓存中存储的字节数noreply(可选): 该参数告知服务器不需要返回数据value:存储的值(始终位于第二行)(可直接理解为key-value结构中

2020-05-29 22:14:40 220

原创 memcached 安装学习总结

1 yum 安装安装依赖yum install libevent libevent-devel安装 memcachedyum install memcached2 源码安装wget http://memcached.org/latest 下载最新版本tar -zxvf memcached-1.x.x.tar.gz 解压源码cd memcached-1.x.x

2020-05-29 00:11:11 121

原创 IntelliJ IDEA 代码结构问题处理总结

1 无法新建Java 类时一般是由于 java 和 resources 不是 sources Root .的设置正常Source Root可以通过设置source Root ,这样会让idea 识别目录结构。2 无法看到moudle 或者 无法执行main 方法时右键File 找到 project structure此处可以看到项目的目录结构,依赖,和路径,如果项目目录有问题,也可以进行设置。如果module 里面看不到项目,而project 中又能看...

2020-05-28 22:43:11 712

原创 SpringBoot Mail 邮件服务学习总结

1 添加pom.xml 文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/m

2020-05-27 23:10:38 248 1

原创 Linux Shell for 循环学习总结

1 声明解析器#!/bin/bash2 for 的构成a 代表变量, b 代表集合for a in b do echo $a;done变量输出需要使用$ 符。 当使用引号时,变量输出需要使用${name}3 $ 的含义 $* 代表输入多个参数 $1~$n 代表输入一到N个参数 $# 参数个数 $0 文件名本身4 for 的几种写法从sh 后读取多参数#!/bin/bash for i in $* ; do echo $i;

2020-05-27 19:59:46 183

简易版QQ-----源文件代码。很好很顺畅,采用GUI和Socket编写。

这是一个简易版本的QQ,不是那种jar文件的形式,是源代码。两人可以交互聊天,感觉很好,与大家分享一下,希望能有你们想要的东西。

2011-04-21

java新实验-----加快你的理解

很适合学习java很段时间人,学的愉快

2010-12-05

java生成exe文件直接运行!!!!!

这是一个关于java中编号的游戏代码生成.exe直接运行; 试一试,看看你到底掌握了多少...............

2010-11-24

Windows——Linux平台移植乱码解决

这是一个解决平台乱码移植的问题,从Windows到Linux的转换,很值得一看!!!!!!!!!

2010-11-24

经典太空侵略者——游戏

在这里你可以了解体验一下,编程的乐趣!一个很好的应用程序,不信就试试。

2010-11-22

有用的东西——结构设计

多来看看很用于见识的 希望你的知识面能跟广 呵呵 祝愿你

2010-07-07

数据结构设计——课程设计

很棒的 可以以多种方式下载 这些都是一些有用的东西 希望你们能看到

2010-07-07

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

TA关注的人

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