- 博客(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关注的人