目录

菠萝🍍的博客

有谁不喜欢吃菠萝呢

JVM内存模型深度剖析

1. JVM整体结构及内存模型 这里从一个类被加载开始说起,当一个类被加载的时候,会被加载到Java的内存区中,也就是运行时数据区。当然 内存区主要分为堆,栈(线程),本地方法栈,方法区(元空间),程序计数器。 1.1 栈(线程) 栈也是一块内存区域,就是当程序开始运行的时候,给运行的这个线程单独开辟的一块内存区域。假如又有新的线程进行产生,也会给新的线程开辟栈空间。 也就说栈是每一个线程进行独享的。 在栈的内部,有栈帧。栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址等信息。这注意看啊,是给方法进行存储的。例如,当一个main()方法启动时,主线程会先给main()方法分配一个栈帧,而栈帧中又调用了compute()方法,那么主线程又会给compute()方法分配一个栈帧。 而且因为根据栈的数据结构,先进后出,意味着,main()方法在栈的底部,compute()方法在main()方法的上方。当compute()方法执行完成之后,便进行出栈。如上图右侧演示。 在栈帧内部,还有小块内存区域,分别是局部变量表,操作数栈,动态链接,方法出口等。 举个例子: public cl....

类加载机制深度剖析

类加载器和双亲委派机制,以及tomcat为何需要打破Java推荐的双亲委派机制

Tomcat生产环境配置与应用

1. Tomcat各组件认知 Tomcat是一个基于JAVA的WEB容器,其实现了JAVA EE中的 Servlet 与 jsp 规范,与Nginx apache 服务器不同在于一般用于动态请求处理。在架构设计上采用面向组件的方式设计。即整体功能是通过组件的方式拼装完成。另外每个组件都可以被替换以保证灵活性。 1.1 Tomcat 各组件及关系 Server 和Service Connector 连接器 HTTP 1.1 SSL https AJP( Apache JServ Protocol) apache 私有协议,用于apache 反向代理Tomcat Container Engine 引擎 catalina Host 虚拟机 基于域名 分发请求 Context 隔离各个WEB应用 每个Context的 ClassLoader都是独立 Component Manager (管理器) logger (日志管理) loader (载入器) pipeline (管道) valve (管道中的阀) 2. Tomcat server.xml 配置详解 2.1 se....

Mysql锁与事务隔离级别

Mysql锁与事务隔离级别,以及MVCC原理

MySql索引优化大全(下)

做一份最全的MySql索引优化,覆盖到工作的方方面面。

MySql索引优化大全(中)

做一份最全的MySql索引优化,覆盖到工作的方方面面。

MySql索引优化大全(上)

做一份最全的MySql索引优化,覆盖到工作的方方面面。

Lute HTTP安装(解决latex 公式渲染问题)

太久没有使用博客了,写了一两篇后发现有公式,表格渲染不了,在黑客派中找到解决办法,但是不能一步到位,干脆写的再详细点

【转载】MySql中的Explain工具

大多数开发者都使用的是Navicat管理数据库,如果你在进行查询的时候也曾注意到过那个 解释按钮,那么你应该知道Explain工具

Mysql索引

当你有一张一百万数据的表且没有加索引优化的话,查询一条记录的速度为0.5秒 而当你加入索引后,查询一条记录的速度为0.024秒 在创建索引后,发生了什么?为什么添加索引后能产生这么大的变化?

Java中的Unsafe类

这是一个普通类的创建 ... 仅仅只需要一行代码就完成了对象的实例化 这是Unsafe类的创建... 通过一个静态方法的调用,而方法中通过反射的方式创建出来Unsafe对象,为什么它需要通过这样的方式创建出来?

Java中的Atomic

说一说Java中的Atomic

volatile关键字

分析分析volatile是个啥

麦克雷表情包

该文章已经加密。

【转载】来谈谈Springboot的优雅停机,以及一些衍生知识

在系统生命周期中, 免不了要做升级部署, 对于关键服务, 我们应该能做到不停服务完成升级 (perform a zero downtime upgrade), 对于一般系统, 应该做到优雅地停服务. 如何做到不停服务的升级?

SpringBoot+Sharding-JDBC+读写分离

本文实现了docker+mysql主从复制+SpringBoot+Sharding-JDBC的演示例子,从搭建mysql主从复制开始到配置实现Sharding-JDBC的读写分离

吴恩达机器学习4-6(正规方程 区别于迭代方法)

该文章已经加密。

【转载】浅谈矩阵分解在推荐系统中的应用

浅谈矩阵分解在推荐系统中的应用 原文地址:浅谈矩阵分解在推荐系统中的应用 为了方便介绍,假设推荐系统中有用户集合有6个用户,即U={u1,u2,u3,u4,u5,u6},项目(物品)集合有7个项目,即V={v1,v2,v3,v4,v5,v6,v7},用户对项目的评分结合为R,用户对项目的评分范围是[0, 5]。R具体表示如下: 推荐系统的目标就是预测出符号“?”对应位置的分值。推荐系统基于这样一个假设:用户对项目的打分越高,表明用户越喜欢。因此,预测出用户对未评分项目的评分后,根据分值大小排序,把分值高的项目推荐给用户。怎么预测这些评分呢,方法大体上可以分为基于内容的推荐、协同过滤推荐和混合推荐三类,协同过滤算法进一步划分又可分为基于基于 内存的推荐(memory-based)和基于 模型的推荐(model-based),本文介绍的矩阵分解算法属于基于模型的推荐。 矩阵分解算法的数学理论基础是矩阵的行列变换。在《线性代数》中,我们知道矩阵A进行行变换相当于A左乘一个矩阵,矩阵A进行列变换等价于矩阵A右乘一个矩阵,因此矩阵A可以表示为A=PEQ=PQ(E是标准阵)。 矩阵分解目标就是把....

吴恩达机器学习4-5(特征和多项式回归)

该文章已经加密。

吴恩达机器学习4-4(多元梯度下降法-学习率)

该文章已经加密。