Home

linux 开发环境配置

maven 下载 https://maven.apache.org/download.cgi https://dlcdn.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.tar.gz 解压 tar -zxvf apache-maven-3.8.6-bin.tar.gz -C /data/soft 配置环境变量 export MAVEN_HOME=/usr/local/apache-maven-3.8.6 export PATH=$PATH:$MAVEN_HOME/bin #重新加载 source /etc/profile ## 添加软连接 ```shell ln -s /home/ganying...

Read more

linux 账户设置

添加用户并赋予root权限 添加用户 #adduser tommy //添加一个名为tommy的用户 #passwd tommy //修改密码 Changing password for user tommy. New UNIX password: //在这里输入新密码 Retype new UNIX password: //再次输入新密码 赋予root权限 ##修改 /etc/passwd 文件,找到如下行,把用户ID修改为 0 ,如下所示 tommy:x:0:33:tommy:/data/webroot:/bin/bash linux允许密码登陆 修改/etc/ssh/sshd_config文件: #PermitRootLogin yes 允许 root 登...

Read more

合理预估线程池的核心线程数

原文链接:https://blog.csdn.net/weixin_40544327/article/details/85702663 分析一般从几个角度考虑: 1.任务的性质:CPU密集型的任务、IO密集型任务、混合型任务。 2.任务的优先级:高、中、低 3.任务执行时间:长、中、短 4.任务的依赖性:是否依赖其它系统资源,如数据库的连接等。 根据不同的任务可以交给不同规模的线程池执行。 如果是cpu密集型的,尽量减少线程数,如果是IO密集型任务尽量加大线程数,因为io不占用cpu的资源。建议配置2倍CPU个数+1。 如果是混合型的,尽量根据实际情况进行拆分,根据运行时间来决定。 如下为一般计算公式: 最...

Read more

正则表达式高级替换技巧

本文着重于实际开发中如何使用正则表达式的替换技巧来提高工作效率,相关知识储备不做详细介绍。 演示环境:macOS Catalina 10.15.7; idea 2019+; wps表格; 常用正则表达式搜索关键字 关键字 作用 ^、& 开头;结尾 . 任意字符 [xyz] 、[^xyz] 匹配[]里面其中任意一个; 取前面的反集,即不匹配[]里面任何一个 \d 数字字符 [0-9] \w ...

Read more

知识总结 计算机原理

硬件数据的可见性问题 计算机存储结构:外存,主存,L3,L2,L1,寄存器 L2,L1,寄存器是在同一个cpu单元,不同cpu单元可能数据和L3或主存的不一致。 硬件解决方案 总线锁 各种各样的一致性协议。 inter:MESI协议 缓存行 cpu 读取缓存最小单元是64字节,会多读取数据,导致相互影响,产生伪共享问题。

Read more

知识总结 容器

结构 Map HashMap HashTable TreeMap LinkedHashMap ConcurrentHashMap JUC Collection List LinkedList ArrayList CopyOnWriteArrayList JUC Set HashSet TreeSet Queue&Deque ...

Read more

知识总结 多线程

线程 线程状态:new,runnable(running,ready),timeWaiting,waiting,blocked,Terminated 启动方法:runnable.start(); new Thread(Runnable r); synchronized synchronized: 偏向(对象头),轻量(自旋,占cpu),重量(os,等待) synchronized:锁对象,(this,xx.class) 偏向锁 当线程1访问代码块并获取锁对象时,会在java对象头和栈帧中记录偏向的锁的threadID,因为偏向锁不会主动释放锁,因此以后线程1再次获取锁的时候,需要比较当前线程的threadID和Java对象头中的threadID...

Read more

知识总结 redis

redis 概述 一个进程16个库 都是key-value,value不同类型 二进制安全的,只存放字节 正负索引 正序0123 倒序-1-2-3 Redis如何淘汰过期的keys Redis keys过期有两种方式:被动和主动方式。 当一些客户端尝试访问它时,key会被发现并主动的过期。 当然,这样是不够的,因为有些过期的keys,永远不会访问他们。 无论如何,这些keys应该过期,所以定时随机测试设置keys的过期时间。所有这些过期的keys将会从密钥空间删除。 具体就是Redis每秒10次做的事情: 测试随机的20个keys进行相关过期检测。 删除所有已经过期的keys。 如果有多于25%的keys过期,重复步奏1. ...

Read more