<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://www.wjblog.xyz/</loc></url><url><loc>https://www.wjblog.xyz/about</loc></url><url><loc>https://www.wjblog.xyz/feeds-sub</loc></url><url><loc>https://www.wjblog.xyz/nav</loc></url><url><loc>https://www.wjblog.xyz/blog/2021/ruoyi-menu-permission-notes</loc></url><url><loc>https://www.wjblog.xyz/blog/2021/ruoyi-generator-business-adjust</loc></url><url><loc>https://www.wjblog.xyz/blog/2021/mysql-slow-query-daily</loc></url><url><loc>https://www.wjblog.xyz/blog/2021/redis-cache-breakdown-notes</loc></url><url><loc>https://www.wjblog.xyz/blog/2021/nginx-real-ip-reverse-proxy</loc></url><url><loc>https://www.wjblog.xyz/blog/2021/ruoyi-datascope-practice</loc></url><url><loc>https://www.wjblog.xyz/blog/2021/ruoyi-quartz-job-pitfalls</loc></url><url><loc>https://www.wjblog.xyz/blog/2021/docker-mysql-login-failed</loc></url><url><loc>https://www.wjblog.xyz/blog/2021/docker-compose-mysql-nginx</loc></url><url><loc>https://www.wjblog.xyz/blog/2021/docker-compose-env-file</loc></url><url><loc>https://www.wjblog.xyz/blog/2021/macos-remove-freespace</loc></url><url><loc>https://www.wjblog.xyz/blog/2021/nginx-configuration</loc></url><url><loc>https://www.wjblog.xyz/blog/2021/mysql-optimization-notes</loc></url><url><loc>https://www.wjblog.xyz/blog/2022/uninstall-docker-on-macos</loc></url><url><loc>https://www.wjblog.xyz/blog/2022/docker-image-slim-notes</loc></url><url><loc>https://www.wjblog.xyz/blog/2022/java-service-memory-first-check</loc></url><url><loc>https://www.wjblog.xyz/blog/2022/snowy-auth-plugin-feeling</loc></url><url><loc>https://www.wjblog.xyz/blog/2022/ruoyi-export-tuning</loc></url><url><loc>https://www.wjblog.xyz/blog/2022/ubuntu-netplan</loc></url><url><loc>https://www.wjblog.xyz/blog/2022/ruoyi-multi-datasource-notes</loc></url><url><loc>https://www.wjblog.xyz/blog/2022/macos-parallels-miss-tap-windows</loc></url><url><loc>https://www.wjblog.xyz/blog/2022/snowy-module-split-notes</loc></url><url><loc>https://www.wjblog.xyz/blog/2022/soft-route-notes</loc></url><url><loc>https://www.wjblog.xyz/blog/2022/soft-route-keepalive</loc></url><url><loc>https://www.wjblog.xyz/blog/2022/springboot-multi-env-config</loc></url><url><loc>https://www.wjblog.xyz/blog/2023/api-idempotency-practice</loc></url><url><loc>https://www.wjblog.xyz/blog/2023/kafka-consumer-retry-idempotent</loc></url><url><loc>https://www.wjblog.xyz/blog/2023/scheduler-duplicate-run-lock</loc></url><url><loc>https://www.wjblog.xyz/blog/2023/redis-bigkey-hotkey-troubleshoot</loc></url><url><loc>https://www.wjblog.xyz/blog/2024/vitepress-blog-2</loc></url><url><loc>https://www.wjblog.xyz/blog/2024/pnpm-patch</loc></url><url><loc>https://www.wjblog.xyz/blog/2025/ubuntu-gdm</loc></url><url><loc>https://www.wjblog.xyz/blog/2025/agent-why-hot</loc></url><url><loc>https://www.wjblog.xyz/blog/2025/rag-workflow-agent-diff</loc></url><url><loc>https://www.wjblog.xyz/blog/2025/what-is-skill</loc></url><url><loc>https://www.wjblog.xyz/blog/2025/ai-coding-backend-impact</loc></url><url><loc>https://www.wjblog.xyz/blog/2025/what-is-mcp</loc></url><url><loc>https://www.wjblog.xyz/blog/2026/mcp-tool-layer-observation</loc></url><url><loc>https://www.wjblog.xyz/blog/2026/model-to-workflow-shift</loc></url><url><loc>https://www.wjblog.xyz/blog/2026/ai-devtool-trend-2026</loc></url><url><loc>https://www.wjblog.xyz/blog</loc></url><url><loc>https://www.wjblog.xyz/review/golang</loc></url><url><loc>https://www.wjblog.xyz/review/golang/map</loc></url><url><loc>https://www.wjblog.xyz/review/golang/slice</loc></url><url><loc>https://www.wjblog.xyz/review</loc></url><url><loc>https://www.wjblog.xyz/review/java/collection-overview</loc></url><url><loc>https://www.wjblog.xyz/review/java/concurrenthashmap</loc></url><url><loc>https://www.wjblog.xyz/review/java/gc-overview</loc></url><url><loc>https://www.wjblog.xyz/review/java/hashmap-resize</loc></url><url><loc>https://www.wjblog.xyz/review/java</loc></url><url><loc>https://www.wjblog.xyz/review/java/jvm-memory-model</loc></url><url><loc>https://www.wjblog.xyz/review/java/lock-compare</loc></url><url><loc>https://www.wjblog.xyz/review/java/mybatis-flow</loc></url><url><loc>https://www.wjblog.xyz/review/java/spring-bean-lifecycle</loc></url><url><loc>https://www.wjblog.xyz/review/java/spring-boot-autoconfig</loc></url><url><loc>https://www.wjblog.xyz/review/java/thread-pool</loc></url><url><loc>https://www.wjblog.xyz/review/python</loc></url><url><loc>https://www.wjblog.xyz/review/python/pyside6%20copy</loc></url><url><loc>https://www.wjblog.xyz/review/redis</loc></url><url><loc>https://www.wjblog.xyz/review/redis/interview-1</loc></url><url><loc>https://www.wjblog.xyz/review/redis/interview-2</loc></url></urlset>