自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 FPGA Xilinx维特比译码器实现卷积码译码

Xinlinx的Viterbi维特比译码器

2024-12-04 20:20:54 1155 1

原创 Redis面试篇

介绍了Redis面试相关内容,包括缓存、持久性、数据过期、内存淘汰、主从复制、主从同步、哨兵、分片集群等方面

2024-10-23 20:43:27 1028 2

原创 Redis面试-两种方式实现分布式锁

介绍Redis的两种方式实现分布式锁、缓存更新、超卖问题

2024-10-23 20:15:39 831

原创 Redis最佳实践

介绍了Redis最佳实践,一些有用的实践技巧

2024-10-11 20:41:59 849

原创 Redis原理篇之网络模型

介绍了Redis网络模型,IO多路复用等

2024-10-11 20:34:01 874

原创 Redis通信协议、回收内存

介绍了Redis内存回收和redis过期策略

2024-10-11 19:06:32 945

原创 Redis原理篇 之数据结构

介绍了Redis的数据结构原理,包括五种数据类型和6中编码方式

2024-10-11 00:19:07 984 1

原创 Redis高级篇 —— 分布式缓存

介绍了Redis持久化以及三种Reids集群方案:主从、哨兵、分片集群

2024-10-10 23:34:28 1967 1

原创 SpringBoot

SpringBoot配置文件、整合SpringMVC、整合Druid资源、整合Mybatis

2024-08-05 22:54:44 911

原创 黑马微服务—Docker

镜像就是包含了引用程序、程序运行的系统函数库、运行配置等文件的文件包。构建镜像的过程其实就是把上述文件打包的过程。

2024-08-05 21:28:15 1532 2

原创 Elasticsearch下篇

介绍了DSL查询、JavaRestClient以及数据聚合

2024-08-05 21:16:38 1019

原创 Elasticsearch(高性能分布式搜索引擎)-上篇

首先简单介绍了elasticsearch,后又了解了索引库的操作、文档操作以及JavaRestClient

2024-08-05 21:07:46 1263

原创 RabbitMQ-高级

介绍了RabbitMQ发送者可靠性、MQ的可靠性、消费者的可靠性以及延迟消息

2024-08-05 20:55:49 1212

原创 RabbitMQ入门

介绍了MQ、RabbitMQ以及Java客户端SpringAMQP

2024-08-05 20:44:41 1135

原创 微服务-MybatisPlus下

MybatisPlus拓展功能,插件功能

2024-07-28 20:29:41 648

原创 微服务-MybatisPlus上

MybatisPlus的快速入门、核心功能,包括条件构造器、自定义SQL、Service接口

2024-07-28 20:19:35 1301

原创 微服务下(黑马)

微服务网关路由、网关登录校验、配置管理

2024-07-26 21:47:42 784

原创 微服务上(黑马)

认识微服务、微服务拆分、服务注册与发现nacos、OpenFeign

2024-07-26 21:26:53 1066

原创 Mysql基础 - 事务

Mysql数据库实务操作

2024-06-10 22:51:55 414 2

原创 Mysql基础-多表查询

介绍了多表查询,包括内连接、外连接、自连接、子查询

2024-06-10 22:35:46 1085

原创 MySQL 函数与约束

介绍了Mysql相关函数及约束,包括字符串、数值、日期、流程函数,外键约束。

2024-06-10 21:54:31 1219

原创 MySQL数据库-SQL语句

介绍了SQL,包括DDL、DML、DQL、DCL

2024-06-10 21:49:20 822

原创 Redis的入门介绍

对Redis进行了入门介绍

2024-06-05 10:06:56 940

原创 Spring AOP面向切面编程

介绍了如何使用切面AOP编程

2024-06-05 10:01:07 768

原创 SpringMVC全局异常处理+拦截器使用+参数校验

介绍了如何使用SpringMVC全局异常处理+拦截器使用+参数校验

2024-06-05 09:59:01 1619

原创 SpringMVC接收数据+SpringTask

介绍了@RequestMapping注解的作用以及Param参数、 路径参数 JSON参数、 Cookie数据请求头数据的接收以及Spring Task

2024-06-05 09:53:08 1119

原创 第一章计算机网络

网络(Network)由若干**结点(Node)和连接这些结点的链路(Link)**组成。比如图1中左侧网络是由四个节点和三个链路组成。图1 网络多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(或互联网)。因此,互联网是“网络的网络(Network of Networks)”因特尔(Internet)是世界上最大的互联网络(用户数以亿计,互联的网络数以百万计)。internet与Internet的区别。

2024-03-10 11:31:43 1389

原创 第十七章垃圾回收器

垃圾收集器没有在规范中进行过多的规定,可以由不同的厂商、不同版本的JVM来实现。由于JDK的版本处于高速迭代过程中,因此Java发展至今已经衍生了众多的GC版本。从不同角度分析垃圾收集器,可以将GC分为不同的类型。垃圾收集机制是Java的招牌能力极大地提高了开发效率。这当然也是面试的热点。那么,Java常见的垃圾收集器有哪些?截止JDK 1.8,一共有7款不同的垃圾收集器。每一款不同的垃圾收集器都有不同的特点,在具体使用的时候,需要根据具体的情况选用不同的垃圾收集器。

2024-03-10 11:21:00 934

原创 第十六章垃圾回收相关概念

随着元数据区的引入,方法区内存已经不再那么窘迫,所以相应的ooM有所改观,出现00M,异常信息则变成了:“java.lang.OutOfMemoryError: Metaspace"。对于一个普通的对象,如果没有其他的引用关系,只要超过了引用的作用域或者显式地将相应(强)引用赋值为null,就是可以当做垃圾被收集了,当然具体回收时机还是要看垃圾收集策略。单例的生命周期和应用程序是一样长的,所以单例程序中,如果持有对外部对象的引用的话,那么这个外部对象是不能被回收的,则会导致内存泄漏的产生。

2024-03-10 11:00:02 825

原创 第十五章垃圾回收相关算法

标记阶段:引用计数算法、可达性分析算法清除阶段:标记清除算法、复制算法、标记-压缩算法如图1中,如果p=null,按理来说,后面三个节点也不要了。但是由于都存在引用,计数器都为1,导致引用计数算法无法将其视为垃圾进行GC,所以出现了内存泄漏。但是注意,这种内存泄漏只在引用计数算法中存在,其他算法可以解决这个问题。又因为Java中没有使用这类算法,所以Java中不存在这种内存泄漏问题。程序运行结果中出现了GC,则说明Java确实使用的不是引用计数算法,因为即使栈中两个引用为Null了,但是堆中这两个实例还分

2024-03-10 10:51:23 1088

原创 第十四章垃圾回收概述

垃圾收集,不是Java语言的伴生产物。早在1960年,第一门开始使用内存动态分配和垃圾收集技术的Lisp语言诞生。关于垃圾收集有三个经典问题:哪些内存需要回收?什么时候回收?如何回收?垃圾收集机制是Java的招牌能力,极大地提高了开发效率。如今,垃圾收集几乎成为现代语言的标配,即使经过如此长时间的发展,Java的垃圾收集机制仍然在不断的演进中,不同大小的设备、不同特征的应用场景,对垃圾收集提出了新的挑战,这当然也是面试的热点。什么是垃圾( Garbage)呢?垃圾是指在。

2024-03-10 09:10:09 692

原创 第十三章StringTable

比如s3.intern(),则在堆中的字符串常量池就有一个新的引用,该引用指向s3在堆中指向的new String(“11”)对象。当s4 = '‘11’'时,很容易知道s4的“11”是指向字符串常量池中的“11”,而由于字符串常量池中只保存了指向堆中“11”的引用,所以s4实际上也是指向堆中的“11”对象。调用 intern 方法时,如果根据 equals(Object) 方法的判断,字符串池中已包含一个与此字符串对象相等的字符串,则返回字符串池中的字符串。大的网站平台,需要内存中存储大量的字符串。

2024-03-10 09:08:23 582

原创 第十二章执行引擎

图1 JVM架构前面讲完了图1JVM架构中的大部分,只剩下执行引擎没讲了,这次讲一下执行引擎。图2 执行引擎执行引擎是Java虚拟机核心的组成部分之一。“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎则是由软件自行实现的,因此可以不受物理条件制约地定制指令集与执行引擎的结构体系,能够执行那些不被硬件直接支持的指令集格式。JVM的主要任务是负责装载字节码到其内部,但。

2024-03-10 09:06:03 694

原创 第十一章本地内存

读写文件,需要与磁盘交互,需要由用户态切换到内核态。在内核态时,需要内存如右图的操作。这里需要两份内存存储重复数据,效率低。

2024-02-24 11:36:39 263

原创 第十章对象的实例化内存布局与访问定位

意思是所有用过的内存在一边,空闲的内存在另外一边,中间放着一个指针作为分界点的指示器,分配内存就仅仅是把指针向空闲那边挪动一段与对象大小相等的距离罢了。意思是虚拟机维护了一个列表,记录上哪些内存块是可用的]再分配的时候从列表中找到一块足够大的空间划分给对象实例,并更新列表上的内容。将对象的所属类(即类的元数据信息)、对象的HashCode和对象的GC信息、锁信息等数据存储在对象的对象头中。如果内存不是规整的,已使用的内存和未使用的内存相互交错,那么虚拟机将采用的是空闲列表法来为对象分配内存。

2024-02-24 11:35:32 729

原创 第九章方法区

图1 JVM架构-简图前面运行时数据区中是剩下方法区没讲了 这次讲解方法区图9 方法区总结。

2024-02-24 11:33:32 1083

原创 第八章 堆

图1 JVM架构-简图前面已经介绍了类加载子系统、本机方法接口和本地方法库,以及运行时数据区中的程序技术器、本地方法栈、虚拟机栈。本节介绍运行时数据区的堆一个JVM实例(一个实例对应一个进程)只存在一个堆内存,堆也是Java内存管理的核心区域。Java堆区在JVM启动的时候即被创建,其空间大小也就确定了。是JVM管理的最大一块内存空间。堆内存的大小是可以调节的。try {Run——>Debug Configurations得到图2图2 修改堆内存在红色矩形框中输入。

2024-02-24 11:29:27 1187

原创 第七章 本地方法栈

第七章 本地方法栈1. 本地方法栈Java虚拟机栈用于管理Java方法的调用,而本地方法栈用于管理本地方法(第六章本地方法)的调用。本地方法栈,也是线程私有的。允许被实现成固定或者是可动态扩展的内存大小。(在内存溢出方面是相同的)如果线程请求分配的栈容量超过本地方 法栈允许的最大容量,Java虚拟机将会抛出一个 stackoverflowError 异常。如果本地方法栈可以动态扩展,并且在尝试扩展的时候无法申请到足够的内存,或者在创建新的线程时没有足够的内存去创建对应的本地方法栈,那么Jav

2024-02-24 11:19:03 262

原创 第六章 本地方法接口

简单地讲,一个Native Method就是一个Java调用非Java代码的接口。该方法的实现由非Java语言实现,比如c。这个特征并非Java所特有,很多其它的编程语言都有这一机制,比如在c++中,你可以用extern "c"告知C++编译器去调用一个c的函数。在定义一个native method时,并不提供实现体(有些像定义一个Java interface),因为其实现体是由非java语言在外面实现的。本地接口的作用是融合不同的编程语言为Java所用,它的初衷是融合c/C++程序。

2024-02-24 11:17:31 932

原创 第五章虚拟机栈

由于跨平台性的设计,Java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。优点是:跨平台,指令集小(八位),编译器容易实现。基于寄存器的方式和具体CPU耦合比较高,指令集是十六位的缺点是:性能下降,实现同样的功能需要更多的指令。

2024-02-24 11:15:37 931

空空如也

空空如也

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

TA关注的人

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