石福鹏

个人博客

置顶 Java 基础查漏补缺【多线程机制篇】

概念 线程: 是一个程序内部的顺序控制流。通俗的来说,是一个程序里面不同的执行路径 (记住这句话就可以了) 程序: wechat.exe 进程: wechat.exe启动后,叫做一个进程,是相对于程序来说的,是个动态的概念 线程: 作为一个进程里面最小的执行单元就叫一个线程,或者说,一个程序里不同的执行路径就叫做一个线程 平时所讲的进程开始执行了,是指进程中的主线程(main方法)开始执......

Hexo博客搭建-博客上传后访问页面返回404问题排查

前言 给自己的Mac重新做了系统之后,按照正常的流程,安装nvm(安装的最新的版本),安装node,然后安装hexo,一切都很顺利的进行,然后在之前已经备份好的博客源文件的根目录执行hexo g、hexo d,然后去访问博客发现404了 问题发现 查看了下_config.yml配置文件,没啥问题,这些应该没啥问题,因为源码都是之前一直用鱼发布博客用的,没做过什么修改,所以肯定没问题了,就上......

【每日一题】如何解决ABA问题?为什么能解决?解决思路是什么?

问题分析 aba问题出现在cas机制的操作中,cas 比较并更新,比如说cas(期望的值,更新的值),如果发现变量是期望的值,那么就将该值替换为更新的值。 这里面存在的问题就在于,如果期望的值中途被人改掉了,但是后面又被改了回来, cas机制不能发现这个过程,也是发现期望值其实中间发生过变动。 解决方式 给数据加上版本号或者时间戳,比较期望值的时候 比较的是值和版本号或者时间戳,即使值相同,......

【每日一题】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文件拖入终端中自动生成路径,以防空格等转义字符手动复制或输入出现错误) ......

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

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日志 找......

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

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

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

企业常用开发规范

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

企业常用Log规范

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