自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小诸葛的博客

只有学习才是对抗平庸的唯一方式

  • 博客(741)
  • 资源 (57)
  • 问答 (5)
  • 收藏
  • 关注

原创 知识学习之道

1、看懂了和能自己写下来不是一回事,看懂了未必能写下来,写下来和能和别人讲述清楚又不是一回事,能自己写下来未必能跟别人讲明白,能跟别人讲明白是最高境界;2、书读百遍,其意自现,无论是书籍还是技术文档,一定要多读,并且学而时习,每一次学习一般都会有新的理解。...

2020-10-06 10:36:53 307

原创 2021Java面试知识点汇总

2019-11-06 22:44:01 440

原创 软件开发之道

1.务必仔仔细细看清该技术的技术文档,切忌概览;2.对于较难理解的,一定要多看,这个多看不仅仅指一遍遍的阅读技术文档或代码,而且也可以理解为不止某一天看,因为有些知识需要消化,当时看过之后未必能够消化掉,因为需要多看几次、多看几天,还有一个原因就是,在学习时有时会陷进去,而此时可以先放下,理清思绪,或者暂时先不理,等到有时间再处理;3.对于某些难以理解的算法,借助画图来理解是一种有效的辅助...

2019-09-10 10:37:46 547

原创 软件开发准则

数据库1.数据表、数据字段一定一定一定要加注释;2.严禁使用数据库保留字段(user、name、type就是保留字段),如果要使用,必须加上符号`,例如:`user`(英文状态下Esc下面的键即可打出符号`);Java1.接口中要打印前端传入的参数和返回的数据,方便查看日志、恢复数据。2.日志打印用日志工具类打印,不要用System.out.println()打印,因为在服务...

2019-05-08 14:58:47 636

原创 Golang Gin 获取Restful参数、URL查询参数,Form 表单参数,JSON格式参数

https://www.cnblogs.com/shuiche/p/17812266.html

2024-08-19 20:38:49 80

原创 go语言中map、slice、chan底层数据结构是怎样的

slice:runtime包下的slice中的slice。chan: runtime包下的chan中的hchan。map:rutime包下的map中的hmap。

2024-08-18 20:53:05 332

原创 go语言中new和make的区别

也就是说,make是用来初始化go中map、slice、chan的特有方法,它既会给对象分配内存,也会初始化对象。但是new不会,new只会单纯给对象分配内存。我自定义了一个MyMap,通过new初始化后,往这个map的SingleMap里添加元素的时候报错了,因为SingleMap还没有初始化。可以看到,执行make map的时候,底层会调用makemap方法(slice和chan也有各自的make方法)找到map源码,找到makemap方法。

2024-08-18 20:48:05 386

原创 go语言中new和make的区别

在 Go 语言中,new函数不能用来创建通道(chan),这是因为new只分配内存并返回指向该内存的指针,而不负责初始化内存。

2024-08-18 18:31:14 292

原创 如何搭建redis哨兵集群

进到master(6380)容器,连接redis,使用info replication命令查看集群状态。redissentinel.conf配置模板。6381,6382,6383节点配置方式同。redis.conf配置模板。

2024-08-18 15:29:15 223

原创 Dockerfile常用指令详解

Dockerfile 是一个用于定义 Docker 镜像构建过程的脚本文件,其中包含了一系列指令,用于指定如何构建和配置镜像。

2024-08-18 12:27:18 431

原创 Linux设置yum源为阿里云镜像源

如果ping不通,则找一台可以连接外网的电脑,ping一下mirrors.aliyun.com,找到mirrors.aliyun.com对应的ip。五、查看yum源信息,已经更换为了阿里云镜像源。三、下载阿里云Centos-7.repo文件。一、验证网络是否可以连接阿里云镜像。

2024-08-17 10:07:22 299

原创 Ansible官方文档

Introduction to modules — Ansible Community Documentation

2024-08-17 09:54:47 85

原创 linux如何配置主机间免密ssh连接

再执行ssh连接就不用输入密码了。之间基于key(无密码的方式)的。

2024-08-17 09:27:05 230

原创 prometheus数据如何清理

除了数据块,Prometheus 还使用 Write-Ahead Log (WAL) 文件来临时存储最近的数据,在wal目录下,必须选择删除这些文件,但要谨慎操作,Prometheus 将数据分块存储,每个块对应一个时间段。你可以通过查看目录中的时间戳来找到需要删除的数据块。2. 进到prometheus数据目录。1. 停止prometheus服务。3.1 删除持久化的数据块。

2024-08-16 20:18:58 250

原创 生产环境jvm oom问题如何排查

通过这些步骤,可以有效排查和解决生产环境中的 OOM 问题,确保应用程序在高负载下的稳定性。: 如果 JVM 仍然在运行,可以使用。

2024-08-16 07:34:30 431

原创 envoy xds有哪些类型,分别表示什么意思

Envoy 使用 XDS(eXtensible Discovery Service)来动态配置代理的各种方面。XDS 配置通过不同类型的资源来管理 Envoy 的行为。

2024-08-15 20:43:25 343

原创 生产环境Java应用有哪些必须要设置的jvm参数

在生产环境中运行 Java 应用时,设置合适的 JVM 参数对于性能、稳定性和可维护性至关重要。

2024-08-15 08:08:29 316

原创 tcpdump入门——四次挥手

你抓到的包显示了一个优化的四次挥手。在这种情况下,客户端和服务器各自的FIN包和对前一个FIN包的ACK一同发送,导致你看到的包中包含了[F.]标志位而不是单独的F或标志位。这是一种常见的 TCP 优化,减少了需要发送的包的数量,同时仍然遵循了 TCP 的协议要求。这种优化是在客户端和服务器都没有更多数据要发送时发生的,因此它们的FIN和ACK包可以合并,节省了一个数据包的传输。这种优化仍然符合 TCP 的四次挥手过程,只是减少了一个数据包。

2024-08-14 08:07:03 526

原创 tcpdump入门——每种flag分别表示什么意思

在tcpdump的输出中,TCP 标志位(Flags)通常用简写字符表示。

2024-08-14 07:06:03 357

原创 tcpdump入门——基本功能概述

tcpdump是一个强大的命令行抓包工具,广泛用于网络流量的捕获和分析。以下是详细的入门级讲解,帮助你理解如何使用tcpdump。

2024-08-14 07:01:28 375

原创 tcpdump入门——抓取三次握手数据包

使用 nsenter 命令进入容器的网络命名空间。在 ip link 命令的输出中,容器的网络接口名称通常是以 eth 开头的,例如 eth0。使用 ip link 命令列出主机上的所有网络接口,并找到 veth 开头的接口即为容器在主机上的网络接口。首先,你需要获得容器的进程 ID(PID)。这个命令会列出容器内部的所有网络接口信息。lo 是容器的回环接口,不用于外部通信。eth0 是容器内的网络接口名称。这个命令将返回容器的 PID。

2024-08-13 22:40:14 537

原创 使用go实现一个简单的聊天服务器

使用go实现一个简单的聊天服务器,对于客户端发送的消息,服务端添加时间戳和冒号后返回客户端。

2024-08-13 22:28:57 302

原创 文件描述符是什么,线程个数为什么受文件描述符限制?

文件描述符是操作系统用于管理文件和I/O资源的重要机制,线程本身不直接消耗文件描述符,但线程执行的任务(如文件操作、网络连接)会消耗文件描述符。在高并发场景下,大量线程可能间接导致文件描述符的耗尽,从而影响系统性能和稳定性。文件描述符(File Descriptor,FD)是操作系统用于访问和管理文件的一个抽象概念。每个打开的文件、网络连接、管道、设备等,都对应一个唯一的文件描述符。文件描述符是一个整数,用于标识一个已经打开的文件或输入/输出资源。操作系统对每个进程能够打开的文件描述符数量通常是有限制的。

2024-08-10 19:50:28 398

原创 使用线程池创建多少个线程合适?

线程池中线程数量的选择需要根据应用场景、任务类型和系统资源进行综合考虑。

2024-08-10 19:36:40 360

原创 可以创建无限个线程吗?

在理论上,Java允许创建任意数量的线程,但实际上,操作系统和JVM对线程数量是有限制的,无法创建无限个线程。

2024-08-10 19:32:28 443

原创 Java中为什么要使用线程池,有哪些好处

使用线程池是多线程编程中常见的一种优化技术,它能够有效管理和复用线程资源,提高系统性能并简化线程管理。

2024-08-10 19:29:17 333

原创 synchronized如果没有实现偏向锁,直接使用重量级锁,会怎么样?

如果 JVM 没有实现偏向锁,并且增加锁开销: 在所有情况下使用重量级锁会增加线程的阻塞和唤醒开销,尤其是在低竞争的情况下。资源浪费: 在没有竞争的情况下,重量级锁的开销是冗余的,会浪费系统资源。性能退化: 高负载情况下,频繁的锁操作会导致系统性能退化,降低应用的吞吐量。偏向锁的引入主要是为了优化在没有竞争的情况下的锁开销,提高系统的整体性能。它通过减少锁操作的开销,减少了上下文切换和资源浪费,从而在多线程环境中提高了应用的效率。

2024-08-10 19:11:15 387

原创 synchronzed为什么要升级为重量级锁,轻量级锁不好吗?

轻量级锁: 主要用于减少在没有竞争的情况下的锁开销,通过自旋机制快速获取锁。适用于锁竞争较少的情况。重量级锁: 主要用于处理高竞争情况,通过操作系统的线程调度机制管理锁的获取和释放。适用于锁竞争激烈的场景。轻量级锁和重量级锁各自有其优点和适用场景。JVM 通过动态调整锁的级别(从轻量级锁升级到重量级锁),以适应不同的竞争情况,从而在不同的应用场景中实现最佳的性能。

2024-08-10 19:04:15 256

原创 synchronized重量级锁的实现原理是怎样的

重量级锁: 用于在高竞争情况下确保线程同步,涉及线程的阻塞和唤醒。操作系统同步机制: 使用互斥量、信号量等操作系统原语来实现锁的获取和释放。上下文切换: 当线程被阻塞时,操作系统会进行上下文切换,带来较大的开销。锁的升级和降级: 锁可以从轻量级锁升级为重量级锁,也可以在竞争减少时降级为轻量级锁。重量级锁通过操作系统层面的线程调度机制来处理高竞争的同步问题,但会带来相对较大的性能开销。

2024-08-10 19:02:30 777

原创 synchronized自旋时间是多久呢?什么情况下会升级为重量级锁

自旋时间: 自旋时间由自旋次数决定,通常为短时间内的多次自旋,JVM 可以根据实际运行情况动态调整。锁升级: 轻量级锁会在自旋超时、线程竞争激烈或锁持有时间较长时升级为重量级锁。

2024-08-10 18:59:38 746

原创 Java中synchronized的轻量级锁是如何减少锁开销的

轻量级锁: 旨在减少线程之间的锁开销,特别是在锁竞争不激烈的情况下。自旋机制: 通过自旋等待锁的释放来避免线程上下文切换的开销。锁记录: 通过锁记录数据结构来管理锁的状态和竞争信息。性能优化: 适用于短时间锁竞争的场景,通过减少上下文切换和系统调用开销来提高性能。轻量级锁通过在竞争不激烈的情况下优化锁的获取和释放,从而提高程序的整体性能和效率。

2024-08-10 18:58:26 875

原创 Java中synchronized的偏向锁是如何减少锁开销的

偏向锁: 主要用于减少在没有锁竞争时的开销。对象头中的 Mark Word: 用于记录持有锁的线程 ID,从而优化锁的获取和释放。锁竞争和撤销: 当检测到锁竞争时,偏向锁会被撤销并升级为轻量级锁,优化锁的性能。偏向锁通过在没有竞争的情况下减少同步开销,从而提高程序的执行效率。

2024-08-10 18:52:04 942

原创 Java中synchronized的锁升级是什么?

锁升级的目标: 提高同步的性能,减少开销,适应不同的锁竞争情况。主要应用: 锁升级机制主要是针对关键字的,优化其在多线程环境中的同步操作。优化效果: 锁升级机制使得 JVM 能够在不同的竞争条件下选择最合适的锁类型,从而提高程序的性能和吞吐量。

2024-08-10 18:48:31 297

原创 Java对象头里有哪些信息

Java 对象的对象头包含了用于对象管理和同步的各种信息。它主要包括Mark Word和。Mark Word用于存储对象的状态信息,如哈希码、锁信息和 GC 信息,而指向对象所属的Class对象。这些信息是 JVM 内部实现对象管理、同步和垃圾回收等功能的基础。

2024-08-10 18:33:06 435

原创 Java中synchronized支持重入吗?

Java 的关键字支持重入性。通过使用内置的锁机制,确保同一个线程可以多次获得同一把锁,从而允许在同一个锁保护下进行递归调用和方法嵌套。这种特性是线程安全的重要保障,使得在实现多线程程序时,能够简化代码并避免死锁问题。

2024-08-10 18:15:16 327

原创 ReentrantLock的可重入体现在哪方面?

的可重入性是其一个重要特性,它允许线程在持有锁的情况下,重复获取同一把锁,而不会导致死锁。这个特性在多线程编程中非常有用,尤其是在递归调用和分层方法调用的场景下。

2024-08-10 18:08:41 387

原创 Java中reentrantlock性能为什么那么高

的高性能是其内部设计和实现细节的结果,尤其是在高并发场景下,它通过自旋锁、CAS 操作、非公平锁策略、锁分离和更灵活的控制来提升性能。在某些场景下,能够提供比更好的并发性能,尤其是当需要细粒度控制、非阻塞操作和复杂的并发逻辑时。

2024-08-10 17:51:32 244

原创 gorm入门——gorm如何实现事务

在 GORM 中,你可以通过BeginCommit和Rollback方法来实现事务管理。事务允许你将多个数据库操作包装在一起,确保这些操作要么全部成功,要么全部回滚,以保证数据的一致性。

2024-08-08 23:15:58 212

原创 gorm入门——如何实现分页查询

在 GORM 中,实现分页查询非常简单,你可以使用Limit和Offset方法来控制查询结果的数量和起始位置。

2024-08-08 23:09:10 295

原创 gorm手册

GORM 指南 | GORM - The fantastic ORM library for Golang, aims to be developer friendly.

2024-08-08 22:57:42 71

xiaozhugedubbodevelop.zip

本资源是使用idea创建的maven聚合项目。项目中有三个工程,一个基础api工程,一个消费者工程,一个服务提供者工程。

2020-05-09

deskjet 2132 驱动.zip

本资源是惠普打印机deskjet 2132的驱动程序安装包,因官网下载很慢,特此分享给大家。

2019-10-28

junit单元测试相关jar包.zip

本资源内有两个工具包,分别为hamcrest-core-1.3.jar、junit-4.12.jar。

2019-09-30

图书管理系统软件开发全过程文档.doc

本文档是软件开发全过程文档,包括需求分析 、概要设计、详细设计、测试计划一整套流程。

2019-08-08

licecap123-install.zip

这是一款gif动态图制作工具,很好用,以录屏的方式制作动态图。

2019-07-24

FiddlerSetup.zip

Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 。 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是 web调试的利器。

2019-07-16

方寸科技接口文档模板.docx

本资源是restful风格的api接口文档模板,主要用于前后端联调。

2019-06-25

wx_code_highlight.zip

本工具是一个微信推文代码高亮工具,在写微信推文的时候难免要加入一些代码,通过此工具可实现代码高亮.

2019-05-27

SpringCloud案例(集成了Eureka、Ribbon、Feign)

本案例是SpringCloud项目案例,集成了Eureka、Ribbon、Feign等。

2019-04-09

SpringCloud案例(集成了Eureka、Ribbon)

本案例是一个SpringCloud案例,项目继承了Eureka、Ribbon。

2019-04-04

SpringCloud案例(仅集成了Eureka)

本案例是SpringCloud项目案例,仅集成了Eureka,后续会持续集成Ribbon等。

2019-04-02

软件工程开发文档

本资源是来自东软公司的软件工程开发文档,内容包含从定义产品需求到开发测试全过程。

2019-02-25

Nginx高性能Web服务器详解

Nginx高性能Web服务器详解,Nginx是一款高性能web服务器,主要用于反向代理和负载均衡。

2019-02-25

StarUML v3.0.2

该安装包是从StarUML官方网站下载的最新版的,因为外网速度较慢,所以特此分析给大家使用。

2019-02-21

图书管理系统软件开发文档

本资源是严格遵循软件工程开发文档而编写的软件开发文档。

2019-02-15

软件开发文档模板

本资源是东软集团的软件工程开发规范,分享给大家以供学习、参考使用。

2019-02-15

python-3.7.2 for windows

本资源是python3.7.2安装包,因为官网下载速度较慢,特此分享给大家。

2019-01-18

java解惑中文版、高清

该书特写了95个有关Java或其类库的陷阱和缺陷的谜题,其中大多数谜题都采用了短程序的方式,这些程序的行为与其看似的大相径庭。

2018-12-27

OBS-Studio

OBS Studio是一款可以视频直播软件,该软件与网站中的直播软件不一样,他是一款国外的互联网流媒体直播软件,其直播的构架模式采用开源的方式进行录制,常常用在游戏直播中,软件支持串流、音频、视频等设置,能够让用户可以自由选择自己的直播模式,您可以选择让人们看到指定的视频展现模式,可操作性非常丰富,对于不同的朋友设计了具体的直播方案,充分考虑到了所有类型的直播,操作起来也是比较方便的,可以设置多个场景,方便用户随时切换。

2018-12-22

RabbitMQ安装手册

MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。

2018-11-09

kibana-6.4.2-x86_64

Kibana使得理解大量数据变得很容易。它简单的、基于浏览器的界面使你能够快速创建和共享动态仪表板,实时显示Elasticsearch查询的变化。

2018-10-22

kibana-6.4.2-windows-x86_64

Kibana使得理解大量数据变得很容易。它简单的、基于浏览器的界面使你能够快速创建和共享动态仪表板,实时显示Elasticsearch查询的变化。

2018-10-22

kibana-6.4.2-linux-x86_64

Kibana使得理解大量数据变得很容易。它简单的、基于浏览器的界面使你能够快速创建和共享动态仪表板,实时显示Elasticsearch查询的变化。

2018-10-22

王道2019年考研复习指导四本无水印PDF

王道2019年考研复习指导四本无水印PDF,供大家复习考研用,仅供学习参考用,如有需要,请购买正版书籍阅览,祝愿大家金榜题名!

2018-10-19

计算机程序设计艺术(中文版)pdf三卷合集

该书的原作者是唐纳德,该书被《美国科学家》杂志评价为20世纪最重要的12本物理科学类专论书。

2018-10-16

Xshell6.0 linux远程连接工具

该工具是用于远程连接linux的ssh远程连接工具,仅供研究学习使用,严禁用于其他商业用途。

2018-09-18

feeds流优质内容排序机制

本文档是优质内容排序机制,有着详细的打分算法、公式。

2018-09-06

SQLyog Ultimate

mysql图形界面管理工具,供大家学习研究使用,严禁用于商业用途!

2018-08-27

sublime_test

本资源是一款强大的编辑器,无需注册即可使用,包含32位和64位的。

2018-08-17

react-developer-tools

该资源是谷歌浏览器react开发调试工具,新版的,亲测可用。

2018-07-09

码出高效阿里巴巴Java开发手册

该资源是阿里巴巴集团Java开发手册,主要用于Java开发中的命名规范及开发规范。

2018-05-17

SSH Secure File Transfer Client

该资源是Windows通过ssh远程连接linux的工具,主要用于远程控制和文件传输。

2018-04-11

Navicat免注册版

本资源是一款数据库图形管理工具Navicat,附带注册码。

2018-03-27

mysql 5.1.51 32位安装包

本资源是mysql5.1.51Windows版本的安装包,安装包版本为32位,但在32电脑和64为电脑下均可以使用。

2018-03-27

redis入门与实践

本文档是redis入门文档,文档内容很全,包括理论与实践,最后讲解了redis主从复制与集群。

2018-03-12

java excel api

本资源是java操作Excel的jar包,jxl可以轻松实现各种复杂的功能呢。

2018-03-06

java连接mysql和sql server的驱动包

该资源是java连接mysql和sql server的驱动包,mysql5.1以上,sql server 2012以上。

2018-03-06

slfj-nop-1.7.5.jar

本jar包是搭建大数据集群环境所必须的jar包,使用在linux环境下。

2018-02-16

X-admin后台管理框架

本资源是基于bootstrap的后台管理框架模板,快速搭建后台页面。

2018-02-05

h+后台管理模板

本资源是基于bootstrap的后台管理模板,快速搭建后台页面。

2018-01-31

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

TA关注的人

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