Redis实现分布式锁
参考博客:Redis实现分布式锁 参考博客:Redlock(redis分布式锁)原理分析 Redis的常用部署方式:单节点模式、主从模式、哨兵模式、集群模式;
SpringBoot的依赖注入
参考博客: @Autowried和@Resource区别 参考博客:SpringBoot依赖注入 Autowired 默认注入方式byType根据类型匹配; 当多个实现时,则通过byName注入; 通过配合@Qualifier注解显式指定name,指明具体使用的实现类; Resource 默认通过byName注入,没有匹配则通过byType注入; 重要属性 name 和 typename和type用来显式指定byName和byType方式注入 对应4种情况 //1. 默认方式:byName@Resourceprivate UserService userService;//2. 指定byName@Resource(name="userService")private UserService userService;//3. 指定byType@Resource(type="UserService.class")private UserService userService;//4....
关系型数据库和非关系型数据库区别?
参考博客:关系数据库和非关系数据库区别 关系型数据库和非关系型数据库区别 数据一致性不同 数据储存方式不同 扩展方式不同 对事务的支持不同 常见关系型数据库 Oracle Sql Server Mysql Db2 常见非关系型数据库 Redis MongoDB HBase Neo4j
Java中保证多线程的顺序执行
参考博客:保证多线程顺序执行,四种方案,你知道几种? 常规操作-启动三个线程执行 public static void main(String[] args) { Thread thread = new Thread(new Runnable() { @Override public void run() { System.out.println("线程1"); } }); Thread thread2 = new Thread(new Runnable() { @Override public void run() { System.out.println("线程2"); } }); Thread thread3 = new Thread(new Runnable() { ...
Java线程的死锁
线程的死锁 代码来源于《并发编程之美》 public class deadlock { private static Object resources1 = new Object(); private static Object resources2 = new Object(); public static void main( String [] args ){ new Thread(()->{ synchronized (resources1){ System.out.println(Thread.currentThread()+"get resources1"); try{ Thread.sleep(1000); }...
ICMPtimestamp请求响应漏洞处理(CVE-1999-0524)
参考博客:ICMP timestamp请求响应漏洞处理(CVE-1999-0524) Iptablesvi /etc/sysconfig/iptables -A INPUT -p icmp -m icmp --icmp-type timestamp-request -j DROP-A OUTPUT -p icmp -m icmp --icmp-type timestamp-reply -j DROP 重启防火墙 service iptables restart Firewalld添加防火墙规则 firewall-cmd --permanent --zone=public --add-icmp-block=timestamp-replyfirewall-cmd --permanent --zone=public --add-icmp-block=timestamp-requestfirewall-cmd --reload
允许Traceroute探测漏洞处理
参考博客-Firewalld:允许Traceroute探测漏洞解决方法 参考博客-iptables:允许Traceroute探测 漏洞解决 关闭Traceroute探测的方法Firewalld防火墙firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -p ICMP --icmp-type 0 -m comment --comment "deny traceroute" -j DROP firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -p ICMP --icmp-type 3 -m comment --comment "deny traceroute" -j DROP firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -p ICMP --icmp-type 11 -m comment...
Idea打包SpringBoot多模块项目以Docker镜像方式部署
文档简述 Linux环境下安装Docker,并且开启外部访问2375端口 Idea项目的根目录编辑DOCKERFILE文件 注意: FROM 引用的镜像,linux下docker需要pull拉取该镜像 Idea项目配置war打包方式改为jar方式 Idea配置Docker插件,并设置远程docker的服务地址 DockerLinux下Docker的安装 参考博客:Linux docker 环境搭建 配置Docker的镜像加速此处不予赘述 安装依赖 yum install -y yum-utils device-mapper-persistent-data lvm2 安装Docker-CE yum install -y docker-ce 启动Docker systemctl enable dockersystemctl start docker Docker开放外部访问端口编辑配置文件vim /usr/lib/systemd/system/docker.service 在ExecStart新增如下配置 -H tcp://0.0.0.0:2375 -H...
Java创建线程池7种方法
Java创建线程池7种方法 面试突击:线程池有几种创建方式?推荐使用哪种?
Java面试复盘
...