自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序人生,算法世界

程序员的修行日记

  • 博客(84)
  • 资源 (10)
  • 问答 (1)
  • 收藏
  • 关注

原创 Spring Data Redis 从入门到精通:原理与实战指南

Redis是一款高性能内存数据库,支持多种数据结构和持久化机制。Spring Data Redis简化了Redis操作,提供RedisTemplate模板类和缓存注解(@Cacheable等)。使用时需注意序列化机制(推荐JSON)、事务处理、分布式锁实现和消息发布订阅等高级特性。优化建议包括配置连接池、设置合理过期时间、监控慢查询和内存使用。生产环境推荐哨兵或集群部署确保高可用,同时防范缓存穿透、雪崩等问题。合理使用Redis能显著提升系统性能,但需注意序列化一致性和并发控制。

2025-07-23 17:43:19 510

原创 Spring WebFlux 详解:从入门到实战

本文全面介绍了Spring WebFlux框架,一个基于响应式编程模型的高性能Web框架。文章首先分析了传统同步阻塞式框架的局限性,指出WebFlux在应对高并发场景时的优势。随后详细解析了响应式编程的核心概念、Reactive Streams规范和Project Reactor实现。通过代码示例演示了注解式和函数式两种编程模型,并介绍了与MongoDB等响应式数据库的集成方法。文章还深入探讨了WebFlux的错误处理、过滤器、WebSocket支持等高级特性,以及性能优化建议和最佳实践。最后指出WebFl

2025-07-23 16:17:57 756

原创 Lombok 注解详解:让 Java 代码更简洁高效

Lombok是一款简化Java开发的工具库,通过注解自动生成getter/setter、构造方法等模板代码。文章介绍了@Getter/@Setter、@ToString、@EqualsAndHashCode等常用注解,以及@Slf4j日志注解和构造器相关注解的使用方法。同时强调了@Data组合注解的便利性和@Builder构建者模式的优势。最后提醒开发者注意Lombok的版本兼容性和团队协作问题,合理使用可以显著提升开发效率。

2025-07-23 14:34:30 443

原创 深入浅出理解 Reactor:响应式编程的利器​

本文介绍了Java生态中的响应式编程库Reactor,它实现了ReactiveStreams规范,支持构建异步、非阻塞的应用程序。文章重点讲解了Reactor的核心组件Flux(0-N个元素)和Mono(0-1个元素),其工作原理基于发布-订阅模式并采用背压机制解决处理速度不匹配问题。通过示例展示了常用操作符(map、filter等)的使用方法,并说明Reactor如何与Spring WebFlux结合构建响应式Web应用。最后推荐了官方文档等学习资源,帮助开发者掌握这一高效的数据流处理工具。

2025-07-23 11:39:15 505

原创 JS中仅有经纬度时热力图权重设置方案深度分析

在仅有经纬度数据时,不同的热力图权重设置方案各有优劣,适用场景也有所不同。均匀权重法简单直观,适合初步探索;密度加权法突出热点,适用于展示聚集区域;距离衰减法体现辐射效应,适合有明确中心的场景;时间衰减法反映动态变化,适用于含时间属性的数据;聚类加权法提高效率,适合大规模数据。开发者在实际应用中,应根据数据特点、业务需求和可视化目标,综合考虑选择合适的权重设置方案,并结合相应代码实现,以实现最佳的热力图展示效果。

2025-07-21 11:57:56 914

原创 深入理解 Java 中的 Mono:从基础到实战

Mono响应式编程指南摘要 Mono是Project Reactor中的核心类型,用于处理0-1个元素的异步序列,支持非阻塞操作、背压机制和丰富的操作符链。相比传统同步编程,Mono在高并发和I/O密集型场景下更高效。 核心用法: 创建:Mono.just()、Mono.fromSupplier()、Mono.error() 订阅:subscribe()触发执行,支持值、错误和完成信号处理 转换:map()同步转换,flatMap()异步转换 组合:zip()合并结果,concatWith()连接流 错误处

2025-07-21 11:56:28 385

原创 Redis Geospatial 功能详解及多边形包含判断实现

本文介绍了Redis Geospatial在LBS应用中的使用,包括其核心功能(地理位置存储、距离计算、范围查询等)和常用命令。通过外卖平台商家查询的实战示例,展示了如何存储、查询和计算商家位置。针对多边形包含判断需求,文章详细讲解了结合Redis存储与射线法的实现方案,包括Python代码示例和边界偏差处理。Redis Geospatial与射线法的结合,能高效处理复杂的地理空间操作,为LBS应用提供可靠支持。

2025-07-12 16:10:35 340

原创 从浅入深理解Java虚拟机(JVM):原理、结构与运行机制详解

JVM是Java程序运行的核心引擎,实现"一次编写,到处运行"的跨平台特性。它主要由类加载子系统、运行时数据区和执行引擎三大组件构成。类加载采用双亲委派模型,运行时数据区包含堆(存储对象)、方法区和线程私有的栈等。JVM通过垃圾回收机制自动管理内存,采用标记清除、复制等算法,并发展出G1、ZGC等高效回收器。开发者可通过JVM参数调优和工具监控(如jstat、MAT)解决性能问题。理解JVM原理对Java开发至关重要,尤其在内存管理和性能优化方面。

2025-07-12 10:31:06 246

原创 JUC详细介绍

Java并发工具包(JUC)为多线程编程提供了高效解决方案,主要包括:线程池(Executor框架)管理线程生命周期;原子类(Atomic包)实现无锁并发操作;ReentrantLock等锁机制提供更灵活的同步控制;ConcurrentHashMap等并发容器实现线程安全集合;CountDownLatch等同步工具协调线程协作;以及Future和CompletableFuture处理异步任务。这些组件共同简化了并发编程,提升了性能和可靠性。

2025-07-12 09:47:28 382

原创 SQL Server 空间函数从入门到精通:原理、实战与多数据库性能对比

SQL Server空间功能从2008版本开始引入,支持Geometry和Geography两种数据类型,分别适用于平面几何和地球表面计算。文章详细介绍了空间数据的创建、转换、关系判断、测量计算等基础操作,以及空间索引优化方法。通过实际案例展示了服务区域判断、最近设施查询等应用场景,并对SQL Server与其他主流数据库的空间性能进行了对比分析。最后指出SQL Server空间功能在企业环境集成和大数据处理方面具有优势,建议根据应用场景选择合适的空间解决方案,并提供了性能优化建议。文章还包含各版本更新日志

2025-07-07 18:50:54 288

原创 Python 操作 Redis 全指南:从入门到实战

本文介绍了Python操作Redis数据库的完整指南,涵盖环境搭建、基础连接、数据操作和高级功能。主要内容包括:Redis安装配置、Python客户端连接池建立、五大核心数据类型(String、Hash、List、Set、SortedSet)的详细操作方法,以及事务处理、发布订阅、过期管理等高级特性。文章还提供了异常处理建议和性能优化技巧,如使用连接池、批量操作、合理选择数据结构等。通过本指南,开发者可以快速掌握Python与Redis的集成开发,实现高效的数据缓存和处理方案。

2025-07-03 14:12:44 1080

原创 .NET 8.0 Redis 教程

本文介绍了在.NET中使用Redis的完整指南,包括环境搭建、基础操作和高级特性。主要内容涵盖:1)通过Docker或本地安装Redis;2).NET项目创建与Redis客户端配置;3)基本数据类型(String/Hash/List/Set)操作;4)进阶功能如过期时间设置和事务处理;5)发布订阅和分布式锁实现;6)连接池优化和缓存策略。文章还提供了性能监控方法、常见问题解决方案(缓存穿透/雪崩)以及实战案例,帮助开发者高效集成Redis到.NET应用中。

2025-07-03 11:52:37 391

原创 LINQ (Language Integrated Query) 详解

LINQ 是 .NET 框架中最强大的功能之一,它统一了不同数据源的查询方式,提高了代码的可读性和可维护性。通过掌握 LINQ 的各种操作符和使用场景,可以显著提升 .NET 开发效率,尤其是在数据处理和数据库交互方面。

2025-06-13 16:54:29 697

原创 从入门到精通:C# 中 AutoMapper 的深度解析与实战应用

本文全面介绍C#开发中AutoMapper对象映射工具的应用。作为简化不同对象类型属性映射的开源库,AutoMapper能高效处理数据库实体与DTO之间的转换,解决手动映射繁琐易错的问题。文章从基础安装配置讲起,涵盖集合映射、反向映射、条件映射等进阶用法,并深入解析自定义值解析器、继承映射等高级技巧。同时介绍了AutoMapper在ASP.NET Core中的集成方式及性能优化建议,包括避免重复实例化和预编译映射等实践。通过合理运用AutoMapper,开发者能显著提升C#项目开发效率,减少手动映射带来的维

2025-06-13 10:03:09 831

原创 NuGet 从入门到精进全解析

摘要:NuGet全解析:从基础到企业级应用 本文系统讲解NuGet包管理器的核心功能与进阶技巧。基础部分涵盖安装配置、包操作(安装/更新/卸载)及版本控制;进阶内容涉及私有包源搭建、自定义包创建与发布;企业级方案包括CI/CD集成、安全审计和包签名。最佳实践强调版本锁定、定期更新和安全扫描,推荐结合Visual Studio与dotnet CLI工具链。通过规范使用NuGet,可高效管理.NET项目依赖,提升开发效率与安全性。(150字)

2025-06-11 17:51:23 389

原创 LINQ 投影操作详解:从基础到进阶

在LINQ中,**投影(Projection)**是指将数据从一种形式转换为另一种形式的操作。简单来说,就是"从现有数据中提取或转换信息,创建新的数据集合"。

2025-06-11 10:42:18 369

原创 接口 RESTful 中的超媒体:REST 架构的灵魂驱动

超媒体是 “超文本(Hypertext)” 的延伸,指在资源的表述(如 JSON、XML 响应)中包含指向其他资源的链接(Links),客户端通过解析这些链接来决定下一步操作。其核心思想是 API 的状态转移由返回结果中的超媒体链接驱动,而非客户端硬编码 URL,就像网页浏览器通过 HTML 中的<a href>标签导航页面,RESTful API 通过响应中的链接引导客户端行为。超媒体是 RESTful 架构的灵魂,它将 API 从 “被动的数据接口” 转变为 “主动引导客户端行为的智能系统”。

2025-06-09 22:28:22 1162

原创 Linux 环境下 SQL Server 安装配置与管理全解析

随着开源技术的发展和企业对跨平台部署需求的增长,微软在 2017 年推出了 SQL Server 的 Linux 版本,打破了以往只能运行在 Windows 系统的限制。SQL Server 的 Linux 版本为企业提供了更多的选择,可以在保持强大功能的同时,充分利用 Linux 平台的优势。SQL Server 的配置文件位于 `/var/opt/mssql/mssql.conf`,可以通过编辑此文件修改服务器配置参数。- **连接被拒绝**:检查防火墙设置、SQL Server 配置和端口监听情况。

2025-06-09 11:37:51 912

原创 使用vs2022中自带的sqlserver,并在docker中安装mssql-server 并配置相关信息

通过以上步骤,你可以在 VS2022 中使用 LocalDB 进行本地开发,并通过 Docker 快速部署和管理 MS SQL Server 实例。

2025-06-08 18:39:36 1224

原创 ASP.NET Core中请求通道和中间件

当客户端发送请求到服务器时,请求会依次通过这些中间件,每个中间件可以对请求进行处理、修改,然后将请求传递给下一个中间件。中间件是请求通道中的独立组件,负责执行特定的任务(如身份验证、日志记录、静态文件处理等)。:处理静态文件请求(如 HTML、CSS、JavaScript)。注册一个终端中间件,不将请求传递给下一个中间件(终止管道)。:负责将请求映射到具体的端点(如控制器、最小 API)。注册一个通用中间件,可选择性地将请求传递给下一个中间件。基于条件(如请求头、查询参数)分支注册中间件。

2025-06-08 10:55:54 589

原创 在vs2022中的program.cs中已经没有app.useEndpoints

Core 6.0 及之后的版本中,Microsoft 引入了最小 API 模式,这种模式简化了项目结构,像。方法也不再被使用,路由配置有了新的方式。等方法直接完成的,不再需要使用。在新的模式里,路由配置是通过。文件就变得更加简洁。

2025-06-08 10:52:07 162

原创 echarts实现大数据拖拽数据图表

//【血压】function getDtBP(json) { var DiastolicArray = []; var ShrinkArray = []; var LastUpdateArray = []; $("#id_nodata").hide();//隐藏无数据提示 if (json.length > 0) { for (var i = 0; i < json.length; i++) { if (jso.

2020-06-09 09:51:14 3675 2

原创 mysql安装配置指令

一、环境变量配置首先在官网下载最新的mysql8.0.11数据库,解压到你需要放置的盘符最好不要有中文,然后新建MYSQL_HOME参数为mysql解压后安装文件的bin文件路径如我的:变量名:MYSQL_HOME变量值:E:\tools\database\mysql\mysql8.0.11\mysql-8.0.11-winx64\bin然后在Path变量开头添加%MYSQL_HOME%...

2018-07-17 15:08:57 400

转载 调用第三方地图导航,高德、百度、谷歌,无需引用sdk

 先判断是否存在地图,存在就可以进入导航,没有的话就默认进入市场下载app,代码如下:i1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new AlertDialog.Builder(mContext).setSingleChoiceI...

2018-03-26 15:55:23 2227

转载 Centos6.3下jdk+tomcat安装部署

最近一直在学习LINUX下的脚本语言,好久没有更新应用了,刚好群里有人问我关于tomcat的安装配置问题,这不就忙里偷闲,整理了篇tomcat的文档,供大家分享。安装部署:系统环境:centos6.3 x64JDK:      jdk-6u25-linux-x64-rpm.binTOMCAT:   apache-tomcat-7.0.42服务端地址:192.168.7.73配置前先关闭iptabl...

2018-03-22 09:26:32 324

转载 Intellij IDEA 2017 debug断点调试技巧与总结详解篇

IntelliJ IDEA使用教程 (总目录篇)在调试代码的时候,你的项目得debug模式启动,也就是点那个绿色的甲虫启动服务器,然后,就可以在代码里面断点调试啦。下面不要在意,这个快捷键具体是啥,因为,这个keymap是可以自己配置的,有的人keymap是mac版的,有的是Windows版的。我的就是Windows,而且修改keymap为eclipse的keymap,因为我算是eclipse转过...

2018-03-06 12:04:27 7961 3

转载 Android Debug 版本判断及为什么 BuildConfig.DEBUG 始终为 false

Android 开发中一般会通过 BuildConfig.DEBUG 判断是否是 Debug 模式,从而做一些在 Debug 模式才开启的特殊操作,比如打印日志。这样好处是不用在发布前去主动修改,因为这个值在 Debug 模式下为 true,Release 模式下为 false。 1. 问题如果应用只有一个 Module 没有问题,Debug 模式下 BuildConfig.DEBUG 会始终为 ...

2018-03-02 10:16:53 1421

转载 源码分析commitAllowingStateLoss() 和commit()的区别

之前在使用Fragment的时候偶尔会有这么一个报错,Can not perform this action after onSaveInstanceState,意思为无法再onSaveInstanceState之后执行该操作,这个操作就是指commit(),之前也没怎么在意,后来通过查看源码去了解了一下这个问题,以下是对这个问题的解析及对应解决办法的对比。        Fragment是我们经...

2018-03-01 10:38:12 447 1

转载 详细使用Transformations实现圆角或圆形图片

转载自:http://blog.csdn.net/woblog/article/details/51303389简介现在基本上每个应用的头像都是圆形,可是真实的图片却不是,需要我们自己处理,原来的处理方式是自定义ImageView或者使用第三方库,比如:CircleImageView ,但这里我们讲的是使用Glide来实现这样的效果,框架默认是没有提供这样的实现,但是这个框架提供了很灵活的框架,我...

2018-02-26 11:40:47 539

转载 为什么要用Fragment.setArguments(Bundle bundle)来传递参数

转载自:http://blog.csdn.net/tu_bingbing/article/details/24143249Fragment在Android3.0开始提供,并且在兼容包中也提供了Fragment特性的支持。Fragment的推出让我们编写和管理用户界面更快捷更方便了。但当我们实例化自定义Fragment时,为什么官方推荐Fragment.setArguments(Bundle bun...

2018-02-26 10:45:58 526

原创 内网和外网

内网通俗的说就是局域网LAN网,外网通俗的说就是与因特网相通的WAN广域网或 MAN 城域网路。内网和外网是相对而言的。一般外网的范围比内网大,也可以说内网是外网的子网。 外网(广域网)上的每一台电脑(或其他网络设备)都有一个或多个广域网IP地址(或者说公网、外网IP地址),广域网IP地址不能重复;局域网(LAN)上的每一台电脑(或其他网络设备)都有一个或多个局域网IP地址(或者说私网、内网I...

2018-02-12 15:14:44 753

转载 Retrofit2 完全解析 探索与okhttp之间的关系

转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/51304204; 本文出自:【张鸿洋的博客】一、概述之前写了个okhttputils的工具类,然后有很多同学询问这个工具类和retrofit什么区别,于是上了下官网,发现其底层对网络的访问默认也是基于okhttp,不过retrofit非常适合于rest

2017-04-14 15:59:27 976

转载 EventBus源码解析

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/40920453,本文出自:【张鸿洋的博客】让大家深入理解该框架的实现,也能解决很多在使用中的疑问:为什么可以这么做?为什么这么做不好呢?1、概述一般使用EventBus的组件类,类似下面这种方式:[java] view pla

2017-04-12 15:04:35 330

转载 GMT、UTC和DST

转载自:http://blog.csdn.net/hudashi/article/details/7069600http://blog.csdn.net/webcainiao/article/details/4018761GMT就是格林尼治标准时间,它是Greenwich mean time的简称。UTC则是协调世界时间,它是coordinated universal

2017-04-11 16:46:29 2131

转载 HttpClient 4.3教程

前言 Http协议应该是互联网中最重要的协议。持续增长的web服务、可联网的家用电器等都在继承并拓展着Http协议,向着浏览器之外的方向发展。虽然jdk中的java.net包中提供了一些基本的方法,通过http协议来访问网络资源,但是大多数场景下,它都不够灵活和强大。HttpClient致力于填补这个空白,它可以提供有效的、最新的、功能丰富的包来实现http客户端。为了拓展,HttpClient即

2017-03-20 18:11:04 601

原创 android sqlite中String日期查询转换操作

如果表结构是Date类型比较好办直接操作就可以了这个不多说;如果表结构是String类型则需要在查询时把要查找的字段转换为Date来和其他的日期比较后作为查询条件Cursor mCursor = db.query(true, DATABASE_SLEEP_TABLE, new String[] { KEY_SLEEP_ROWID, KEY_SLEE

2017-03-08 18:37:51 1843

转载 android之存储篇_SQLite数据库

转载自:http://blog.csdn.net/jason0539/article/details/10248457SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段声明的数据类型是什么。例如:可以在Integer类型的字段中存放字符串,或者在布尔型字段中存放浮点数,或者在字符型字段中存放日期型值。 但有一种情况例外:定义为INTEGER PR

2017-03-08 18:30:18 331

原创 APK Signature Scheme v2官方介绍

Android 7.0 引入一项新的应用签名方案 APK Signature Scheme v2,它能提供更快的应用安装时间和更多针对未授权 APK 文件更改的保护。在默认情况下,Android Studio 2.2 和 Android Plugin for Gradle 2.2 会使用 APK Signature Scheme v2 和传统签名方案来签署您的应用。如果您使用 APK Signatu

2017-03-07 17:59:33 2489

原创 Android网络请求框架AsyncHttpClient详解(整理)

[摘要:1.简介 Android中收集要求一样平常应用Apache HTTP Client或采纳HttpURLConnect,然则间接应用那两个类库须要写大批的代码才干完成收集post战get要求,而应用android-async-http那个库能够大大的简化] 1.简介Android中网络请求一般使用Apache HTTP Client或者采用HttpURLConnect,但是直接使用这两个类库需

2017-02-24 10:41:43 4447

原创 理解RESTful

RESTful:一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。概述REST(英文:Representational State Transfer,简称REST)描述了一个架构样式的网络系统,比如 web 应用程序。它首次出现在 2000 年 Roy Fi

2017-02-22 15:53:18 704

Putty工具包

putty,puttygen,psftp,pscp,plink等工具putty,连接linux系统工作等等...

2019-02-12

Ichartjs资料

做项目搜集的ichartjs资料,和项目demo

2016-03-09

jackson-2.8.5

最新的jackson jar包,包括:jackson-annotations-2.8.5.jar,jackson-core-2.8.5.jar,jackson-databind-2.8.5.jar

2016-12-13

下拉刷新和上拉加载

通过使用第三方开源XListView封装好的listview实现下拉刷新和上拉加载功能,并实时更新加载时间

2015-11-24

安全码校对工具

安装apk用途:安全码校对工具获取APP正确的包名和SHA1值

2017-02-10

TotoiseSVN 64位版本管理工具

svn版本管理工具,及时有效的团队开发代码管理工具....

2017-02-13

CSDN客户端首页布局

仿CSDN客户端 <com.viewpagerindicator.TabPageIndicator android:id="@+id/id_indicator" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/transparentblue" > </com.viewpagerindicator.TabPageIndicator> <android.support.v4.view.ViewPager android:id="@+id/id_viewpage" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1" />

2015-11-02

Android高德轨迹回放(源码)

Android高德轨迹回放(源码)

2015-07-30

Android不同图表的使用和交互

Android不同图表的使用和交互

2016-03-09

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

TA关注的人

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