石福鹏

的个人博客

Java类加载

类加载机制 虚拟机把class文件加载到内存,并对数据进行校验,转换解析和初始化,形成可以被虚拟机直接使用的java类型,即java.lang.Class 1. 装载(Load) 查找和导入class文件 a) 通过一个类的全限定名获取定义次类的二进制字节流 b) 将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构 c) 在java堆中生成一个代表这个类的java.lang.Cla......

大数据技术之Kafka

Kafka概述 1、定义 kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue) 2、消息队列 好处: 解藕: 允许你独立的扩展或者修改两边的处理过程,只要确保他们遵守同样的接口约束 可恢复性: 系统的一部分组建失效时,不会影响到整个系统,即使一个处理消息的进程挂掉,加入队列中的消息仍然可以在系统恢复后被处理 缓冲: 有助于控制和优化系统的速度,解决生产消息和消......

满足某个日期满足条件的周、月日期处理工具类

满足某个日期满足条件的周、月日期处理工具类

主要用法看一下main方法中的说明就知道了 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192......

Mysql专题

1、描述一下数据库事务隔离级别? ACID 原子性: 通过undo log实现的,要么成功,要么失败,如果失败了就回滚,记录原来的数据到undo log中,具体的实现用到了MVCC 一致性: 最核心和最本质的要求,其他三个共同保证一致性 隔离性: 通过锁来实现 持久性: redo log 数据库的事务隔离级别有四种,分别是读未提交、读已提交、可重复读、序列化,不同的隔离级别下会产生脏读、幻读......

在Mac系统上使用Dokcer搭建LNMP环境

每次换电脑或者重装系统之后,开发环境的搭建很费事,整不好还遇到一些乱起八糟的大坑,所以最好是直接使用dokcer,换环境的时候,镜像拉起就OK了

最开始准备自己头搭建一套,即直接在Mac上分别安装Nginx、Mysql、PHP,对于新手来说,刚毕业的同学来说,一定自己一步一步搭,刚开始会趟好多的坑,这些坑你一定要趟,这样也就知道了一些服务运行的原理,在服务架构上处于什么位置,发挥什么作用,都是通过一次一次的实践去理解的。 但是我这里就不这样玩了,因为我就是为了省时间,并且也不再Docker上一个一个的搭建,有现成的轮子,拿过来,修改一......

生成的sign出现偶发性的签名验证失败问题排查

最近做了一个微信企业付款,即微信企业账户给用户下发红包的功能,从测试开始就出现偶发性的报SIGN_ERROR签名错误,因为自己的项目比较多,就让同时帮忙debug排查了,排查的结果就是没问题,红包发放正常。 但是一上测试,就会偶发; 发现问题 无奈之下,我就把每次请求的request、response都打印出来了,通过微信支付接口签名校验工具测试了下,发现sign并不一致 发现一个问题,后......

多线程与高并发(全集)

线程的基本概念 之前的硬件,只有一个CPU 之前的OS,只运行一个进程 随着多核CPU的出现,人们开始追求对CPU效率的极致压榨 多线程的程序随之诞生,但随之诞生的,也是非常难以应对的各种并发bug 进程 线程 什么是进程:资源分配的基本单位(静态概念) 什么是线程:资源调度的基本单位(动态概念) 通俗说:一个程序中不同的执行路径 示例:什么叫做线程 123456789101112131......

macOS Catalina下安装nvm、node及每次需要重载配置文件问题解决

在使用hexo写博客的时候,经常需要执行一些命令,但是发现每次打开终端,输入命令就提示command not found,找到问题后记录下这个问题,以及在最新的Catalina系统下安装nvm

每次需要重载配置文件的问题解决 先说几个概念,做前端开发的伙伴肯定都知道,但是做后端的,虽然偶然能用到,但是基本上都是按照网上的教程,并不清楚nvm、npm、nodejs三者的区别 nvm:是nodejs的版本管理工具 也就是说一个nvm可以管理很多node版本和npm版本 nodejs:项目开发时所需要的代码库 npm:nodejs包管理工具 在安装nodejs的时候,npm也会跟着一起......

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

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

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

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