利用微信公众号+腾讯云cos制作图床

工作流程

图床

  1. 公众号 发送图片,微信服务器收到后推送给配置的接口
  2. 接口收到消息、校验、解析根据消息类型路由到具体的处理类
  3. 下载图片后上传到cos服务器
  4. 组装图片地址信息返回给发送者
阅读更多

Java虚拟机类加载过程与类加载机制

虚拟机把16进制描述类的 .class 文件加载到内存,并对数据进行校验、解析和初始化等操作,最终变为可以被虚拟机使用的 Java 类型,这就是虚拟机的类加载机制

或者说

通过类加载机制,虚拟机把类的字节码转换成运行时数据结构,并保存在方法区,在内存中会生成一个代表这个类数据结构的 java.lang.Class 对象,后续访问这个类的数据结构就可以通过这个 Class 对象来访问

阅读更多

mybatis动态sql的问题

最近组内有个小伙伴求助,说在 xml 中写 mybatis 动态sql,明明 if 条件是成立的,但实际执行的 sql 语句并没有拼接上,而是走了另外的判断分支

阅读更多

InnoDB存储引擎中的锁

我们都知道事务的4个特性,即 ACID。mysql 数据库使用加锁的方式来实现其中的 I (Isolation隔离性)。对于 InnoDB 存储引擎来说,它 支持行锁和表锁 ,而且行锁是由存储引擎通过给索引记录加锁来实现的,并且 InnoDB 默认是加行锁。好处就是锁定颗粒度小,发生锁冲突的概率低,并发度高

阅读更多

mysql日志文件

bin log

二进制日志 ( binary log) 是 Server 层的日志,记录了对 mysql 数据库执行更改的所有操作,但是不包括 SELECT和SHOW这类操作,因为这类操作对数据本身并没有修改。然而,若操作本身并没有导致数据库发生变化,那么该操作可能也会写入二进制日志。例如执行下列未更改的sql:

阅读更多

mysql索引

索引原理

和字典、通讯录原理一样,索引的目的在于提高查询效率,通过不断的缩小数据的查找范围来筛选出最终想要的结果。比如要查找 “张三” 这个人,会先定位在姓 “张” 的人中,然后再从中查找 “三” 这个名。如果没有索引,那么可能需要把整个通讯录都翻一遍才能找到想要的。

阅读更多