自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (2)
  • 收藏
  • 关注

原创 MongoDB系列-02MongoDB聚合操作

MapReduce操作将大量的数据处理工作拆分成多个线程并行处理,然后将结果合并在一起。MongoDB提供的Map-Reduce非常灵活,对于大规模数据分析也相当实用。将具有相同Key的文档数据整合在一起的map阶段组合map操作的结果进行统计输出的reduce阶段}, //map 函数function(key,values) {return reduceFunction}, //reduce 函数map,将数据拆分成键值对,交给reduce函数reduce,根据键将值做统计运算。

2025-06-13 09:23:20 792

原创 MongoDB系列-01MongoDB基础

MongoDB是一个文档数据库(以 JSON 为数据模型),由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。文档来自于“JSON Document”,并非我们一般理解的 PDF,WORD 文档。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

2025-06-11 08:57:35 724

原创 MySQL系列-05ShardingSphere

Apache ShardingSphere是一款开源的分布式数据库中间件组成的生态圈。它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(规划中)这3款相互独立的产品组成。他们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、容器、云原生等各种多样化的应用场景。ShardingSphere定位为关系型数据库中间件,旨在充分合理地在分布式的场景下利用关系型数据库的计算和存储能力,而并非实现一个全新的关系型数据库。

2025-06-10 08:00:00 1798

原创 MySQL系列-04分库分表

用户请求量太大 单服务器TPS、内存、IO都是有上限的,需要将请求打散分布到多个服务器单库数据量太大 单个数据库处理能力有限;单库所在服务器的磁盘空间有限;单库上的操作IO有瓶颈单表数据量太大 查询、插入、更新操作都会变慢,在加字段、加索引、机器迁移都会产生高负载,影响服务。

2025-06-09 09:12:39 256

原创 MySQL系列-03深入理解MySql锁

回滚日志,在insert、update、delete的时候产生的便于数据回滚的日志。当insert的时候,产生的undo log日志只在回滚时需要,在事务提交后,可被立即删除。而update、delete的时候,产生的undo log日志不仅在回滚时需要,在快照读时也需要,不会立即被删除。ReadView(读视图)是 快照读 SQL执行时MVCC提取数据的依据,记录并维护系统当前活跃的事务(未提交的)id。ReadView中包含了四个核心字段:字段含义m_ids当前活跃的事务ID集合。

2025-06-07 10:47:21 825

原创 MySQL系列-02MySQL架构原理

索引是帮助MySQL高效获取数据的排好序的数据结构。一般来说索引本身也很大,不可能全部存储在内存中,因此往往以索引文件的形式存放在磁盘中。我们平常所说的索引,如果没有特别说明都是指BTree索引(平衡多路搜索树)。其中聚集索引,次要索引,覆盖索引 复合索引,前缀索引,唯一索引默认都是使用的BTree索引,统称索引。除了BTree索引之外,还有哈希索引。使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MYSQL是如何处理SQL语句的。我们可以用执行计划来分析查询语句或者表结构的性能瓶颈。

2025-06-06 09:21:08 745

原创 MySQL系列-01MySQL架构原理

innodb_flush_log_at_trx_commit参数控制日志刷新行为,默认为1 0 : 每隔1秒写日志文件和刷盘操作(写日志文件LogBuffer-->OS cache,刷盘OS cache-->磁盘文件),最多丢失1秒数据 1:事务提交,立刻写日志文件和刷盘,数据不丢失,但是会频繁IO操作 2:事务提交,立刻写日志文件,每隔1秒钟进行刷盘操作。随着事务操作的执行,就会生成Redo Log,在事务提交时会将产生Redo Log写入Log Buffer,并不是随着事务的提交就立刻写入磁盘文件。

2025-06-05 09:13:00 365

原创 JVM系列-06实战和总结

同时,java的代码也是需要优化的,一次查询出500M的对象出来,明显不合适,要根据之前说的各种原则尽量优化到合适的值,尽量消除这种朝生夕死的对象导致的full gc。查到了有大量User对象产生,这个可能是问题所在,但不确定,还必须找到对应的代码确认,如何去找对应的代码了?查到了有大量User对象产生,这个可能是问题所在,但不确定,还必须找到对应的代码确认,如何去找对应的代码了?【步骤⑥】有大量的对象频繁的被挪动到老年代,这种情况我们可以借助jmap命令大概看下是什么对象。【步骤一】 启动Arthas。

2025-06-04 09:20:11 811

原创 JVM系列-05常用指令与可视化调优工具

VisualVM 是一个工具,它提供了一个可视界面,用于查看 Java 虚拟机 (Java Virtual Machine, JVM) 上运行的基于Java 技术的应用程序(Java 应用程序)的详细信息。Arthas是Alibaba开源的Java诊断工具。采用命令行交互模式,可以方便的定位和诊断 线上程序运行问题。简介 | arthasGC日志可视化分析工具GCeasy和GCviewer。

2025-06-03 09:05:32 444

原创 JVM系列-04垃圾回收

第一类算法判断对象生死算法:如引用计数法、可达性分析算法;第二类收集垃圾(死亡)对象方法:如标记-清除算法、标记-整理算法、标记-复制算法。一般的实现采用分代回收算法,根据不同代的特点应用不同的算法。垃圾回收算法是垃圾回收的方法论,垃圾回收器是算法的落地实现。定义: 最普通的对象引用,就像我们在日常编程中使用的大多数对象引用一样例子:特点: 强引用指向的对象只要有强引用指向它,即使系统内存不足,垃圾收集器也不会回收该对象。只有当该对象没有任何强引用指向它时,才会被垃圾回收器回收。

2025-05-30 09:12:14 241

原创 JVM系列-03对象内存分配机制

对象头多大?16个字节= 对象标记MarkWord 8字节+ 类元信息(类元指针, 指向方法区的) 8字节。(注: 在1.3.2里面看到的类元指针是4字节,原因是压缩指针导致的)1个字节=8位, 对象标记MarkWord 是64位对象标记MarkWord里面: 有hashcode, 分代年龄, 锁....64位虚拟机。

2025-05-29 10:14:28 1427

原创 JVM系列-02内存结构

Program Counter Register 程序计数器(寄存器)作用: 是记录下一条需要执行的jvm 指令地址行号。特点:是线程私有的在JVM中唯一的一个不会存在内存溢出的区域每个线程运行需要的内存空间,称为虚拟机栈。每个栈由多个栈帧(Frame)组成,一次栈帧对应的一次方法的调用。说白了就是每次调用方法时所占用的内存。每个线程只能有一个活动栈帧,对应着当前正在执行的方法栈的生命期是跟随线程的生命期,线程创建时创建,线程结束栈内存也就释放,是线程私有的。

2025-05-28 16:54:30 1756

原创 JVM系列-01JVM加载机制

什么是JVMJava Virtual Machine ,Java 程序的运行环境(Java 二进制字节码的运行环境)好处一次编译,处处执行自动的内存管理,垃圾回收机制数组下标越界检查JVM、JRE、JDK 的关系类加载子系统负责从文件系统或是网络中加载.class文件(字节码文件),class文件在文件开头有特定的文件标识。把加载后的class类信息存放于方法区,除了类信息之外,方法区还会存放运行时常量池信息。

2025-05-28 09:14:37 529

GoogleMarket(一)

代码为博客的实例代码:http://blog.youkuaiyun.com/ai_96/article/details/50936605 有问题请博客留言。

2016-03-20

线程 池子 管理

代码为博客的实例代码:http://blog.youkuaiyun.com/ai_96/article/details/50939701 有问题请博客留言。

2016-03-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除