Java8 Optional 开发常见用法

class Info { String a; public String getA() { return a; } public void setA(String a) { this.a = a; } } 第一个例子针对空指
2021-12-27

Nginx相关命令

查看Nginx的版本号:nginx -V 启动Nginx:start nginx 或者 nginx 快速停止或关闭Nginx:nginx -s stop 正常停止或关闭Nginx:nginx -s quit 配置文件修改重装载命令:nginx -s reload 查看windows
2021-12-24

屏蔽Postman自动更新

hosts文件添加127.0.0.1 dl.pstmn.io 127.0.0.1 sentry-app.postmanlabs.com
2021-12-23

SpringBoot加载外部配置文件的几种方式

一@PropertySource("file:F:/my.properties") @Configuration @ConfigurationProperties(prefix = "my") public class TestConfig { private String url;
2021-12-02
观察者模式与SpringBoot应用

观察者模式与SpringBoot应用

当对象间存在一对多关系时, 则使用观察者模式(Observer Pattern). 比如, 当一个对象被修改时, 则会自动通知依赖它的对象.优点:观察者和被观察者是抽象耦合的建立一套触发机制SpringBoot应用场景在SpringBoot启动流程中org.springframework.boot.
2021-11-30

Java SPI机制与应用

SPI全称Service Provider Interface, 是Java提供的一套用来被第三方实现或者扩展的接口实际上是"基于接口的编程+策略模式+配置文件"组合实现的动态加载机制, 更是设计模式的生动体现它可以用来启用框架扩展和替换组件. SPI的作用就是为这些被扩展的API寻找服务实现我们一
2021-11-29

MySQL优化-表结构设计

首先明确一个, 减少占用的存储空间, 可以减少操作时占用的内存, 可以提高CPU处理效率字符串的ip地址可以转换为整数类型存储, mysql提供INET_ATON()和INET_NTOA()进行转换尽量避免字段允许为NULL, 字段为NULL会占用额外空间整数类型可以选择置为无符号, 同样的存储空间
2021-11-14

C++Web框架Drogon

Drogon是一个基于C++14/17的Http应用框架,使用Drogon可以方便的使用C++构建各种类型的Web应用服务端程序。Drogon的主要应用平台是Linux,也支持Mac OS、FreeBSD和Windows。它的主要特点如下:网络层使用基于epoll(macOS/FreeBSD下是kq
2021-11-09

Nginx+Frp+Docker实现HTTPS内网穿透

内网穿透实用性非常强, 例如支付回调/访问内网数据库域名dns需要解析到服务器地址frp下载地址https://github.com/fatedier/frp/releases下载这两个文件frp_0.38.0_linux_amd64.tar.gzfrp_0.38.0_windows_amd64.z
2021-10-29

Nginx反向代理-传统单体项目相关配置

nginx.confserver { listen 80; server_name blog.22xcode.com; #路径重写, http转https rewrite ^(.*)$ https://$host$1 permanent; } blog.confse
2021-10-29

C++ Web 框架 Oat++

Oat++轻量、跨平台、高性能、完全零依赖Oat++ 主页:https://oatpp.ioOat++ 文档:https://oatpp.io/docs/startGitHub 地址:https://github.com/oatpp/oatpp其主要特性有:随处运行Oat++ 没有任何依赖性,可以很
2021-10-25

weixin-java-pay对接微信V3支付记录

https://github.com/binarywang/weixin-java-pay-demo这个demo里, 没有v3版本的配置, 这里记录一下v3支付, 相对之前的版本来说, 更为安全, 也相对繁琐一些, 而且请求和响应都使用了json格式的数据1. 配置发起支付所需的配置有三个证书文件,
2021-10-16
大字段如何对查询产生影响

大字段如何对查询产生影响

一些应用, 在表结构的设计上使用了text或者blob的字段;其中一个应用,对blob/text字段的依赖非常的严重,查询和更新的频率也是非常的高,单表的存储空间已经达到了近100G,这个时候,应用其实已经被数据库绑死了,任何应用或者查询逻辑的变更几乎成为不可能;为了清楚大字段对性能的影响,我们必须
2021-10-10

更改Nacos配置文件缓存路径

Nacos会对远程拉下来的配置文件做缓存处理默认在%USER_DIR%/nacos/config下Naocs在com.alibaba.nacos.client.config.impl.LocalConfigInfoProcessor这个类里进行路径处理static { LOCAL_F
2021-09-26

SpringCloudAlibaba搭建过程踩坑记录

Nacos如果使用docker部署Nacos, 则需要设置容器环境变量NACOS_AUTH_ENABLE=true, 才能使nacos开启连接密码认证 spring: profiles: active: @profileActive@ application: name: w
2021-09-02

解决openfeign的fallback与springmvc注解冲突

@RequestMapping("/account") public interface AccountFeign { @PostMapping("/test") String test(); } @FeignClient(name = "${xxx.feign.basic}"
2021-09-02

RabbitMQ架构及特性

rabbitmq:3.9.2 spring-boot-starter-amqp:2.3.0.RELEASE 架构Producer 生产者消息成功发送到交换机, 会触发回调事件ConfirmCallback(需要配置)消息不能被交换机转发到队列中时, 会触发回调事件ReturnCallback(需要配
2021-08-18
Trie实现词句匹配

Trie实现词句匹配

Trie 字典树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高树结构如图代码过于
2021-07-26
Java JNI 调用 C++方法 基于 IDEA Visual Stutio 2019

Java JNI 调用 C++方法 基于 IDEA Visual Stutio 2019

JNIJava Native Interface首先写一个java类package com.test; public class JNI { //native关键字 public native int add(int a, int b); } 执行javah命令注意路径我的JN
2021-07-20

Cron 表达式 星期建议使用 MON 等单词缩写

在spring提供的定时任务框架中@Scheduled(cron = "0 0 16 ? * 1") 1指周一但, 其他cron工具中, 1指周日区别就在于, spring的一周从周一开始, 而其他工具从周日开始判断可能是spring对时区做了判断, 动态切换但暂未验证而使用 MON 表示 周一,
2021-07-19