自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 postgresql运维之远程迁移

背景:高可用架构版本。主备分别部署在机器A和B上,现在要将其分别迁移到机器C和D上。思路:1、首先根据源实例的备份(云盘上可用snapshot),创建一个mirror实例,mirror包含两个节点,分别部署在C和D上。2、在源实例主节点hba.conf中增加mirror主节点的ip的设置,允许源实例主节点接受来自mirror主节点的连接。3、mirror实例主节点,创建recovery.conf文件,设置primary_conninfo指向源主节点。启动mirror主节点,建立源实例主到mi

2020-06-30 18:01:35 281

原创 dubbo总结

dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。架构参考:https://github.com/Snailclimb/JavaGuide/blob/master/docs/system-design/data-communication/dubbo.md上述节点简单说明:Provider:暴露服务的服务提供方 Consumer:调用远程服务的服务消费方 Registry:服务注册与发现的注册中心 Monitor:统计...

2020-06-27 17:18:11 194

原创 怎么理解RPC?

参考:https://www.zhihu.com/question/41609070/answer/1030913797RPC(romote procedure call):远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。过程其实就是方法。所以PRC可以理解为远程方法调用。这里的远程调用是相对于本地调用的。假如你有一个Calculator接口,以及他的实现类CalculatorImpl, 在单体应用中,要调用Calculator的add方法来执行一个加运算

2020-06-27 10:44:32 252

原创 windows下使用zkui

zkui是zookeeper的图形化界面客户端,zookeeper的安装见(https://blog.csdn.net/qq_35462323/article/details/106939598)1、从源代码生成可执行jar。zkui在github上的地址:https://github.com/DeemOpen/zkui项目下载下来,可以选择用git clone,或者直接用浏览器下载压缩包,最后都是为了解压后的文件夹。2、解压文件夹,在项目根目录执行maven clean install,执

2020-06-25 12:30:26 636

原创 Unable to locate Spring NamespaceHandler for XML schema namespace :dubbo 报错

dubbo项目报错:Unable to locate Spring NamespaceHandler for XML schema namespace [http://dubbo.apache.org/schema/dubbo]dubbo依赖配置: <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</ar.

2020-06-25 11:33:14 596

原创 Java的SPI机制

参考:https://www.jianshu.com/p/46b42f7f593chttps://blog.csdn.net/djrm11/article/details/88695347SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的API,它可以用来启用框架扩展和替换组件。SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。正因此特性,我们可以很容

2020-06-24 19:38:36 274

原创 zookeeper单机模式安装(windows)

参考:https://blog.csdn.net/tlk20071/article/details/520289451、下载地址:https://mirrors.cnnic.cn/apache/zookeeper/,选择最新的版本进行下载。我是下载的zookeeper-3.4.14.tar.gz2、解压解压到指定目录下,我是D:\zookeeper-3.4.14。3、修改D:\zookeeper-3.4.14\conf\zoo_sample.cfg文件名为zoo.cfg,文件内容..

2020-06-24 11:15:28 273

原创 java的乐观锁和悲观锁

参考:https://www.cnblogs.com/jyroy/p/11365935.htmlhttps://www.jianshu.com/p/ae25eb3cfb5d乐观锁和悲观锁乐观锁和悲观锁是一种广义上的概念,体现了看待线程同步的不同角度。乐观锁:对于并发操作产生的线程安全问题持乐观态度,认为自己在使用数据时不会有别的线程修改数据,所以不会添加锁,只是在更新数据的时候去判断之前有没有别的线程更新了这个数据,如果这个数据没有被更新,当前线程将自己修改的数据成功写入。如果数据已经被

2020-06-23 22:05:14 2703

原创 linux chmod 750 filename命令分析

chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限。格式:chmod xxx 文件名xxx代表三个阿拉伯数字,比如此处的750。这三个数字,第一个数字表示文件所有者的权限。 第二个数字表示文件所有者同属一个用户组的其他用户的权限。 第三个数字表示其他用户组的权限。权限分为三种:读(r=4),写(w=2),执行(x=1)。有几种组合方式比如:可读可行可执行(rwx=7=4+2+1),可读可执行(rx=5=4+1),可读可写(rw=6=4+2),没有权限

2020-06-22 16:21:18 6800

原创 dockerfile 与 docker-compose的区别

参考:https://blog.csdn.net/londa/article/details/91815208docker 的使用过程,它分为镜像构建与容器启动。镜像构建:即创建一个镜像,它包含安装运行所需的环境、程序代码等。这个创建过程就是使用 dockerfile 来完成的。容器启动:容器最终运行起来是通过拉取构建好的镜像,通过一系列运行指令(如端口映射、外部数据挂载、环境变量等)来启动服务的。针对单个容器,这可以通过 docker run 来运行。而如果涉及多个容器的运行(如服务编排)

2020-06-19 17:57:29 438

原创 java面试题

基本- “a==b”和”a.equals(b)”有什么区别?答案:如果 a 和 b 都是对象,则 a==b 是比较两个对象的引用,只有当 a 和 b 指向的是堆中的同一个对象才会返回 true,而 a.equals(b) 是进行逻辑比较,所以通常需要重写该方法来提供逻辑一致性的比较。例如,String 类重写 equals() 方法,所以可以用于两个不同对象,但是包含的字母相同的比较。- a.hashCode() 哈希 有什么用?与 a.equals(b) 一口式方法 有什么关系?答..

2020-06-19 10:21:17 333

原创 id: cannot find name for user ID xxx

root用户登录显示正常但以普通用户登录时或执行whoami时报错,命令:su pd2030(或者whoami)。报类似如下错误:id: cannot find name for user ID 1000id: cannot find name for group ID 1000id: cannot find name for user ID 1000然后原本应显示用户名的位置被“I have no name!”代替。原因:/etc/passwd和/etc/group other权限

2020-06-18 13:34:45 2273

原创 postgresql之replication slot

参考:http://mysql.taobao.org/monthly/2015/02/03/replication slot是什么?replication slots 是从 postgresql 9.4 引入的,主要是提供了一种自动化的方法来确保主控机在所有的后备机收到 WAL 段之前不会移除它们,并且主控机也不会移除可能导致恢复冲突的行,即使后备机断开也是如此。为了防止 WAL 被删,SLOT restart_lsn 之后的WAL文件都不会删除。(wal_keep_segments 则是一个人

2020-06-17 16:17:14 10436

原创 idea @Override is not allowed when implementing interface method

项目基于jdk8。@Override报错:@Override is not allowed when implementing interface method解决:1、File ——> Project Structure ——>[ 项目名称 ]——>Language level 修改成 “8-Lambdas,type annotations etc.”

2020-06-16 15:30:55 176

原创 java并发三剑客之CyclicBarrier、CountDownLatch、Semaphore

看了大佬的专栏,https://blog.csdn.net/heihaozi/category_10085170.html。感叹,写的真好。自己总结记录下。CyclicBarrierCyclicBarrier: 循环栅栏,通过它可以实现让一组线程等待至某个状态之后再全部同时执行。这个状态可以说是barrier,当调用await之后,线程就处于barrier状态了。怎么理解循环?循环是因为当所有等待线程都被释放以后,CyclicBarrier可以被重用。...

2020-06-15 16:37:45 349 1

原创 java序列化之writeObject 和readObject

什么是序列化和反序列化?序列化:将对象转化为字节的过程称为序列化过程。反序列化:将字节转化为对象的过程称为反序列化。序列化主要应用于网络传输和数据存储的场景。在java中,只有类实现了java.io.serializable接口,该类才能被序列化。示例Demo1.java:package com.example.demo;import java.io.*;public class Demo1 { public static class Person implements S

2020-06-05 15:21:04 7751

原创 常用数据结构之线性表

线性表(linear list)是数据结构的一种,一个线性表是n个具有相同特性的数据元素的有限序列。线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。就像小学生排队过马路一样,彼此手拉手,每份数据的前面和后面各有一份数据,从整体上看连成了“一条线”。线性表中的个数n定义为线性表的长度,n=0时称为空表。在非空表中每个数据元素都有一个确定的位置,如用ai表示数据元素,则i称为数据元素ai在线性表中的位序。线性表的相邻元素之间存在着序偶关系。如

2020-06-04 18:51:09 330

原创 SpringBoot之常用注解@value、@Import、@ImportResource等

前面的文章中有提到Spring中bean的配置方式有三种:基于xml的配置、基于注解的配置和基于java的配置。而SpringBoot提倡基于Java的配置。其常用的配置有@Value、@Import、@ImportResource、@PropertySource@Value通过@Value可以将外部的值动态注入到Bean中。比如application.properties中添加属性:domain.name=testxxx怎么引用? @Value("${domain.name

2020-06-04 14:38:22 990

原创 @Autowired 与@Resource注解的区别

区别:@Autowired默认是按类型装配,且这个注解是属于spring的,默认情况下必须要求依赖对象必须存在,如果要运行null值,可以设置它的required属性为false,即@Autowired(required=false)。如果我们想使用名称装配可以结合@Qualifier注解进行使用,如下:@Resource默认是按照名称来进行装配。名称可以通过name属性进行指定,如果没有指定name属性,当注解写在字段上时,默认取字段名,按照名称查找,如果注解写在setter方法上默认取属性名进行

2020-06-04 11:41:53 199

原创 附近地点搜索解决方案之基于球面距离公式的算法

球面上任意两点之间的距离计算,我们采用Haversine公式。其中R为地球半径,取6371km; φ1, φ2表示两点的纬度; Δλ 表示两点经度的差值。 d就是我们要求的距离用python实现下计算球面两点之间距离的函数:from math import sin, asin, cos, radians, fabs, sqrtEARTH_RADIUS=6371 # 地球平均半径,6371kmdef hav(theta): s = s...

2020-06-03 17:48:42 558

原创 @Controller和@RestController的区别

区别:@Controller:使用@Controller注解,在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面若返回json等内容到页面,则需要加@ResponseBody注解。@RestController:相当于@Controller+@ResponseBody两个注解的结合,返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,ht

2020-06-03 14:30:53 369

原创 java之Class类

Class类也是一个Java类,它也可以实例化得到对象,与普通类不一样的是Class类中存储的是其它类的类型信息。位于java.lang包。声明:public final class Class<T>implements java.io.Serializable, java.lang.reflect.GenericDeclaration,java.lang.reflect.Type,java.lang.reflect.AnnotatedElementclass类有final 修饰.

2020-06-01 18:54:34 3643

空空如也

空空如也

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

TA关注的人

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