Java8 Optional 开发常见用法
class Info {
String a;
public String getA() {
return a;
}
public void setA(String a) {
this.a = a;
}
}
第一个例子针对空指
Nginx相关命令
查看Nginx的版本号:nginx -V
启动Nginx:start nginx 或者 nginx
快速停止或关闭Nginx:nginx -s stop
正常停止或关闭Nginx:nginx -s quit
配置文件修改重装载命令:nginx -s reload
查看windows
屏蔽Postman自动更新
hosts文件添加127.0.0.1 dl.pstmn.io
127.0.0.1 sentry-app.postmanlabs.com
SpringBoot加载外部配置文件的几种方式
一@PropertySource("file:F:/my.properties")
@Configuration
@ConfigurationProperties(prefix = "my")
public class TestConfig {
private String url;
观察者模式与SpringBoot应用
当对象间存在一对多关系时, 则使用观察者模式(Observer Pattern). 比如, 当一个对象被修改时, 则会自动通知依赖它的对象.优点:观察者和被观察者是抽象耦合的建立一套触发机制SpringBoot应用场景在SpringBoot启动流程中org.springframework.boot.
Java SPI机制与应用
SPI全称Service Provider Interface, 是Java提供的一套用来被第三方实现或者扩展的接口实际上是"基于接口的编程+策略模式+配置文件"组合实现的动态加载机制, 更是设计模式的生动体现它可以用来启用框架扩展和替换组件. SPI的作用就是为这些被扩展的API寻找服务实现我们一
MySQL优化-表结构设计
首先明确一个, 减少占用的存储空间, 可以减少操作时占用的内存, 可以提高CPU处理效率字符串的ip地址可以转换为整数类型存储, mysql提供INET_ATON()和INET_NTOA()进行转换尽量避免字段允许为NULL, 字段为NULL会占用额外空间整数类型可以选择置为无符号, 同样的存储空间
C++Web框架Drogon
Drogon是一个基于C++14/17的Http应用框架,使用Drogon可以方便的使用C++构建各种类型的Web应用服务端程序。Drogon的主要应用平台是Linux,也支持Mac OS、FreeBSD和Windows。它的主要特点如下:网络层使用基于epoll(macOS/FreeBSD下是kq
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
Nginx反向代理-传统单体项目相关配置
nginx.confserver {
listen 80;
server_name blog.22xcode.com;
#路径重写, http转https
rewrite ^(.*)$ https://$host$1 permanent;
}
blog.confse
C++ Web 框架 Oat++
Oat++轻量、跨平台、高性能、完全零依赖Oat++ 主页:https://oatpp.ioOat++ 文档:https://oatpp.io/docs/startGitHub 地址:https://github.com/oatpp/oatpp其主要特性有:随处运行Oat++ 没有任何依赖性,可以很
weixin-java-pay对接微信V3支付记录
https://github.com/binarywang/weixin-java-pay-demo这个demo里, 没有v3版本的配置, 这里记录一下v3支付, 相对之前的版本来说, 更为安全, 也相对繁琐一些, 而且请求和响应都使用了json格式的数据1. 配置发起支付所需的配置有三个证书文件,
大字段如何对查询产生影响
一些应用, 在表结构的设计上使用了text或者blob的字段;其中一个应用,对blob/text字段的依赖非常的严重,查询和更新的频率也是非常的高,单表的存储空间已经达到了近100G,这个时候,应用其实已经被数据库绑死了,任何应用或者查询逻辑的变更几乎成为不可能;为了清楚大字段对性能的影响,我们必须
更改Nacos配置文件缓存路径
Nacos会对远程拉下来的配置文件做缓存处理默认在%USER_DIR%/nacos/config下Naocs在com.alibaba.nacos.client.config.impl.LocalConfigInfoProcessor这个类里进行路径处理static {
LOCAL_F
SpringCloudAlibaba搭建过程踩坑记录
Nacos如果使用docker部署Nacos, 则需要设置容器环境变量NACOS_AUTH_ENABLE=true, 才能使nacos开启连接密码认证
spring:
profiles:
active: @profileActive@
application:
name: w
解决openfeign的fallback与springmvc注解冲突
@RequestMapping("/account")
public interface AccountFeign {
@PostMapping("/test")
String test();
}
@FeignClient(name = "${xxx.feign.basic}"
RabbitMQ架构及特性
rabbitmq:3.9.2
spring-boot-starter-amqp:2.3.0.RELEASE
架构Producer 生产者消息成功发送到交换机, 会触发回调事件ConfirmCallback(需要配置)消息不能被交换机转发到队列中时, 会触发回调事件ReturnCallback(需要配
Trie实现词句匹配
Trie 字典树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高树结构如图代码过于
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
Cron 表达式 星期建议使用 MON 等单词缩写
在spring提供的定时任务框架中@Scheduled(cron = "0 0 16 ? * 1")
1指周一但, 其他cron工具中, 1指周日区别就在于, spring的一周从周一开始, 而其他工具从周日开始判断可能是spring对时区做了判断, 动态切换但暂未验证而使用 MON 表示 周一,