单例模式
定义
确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点
饿汉式单例
优点:执行效率高、性能高、没有融合的锁
缺点:某些情况下,可能会造成内存浪费
常规写法
public class HungrySingleton {
private static final HungrySingleton hungrySingleton = new HungrySingleton();
private HungrySingleton() {
}
public static HungrySingleton getInstance() {
return hungrySingleton;
}
}
利用静态代码块的写法
public class HungryStaticSingleton {
private static final HungryStaticSingleton hungrySingleton;
static {
...
docker-compose安装Redis
1、拉取镜像
执行下面的命令拉取redis的docker镜像
docker pull redis
2、编写docker-compose.yml文件
内容如下:
version: '3'
services:
redis:
restart: always
image: redis
container_name: redis
ports:
- 50020:6379
environment:
TZ: Asia/Shanghai
volumes:
- ./data:/data
- ./conf/redis.conf:/etc/redis.conf
privileged: true
3、创建目录文件
根据docker-compose.yml文件创建对应目录文件
pwd
mkdir data
mkdir conf
ll
4、编写Redis的配置文件
在conf目录下创建redis.conf文件,文件内容如 ...
docker-compose安装MySQL
docker中安装MySQL
本教程以MySQL5.7版本为例编写,如需其他版本,可自行前往docker hub网站查找对应的镜像,安装可能回和本教程有一定出入,清自行处理。
如遇问题也可以在评论中回复,本人会尽快给与回复
1、拉取镜像
docker pull mysql:5.7
2、编写docker-compose.yml文件
内容如下:
version: '3'
services:
mysql:
container_name: mysql
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=此处为root密码自行设置
- TZ=Asia/Shanghai
volumes:
- ./conf:/etc/mysql
- ./data:/var/lib/ ...
用docker-compose安装nginx
docker中安装nginx
1、查找nginx镜像
通过Docker Hub网站查询nginx镜像,选择下面的官方镜像
2、下载镜像
3.1页面点进去后在右上方有docker拉取命令
docker pull nginx
3、编写docker-compose.yml
docker-compose.yml内容如下:
version: '3'
services:
nginx:
container_name: nginx #生成的容器名
image: nginx:latest #镜像
environment:
- TZ=Asia/Shanghai #时间
volumes:
- ./html:/usr/share/nginx/html #nginx静态页位置
- ./conf/nginx.conf:/ ...
docker-compose安装
docker-compose安装
按照官方来即可,docker-compose安装文档
按照自己的系统来安装:
1、下载docker-compose
下面两个二选一,建议国内源,速度快
官方:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
国内源:
curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` > /usr ...
docker安装
安装docker
这部分基本就是按照docker官网的来,centos安装docker文档
1、卸载旧版本docker
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2、设置docker软件源
下面官网软件源和阿里软件源二选一,个人建议用阿里的,国内的速度快
官网软件源 :速度慢,可以考虑阿里的
yum install -y yum-utils
yum-config-manager \
--add-repo \
https://download.doc ...
力扣459:重复的子字符串
今天刷力扣发现一道有趣的题,这道题目很普通,但是解法确可以偷懒
原题链接:力扣459:重复的子字符串
题目
给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。
示例 1:
输入: s = "abab"
输出: true
解释: 可由子串 "ab" 重复两次构成。
示例 2:
输入: s = "aba"
输出: false
示例 3:
输入: s = "abcabcabcabc"
输出: true
解释: 可由子串 "abc" 重复四次构成。 (或子串 "abcabc" 重复两次构成。)
提示:
1 <= s.length <= 104
s 由小写英文字母组成
Related Topics字符串字符串匹配
个人解法
想法:既然要判断字符串是否由一个子串重复多次构成,那么如果结果是肯定的,这个字符串的长
度一定能够整除子串的长度。
所以我首先做一个循环,找到可能作为子串重复的字符串,在其基础上判断是否满足,循环结束
后都没有找到满足的,那么结果肯定就是false了。
接下来我们 ...
力扣204:计数质数
今天遇到一个有趣的题目,求小于给定非负整数的质数的数量
原题链接:力扣204. 计数质数
题目
给定整数 n ,返回 所有小于非负整数 n 的质数的数量 。
示例 1:
输入:n = 10
输出:4
解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。
示例 2:
输入:n = 0
输出:0
示例 3:
输入:n = 1
输出:0
提示:
0
力扣357:统计各位数字都不同的数字个数
2022年04月11日 力扣每日一题
357:统计各位数字都不同的数字个数
题目
给你一个整数 n ,统计并返回各位数字都不同的数字 x 的个数,其中 0 <= x < 10n 。
示例 1:
输入:n = 2
输出:91
解释:答案应为除去 11、22、33、44、55、66、77、88、99 外,在 0 ≤ x < 100 范围内的所有数字。
示例 2:
输入:n = 0
输出:1
提示:
0
darwin是什么?
今天,在学习NPS时,看到服务端启动命令时,它的分类是linux|darwin和windows两种,之前没有见过darwin,实在是好奇。
通过网络的查找,学习到了以下知识:
Darwin 是一个由苹果公司(Apple Inc.)开发的 UNIX 操作系统
自2000年后,Darwin 是苹果所有操作系统的基础,包括 macOS(原名 Mac OS X ,后缩写为 OS X,至 WWDC 2016 改名为 macOS)、iOS、watchOS 和 tvOS。
Darwin是xnu架构的实现,基本可以视作Mac的命令行部分。而xnu是乔布斯结合mach和bsd做出来的操作系统架构,是他被踢出苹果,自己开next公司时发明的,当时叫nextstep,后来被买回苹果
Autowired注解警告的解决办法
@AutoWired 在idea报警告
近期,发现@AutoWired注解在idea中总是报警告
java代码
如下:
@Controller
public class UserController {
@Autowired
private UserService userService;
}
警告内容
如下:
解决办法
于是乎,关联性的在网上找了找资料,用以下的写法不会报警告,同时这种写法也是spring官方推荐的写法,代码如下:
@Controller
public class UserController {
private final UserService userService;
public UserController(UserService userService){
this.userService = userService;
}
}
Lombok优雅写法
@Controller
@RequiredArgsConstructor ...
influxdb安装(centos7)
1、获取安装包
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.10.x86_64.rpm
2、安装
yum localinstall influxdb-1.8.10.x86_64.rpm
3、配置
vim /etc/influxdb/influxdb.conf
用户名密码(非必须)
开启influx功能
4、启动服务
systemctl start influxdb
5、启动
influx
在客户端工具窗口中执行以下语句设置用户名和密码(非必须):
# 创建管理员权限的用户
CREATE USER root WITH PASSWORD 'root' WITH ALL PRIVILEGES
6、验证
用其他机器远程连接:
influx -host ip地址 -port 端口号
这里创建数据库时报错,是因为我这边配置了用户名和密码,需要连接时带上用户名和密码才行
iinflux -host ip地址 -port ...
力扣590:N 叉树的后序遍历
2022年03月12日 力扣每日一题
题目
给定一个 n 叉树的根节点 root ,返回 其节点值的 后序遍历 。
n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。
示例 1:
输入:root = [1,null,3,2,4,null,5,6]
输出:[5,6,3,2,4,1]
示例 2:
输入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,null,14]
输出:[2,6,14,11,7,3,12,8,4,13,9,10,5,1]
提示:
节点总数在范围 [0, 104] 内
0 <= Node.val <= 104
n 叉树的高度小于或等于 1000
进阶:递归法很简单,你可以使用迭代法完成此题吗?
Related Topics栈树深度优先搜索
个人解法
思路:
这题简单,只需要递归做就好了,对于每一个节点 ...
推理界的3月11号
今天是3月11日,在推理界,今天在历史上的意义:
《东方杂志》(中国)第一期开始连载连载《毒美人》118周年
小说林社(中国)出版《福尔摩斯再生案》第一册118周年
克里斯蒂安娜·布兰德(英国)诞辰115周年
梦野久作(日本)逝世86周年
厄尔·斯坦利·加德纳(美国)逝世52周年
弗瑞德里克·布朗(美国)逝世50周年
克里斯蒂安娜·布兰德
克里斯蒂安娜·布兰德(Christianna Brand,1907.3.11-1988.12.17),英国侦探小说作家,儿童文学作家。
克里斯蒂安娜·布兰德1907年出生于马来亚,原名为玛丽·克里斯蒂安娜·刘易斯(Mary Christianna Lewis),早年在印度生活。她从事过很多工作,包括模特、舞蹈演员、店员和家庭教师。
1941年,她创作了第一本以查尔斯·沃斯为主角的侦探小说《高跟鞋之死》(Death in High Heels),当时她还只是一个销售员。同年,她笔下的英国著名探长考克瑞尔在《晕头转向》(Heads You Lose)一书中初次登场,之后考克瑞尔先后七次出现在布兰德的作品中,考克瑞尔探长是她塑造最成功的侦探形象,以他为 ...
力扣2049:统计最高分的节点数目
2022年03月11日 力扣每日一题
题目
给你一棵根节点为 0 的 二叉树 ,它总共有 n 个节点,节点编号为 0 到 n - 1 。同时给你一个下标从 0 开始的整数数组 parents 表示这棵树,其中 parents[i] 是节点 i 的父节点。由于节点 0 是根,所以 parents[0] == -1 。
一个子树的 大小 为这个子树内节点的数目。每个节点都有一个与之关联的 分数 。求出某个节点分数的方法是,将这个节点和与它相连的边全部 删除 ,剩余部分是若干个 非空 子树,这个节点的 分数 为所有这些子树 大小的乘积 。
请你返回有 最高得分 节点的 数目 。
示例 1:
输入:parents = [-1,2,0,2,0]
输出:3
解释:
- 节点 0 的分数为:3 * 1 = 3
- 节点 1 的分数为:4 = 4
- 节点 2 的分数为:1 * 1 * 2 = 2
- 节点 3 的分数为:4 = 4
- 节点 4 的分数为:4 = 4
最高得分为 4 ,有三个节点得分为 4 (分别是节点 1,3 和 4 )。
示例 2:
输入:parents = [-1,2 ...