自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

贺爷演示技术流

做正确的事儿,不做容易的事儿

  • 博客(66)
  • 收藏
  • 关注

原创 全网最新 Skywalking 6.1.0部署进kubernetes(k8s) 包含springcloud测试用例

skywalking-kubernetes轻松将skywalking 6.0部署进kubernetes(k8s)完整ui oap es模块 可以基于k8s快速构建起一个完整本地skywalking本地测试开发环境适用范围我弄这个主要是为了本地测试k8s 搭建skywalking 学习了解之后逐步迁移到生产环境但是skywalking官方apache/skywalking-kubernet...

2019-05-14 18:27:18 6431 6

原创 同步异步 阻塞非阻塞(NIO) IO线程多路复用 极简阐述

同步异步 阻塞非阻塞:废话不说,老张爱喝茶,煮开水,有两个水壶,普通水壶,响水壶(水开会提示)(引自)同步就是普通水壶烧开水,要没事儿自己过来来看开没开;异步就是响水壶烧开水,水开了水壶响了通知你。阻塞是烧开水的过程中,你不能干其他事情(即你被阻塞住了);非阻塞是烧开水的过程里可以干其他事情。比如出去和老相好聊聊天,去客厅看看电视;同步与异步说的是你获得水开了的方式不同。阻塞与非阻塞说的是你得到结...

2018-03-20 17:38:57 1512

原创 同步异步 阻塞非阻塞(NIO) 极简解释

废话不说,老张爱喝茶,煮开水,有两个水壶,普通水壶,响水壶(水开会提示)同步就是普通水壶烧开水,要没事儿自己过来来看开没开; 异步就是响水壶烧开水,水开了水壶响了通知你。 阻塞是烧开水的过程中,你不能干其他事情(即你被阻塞住了),只能站那等水开; 非阻塞是烧开水的过程里可以干其他事情。比如去客厅看看电视; 同步与异步说的是你获得水开了的方式不同。 阻塞与非阻塞说的是你得到...

2018-03-20 16:32:11 524

原创 SpringBoot设计模式-建造者模式/静态内部类的应用

建造者模式用途:使得类可以以链式方法实例化对象意义:其实现是静态内部类的典型应用,可以让大家很好理解静态内部类的意义为什么用内部类? 为什么是静态?首先,实例化对象的常见做法就是创建一个空实例,然后多次调用set方法;public class User { private String name; private Integer age; public void...

2018-03-07 21:25:02 7890 1

原创 JS实现 浏览器判断本地是否安装程序,并下载与启动 Chrome,IE,360可用

场景需求:最近工程的一个需求,用户点击链接: 软件已经存在,则打开软件 软件未安装,则提示用户下载; 问题可以拆分成两部分:判断软件是否存在,未安装时会提示用户安装;已安装软件,则点击打开软件;超链接打开本地程序<a href="glcloud://"></a><a href="mailto://[email protected]:"></a>点击即可启动本地软件,很神奇,

2018-02-02 15:49:56 22834 11

原创 Java反射 类类型就是可以操作的类本身 如何通过反射得到函数 函数返回值 函数参数

Java反射的个人理解:反射就是一种 了解类并使用类 的一套方法;学过Java基础的都知道如何进行类的实例化,也知道通过实例调用变量或者方法; 但很多时候类不是我们自己写的,所以我们对类不是很了解,这个时候可以通过反射来了解或者调用类本身。 假设有个类 名字是AClass A{} 了解这个类我们可以用它创建变量,调用函数,但是当你不知道这个类,那么关于函数本身是不是无从下手,怎么办?

2017-07-19 17:08:56 2697

原创 js bind函数详解

bind使用// bind会构造一个新函数// call 等会直接调用原函数 bind是新建函数 可以改变参数结构function p(a, b, c) { console.log('a>>', a) console.log('b>>', b) console.log('c>>', c)}// f0指向this实例 a b c三个参数都在f0 = p.bind(this)f0(1, 2, 3)// a参数已经被100占据 f1函数

2020-09-15 10:01:56 1446 1

原创 mysql groupby后选择了哪一条

结论排序后 每个聚合键的第一条所以可以通过排序来控制groupby的最终结果实验测试如下 按照uid聚合未排序 默认主键升序select uid,name from tmp group by uid1 C2 Xname升序select * from(select uid,name from tmp order by name asc)tmp group by uid...

2020-02-11 13:42:38 1325

原创 Thrift 0.9.3 Mac安装 实测有效

Thrfit版本0.9.3安装brew install https://gist.githubusercontent.com/chrislusf/8b4e7c19551ba220232f037b43c0eaf3/raw/01465b867b8ef9af7c7c3fa830c83666c825122d/thrift.rb下载二进制包wget https://www-us.apache.or...

2019-09-06 18:25:41 700

原创 Mac homebrew 安装thrift 0.9.3 亲测有效

控制台输入brew install https://gist.githubusercontent.com/chrislusf/8b4e7c19551ba220232f037b43c0eaf3/raw/01465b867b8ef9af7c7c3fa830c83666c825122d/thrift.rb

2019-09-05 16:23:56 1476

原创 一文读懂锁、CAS、volitale 附赠并发学习神文(英文版)

Disruptor的恐怖性能之前看了很多关于并发的中文文章 感觉没有特别吃透,最近在研究一个高性能消息队列的时候 在具体的场景下关于三者区别有更深的体会 首先介绍一下主角 Disruptor是一个高性能高吞吐低延迟 并发读写队列的实现对比一下官方ArrayBlockingQuene延迟显著减小,那么我想问Disruptor你为何如此优秀?锁的性能开销disruptor做了一个及其简单但及...

2019-07-26 16:36:00 215

原创 Http2与Http1.1比较

Key FeaturesHTTP/2 has the following key features compared to HTTP/1.1:Binary Protocol 二进制协议HTTP/2 is a binary protocol. This means that it is much more efficient on the wire, however as a result...

2019-07-26 13:59:24 645

原创 查看java程序启动参数

jps查找pid为18633jcmd 18633 VM.flags jmap -heap 18633 jinfo -flags 18633 查看gcjstat -gc 18633

2019-05-16 10:13:40 3618

原创 jmap jinfo报错Operation not permitted

问题jstat -gc 18633 可以jcmd 18633 VM.flags 可以jmap -heap 18633 报错jinfo -flags 18633 报错Caused by: sun.jvm.hotspot.debugger.DebuggerException: Can’t attach to the process: ptrace(PTRACE_ATTACH, …) fai...

2019-05-16 10:11:56 3307

原创 解决ubuntu系统 dns覆盖写入127.0.0.53的问题

问题ubuntu18.04LTS搭建k8s coredns组件报错因为/etc/resolve.conf中存在 nameserver 127.0.0.53回环地址造成循环引用手动修改无果,每次重启依旧会覆盖原因ubuntu17.0之后特有,systemd-resolvd服务会一直覆盖解决办法sudo systemctl stop systemd-resolvedsudo syste...

2019-05-15 09:31:27 23659 2

原创 k8s dns主机名无法正常解析 coredns服务一直处于 CrashLoopBackOff状态

k8s dns主机名无法正常解析 coredns服务一直处于 CrashLoopBackOff状态kubectl log coredns-fb8b8dccf-m45nb发现log中有致命错误[FATAL] plugin/loop: Loop (127.0.0.1:44222 -> :53) detected for zone认真研读官方文档,原因是coredns会读取系统/etc/r...

2019-05-14 17:13:38 7984

原创 Centos7 搭建MongoDB4.0复制集教程(最新、完整、超详细)

最新Centos7 MongoDB4.0的复制集、鉴权、主从同步和读写分离搭建完整教程架构搭建环境mongodb版本:4.0.6华为云服务器Centos7.5ip角色192.168.1.13主192.168.1.109从192.168.1.159监听者下载安装1. 下载rpm包官网下载地址服务端mongod:mongodb-org-s...

2019-02-13 10:35:26 2076 1

原创 命令行cmd一键永久彻底关闭 Windows Defender

在Cortana搜索栏中输入cmd,右键选择管理员身份运行。输入reg add &quot;HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender&quot; /v &quot;DisableAntiSpyware&quot; /d 1 /t REG_DWORD来关闭Windows defender。...

2019-02-12 15:31:43 39244 7

原创 将jar安装到maven本地仓库

解压sequoiadb-driver-3.0.1.jarj为例,解压jar包在/META-INF/maven/com.sequoiadb/sequoiadb-driver找到pom.properties文件里面记录了jar包三坐标 version=3.0.1 groupId=com.sequoiadb artifactId=sequoiadb-driver在bash或者cmd中拼写下面的安...

2019-02-11 10:10:21 594

原创 对缓冲区的理解

一、什么是缓冲区缓冲区(buffer),它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区,显然缓冲区是具有一定大小的。缓冲区根据其对应的是输入设备还是输出设备,分为输入缓冲区和输出缓冲区。二、为什么要引入缓冲区我们为什么要引入缓冲区呢?高速设备与低速设备的不匹配,势必会让高速设备花时间等待低速设备,我们可...

2019-01-31 09:43:21 4296

原创 ApplicationContextAware,ServletContextAware等Aware接口的理解

Aware接口理解Aware的意思是感知ApplicationContextAware可以获得 ApplicationContext上下文资源ServletContextAware可以获得ServletContext上下文资源…实现xxAware接口的子类,会覆盖对应的setXX()方法,从而可以获得Spring容器中的xx资源ApplicationContextAware实例A...

2019-01-28 15:22:02 1578

原创 SpringCloudEureka起步依赖:如何将eureka嵌入spring

如何通过起步依赖将eureka纳入Spring的框架学会后,大家可以将其他第三方包纳入spring的管理框架Spring-cloud-eureka与Eureka的关系spring-cloud-eureka等基于eureka开发通过配置类,实现eureka的接口完成spring-cloud-eureka的起步依赖基于org.springframework.cloud:spring-clou...

2019-01-28 12:02:25 3116

原创 Sequoiadb PostgreSQL引擎 安装postgis,librouting,www_fdw等通用插件

今天猴子给大家讲讲如何为安装PostgreSQL,并能像普通PostgreSQL一样安装postgis,librouting,www_fdw等插件首先明确的以简事儿划重点:Sequoiadb官方文档强调只支持PostgreSQL9.3.4版本所以最好用Sequoiadb官方推荐的SAC部署包的形式安装和启动,保证PostgreSQL可用总体流程安装SDB PostgreSQL 并正...

2019-01-25 17:03:21 772

原创 devstack:如何使用openstack命令行访问服务

controller节点访问http://127.0.0.1/dashboard/project/api_access/下载admin-openrc.sh文件(里面包含了各种授权信息,包括用户名,项目名,项目ID等) 在shell中执行:source admin-openrc.sh之后就可以使用openstack命令行访问服务查询tokenopenstack tok...

2018-10-26 17:48:51 944

原创 0920-logback-spring.xml自定义按时间分割日志,指定某个类输出到某个文件

废话不多说,直接看代码,里面有注释很好理解 目录结构 &lt;?xml version="1.0" encoding="utf-8" ?&gt;&lt;configuration xmlns="http://ch.qos.logback/xml/ns/logback" xmlns:xsi="http://www.w3.org/2001/XMLSchem...

2018-09-20 20:26:33 2469 1

原创 0920-TCP断线重连 reconnect

问题最近使用AD域LDAP通信碰到一个TCP底层问题,一个链接第一次点击失败,再点击就正常;过一段时间又会出现这一情况;跟踪日志发现:The connection is not established定位问题:连接是有的,但是没有保活(自行百度)建立连接后,过了很久连接中断,但是客户端没有收到服务端的信息,认为是有效连接,尝试连接时会报错解决办法1 客户端和服务端设置保...

2018-09-20 20:10:52 3401

原创 0918 图解设计模式 简单工厂/工厂模式/抽象工厂/策略

工厂模式为了创建具有相似行为和属性的对象想了一个很贴近生产,容易理解的例子,比如我要实现一个接收器receiver有相同的行为receive(),但是具体实现不同,分为UDP和TCP两种简单工厂/工厂模式简单工厂可以算是工厂模式的特例,比较懒惰,要改原有代码的‘比较懒的工厂模式’,两者区别如下图所示抽象工厂上个例子中只有接受器,构成一个两个产品的产品树,但很多时候产品树...

2018-09-18 10:53:47 221

原创 0914-npm EACCES: permission denied权限问题官网终极解决办法

npm install遇到权限问题,但是无论如何改变权限都不起作用gyp ERR! configure error gyp ERR! stack Error: EACCES: permission denied, mkdir '/var/lib/jenkins/workspace/microHomeStaticPage/node_modules/node-sass/.node-gyp'g...

2018-09-14 19:08:44 11919 2

原创 0914-Jenkins yum安装默认jenkins用户权限问题 导致maven编译权限错误 (Permission denied)

问题jenkins部署项目maven编译时报错Parsing POMsFailed to transfer Could not transfer artifact org.springframework.boot:spring-boot-starter-parent:pom:2.0.3.RELEASE from/to AliMaven (http://maven.aliyun.com/...

2018-09-14 18:01:54 8120

原创 LocalDateTime序列化反序列化

LocalDateTimeTime序列化与反序列化LocalDateTime时间的序列化和反序列化比较复杂,很多时候无法反序列化成功,主要场景包括springmvc自带的LocalDateTime序列化与反序列化 jackson处理后的LocalDateTime序列化与反序列化Controller层使用的是MVC自带的反序列化工具,使用Jackson序列化后会报如下错误错误很清楚,...

2018-08-29 15:43:56 11505

原创 Mybatis注解 动态拼装任意形式传参MySQL语句 List传参示例

动态拼装mysql语句目前使用Mybatis注解逐渐取代xml成为主流然而动态注入SQL语句,list传参,动态添加where判断成为程序员比较头疼的问题,目前有三种办法1.配置xml(不推荐)2.注解中写xml脚本@Select(&lt;script&gt;...&lt;/script&gt;)(不推荐,可读性非常差)3.使用Java类中的Java方法拼写Mysql语句(推荐...

2018-08-14 09:51:31 1575

原创 JAVA正则匹配matches和matcher不要同时使用 matcher.find()方法不起作用或异常

JAVA正则匹配matches和matcher不要对于同一个matcher对象同时使用 本来想做一个手机号匹配;+861237777888886-123777788888612377778888使用匹配为(+86) (12377778888)两部分,代码如下 使用matcher部分匹配,并分组private final static String IDEN_R...

2018-08-09 17:03:48 3037

原创 【JAVA学习笔记】JAVA 反编译 JVM指令集

JAVA反编译掌握反编译可以更好的帮助我们理解JVM虚拟机 ,如下是简单的一段try catch代码@Test public void testTryCatch(){ try { System.out.println("Try Before"); int a=10/0; System.out....

2018-07-25 09:23:28 879

原创 【JAVA 学习笔记】try catch finally实例详解 如果有return怎么办

try-catch-finally @Test public void testTryCatch(){ try { System.out.println("Try Before"); //发生异常 int a =10/0; System.out.println("Try A...

2018-07-25 08:53:46 188

原创 fastjson反序列化嵌套类为对应实体类 ResultObject的反序列化及泛型优化

 内部类反序列化问题工程中,常常使用ResultObject类或者Msg类作为通用返回类型@Datapublic class Msg { private String type; //data字段,Object类型,通常需要转换为对应实体类 private Object data;}其中data字段类型为Object类,但是工程中往往需要将其序列化成对...

2018-07-24 09:44:15 3512

原创 MySQL left join,right join,inner join 以及where和on的区别

Left join,Right join,Inner join 首先Join的前提是两个有相同的变量作为连接纽带,left join 和 right join如下图所示,inner join则是两圆交集举个例子,user表和group表通过gid字段连接,有交集,有补集Right JoinLeft JoinInner Join这样大家对Join的理解应该很清晰了where和on的区别Where是对...

2018-07-12 19:51:37 5989

原创 Linux Shell脚本:自动读取pid并关闭进程

生产中有许多场景需要用shell脚本批量关闭某一进程,如Jekins部署,es集群的重启等,命令如下查询进程信息ps -ef|grep elasticsearch过滤掉grep进程ps -ef|grep elasticsearch|grep -v grep提取pid(awk以空格分割,显示第二个变量即为pid)ps -ef|grep elasticsearch|grep -v grep|awk '...

2018-06-19 19:05:51 19276 3

原创 IDEA debug模式卡住/无法进入debug/Tomcat启动失败

使用IDEA进行debug的时候,卡在requesthandler之前一直没反应,无法调试

2018-06-19 15:55:29 7907 4

原创 RedisDesktopManager 所有可能及解决办法

第一步:检查网络连接在自己的本机外面试下能不能连接上,打开cmd,使用 ping 192.168.65.128  (192.168.65.128这个为虚拟机的ip地址 查看虚拟机的ip地址:命令 ifconfig)第二步:添加密码在redis的配置文件(redis.conf)里面是否设置了requirepass  表示连接的密码,如果没有设置,不好意思,连接不上第三步: 在redis的配置文件里面...

2018-03-28 19:30:53 10462

原创 java clone 浅拷贝 深拷贝

原文链接地址 Java常见面试题:java clone 浅拷贝/深拷贝  也叫浅复制/深复制什么是拷贝?开始之前,我要先强调一下 Java 中的拷贝是什么。首先,让我们对引用拷贝和对象拷贝进行一下区分。 引用拷贝, 正如它的名称所表述的意思, 就是创建一个指向对象的引用变量的拷贝。如果我们有一个 Car 对象,而且让 myCar 变量指向这个变量,这时候当我们做引用拷贝,那么现在就会有两个 myC...

2018-03-27 16:35:37 160

空空如也

空空如也

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

TA关注的人

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