自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(96)
  • 收藏
  • 关注

原创 【MySQL性能优化】- 一文了解MVCC机制

多版本并发控制(MVCC,Multi-Version Concurrency Control)是一种常用于数据库管理系统的并发控制方法,MySQL数据库中的InnoDB存储引擎就实现了这种技术。MVCC通过在每个事务中对数据进行版本控制来实现多个事务的高效并发执行,增强了数据库的读写性能,并且减少了锁的需求。

2024-03-11 09:19:01 988

原创 【MySQL性能优化】- MySQL事务级别与锁机制

事务,在数据库中是一个不可分割的工作单位。在MySQL中,一个事务是由一组SQL语句组成的序列,这组SQL语句作为一个整体被执行,也就是说,要么整体执行成功,要么整体执行失败。我们在平时使用的数据库,都会并发的执行多个事务,而这些多事务就很有可能会并发对同一批数据进行CRUD操作,如果没对这些做好相应处理,就会导致脏写、脏读、不可重复读、幻读的奇奇怪怪的问题。

2024-02-03 14:59:33 1052

原创 【MySQL性能优化】- MySQL结构与SQL执行过程

上阶段初步学习了索引与优化,以及对Explain的使用,接着来就来初识一下SQL执行的时候底层是如何执行的,这样有助于我们对SQL的理解,才能够更好的对SQL进行优化。

2024-01-13 21:30:32 1153

原创 【MySQL性能优化】- Explian用法与结果集详细分析

在开发中要多用EXPLAIN来进行查看自己的SQL,以便优化,要养成良好习惯。要自主分析、识别SQL如何优化,尤其是开发复杂SQL的时候。要学会看懂EXPLAIN各列以及每列字段对应的各种参数分别包含了什么数据什么意思,这样才能发挥主观能动性,调优SQL。

2023-12-20 13:16:41 941 1

原创 【MySQL性能优化】- 存储引擎及索引与优化

此次学习了索引的底层原理,对比了各种数据结构充当索引的利弊。对MyISAM存储引擎索引和InnoDB存储引擎索引进行细化学习分析。也对联合索引的构成和最左前缀优化进行阐述,只有EXPLAIN的使用没有在本文章体现,这个将会在下篇文章进行描述。

2023-12-18 12:56:31 929

原创 【开源组件】- 关于Jetcache的使用

本篇记录了笔者在开发中会使用到的注解/方法,对于其字段含义也做了一定的备注。

2023-11-25 20:47:51 1132

原创 【JVM系列】- 穿插·对象的实例化与直接内存

本此学习穿插了Java对象的内存布局,更加清楚了解到对象的创建方式以及过程,最为重要的是了解对象的布局结构,包括实例对象数据存放在堆中,类元信息在方法区,栈帧通过引用去指向对应的数据信息。对比了句柄方式和指针方式。最后学习了直接内存的内容,了解了直接内存也是会出现OOM异常。

2023-11-25 20:42:47 1215

原创 【python后端】- 初识Django框架

Django 是一个用于构建 Web 应用程序的高级 Python web 框架。它提供了许多开箱即用的功能,使得开发者可以更快速地建立功能强大、可扩展的 Web 应用。

2023-11-12 22:41:06 467

原创 【JVM系列】- 寻觅·方法区的内容

方法区在逻辑上是属于堆的一部分,但是在一些简单的实现可能不会选择去进行垃圾收集或进行压缩。但是对于HotspotJVM而言,方法区还有一个别名:Non-Heap(非堆),目的就是要和堆分开。方法区看作是一块独立于Java堆的内存空间。

2023-11-12 22:36:21 861

原创 【JVM系列】- 挖掘·JVM堆内存结构

本次学习了堆的结构以及对象的分配过程,了解新生代、老年代以及永久代(元数据区)各自结构以及作用,对象分配优先经过那些地方,以及对Minor GC、Major GC、Full GC三种GC的使用和触发阶段。也透过了逃逸分析来了解三个优化代码方式,学到了几种参数配置的使用。

2023-11-05 15:52:17 436

原创 【JVM系列】- 探索·运行时数据区的私有结构

内存是非常重要的系统资源,它直接影响程序的执行性能、稳定性和可用性。内存管理是操作系统和编程语言的关键部分,用于确保程序能够有效地利用内存资源,避免内存泄漏和内存溢出等问题。本文主要介绍私有结构部分。

2023-10-22 19:54:56 300

原创 【JVM系列】- 类加载子系统与加载过程

Java虚拟机会通过类加载器子系统去加载字节码,在类加载的过程还包括了将字节码文件加载到内存,JVM会验证字节码文件的格式、解析符号引用,初始化类、接口等,为静态字段分配内存并初始化。

2023-10-17 21:54:09 760

原创 【JVM系列】- 启航·JVM概论学习

Java虚拟机(Java Virtual Machine,JVM)是一种软件虚拟机,特别为执行Java程序而设计。JVM是Java平台的核心组件之一,它负责将Java字节码翻译成可以在特定计算机上运行的本地机器代码。

2023-10-12 22:14:02 832

原创 【JDBC系列】- 扩展提升学习

上一两篇文章介绍了jdbc的使用过程以及statement与prepareStatement的用法和优缺点,这次就接着来学习一下扩展提升。

2023-08-12 21:15:22 395

原创 【JDBC系列】- 核心API之preparedstatement用法

上一篇jdbc系列文章中介绍了概念与statement的使用,但是statement会有一些缺处,所以这篇来学习一下preparedstatement这个API的用法。

2023-07-23 15:29:20 351

原创 【JDBC系列】- jdbc的概念以及与数据库的交互流程

这次就来学习一下jdbc。本次所学习的大致内容是jdbc的概念与理解,以及如何去使用jdbc来实现Java程序和数据库进行打交道。

2023-07-16 16:57:09 264

原创 【多线程与高并发】- 锁的机制与底层优化原理

最近经常研究一些关于线程并发的问题,再开发中也实实在在遇到过许多的并发问题,之前所学的是如何解决这些问题,然而接下来就得理解一下底层原理。

2023-06-13 19:37:58 565 11

原创 【工具学习】- Python通过dxfgrabber库获取CAD信息

最近需要通过python来获取cad模型的内容信息,然而笔者也没学过python,只能用过查询+动手摸索一步一步进行下去,然后通过dxfgrabber进行本次的学习与实践,在通过Java去执行脚本获取值。以下就是笔者对本次学习与工作的记录。

2023-05-31 21:42:20 3589 2

原创 【微服务】- 分布式系统的流量防卫兵 - sentinel

Sentinel是一个轻量级的开源框架,它提供了实时监控、流量控制、熔断降级等功能,可以在微服务架构中用于保护服务的稳定性和可靠性。在Spring Cloud中,可以通过集成Sentinel来提供服务治理和容错的能力。

2023-04-22 17:00:57 222131 15

原创 【事务与并发】- 不同事务读取相同数据问题

在加了事务的接口中,不同的业务或者是出现并发的时候,发现了一些SQL读取问题,两个都被事务包裹的方法,各自是隔离的,如果一方的事务延时提交,就会导致另一方读取出来的数据相同,并不是修改后的数据。

2023-04-05 23:44:06 229943 3

原创 【批处理】- 批处理自动安装Mysql与Redis

在全新环境中安装MySQL与Redis操作是挺麻烦的,于是就想使用脚本来自动安装,使用批处理进行一步到位的安装,后面还能使用工具进行打包成exe可执行文件,一键安装,最后能够更好的部署项目到windows系统的服务器。

2023-03-18 19:44:28 1560 9

原创 【事务与锁】当Transactional遇上synchronized

最近工作中遇到某些七七八八的问题,就是与事务和锁、并发都有着紧密联系相关的问题所在。主要情况是:通过调用方法获取编号,而这个编号是递增有序的,并且存在于数据库中,简单理解就是需要用到这种编号(以下称任务编号),需要从数据库获取出来,在+1最为本次需要的编号,然后在存回数据库中,提供下次使用。直观来看是没得问题的,但是,可能在某次并发的时候出现编号相同,着属实很令人头疼,在经过领导的指导下是完美的解决了,接下来复盘一下。

2023-03-15 10:28:14 221195 17

原创 【多线程与高并发】- 浅谈volatile

volatile是Java语言中的一种轻量级的同步机制,它可以确保共享变量的内存可见性,也就是当一个线程修改了共享变量的值时,其他线程能够立即知道这个修改。

2023-02-24 22:51:54 219398 23

原创 【多线程与高并发】- synchronized锁的认知

synchronized 是 Java 语言的一个关键字,它允许多个线程同时访问共享的资源,以避免多线程编程中的竞争条件和死锁问题。

2023-02-19 07:15:13 228626 12

原创 【多线程与高并发】- 线程基础与状态

多线程也是一项比较重要的内容,虽然CRUD不太会接触到,但是,在一些相关场景可能会有某些问题是由于线程导致的。简单理解就是一个进程中包含了许多个线程。

2023-02-16 01:24:19 217698 8

原创 【Spring系列】- Spring循环依赖

在beanB的生命周期中,创建方式依然是相同的,因此也会去填充beanA,发现单例池中并没有A的bean对象,这样就造成了循环依赖。

2022-12-04 16:12:46 218517 30

原创 【Spring系列】- Spring事务底层原理

昨天学习了bean生命周期底层原理,今天就来接着简单学习spring事务的底层理解。

2022-11-20 21:24:05 218356 21

原创 【Spring系列】- Bean生命周期底层原理

上次学到动手模拟Spring底层实现,简单学习了一下Spring,对spring有所了解,接着就来分析spring中bean的生命周期的步步流程。

2022-11-19 23:12:01 216394 15

原创 【Spring系列】- 手写模拟Spring框架

上次已经学习了Java的设计模式,接下来就先来学习一下如何手写模拟简易的Spring,通过动手实践,才会更好的了解spring底层原理,今天就简单的模拟Spring容器是如何创建,bean又是如何注入的。

2022-11-13 11:28:00 217102 52

原创 猿创征文|我与开发工具的那些事

现如今科技发展迅速,无论是互联网、物联网、区块链等模块上,许多源码贡献者提供了许多不错的开源工具以及一些付费的工具。然而不仅仅是像我们编程的工具软件,还有是各种方便我们开发的框架、API等等。这些工具在一定程度上帮助开发者提升开发效率。笔者也曾为寻求更好的决策方案深思熟虑,无论是自身寻求,还是他人的帮助,最终是收集到了许多实用的产品,现在就来分享给各位,让各位读者感受一下“我与开发工具的那些事”。

2022-11-04 00:57:51 786 24

原创 猿创征文|SpringBoot与Loki轻量级日志系统

因为网上好多都没有通过Loki的API自己实现对日志监控系统,所以我就下定决心自己出一版关于loki与springboot的博文供大家参考,这个可以说是比较实用,很适合中小型企业。因此我酝酿了挺久了,对于loki的研究也比较久,希望各位读者能有新的收获。

2022-11-02 00:46:59 216784 1

原创 【日志系统】Loki日志监控 - 入门初体验

由于需求对日志进行监控,但是日志又很大,不能直接通过流的方式直接将text读取出来,可以使用grafana+loki+promtail搭建一个轻量级的日志系统,部署也简单方便。grafana提供可视化展示日志,然而loki是存储日志和处理查询,Promtail相当于loki的代理,收集日志发给loki。

2022-10-30 17:26:35 216409 3

原创 【产品新体验】- CSDN云IDE初体验

云IDE是CSDN的最新产品,能够一键秒级构建云开发环境,能够提供开发者肉眼可见的开发效率。

2022-10-25 23:26:30 215372 8

原创 【设计模式】Java23种设计模式 - 整合

整理了前段时间学习的设计模式

2022-10-24 08:00:00 214011

原创 【Java8新特性】- Optional应用

Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。

2022-10-11 23:24:51 995

原创 【Java8新特性】- Stream流

stream是java8新出的抽象概念,他可以让你根据你期望的方式来处理集合数据,能够轻松的执行复杂的查找、过滤和映射数据等操作。Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。

2022-10-09 23:29:41 214063

原创 【Java8新特性】- Lambda表达式

Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包(注意和数学传统意义上的不同)。

2022-10-05 21:23:10 213234

原创 【Java8新特性】- 接口中默认方法修饰为普通方法

在jdk8之后,java就能够通过default和static修饰,直接编写方法体,无需子类去实现。当我们直接在接口类中编写带方法体的方法时,idea就会提示接口抽象方法不能有方法体。

2022-10-04 16:54:21 888

原创 【持久层框架】- SpringData - JPA

JPA 即Java Persistence API。是一款持久层框架,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。JPA的对象关系映射(ORM)模型是基于Hibernate。

2022-10-03 12:39:48 823

原创 【开源组件】- 表格处理 - Luckysheet

使用Luckysheet实现前端从服务器中获取excel文件,通过luckysheet插件在线编辑,完成后将此文件传送到服务器保存。

2022-09-30 23:28:54 212575

空空如也

空空如也

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

TA关注的人

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