自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

黄亚的博客

软件从业者

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

原创 nginx 搭建http-flv(rtmp)流媒体的一次尝试

至此,整个搭建过程中的主要问题总结完毕,记录下以供后续使用,文章仅供参考,如有问题,请百度其他文章。

2023-05-30 09:43:32 1397

原创 postgresql 12配置主从备份注意事项

如题,最近尝试配置postgresql的主从模式,尝试了很久,终于成功了,现将配置过程中遇到的问题做如下总结:版本: 12.8系统:centeros所引用的博客CentOS PostgreSQL 12 主从复制(主从切换)问题1:pg_basebackup 指令出问题:pg_basebackup -h 主节点IP -p 5432 -U replica -Fp -Xs -Pv -R -D /var/lib/pgsql/12/data报错,不能识别 -R 指令,把-R删除后报错“unsuppo

2022-05-16 18:43:00 903

原创 跨域产生的原因

跨域产生的原因最近调整项目时老是碰到跨域的问题,索性做一个总结,方便后面查询复习使用:1.跨域是什么意思?首先一个url是由:协议、域名、端口 三部分组成。(一般端口默认80)如:https://blog.moonlet.cn:80当一个请求url的协议、域名、端口三者之间的任意一个与当前页面url不同即为跨域。2.跨域产生原因?出于浏览器的同源策略限制。同源策略(Same Orgin Policy)是一种约定,它是浏览器核心也最基本的安全功能,它会阻止一个域的js脚本和另外一个域的内容进

2021-08-24 17:06:31 631

转载 java 8 关键特性整理

近期重新回顾java8的一些特性,对一些小的知识点做了简单的整理,以备后面回顾查询使用:以下是看到的一些优秀的博客1、JDK8新特性:接口的静态方法和默认方法2、JDK8新特性:函数式接口@FunctionalInterface的使用说明3、Lambda表达式详解对接口的要求虽然使用 Lambda 表达式可以对某些接口进行简单的实现,但并不是所有的接口都可以使用 Lambda 表达式来实现。Lambda 规定接口中只能有一个需要被实现的方法,不是规定接口中只能有一个方法jdk 8 中有另一个新

2021-06-09 09:35:01 153

原创 RequestMapping处理同一url不同参数请求

最近做项目时,碰到了需使用同一url,但是参数完全不同的请求,经过一系列搜索,发现可采用如下方式,让不同的参数映射到不同的方法上@GetMapping(value = "/api", params = {"operation", "sChallenge", "sResponse"})在GetMapping中添加并设置 params属性,这样在匹配是就会根据不同的参数分别映射到不同的方法,注意参数名称需要与传递的一致。当然post类型的请求目前没有找到比较好的方式来区分。另附一遍博客.

2021-05-13 11:32:05 1490

转载 Nginx 转发匹配规则

此文章引用自https://www.jb51.net/article/183466.htm一、正则表达式匹配~ 为区分大小写匹配 ~* 为不区分大小写匹配 !~ 和 !~* 分别为区分大小写不匹配及不区分大小写不匹配二、文件及目录匹配-f 和 !-f 用来判断是否存在文件 -d 和 !-d 用来判断是否存在目录 -e 和 !-e 用来判断是否存在文件或目录 -x 和 !-x 用来判断文件是否可执行三.rewrite指令的最后一项参数为flag标记,flag标记有last 相当.

2021-05-13 09:30:44 1316

原创 nginx配置小结

最近准备详细了解下nginx的配置,为了方便以后的使用,对配置中自己感觉需要注意的细节做了一些总结:1、配置转发时路径截取方式在nginx中配置proxy_pass时,如果是按照^~匹配路径时,要注意proxy_pass后的url最后的/,当加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;如果没有/,则会把匹配的路径部分也给代理走。location ^~ /static_js/{proxy_cache js_cache;proxy_set_he...

2021-05-13 09:24:36 437

原创 项目部署时,centerOs系统环境搭建相关文档总结

Dokcer 安装Centos7上安装docker: https://www.cnblogs.com/yufeng218/p/8370670.htmlcentos7使用docker安装es(elasticsearch)忽略上方的docker安装步骤 https://www.cnblogs.com/pxblog/p/12234561.htmlrabbitMq安装CentOS7安装RabbitMQ https://www.cnblogs.com/fengyumeng/p/11133924.html

2020-10-22 09:38:03 198 1

原创 jackson反序列化失败InvalidFormatException: Can not deserialize value of type java.util.Date

今天调试接口的时候碰到了这个问题,String 转Date类型时,反序列话失败;caused by: com.fasterxml.jackson.databind.exc.InvalidFormatException:Can not deserialize value of type java.util.Date from String“2018-12-25 10:07:49”: not a valid representation (error: Failed toparse Date valu

2020-09-01 17:31:41 3565

原创 springboot中@Scheduled 和@Async的使用

如题,今天在知乎突然看到一份关于springboot自带调度器的问题思考,有这么一段内容“在使用@Scheduled注解时,如果不自己重新配置调度器,那么就会使用默认的,从而会导致一些调度执行上的问题”;联系到自己在程序中使用时没有关注到这个问题,因此仔细测试研究一番,最终了解了其中的一些关键思想。首先,需要了解@Scheduled 和@Async这俩注解的区别:@Scheduled 任务调...

2020-01-31 21:41:25 4038

原创 SpringBoot中addCorsMappings配置跨域与拦截器互斥问题的原因研究

如题,前两天在做前后端分离项目时,碰到了这个问题,登录token验证的拦截器使项目中配置的跨域配置失效,导致浏览器抛出跨域请求错误,跨域配置如下:public WebMvcConfigurer corsConfigurer() { return new WebMvcConfigurerAdapter() { @Override pu...

2020-01-08 16:26:29 19666 4

原创 shell中 >/dev/null 2>&1

shell中>/dev/null 2>&11./dev/null这条命令的作用是将标准输出1重定向到/dev/null中。/dev/null代表linux的空设备文件,所有往这个文件里面写入的内容都会丢失,俗称“黑洞”。那么执行了>/dev/null之后,标准输出就会不再存在,没有任何地方能够找到输出的内容。2>&1这条命令用到了重定向...

2019-09-28 11:07:53 696

转载 为什么我使用source /etc/profile这个命令之后,新的环境变量只能在一个终端里面有效?

为什么我使用source /etc/profile这个命令之后,新的环境变量只能在一个终端里面有效?为什么我使用source /etc/profile这个命令之后,新的环境变量只能在一个终端里面有效?各位大虾:我从网上得知,在ubuntu中,使用source /etc/profile命令可以使新建立的环境变量立刻生效而不用重新启动系统,但是如题,当我使用source /etc/profil...

2019-09-28 10:58:20 5891

转载 Redis提供的持久化机制(RDB和AOF)

Redis提供的持久化机制Redis是一种面向“key-value”类型数据的分布式NoSQL数据库系统,具有高性能、持久存储、适应高并发应用场景等优势。它虽然起步较晚,但发展却十分迅速。近日,Redis的作者在博客中写到,他看到的所有针对Redis的讨论中,对Redis持久化的误解是最大的,于是他写了一篇长文来对Redis的持久化进行了系统性的论述。文章主要包含三个方面:Redis持久化是...

2019-06-03 14:20:50 176

转载 LVS 介绍以及配置应用

1、负载均衡集群介绍1.1、什么是负载均衡集群负载均衡集群提供了一种廉价、有效、透明的方法,来扩展网络设备和服务器的负载、带宽、增加吞吐量、加强网络数据的处理能力、提高网络的灵活性和可用性。搭建负载均衡器的需求:1)把单台计算机无法承受的大规模的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待时间,提升用户体验2)单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处...

2019-05-30 16:48:55 1007

转载 zookeeper在dubbo中的作用

本文旨在表述出自己对于zookeeper在dubbo的作用的初步理解在对dubbo进行了初步的探索后,对于zookeeper在其中的作用不甚了解,因为本身对zookeeper就没有一个特别具体的概念,所以在这里思考一下,为什么要使用zookeeper或者说dubbo为什么要有注册中心一对一的调用Server A依赖Server B提供的RPC服务,因为Server B只有单一的一份,那么此时...

2019-05-29 10:50:36 1267

转载 Nginx工作原理

1 反向代理1.1 概念反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。举个例子,比如我想访问 http://www.test.com/readme,但www.test.com上并不存在readme页面,于是...

2019-05-28 18:27:34 2532

原创 java I/O : BIO、NIO、AIO的区别

简单的描述一下BIO的服务端通信模型:采用BIO通信模型的服务端,通常由一个独立的Acceptor线程负责监听客户端的连接,它接收到客户端连接请求之后为每个客户端创建一个新的线程进行链路处理 处理完成后,通过输出流返回应答给客户端,线程销毁。即典型的一请求一应答通宵模型。刚开始人们为了解决上面,高并发下服务器建立线程过多而枯竭,有人就想出了使用线程池来控制建立线程的数量,不至于服务器挂掉,于是...

2019-05-27 17:15:14 298

转载 Keepalived基本原理与配置参数介绍

最近在整理负载均衡的工具时,了解了下Keepalived这一解决单点故障的工具,为了方便以后的学习及使用,做了下诉的介绍:Keepalived简介Keepalived是Linux下一个轻量级别的高可用解决方案。高可用:广义来讲,是指整个系统的高可用行;狭义的来讲就是主机的冗余和接管。它与HeartBeat实现类似的功能,都可以实现服务或者网络的高可用,但是又有差别,HeartBeat是一个专...

2019-05-24 16:00:53 3188

转载 消息队列之 RabbitMQ

关于消息队列,从前年开始断断续续看了些资料,想写很久了,但一直没腾出空,近来分别碰到几个朋友聊这块的技术选型,是时候把这块的知识整理记录一下了。市面上的消息队列产品有很多,比如老牌的 ActiveMQ、RabbitMQ ,目前我看最火的 Kafka ,还有 ZeroMQ ,去年底阿里巴巴捐赠给 Apache 的 RocketMQ ,连 redis 这样的 NoSQL 数据库也支持 MQ 功能。总...

2019-05-22 17:38:57 348

转载 MySql的并发控制和故障恢复技术

事务隔离性的实现——常见的并发控制技术并发控制技术是实现事务隔离性以及不同隔离级别的关键,实现方式有很多,按照其对可能冲突的操作采取的不同策略可以分为乐观并发控制和悲观并发控制两大类。乐观并发控制:对于并发执行可能冲突的操作,假定其不会真的冲突,允许并发执行,直到真正发生冲突时才去解决冲突,比如让事务回滚。悲观并发控制:对于并发执行可能冲突的操作,假定其必定发生冲突,通过让事务等待(锁)或...

2019-05-20 18:28:37 1207

转载 ZooKeeper运行原理解析

我本人曾经使用过 ZooKeeper 作为 Dubbo 的注册中心,另外在搭建 Solr 集群的时候,我使用到了 ZooKeeper 作为 Solr 集群的管理工具。前几天,总结项目经验的时候,我突然问自己 ZooKeeper 到底是个什么东西?想了半天,脑海中只是简单的能浮现出几句话:Zookeeper 可以被用作注册中心。Zookeeper 是 Hadoop 生态系统的一员。构建 ...

2019-05-20 17:26:53 731

转载 Cglib动态代理实现原理

Cglib动态代理实现原理:我们先通过一个demo看一下Cglib是如何实现动态代理的。首先定义个服务类,有两个方法并且其中一个方法用final来修饰。public class PersonService { public PersonService() { System.out.println("PersonService构造"); } //该方法不...

2019-05-17 14:03:48 253

转载 java动态代理实现与原理详细分析

JDK动态代理的一篇好文,特地分享一下一、代理模式代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。简单的说就是,我们在访问...

2019-05-17 11:22:28 130

转载 深入理解Java:类加载机制及反射

开篇一张图,基本上一个类的加载过及内存分配全部包含了一、Java类加载机制1.概述Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数,属性和方法等,Java允许用户借由这个Class相关的元信息对象间接调用Class对象的功能。虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验,转换解...

2019-05-16 18:10:27 194

转载 Elasticsearch-基础介绍及索引原理分析

最近在了解Elasticsearch这款工具时,碰到了几篇比较好的科普文章,特意引过来,以备日后反复学习介绍Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Lucene 那么简单,它不仅包括了全文搜索功能,还可以进行以下工作:分布式实时文件存储,并将每一个...

2019-05-16 15:50:35 1367 1

转载 MyBatis框架及原理分析

MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架,其主要就完成2件事情:封装JDBC操作利用反射打通Java类与SQL语句之间的相互转换MyBatis的主要设计目的就是让我们对执行SQL语句时对输入输出的数据管理更加方便,所以方便地写出SQL和方便地获取SQL的执行结果才是MyBatis的核心竞争力。MyBatis的配置MyBatis框架和其他绝大部分框架...

2019-05-14 17:48:31 305

转载 线程用户态和内核态

(1)用户态和内核态的概念?—>内核态: CPU可以访问内存所有数据, 包括外围设备, 例如硬盘, 网卡. CPU也可以将自己从一个程序切换到另一个程序—>用户态: 只能受限的访问内存, 且不允许访问外围设备. 占用CPU的能力被剥夺, CPU资源可以被其他程序获取(2)为什么需要用户态和内核态?—>由于需要限制不同的程序之间的访问能力, 防止他们获取别的程序的内存数据,...

2019-05-14 13:59:52 8301

转载 select、poll、epoll之间的区别

(1)select==>时间复杂度O(n)它仅仅知道了,有I/O事件发生了,却并不知道是哪那几个流(可能有一个,多个,甚至全部),我们只能无差别轮询所有流,找出能读出数据,或者写入数据的流,对他们进行操作。所以select具有O(n)的无差别轮询复杂度,同时处理的流越多,无差别轮询时间就越长。(2)poll==>时间复杂度O(n)poll本质上和select没有区别,它将用户传入...

2019-05-11 18:25:16 1794

转载 Synchronized 和 Lock 锁在JVM中的实现原理以及代码解析

一、深入JVM锁机制:synchronizedsynrhronized关键字简洁、清晰、语义明确,因此即使有了Lock接口,使用的还是非常广泛。其应用层的语义是可以把任何一个非null对象作为"锁",当synchronized作用在方法上时,锁住的便是对象实例(this);当作用在静态方法时锁住的便是对象对应的Class实例,因为Class数据存在于永久带,因此静态方法锁相当于该类的一个全局锁;...

2019-05-10 16:50:34 242

转载 关系型数据库设计三大范式总结

数据库设计三大范式为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。在实际开发中最为常见的设计范式有三个:1.第一范式(确保每列保持原子性)第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。第一...

2019-05-07 16:48:21 3173

原创 静态资源加载的思考

静态资源的加载在web前端性能优化时有很重要的作用,因此本文尝试着分析常见的静态资源加载方式,部署容器采用tomcat:在进行Spring MVC的配置时,通常我们会配置一个dispatcher servlet用于处理对应的URL。配置如下:<servlet> <servlet-name>SpringMVC</servlet-name> ...

2019-05-05 14:59:21 453

转载 ExecutorService中对异常的处理

ExecutorService加强了Executor这个接口,并提供了submit方法以加强Executor中的execute方法,也正是因为这两个方法某些细微的差异,造成了对异常处理时两个方法的千差万别。在面对异常时,有如下几种场景Thread1.自定义UncaughtExceptionHandler 2.用 try/catch代码块包围3.自己实现Thr...

2019-04-23 15:49:19 6068 3

原创 Head First设计模式学习总结

1、策略模式:定义了算法族(行为组),分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的用户;1)对于一个复杂的对象,本身有不变的行为和变化的行为,为了进行合适的抽象,需要把不变的行为和变化的行为进行区分,然后分别包装,方便后续的扩展,当需要实现具体的对象时,再根据实际的需要实现自己的行为进行组合,达到自己的目的。2)在组合实现时,要动态的设定行为(通过set方法在需要...

2019-04-05 16:47:11 250

转载 java单例模式的写法及优缺点

单例模式是最常用到的设计模式之一,熟悉设计模式的朋友对单例模式都不会陌生。一般介绍单例模式的书籍都会提到 饿汉式 和 懒汉式 这两种实现方式。但是除了这两种方式,本文还会介绍其他几种实现单例的方式,让我们来一起看看吧。简介单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序...

2019-03-18 18:11:48 985

转载 docker下启动nginx并配置ssl协议

普通的安装与配置可参考这篇文章:Docker nginx安装与配置挂载docker安装nginx并配置通过https访问根据自己的配置实践,强调一点:启动时,要正确挂载配置中所指向的目录,否则无法找到相关的文件会造成启动的失败,特意mark一下,以供以后参考下面的配置即为我为了实现小程序mqtt通信而配置的mqtt服务代理内容:server{ listen 80; l...

2019-03-18 16:40:55 882

原创 Java中 String str = new String("hello");的底层实现

String str = &quot;hello&quot;;String str2 = new String(&quot;hello&quot;);上面两中创建 string对象的方式底层实现的不同之处:(1)首先,先确定String常量池的定义:常量池(constant pool)指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据。它包括了关于类、方法、接口等中的常量,也包括字符串常量。Java为了提高...

2019-03-18 16:16:56 3122 2

转载 HTTPS原理和CA证书申请(满满的干货)

读到这篇博客,对https的原理介绍的比较详细且生动,为了防止丢失,mark一下,以下是原文链接https://blog.51cto.com/11883699/2160032众所周知,WEB服务存在http和https两种通信方式,http默认采用80作为通讯端口,对于传输采用不加密的方式,https默认采用443,对于传输的数据进行加密传输目前主流的网站基本上开始默认采用HTTPS作为通信...

2019-03-05 13:42:45 8247 6

原创 SpringMVC的处理器适配器-HandlerAdapter的用法

如题,今天看spring源码解析这本书时,看到了这个地方,对于不同HandlerAdapter的使用场景有的困惑,主要还是没见过,因为大多数面向的Controller类型的HandlerAdapter;HandlerAdapter目前最常见的主要为:1、 SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter 、AnnotationM...

2019-02-21 15:44:50 2094

原创 SpringBoot JPA 懒加载的问题 ---No session

当前项目中使用的orm框架为 JPA,其所使用的实现类是以Hibernate为基础的;问题描述:代码逻辑大致如下 public class EntiryA{ int a; int b; String c; @OneToMany(cascade = CascadeType.ALL, mappedBy = &amp;quot;Property&amp;quot;, fetch...

2018-12-12 16:09:41 4434

spring-cglib-repack-3.2.6 和 spring-objenesis-repack-2.6

spring源码解析时,需要额外引入的最新jar包,注意版本号,使用时把最后的.0去掉即可

2018-05-13

vc++版的斗地主和麻将游戏及参考资料

用vc++写的两个项目:斗地主 和 麻将,以及相关的一些参考资料。感兴趣的朋友可以下载一下。

2018-01-11

空空如也

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

TA关注的人

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