MySQL事务隔离级别?默认是什么级别?
参考博客:MySQL事务隔离级别和实现原理 四种事务隔离级别 读未提交 READ UNCOMMITTED 读提交 READ COMMITTED 可重复读 REPEATABLE READ 串行化 SERIALIZABLE MySQL的默认事务隔离级别可重复读 REPEATABLE READ 不同事务隔离级别对脏读、不可重复读、幻读解决程度 隔离级别脏读不可重复读幻读 读未提交可能可能可能 读提交不可能可能可能 可重复读不可能不可能可能 串行化不可能不可能不可能
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镜像方式部署
通过Idea打包部署SpringBoot项目以镜像方式启动
Java创建线程池7种方法
Java创建线程池7种方法 面试突击:线程池有几种创建方式?推荐使用哪种?