自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小明君

这不是小明君

  • 博客(50)
  • 资源 (2)
  • 收藏
  • 关注

原创 通过SSH同步两台服务器时间

expect脚本获取远程服务器时间 time.sh#!/usr/bin/expectset timeout 15set cmd_prompt "]#|~]?"spawn ssh [email protected] "password*"send "密码\r"set output [open datetime.now "w"]expect -re $cmd_prompt { send "date '+%Y%m%d %T'" send "\r" expect -re "\r\

2021-04-14 18:48:46 707 1

原创 【java设计模式】代理模式(结构型模式)

概念理解在程序中,不能或不想直接访问目标对象,这时创建一个代理对象作为访问对象和目标对象之间的中介。代理模式的特点就是控制对象的访问。生活中常见的例子就是翻墙用的各种梯子使用场景远程代理虚拟代理缓冲代理安全代理智能指引延迟加载结构**Subject(抽象主题角色):**定义代理类和真实主题的公共对外方法,也是代理类代理真实主题的方法。**RealSubject(真实主题角色):**真正实现业务逻辑的类。**Proxy(代理主题角色):**用来代理和封装真实主题实例静态代理

2020-09-16 16:37:43 213

原创 【java设计模式】模板方法模式(行为型模式)

理解在面向对象程序设计过程中,程序员常常会遇到这种情况:设计一个系统时知道了算法所需的关键步骤,而且确定了这些步骤的执行顺序,但某些步骤的具体实现还未知,或者说某些步骤的实现与具体的环境相关。例如,去银行办理业务一般要经过以下4个流程:取号、排队、办理具体业务、对银行工作人员进行评分等,其中取号、排队和对银行工作人员进行评分的业务对每个客户是一样的,可以在父类中实现,但是办理具体业务却因人而异,它可能是存款、取款或者转账等,可以延迟到子类中实现。这样的例子在生活中还有很多,例如,一个人每天会起床、吃

2020-09-10 10:35:20 257

原创 【java设计模式】观察者模式(行为型模式)

理解生活中有个例子,拍卖师拍卖物品时,会根据最高叫价标价,然后通知其他竞价者。这个例子中竞价者是观察者,拍卖师是被观察者。观察者模式(Observer),又叫发布-订阅模式(Publish/Subscribe),定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新使用场景对一个对象状态的更新,需要其他对象同步更新,而且其他对象的数量动态改变。对象仅需要将自己的更新通知给其他对象而不需要知道其他对象的细节。结构UML图来源**Sub

2020-09-09 15:27:42 249

原创 Java导出CSV文件excel乱码

指定bom编码,把下面的代码拼接到最前面。new String(new byte[]{(byte) 0xEF, (byte) 0xBB, (byte) 0xBF})比如new String(new byte[]{(byte) 0xEF, (byte) 0xBB, (byte) 0xBF}) + "测试"

2020-08-05 17:47:36 247

原创 使用java代码替换URL中的参数

private String replaceUrlParam(String url, String paramName, String paramValue) { if (StringUtils.isNotBlank(url) && StringUtils.isNotBlank(paramValue)) { int index = url.indexOf(paramName + "="); if (index != -1) {

2020-07-27 15:47:33 1617

原创 Java IO 简单总结

BIO、伪异步IO、NIO、AIO帮助理解的几篇博客用开饭店的例子来简单理解几种IO几种IO的实例代码简单总结BIO(同步阻塞IO)每有一个客户端请求,就要创建一个线程来IO,并且这个线程是阻塞的。伪异步IO在BIO的基础上加个线程池,线程依旧是阻塞的。NIO(非阻塞IO)每有一个客户端请求,就开一个channel(通道),然后会有一个selector(多路复用器)轮询监控每个channel的任务是否就绪,发现就绪就通知程序处理。AIO(异步非阻塞IO,jdk1.7以上)每有一个客户

2020-07-26 15:33:24 204

原创 redis简单总结

redis简述redis是一个高性能的key-value内存数据库,一般用来缓存,还可以用作消息中间件。读写速度快,支持10W QPSredis单进程单线程,线程安全。redis为什么这么快直接操作内存数据结构简单单线程,避免了上下文切换五种数据类型string: 存字符串或数字,最大512mhash: 一般用来存对象,常用的命令有hget、hset等list: 是个双向链表,支持反向查找和遍历。可以用于消息队列set: 无序集合,自动去重sorted-set: 相对于set多

2020-07-11 16:55:52 171

原创 win10连接虚拟机Redis

首先创建redis安装目录# cd /usr/local/# mkdir redis# cd redis下载redisredis下载地址:http://download.redis.io/releases/# wget http://download.redis.io/releases/redis-5.0.3.tar.gz安装# cd redis-5.0.2# make && make install启动redis测试是否安装成功# redis-server关

2020-07-11 11:54:46 2732 1

原创 浅谈JAVA垃圾回收

怎样找到垃圾引用计数法为每个创建的对象分配一个引用计数器,用来存储该对象被引用的次数,引用计数为0的对象将被回收。因为这种方案存在无法检测“循环引用”的问题,所以java并没有采用这个算法根搜索算法这种算法的思路是将所有引用对象想象成一棵树,从树的根节点GC roots出发,找出所有连接的树枝对象,其余未连接根节点的对象视为“垃圾”GC ROOTS虚拟机栈(帧栈中的本地变量表)中引用的对象方法区中静态属性引用的对象方法区中常量引用的对象本地方法栈中JNI引用的对象怎样回收垃圾标记清

2020-06-29 17:23:55 228

原创 网页切换CSS实现换肤,并缓存到浏览器

引入两个CSS文件<link href="${base}/theme/classic/dist/css/default.css" rel="stylesheet" type="text/css" title="default"/><link href="${base}/theme/classic/dist/css/tumblr_style.css" rel="alternate stylesheet" type="text/css" title="tumblr"/>用JS来实

2020-05-24 21:19:19 452

原创 spring接口返回对象忽略为空的字段

spring接口返回对象忽略为空的字段开发中有两个接口经常会用到一个VO来返回数据,列表和详情接口,列表接口往往只需要返回id、名称等很少的信息,如果和详情接口共用一个VO的话会造成返回数据里有很多空值引入fastjson<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId></dependency>在返回对象

2020-05-19 18:32:57 1766

原创 @ConfigurationProperties赋值给对象数组

项目中要用到多个微信配置,放到数据库每次去查很麻烦,想到把数据放到配置文件里,用@ConfigurationProperties注解赋值给数组,并添加根据某个属性获取配置的方法(类似于枚举)application.ymltest: configs: - name: config_1 value: 111 msg: 配置1 - name: config...

2020-04-29 21:48:21 4102

原创 java字节数组转File返回File对象

public static File bytesToFile(byte[] bytes, String fileType) throws IOException { return FileUtils.createTmpFile(new ByteArrayInputStream(bytes), UUID.randomUUID().toString(), fileType);...

2020-03-28 13:12:01 5946 2

原创 【kafka】Part3 - JavaAPI的简单使用

回顾安装&快速开始详细介绍&工作原理依赖<dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>2.3.0</version>...

2019-11-13 18:27:45 224

原创 【java设计模式】组合模式(结构型模式)

简单理解组合模式大部分国家的军队都采用层次结构管理。每支部队包括几个师,师由旅构成,旅由团构成,团可以继续划分为排。最后,每个排由一小队实实在在的士兵组成。军事命令由最高层下达,通过每个层级传递,直到每位士兵都知道自己应该服从的命令。组合模式是一种结构型设计模式,你可以使用它将对象组合成树状结构,并且能像使用独立对象一样使用它们。问题如果应用的核心模型能用树状结构表示,在应用中使...

2019-11-12 11:55:18 381

原创 【java设计模式】装饰模式(结构型模式)

简单理解装饰模式穿衣服是使用装饰的一个例子。 觉得冷时, 你可以穿一件毛衣。 如果穿毛衣还觉得冷, 你可以再套上一件夹克。 如果遇到下雨, 你还可以再穿一件雨衣。 所有这些衣物都 “扩展” 了你的基本行为, 但它们并不是你的一部分, 如果你不再需要某件衣物, 可以方便地随时脱掉。装饰模式是一种结构型设计模式, 允许你通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。使...

2019-10-19 14:25:59 259

原创 【java设计模式】桥接模式(结构型模式)

简单理解桥接模式在正式介绍桥接模式之前,我先跟大家谈谈两种常见文具的区别,它们是毛笔和蜡笔。假如我们需要大中小3种型号的画笔,能够绘制12种不同的颜色,如果使用蜡笔,需要准备3×12 = 36支,但如果使用毛笔的话,只需要提供3种型号的毛笔,外加12个颜料盒即可,涉及到的对象个数仅为 3 + 12 = 15,远小于36,却能实现与36支蜡笔同样的功能。如果增加一种新型号的画笔,并且也需要具有...

2019-10-17 23:34:00 386

原创 码云+Maven+Jenkins+Tomcat构建SpringBoot项目

1、环境详细安装方法网上有很多教程,这里不再啰嗦那么多了javayum install java-1.8.0-openjdk.x86_64mavenyum install mavengityum install gittomcat下载地址:http://tomcat.apache.org/2、下载下载地址下载之后是一个war包3、启动将下载的war包放到t...

2019-10-17 16:14:55 341

转载 【kafka】Part2 - 详细介绍&工作原理

复习一下消息队列什么是消息队列kafka是什么官方介绍Kafka is used for building real-time data pipelines and streaming apps. It is horizontally scalable, fault-tolerant, wicked fast, and runs in production in thousands of...

2019-10-10 23:31:20 268 1

原创 【java设计模式】适配器模式(结构型模式)

简单理解适配器模式很多智能机都会有一个内存卡卡槽用来扩展内存,有时候我们想从电脑往内存卡里面拉点电影以便出门途中用来打发时间,但电脑不能直接插内存卡,这时候就用到了读卡器,读卡器就是今天要说的适配器。将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。使用场景系统需要使用一些现有的类,而这些类的接口(如方法名)不符合系统的需要...

2019-10-10 11:24:02 231

原创 【软件推荐】使用手机和平板作电脑副屏扩展

Splashtop Wired XDisplay(USB连接)通过USB连接,帧率高,画面质量高1、根据需要下载对应版本,下载地址2、打开USB调试3、打开软件移动端和PC端4、通过USB连接设备和电脑5、无需操作,自动连接spacedesk(局域网连接)通过局域网连接,方便,但是画质不好,FPS低1、根据需要下载对应版本,下载地址2、使移动设备和PC在同一个局域网3...

2019-10-07 11:42:52 13323 6

原创 【kafka】Part1 - 安装&快速开始

Windows下载地址解压windows系统使用bin\windows目录下的批处理来完成下面的步骤修改配置详细配置http://kafka.apachecn.org/documentation.html#configuration这里暂时只修改日志数据存放的目录:config/server.properties文件中log.dirs项基础命令创建一个主题kafka-topic...

2019-09-27 18:24:07 229

原创 【java设计模式】原型模式(创建型模式)

简单理解原型模式有一天,八戒问悟空,“大师兄,你怎么可以拔一搓猴毛就可以生成无数个一摸一样的你,怎么那么神奇?师兄既然是齐天大圣,我老猪有个问题向请教下,在编程的世界中,我怎么可以实现呢?我想在下次的时候也玩一把,这样我就可以躺着吃喝,不用干活了,哈哈”,“看你着呆子,平时喜欢偷闲,想不到问了偷懒还能想办法,孺子可教也,让师兄给你慢慢道来”原型模式,其实就是克隆一个对象,也是属于创建类型的,比...

2019-09-24 17:04:54 246

原创 【ActiveMQ】Part4 - ActiveMQ整合Spring

目录结构代码代码用Junit测试,省略web.xml和tomcat相关的配置pom.xml<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</arti...

2019-09-23 17:19:25 211 1

原创 【ActiveMQ】Part3 - 发布/订阅消息传递模型(Publish/Subscribe)

回顾JMS入门学习什么是消息队列点对点消息传送模型发布订阅模式发布者发送到topic的消息,只有订阅了topic的订阅者才会收到消息。topic实现了发布和订阅,当你发布一个消息,所有订阅这个topic的服务都能得到这个消息,所以从1到N个订阅者都能得到这个消息的拷贝。简单例子session.createTopic("hello");消费者package com.example...

2019-09-20 18:42:04 448

原创 【ActiveMQ】Part2 - 点对点消息传送模型(Point-to-Point)

回顾点对点Queue支持存在多个消费者,但是对一个消息而言,只会有一个消费者可以消费,不可重复消费。参考JMS入门学习什么是消息队列简单例子参考JMS入门学习中文末JMS创建应用程序通用步骤依赖注意版本对应<dependency> <groupId>org.apache.activemq</groupId> <artifactI...

2019-09-20 00:16:08 331

原创 【ActiveMQ】Part1 - 介绍与安装

官网:https://activemq.apache.org/介绍ActiveMQ是Apache的一个开源项目,它是一个能力强劲的开源消息总线,也是一个中间件产品。它是JMS的一个实现。由于ActiveMQ是一个纯Java程序,因此只需要操作系统支持Java虚拟机,ActiveMQ便可执行。在介绍ActiveMQ之前,先来复习一下J2EE中的JMS规范。JMS是Java Message ...

2019-09-19 22:57:56 215

原创 【java设计模式】建造者模式(创建型模式)

简单理解建造者模式简单地说,就好象我要一座房子住,可是我不知道怎么盖(简单的砌墙,层次较低),也不知道怎么样设计(建几个房间,几个门好看,层次较高),于是我需要找一帮民工(Builder),他们会砌墙,还得找个设计师(Director),他知道怎么设计,我还要确保民工听设计师的领导,而设计师本身也不干活,光是下命令,这里砌一堵墙,这里砌一扇门,这样民工开始建设,最后,我可以向民工要房子了。在...

2019-09-17 17:12:23 562

原创 批处理根据端口号结束进程

新建一个txt,将下面的代码copy进去,改文件后缀为.bat,双击运行@echo off:startclsset i=0echo ===============================echo 【1】 显示所有端口占用情况echo 【2】 查看指定端口占用情况echo ===============================echo.set /p i="请选择...

2019-09-13 17:40:38 544

原创 什么是消息队列

消息队列已经逐渐成为企业应用系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能。当前使用较多的消息队列有RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMQ等,而部分数据库如Redis、MySQL以及phxsql也可实现消息队列的功能。消息队列 是指利用 高效可靠 的 消息传递机制 进行与平台无关的 数据交流,并基于...

2019-09-11 16:37:51 446

原创 【软件推荐】电脑控制手机软件Scrcpy

下载GitHub:https://github.com/Genymobile/scrcpy下载地址:https://github.com/Genymobile/scrcpy/releases快捷键ActionShortcutShortcut (macOS)切换全屏模式Ctrl+fCmd+f将窗口调整大小 1:1 (完美像素)Ctrl+gCmd+g...

2019-09-04 21:17:36 1716 1

转载 UML各种图总结精华

参考:https://zhuanlan.zhihu.com/p/44518805https://www.w3cschool.cn/uml_tutorial/uml_tutorial-yen728t6.htmlUML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。下面将对UML的九种图+包图的基本概念...

2019-09-02 15:24:27 370

原创 【java设计模式】单例模式(创建型模式)

简单理解单例模式程序员:“单例模式简单来说就是,每次下雨都买把伞太浪费了,不如买把伞放包里,要用就拿出来,省钱。”妹纸:“这样做听起来真是太棒了,那为什么不把所有的东西都做成这样呢?”程序员:“因为这样做也有它的缺陷,比如说妹纸和男朋友一起出门上班,下雨了只有一把伞就不够用道上的黑话叫做共享资源争用,或者线程冲突。”程序员:“因为伞这种东西是不能两个人共用的(黑话叫线程不安全对象),所...

2019-08-30 11:56:47 244

原创 【java设计模式】简单工厂、工厂方法、抽象工厂模式(创建型模式)

妹子最爱听的就是“我爱你”这句话了,见到不同地方的MM,要能够用她们的方言跟她说这句话哦,我有一个多种语言翻译机,上面每种语言都有一个按键,见到MM我只要按对应的键,它就能够用相应的语言说出“我爱你”这句话了,国外的MM也可以轻松搞定,这就是我的“我爱你”builder。(这一定比美军在伊拉克用的翻译机好卖)“Define an interface for creating an obj...

2019-08-29 14:41:45 273

原创 【ElasticSearch】Part6 - 其他查询(fuzzy、scroll... )

fuzzy有时候我们搜索的时候,是会打错别字的插入数据POST test/fuzzy/{ "content":"hello"}使用fuzzyGET test/fuzzy/_search{ "query": { "fuzzy": { "content": { "value": "hallo", //打错一个字母 "...

2019-08-28 15:57:00 177

原创 【ElasticSearch】Part7 - 在java中使用(TransportClient)

修改配置文件https://www.elastic.co/guide/cn/elasticsearch/guide/cn/important-configuration-changes.html修改安装目录>config>elasticsearch.yml文件新建maven项目,添加依赖version和你下载的版本保持一致<dependency> <g...

2019-08-28 14:59:51 557

原创 【ElasticSearch】Part5 - 批量增删改(bulk)

批量删除POST /_bulk{"delete":{"_index":"article","_type":"poems","_id":"1"}}{"delete":{"_index":"article","_type":"poems","_id":"2"}}{"delete":{"_index":"article","_type":"poems","_id":"3"}}{"delete...

2019-08-27 15:34:13 275

原创 如何用键盘控制windows窗口移动

有时候某个窗口的可拖动边框被移动到桌面外了,怎么把它给整回来?1、底部任务栏选中该窗口,或者alt+tab选中该窗口2、alt+space后按m键3、通过上下左右键移动窗口...

2019-08-27 11:04:01 4599

原创 chrome浏览器如何将网页保存为图片

1、ctrl+shift+i打开审查元素窗口2、ctrl+shift+p,输入full,回车

2019-08-27 10:55:26 2095 3

stresstester.7z

淘宝一个压测dubbo接口工具,提供StressTestUtils类各个方法用于压测

2019-06-28

dubbo-2.8.4.jar

Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。

2019-03-17

空空如也

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

TA关注的人

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