石福鹏

的个人博客

【每日一题】Java 多线程中notify和notifyall的区别是?

notify notify唤醒在此对象监视器上等待的单个线程。 如果所有线程都在此对象上等待,则会选择唤醒其中一个线程。选择是任意性的,并在对实现做出决定时发生。线程通过调用其中一个 wait 方法,在对象的监视器上等待。 直到当前线程放弃此对象上的锁定,才能继续执行被唤醒的线程。被唤醒的线程将以常规方式与在该对象上主动同步的其他所有线程进行竞争; 例如,唤醒的线程在作为锁定此对象的下一个线......

macOS Catalina 已损坏无法打开解决办法

App 在macOS Catalina下提示已损坏无法打开解决办法: 打开终端; 输入以下命令,回车; 1sudo xattr -d com.apple.quarantine /Applications/xxxx.app 注意:/Applications/xxxx.app 换成你的App路径(推荐直接将.app文件拖入终端中自动生成路径,以防空格等转义字符手动复制或输入出现错误) ......
Mac

【每日一题】形成数据库死锁的原因有哪些?如何能避免死锁

1、什么是死锁 会话A持有一行数据的锁,会话B持有另一行数据的锁。 A申请获取B持有的那个锁,但是被B占用着,所以A等待。 B申请获取A持有的那个锁,但是被A占用着,所以B等待。 2、死锁的本质 两个或多个会话/线程,本身拥有一个锁,但是去互相申请对方拥有的锁,导致都在锁等待,即为死锁。索引失效会造成表锁,比死锁更严重 3、举例 在RR隔离级别下,数据库有两条数据id=1和id=10。 且i......

【每日一题】聊一聊线上oom的排查方案?

oom,先说排查思路,oom是内存溢出,则有 堆内存区域溢出 方法区或者元数据区溢出 非堆空间(DirectMemory)溢出 三种场景的情况。 首先通过溢出的异常报错,先确认是哪种类型。 如果确认是堆内存区域溢出,可能原因是内存泄露 或者堆空间回收的速度赶不上对象创建的速度,排查方案就是看gc日志,如果是gc频率很高 但是回收对象却很少 就要怀疑是内存泄露,这个时候看dump日志 找......

Python 学习笔记

日常工作中遇到的一些知识点,记录一下

1、@classmethod classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。 for example 1234567891011121314151617181920212223242526class A(object): # 属性默认为类属性(可以给直接被类本身调用......

给自己,也给27岁以上的年轻人的财务建议

推特上一位网友问到:“27岁以上的网友们,请给出你们觉得最有用的财务建议,金融知识是很重要的!”

2020年终于结束,对于职场的年轻人,尤其对于刚步入职场的年轻人来说,太难了,赚钱难,稍有不慎就丢了工作,各种开销,压力巨大,活下来就已经精疲力尽了。 国外其实更是乱的一锅粥,之前在看川建国同志的推特的时候,偶尔看到有个国外网友的转推让我翻了好久,虽然是19年的,但是分享一下,看看对我们自己有没有用 推特上一位网友问到:“27岁以上的网友们,请给出你们觉得最有用的财务建议,金融知识是很重要的......

Linux安装Mysql5.7以及常见问题

Mysql,架构+大数据进阶

一、下载 下载地址:https://downloads.mysql.com/archives/community/ 二、安装 1、解压 1[root@VM-229-169-centos home]# tar -zxvf ft_local/mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz 1234567891011121314151617181920......

企业常用开发规范

分层领域模型规约: DO(Data Object):与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。 DTO(Data Transfer Object):数据传输对象,Service 和 Manager 向外传输的对象。 BO(Business Object):业务对象。可以由 Service 层输出的封装业务逻辑的对象。 Query:数据查询对象,各层接收上层的查询请求。注:......

企业常用Log规范

最近在帮团队整理一系列开发规范,发现日志规范这块内容大家之前一直都没有重视过。打日志永远看心情,没有特别规定什么样的信息该记录日志,什么样的信息不该记录。 并且,对于后面的日志分析等基本上可以说是寸步难行。 logback-spring.xml sample:(需要替换appName) 1234567891011121314151617181920212223242526272829303......
Log

企业常用Mysql规范

1、命名规范 所有表名库名字段索引名均小写字母,用下划线分割 MySQL所有均忽略大小写设置lower_case_table_names为1. 库名、表名、字段名最大支持64个字符,为了统一规范、易于辨识以及减少传输量,禁止超过32个字符 库名、表名、字段名禁止使用MySQL保留字 库名、表名、字段名必须见名知意。命名与业务、产品线等相关联 临时库、表名必须以tmp为前缀,并以日期为后缀。......