Java
AaronYu_
终身学习者,北京某大厂后端开发。
更多学习资料和技术干货,欢迎关注我公众号「阿彪的百宝箱」
展开
-
Java 计算每周一的日期
先上正确的写法:public static int getWeekStart() { int num; Calendar calendar = Calendar.getInstance(); int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1; int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); // 如果是周日,特殊处理原创 2021-05-30 16:54:09 · 746 阅读 · 0 评论 -
反转链表
今日打卡 Leetcode 206 题反转链表。链表类的题目要求候选人十分细心,因为很容易就出现空指针或者环等。题目:反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?迭代解法解法思路详解:拿到题目首先我想的是用迭代解法来解题,递归解法还是有点难度的,不容易想到。迭代解法简单来说就是得初始化当前节点 c原创 2021-04-04 17:09:44 · 127 阅读 · 0 评论 -
MySQL 幻读和不可重复读的区别
背景最近在学习 MySQL 的事务,幻读和不可重复读很容易搞混。故做此记录总结。先给出两者的定义。不可重复读如果一个事务修改了另一个未提交事务读取的数据,就意味着发生了不可重复读现象。r1[x]…w2[x]…((c1 or a1) and (c2 or a2) in any order)解释下:r1[x] 表示事务 T1 读字段 x 的值,然后 w2[x] 表示事务 T2 修改了 x 的值幻读如果一个事务先根据某些搜索条件查询出一些记录,在该事物未提交的时候,另一个事务写入了一些符合那些搜索原创 2021-03-28 21:04:19 · 259 阅读 · 0 评论 -
Idea 本地项目与 gitlab 关联
网上文章很多,我直接参考的下面这篇:这篇我的想法是创建一个大的根目录,然后在根目录下创建很多个 project,这样我们就可以来实现一个仓库对应多个 Java 项目了。每次写代码时创建一个新的分支,然后提交代码。...原创 2020-05-18 21:54:35 · 1484 阅读 · 0 评论 -
java.io.FileNotFoundException: class path resource cannot be opened because it does not exist
最近在做一个简单的 Spring 入门例子时报了标题这样一个错误,原因是找不到我的 但是我十分确认我的 dependency-injection-context.xml 的位置是正确的,因为我可以使用 IDEA 导航到。项目结构图:原因后来发现我在 maven 的 pom.xml 文件中加了一个<packaging>pom</packaging>这就表明这个项目是一个 父(聚合)工程,我们要将其变成单独的项目,所以我们删去 pom 这一行,maven 的打包方式默认为原创 2020-05-17 08:23:30 · 1778 阅读 · 0 评论 -
Java 使用一行代码找到数组的最大值
public static void main(String[] args) { int[] dp = {2,3,1}; // Arrays.stream(dp).max().getAsInt() System.out.println(Arrays.stream(dp).max().getAsInt()); }我们使用流的操作,来实现,底...原创 2020-04-15 17:11:28 · 493 阅读 · 0 评论 -
redis 中 bitfield 的使用
bitfield 有三个子指令,分别是 get/set/incrby,它们都可以对指定位片段进行读写,但是最多只能处理 64 个连续的位,如果超过 64 位,就得使用多个子指令,bitfield 可以一次执行多个子指令。所以我们可以这样操作:127.0.0.1:6379> set w heOK127.0.0.1:6379> bitfield w get u4 0 # 从第一个位...原创 2020-04-07 12:18:16 · 1743 阅读 · 4 评论 -
Mysql 中字符串用单引号还是双引号?
答案是都可以。但是 mysql 里面有个 sql mode 叫做:ANSI_QUOTES 。这个 ANSI_QUOTES 开启后会把 双引号当作 ``。所以我们还是建议使用单引号来引用字符串。mysql 官方文档原文解释:ANSI_QUOTESTreat " as an identifier quote character (like the quote character) and n...原创 2020-04-06 22:45:13 · 7373 阅读 · 0 评论 -
配置阿里云镜像-- Maven 下载快步如飞
直接上我的 settings.xml 文件吧。亲测有效。<?xml version="1.0" encoding="UTF-8"?><settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...原创 2020-04-06 14:55:56 · 150 阅读 · 0 评论 -
Maven 工程修改 jdk 版本为 1.8
因为 Maven 工程默认为 1.5 版本,如果我们想使用 jdk 1.8 才有的特性,比如:Lambda 表达式,接口的默认实现方法,我们要将版本改为 1.8。具体的实现方法是在 pom.xml 文件中加上这一段代码。 <build> <plugins> <plugin> <gr...原创 2020-01-25 12:57:50 · 778 阅读 · 0 评论 -
单例模式怎么实现?这篇文章给你讲透
大家可能经常在面试中被问到单例模式的相关问题,如果面试官考察你对单例模式的理解程度,那么大概率会被要求手写单例模式。单例模式看起来简单,但往深了挖,又能考察到面试者对于并发、序列化、类加载等基础知识的掌握程度。而且单例模式有很多种写法,大家可能想知道那种写法更好,我也总结了几种写法,一并呈现给大家。首先我们需要知道什么是单例模式?单例模式指的是保证一个类只有一个实例,并且提供一个全局可以访问的入...原创 2020-01-16 16:09:34 · 273 阅读 · 0 评论 -
ArrayList 和 LinkedList 的区别(面试常考)
最近秋招面试时经常碰到这道题,虽然自己也答出来了,但总感觉不是那么完善,特此总结一下。ArrayList 和 LinkedList 都实现了 List 接口。public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable...原创 2019-09-22 09:51:40 · 1315 阅读 · 0 评论 -
Java 中的移位指令 >>> 和 >>
今天楼主看源码时看到了 Java 中的移位指令,很是困惑,于是去查阅了下资料,终于搞懂了,特此记录如下。说明:>>> 运算符会用 0 填充高位,>> 会用符号位填充高位。这条准则在移位正数时我们看不出他的影响,但是我们来看看负数。我举个例子, -2 >> 1 和 -2 >>> 1。System.out.println(-2 >...原创 2019-04-13 15:41:00 · 269 阅读 · 0 评论 -
多维数组怎么学?看这一篇就够了,带你在游戏中学习。
tic-tac-toe 游戏 (井字棋游戏)大家小时候应该都玩过井字棋吧,下课之余和同学来上一把,是多么开心。今天 Aaron 就带你来学会用程序来判断井字棋胜利的一方。读入一个 3X3 的矩阵,矩阵中的数字为 1 表示该位置上有一个 X,为 0 表示 O程序判断这个矩阵中是否有获胜的一方,输出表示获胜一方的字符 X大家可以直接看程序,我作了详细的注释。// 二维数组Scanne...原创 2019-01-22 09:32:28 · 290 阅读 · 0 评论 -
Java中判断素数的五种方法
Java 中判断素数我们有很多方法,每种方法时间复杂度也不一样。今天我汇总了一下,分享给大家。既可以输出前 50 或 n 个素数,也可以判断 100 (或 n) 以内的素数。1. 从 2 到 x-1 测试是否可以整除Scanner in = new Scanner(System.in);int x = in.nextInt();boolean isPrime = true;if ( x...原创 2019-01-21 17:04:41 · 67421 阅读 · 20 评论