
java高级
文章平均质量分 59
在框架使用的基础上,更注重底层原理及闪光点
三人行 | Dylen
生命的美好在于经历,可以学习实践,也能筑梦高远.
展开
-
MySQL实战之高并发下可能存在的问题
MySQL实战之高并发下可能存在的问题前言有一天突然想起来一个问题, MySQL设计的那么完美,既能保证高效(缓存池),又能保证数据安全(redo log和undo log等),岂不是完美啦? 但是有一关叫做高并发,它可以很ok的搞定吗?准备工作一张表和一条数据-- ------------------------------ Table structure for actor-- ----------------------------DROP TABLE IF EXISTS `a原创 2022-05-21 17:44:58 · 529 阅读 · 0 评论 -
MySQL实战之MySQL调优
MySQL实战之数据库优化前言前边写了一篇博客介绍MySQL的压测,想不想让一台MySQL有更大的吞吐量?想不想根据机器的实际配置调整一下默认参数?比如:Buffer Poll默认是128M,这怎么抗的住10K+的并发?还有配置是不是固定不变的?是不是要结合压测动态调整?大家也知道除了优化一台MySQL服务器,还要结合分库分表,加中间映射表,ES等水平扩展来解决高并发,高可用的问题数据库优化如果对配置有疑惑,希望到官网查看具体的参数配置:MySQL官网配置详解首先确保服务器是SSD,原创 2022-05-03 13:31:57 · 1221 阅读 · 0 评论 -
MySQL实战之事务
MySQL实战之事务前言作为关系型数据库第一梯队的成员,MySQL的事务处理原理一直是研究的对象,今天就聊聊它事务事务的隔离级别读未提交(RU)读已提交(RC)可重复读(RR)串行化 (SL)没有做对应的事务处理会发生的问题脏读:一个事务读到了另一个事务没有提交的数据脏写:两个事务同时修改一个值,A先改,B后改正常应该是B修改的值,但是A由于种种原因回滚了,这个时候数据就回滚到A修改之前的状态了不可重复读:第一次读到了数据,再读没有啦,反之亦然幻读:一样的条件,读到的原创 2022-05-02 16:59:43 · 817 阅读 · 0 评论 -
MySQL实战之物理存储数据结构
MySQL实战之物理存储数据结构前言正如大家都知道的程序就是数据结构加算法,数据结构是基石般的存在,那么MySQL中的一行数据是怎么存储的?物理存储数据结构首先用SQL创建一张表CREATE TABLE `tb_emp` ( `emp_id` bigint(64) NOT NULL COMMENT '雇员主键', `name` varchar(64) DEFAULT NULL COMMENT '姓名', `gender` char(1) DEFAULT NULL COMMENT原创 2022-05-02 13:50:46 · 1093 阅读 · 0 评论 -
MySQL实战之BufferPoll详解
MySQL实战之BufferPoll详解前言使用MySQL如果没听过BufferPoll, 就好比写Java不知道Spring一样,人家会觉得你很low,大家都明白的,只要提到高效,肯定第一想到的就是内存,MySQL的核心内存就是它BufferPoll详解MySQL启动时是什么样的了,来张图示意一下,首先MySQL操作的基本单元是缓存页,它是和数据页对应的,每个的大小都是16K,MetaData记录它们之间的对应关系。刚开始是没问题的, 但是用着用着就不知道哪些在用,哪些空闲了,这个时候f原创 2022-05-02 11:55:23 · 1570 阅读 · 0 评论 -
MySQL实战之压测
MySQL实战之压测前言作为一个Java开发攻城狮,不仅要有扎实的Java基础,通晓各种框架的原理,还要会一些优化知识,大家都懂的,卷心菜因为菜所以卷,就算卷还是菜不用问大家也是知道的, 一般来说8C16G的MySQL服务器一般可以抗下1000-2000的并发,16C32G的一般可以抗2000-3000,但是这些也和带宽,磁盘IO,内存,CPU,以及代码fen不fen有关MySQL压测MySQL版本: 5.7压测工具sysbench压测工具安装curl -s https://原创 2022-05-01 22:12:35 · 1030 阅读 · 1 评论 -
MySQL实战之SQL执行流程
MySQL实战之SQL执行流程前言给你一个SQL你可以凭借经验大概知道它执行那一步,再执行那一步,但是底层是怎么样的你晓得吗?select id, user_name, age from user where id = 1;以上SQL首先看from user, 说明是要从user表中查数据,接着看where条件,只要id为1的记录,最后看id, user_name, age是要显示的字段, 因为有可能还有其它的字段是不需要显示的。SQL执行流程先来一张图, 然后再详细说明.原创 2022-05-01 20:48:37 · 395 阅读 · 0 评论 -
Mysql实战之驱动篇
Mysql实战之驱动篇前言从工作开始就一直和MySQL这个老朋友打交道, 说实话一直停留在使用阶段,对其原理的认知也是碎片化的,一直有计划做的整理,最近就让想法付诸实践,所以就有了本篇。驱动: 计算机软件术语,是指驱动计算机里软件的程序。驱动程序全称设备驱动程序,是添加到操作系统中的特殊程序,其中包含有关硬件设备的信息。此信息能够使计算机与相应的设备进行通信。驱动程序是硬件厂商根据操作系统编写的配置文件,可以说没有驱动程序,计算机中的硬件就无法工作。MySQL驱动我们一般都是在pom文原创 2022-05-01 14:25:30 · 1294 阅读 · 0 评论 -
集合中的多列求和
集合中的多列求和前言最近公司做项目需要对集合中的很多字段进行求和操作,很多是多少70多个吧.代码实现求和工具类public class NumberUtil { public static <T extends Number> T add(List<T> numbs) { if (numbs == null || numbs.isEmpty()) { return null; } Cl原创 2022-04-17 15:19:54 · 799 阅读 · 1 评论 -
JVM优化总结
JVM优化写在前面脚本命令(Linux)JVM配置详解写在前面JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM的参数需要根据实际的项目情况动态的调整, 今天就之前的使用经验做一次简单的总结脚本命令(Linux)启动关闭脚本#!/bin/bash# 修改为自己的jdk地址export JAVA_HOME=/opt/jdkexport JRE_H原创 2022-03-29 21:11:01 · 1502 阅读 · 0 评论 -
源码系列(八)-Seata1.5.0源码解析
源码系列(八)-Seata源码解析前言之前项目有使用Seata中间件实现分布式事务, 最近忙里偷闲做一次总结,一方面把一些踩坑记录下来,方便自己和读者快速排错,还有就是争取做到温故而知新, 话不多说, 搞起,搞起.入门知识建议参考官网: Seata官网地址Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。源码解析-AT模式术语表T原创 2022-03-22 08:33:59 · 842 阅读 · 0 评论 -
学习开源项目的套路
原创 2020-08-11 21:45:51 · 215 阅读 · 0 评论