☕ JavaBucket
Java 学习
中间件系列文章合集
中间件系列
🦋基于 Butterfly 主题的美化日记
本文基于 butterfly 主题 4.5.1 版本。 部分修改无法使用纯 css 或 JavaScript 实现,需要修改原主题的源码。如果后续需要升级原主题,请重新修改一遍。 为避免修改地方过多,可将自定义的 css 样式和 js 脚本分别放置在同一文件中。 在 themes/butterfly/source/css/_global 目录下新建自己的 styl 样式文件,命名 llnancy.styl,themes/butterfly/source/css/index.styl 中已进行导入。 禁用首页全屏图片后的导航栏样式调整配置项 disable_top_img 设置为 true 时无首页全屏大图。这时会发现导航栏的背景颜色变成了白色且带一点透明,文字变成了黑色。这点看上去并不是很美观。所以可以将背景颜色修改为透明色,文字修改为白色。 在 llnancy.styl 样式文件中添加以下样式: 123456789101112131415161718192021222324252627// =======================导航栏设置透明色开始============== ...
maven 项目发布 jar 包至中央仓库
记录 maven 项目发布 jar 包至中央仓库的过程。
Java 获取 IP 归属地
根据用户访问的 IP 地址获取归属地。
Spring Boot整合GraphQL(基于kickstart)
Spring Boot整合GraphQL核心依赖: 123456<!-- graphql starter --><dependency> <groupId>com.graphql-java-kickstart</groupId> <artifactId>graphql-spring-boot-starter</artifactId> <version>11.1.0</version></dependency> 创建工程在chunyu-graphql模块中创建子模块kickstart,引入Spring Boot及GraphQL等依赖,pom.xml文件如下: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859<?xml version="1.0" encoding=&qu ...
LeetCode热题HOT100 - 无重复字符的最长子串
无重复字符的最长子串 题目描述:给定一个字符串 s,请你找出其中不含有重复字符的最长子串的长度。 思路:本题主要实现思路是滑动窗口算法,先将字符串转化为 char 字符数组,然后依次将字符从右侧移入窗口,当遇到重复字符时,从左侧缩小窗口。 Java语言代码实现如下: 1234567891011121314151617181920212223public int lengthOfLongestSubstring(String s) { char[] sArr = s.toCharArray(); // 定义窗口 Map<Character, Integer> window = new HashMap<>(); int left = 0; int right = 0; int res = 0; while (right < sArr.length) { // 右侧移入窗口 char c = sArr[right++]; window.put(c, windo ...
LeetCode热题HOT100 - 两数相加
两数相加 题目描述:给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 思路:逆序存储的链表直接进行相加即可,需要处理每次相加结果的进位。使用虚拟哨兵头节点进行新链表的连接,避免空指针等问题。 Java 语言代码实现如下: 1234567891011121314151617181920212223242526272829303132public ListNode addTwoNumbers(ListNode l1, ListNode l2) { // 虚拟哨兵节点(hair:头发) ListNode hair = new ListNode(); // cur指针链接新链表 ListNode cur = hair; // 每次相加的进位 int jin = 0; while (l1 != null || l2 != null || jin != 0) { ...
LeetCode热题HOT100 - 两数之和
两数之和 题目描述:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。 思路:主要思路是在一次遍历过程中利用哈希表存储已经遍历过的数,每次遍历时判断哈希表中是否存在能和当前遍历的数组成和为 target 的数,如果存在则找到了结果;否则将当前遍历的数放入哈希表中。遍历完成如果还未找到则表示没有符合条件的数。 Java 语言代码实现如下: 1234567891011public int[] twoSum(int[] nums, int target) { Map<Integer, Integer> valToIndex = new HashMap<>(); for (int i = 0; i < nums.length; i++) { if (valToIndex.containsKey(target - nums[i] ...
消息队列RabbitMQ实战 - Spring Boot整合RabbitMQ消息队列
Spring Boot整合RabbitMQ核心依赖: 1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId></dependency> 创建工程创建Spring Boot项目chunyu-rabbitmq,引入amqp及一些必要的web依赖,完整pom.xml文件如下: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns ...