自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(931)
  • 资源 (12)
  • 问答 (12)
  • 收藏
  • 关注

原创 面试阿里,你必须知道的背景知识——双非上岸阿里巴巴系列

双非本科,四面成功上岸阿里巴巴,在这里把自己整理的知识分享出来,希望能帮到大家。后续会持续更新~1.阿里技术栈1.1 Java核心技术栈:JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等。1.2 大数据核心技术栈Spark、Hadoop2. 阿里面试流程1. 简历面一般会有两轮简历面。第一轮简历面:根据公司的硬性条件,筛选出符合的简历(如学历要求、竞赛经历要求、项目经历要求等)。合格的简历会被送入二轮简历面的流程。第二轮简历面:这时

2021-05-27 12:29:44 4563 12

原创 【最新合集】PAT甲级最优题解(题解+解析+代码)

以下每道题均是笔者多方对比后, 思考整理得到的最优代码,欢迎交流! PAT题解目录标题题解分类备注1001 A+B Format (20分)9行代码AC*字符串处理

2021-01-28 20:27:15 5448 9

原创 【最新合集】PAT乙级最优题解(题解+解析+代码)

乙级题目+详细题解,整理不易,喜欢的请点个赞哦~ pat乙级题解目录编号标题题解分类1001害死人不偿命的(3n+1)猜想 (15分)C++简单模拟1002写出这个数 (20分)C++常量数组1003我要通过! (20分)待填坑待填坑1004成绩排名 (20分)C++结构体1005继续(3n+1)猜想 (25分)C++打表1006换个格式输出整数 (15分)C语言简单模拟...

2020-11-24 21:39:48 13618 17

原创 algorithm头文件函数全集——史上最全,最贴心

  不知大家可否遇到这种情况:一道题想出思路后,一般都习惯性的百度一下有没有“现成的函数”可以调用,往往收获不菲,增长很多奇奇怪怪的知识。而这些“现成的函数”大部分都来自于algorithm头文件。简直是我等懒癌的福音啊!  当然,也有很多朋友喜欢自己写函数。因人而异吧,哈哈  为了更方便、易懂, 笔者将每个函数的用法都注释在了代码中,想要验证或加深印象直接复制到编译器里就可以运行。代码:...

2020-02-22 20:50:57 73573 63

原创 left join中,on字段后用and和where的性能区别

这种情况就是先找出a.age=18中a表的数据,然后根据a.id = b.id做筛选。这种情况会全表扫描a,然后筛选出a.id = b.id并且a.age = 18。

2022-10-12 10:25:08 1238 2

原创 @AliasFor注解详解(结合源码分析)

网上关于该注解的描述大都抄来抄去,没有涉及到最本质的源码问题, 下面是笔者结合注解源码, 以及其他常用的注解源码, 来分析@AliasFor注解的主要功能以及展示实际使用场景

2022-08-25 21:12:38 1753

原创 【已解决】list.size() = 1 但显示 All elements are null

背景:使用mybatis中的聚合函数(max()、avg())查询SQL语句,返回结果装入List集合使用了以下方法判断空值:if (CollectionUtils.isNotEmpty(list)) { return xxx;}结果是,无论是否从数据库中查询到值, 返回都不为空。进一步debug发现, list.size() = 1,但List中值为空, 显示All elements are null 问题原因:使用了MySQL中的聚合函数,分别是求和函数SUM()、求平均函数

2022-05-09 16:14:42 4355 1

原创 拿个五一勋章,嘿嘿嘿

拿个五一勋章,嘿嘿嘿

2022-05-01 06:00:00 526 1

原创 【已解决】Errors during downloading metadata for repository ‘appstream‘: - Status code: 404 for

1. 报错Errors during downloading metadata for repository ‘appstream’:- Status code: 404 for http://mirrors.cloud.aliyuncs.com/centos/8/AppStream/x86_64/os/repodata/repomd.xml (IP: 100.100.2.148)Error: Failed to download metadata for repo ‘appstream’: Can

2022-04-13 19:17:51 15850 3

原创 【完美解决】Could not process result for mapping: ResultMapping{property=‘null‘, column=‘xxx‘, javaType=

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: Could not process result for mapping: ResultMapping{property=‘null’, column=‘settle_time’, javaType=class java.util.Date, jdbcType=TIMESTAMP, nest.

2022-04-07 20:18:40 2083

原创 【手把手教学】基于Maven构建方式使用Mybatis generator自动生成

1. 简介Mybatis generator是一种代码生成器, 可以基于数据库表的字段与类型,自动生成Java代码中对应的entity类、dao类、mapper映射文件。实现Mybatis generator功能有多种方式,如插件方式、配置文件方式等。 这里采用经过我个人实践并成功的方式来操作。2. 添加依赖第一个依赖是mybatis-generator代码生成器的核心依赖第二个依赖是mysql通过JDBC连接数据库的依赖<!-- https://mvnrepository.com/a

2022-03-21 13:14:00 1883

原创 【含义解析】%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %m%n

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %m%n是logback.xml日志配置文件中的配置信息,作用是展示日志的输出格式, 下面对几个核心意思做讲解。%d{yyyy-MM-dd HH:mm:ss.SSS}表示该条日志记录的时间%thread表示线程名%-5level:级别从左显示5个字符宽度%logger{50}:表示该条日志所属类的全名%m:也可以写作%msg,表示这条日志的内容%n:表示换行...

2022-02-24 14:33:20 3917

原创 通俗易懂,java8 .stream().map().collect()用法

API: https://www.runoob.com/java/java8-streams.html模板:mylist.stream() .map(myfunction->{ return item; }).collect(Collectors.toList());说明:steam():把一个源数据,可以是集合,数组,I/O channel, 产生器generator 等,转化成流。forEach():迭代流中的每个数据。以下代码片段使用 forEach 输出了10个随机数.

2021-12-16 17:29:46 693

原创 别翻了,成员变量和局部变量在多线程中的使用,看这篇就够了

别翻了,成员变量和局部变量在多线程中使用的区别,看这篇就够了

2021-12-16 14:55:01 5393 3

原创 Leecode 222. 完全二叉树的节点个数——Leecode日常刷题系列

题目链接:https://leetcode-cn.com/problems/count-complete-tree-nodes/题解汇总:https://leetcode-cn.com/problems/max-increase-to-keep-city-skyline/题目描述给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层

2021-12-14 23:15:00 1707

原创 【二分法万能模板】Leecode 74. 搜索二维矩阵——Leecode日常刷题系列

二分法万能模板,告别死循环和越界!

2021-12-14 22:15:00 380

原创 【二分法万能模板,告别死循环、越界】Leecode 69. Sqrt(x)——Leecode日常刷题系列

二叉树万能模板!!!!!!!!!!!!!告别令人抓狂的细节问题!!!!!!!!!

2021-12-14 00:30:00 439

原创 【解题报告】Leecode 372. 超级次方——Leecode每日一题系列

通俗易懂讲解快速幂

2021-12-14 00:00:00 226

原创 【解题报告】Leecode 748. 最短补全词——Leecode每日一题系列

题目链接:https://leetcode-cn.com/problems/shortest-completing-word/题解汇总:https://leetcode-cn.com/problems/max-increase-to-keep-city-skyline/题目描述给你一个字符串 licensePlate 和一个字符串数组 words ,请你找出并返回 words 中的 最短补全词 。补全词 是一个包含 licensePlate 中所有字母的单词。在匹配 licensePlat

2021-12-13 15:59:29 299

原创 【解题报告】Leecode 807. 保持城市天际线——Leecode每日刷题系列

题目链接:https://leetcode-cn.com/problems/max-increase-to-keep-city-skyline/题解汇总:https://leetcode-cn.com/problems/max-increase-to-keep-city-skyline/题目描述在二维数组grid中,grid[i][j]代表位于某处的建筑物的高度。 我们被允许增加任何数量(不同建筑物的数量可能不同)的建筑物的高度。 高度 0 也被认为是建筑物。最后,从新数组的所有四个方向(即顶

2021-12-13 09:26:47 271

原创 【二分查找万能模板,告别死循环、告别越界】Leecode 34. 在排序数组中查找元素的第一个和最后一个位置

二分查找万能模板,考虑了所有细节,告别死循环,告别越界

2021-12-11 22:59:02 211

原创 【解题报告】Leecode 35. 搜索插入位置——Leecode刷题系列

二分法经典题目

2021-12-11 20:47:55 848

原创 【解题报告】Leecode911. 在线选举——Leecode每日一题系列

题目链接:https://leetcode-cn.com/problems/online-election/题解汇总:https://zhanglong.blog.csdn.net/article/details/121071779题目描述给你两个整数数组 persons 和 times 。在选举中,第 i 张票是在时刻为 times[i] 时投给候选人 persons[i] 的。对于发生在时刻 t 的每个查询,需要找出在 t 时刻在选举中领先的候选人的编号。在 t 时刻投出的选票也将被计

2021-12-11 20:23:35 307

原创 通俗易懂,CQRS概念浅析

1. 概述CQRS(Command Query Responsibility Segration:命令查询职责隔离)其中:Command包括增、删、改; Query只包含查它是一种读写分离思想的架构常用解决方案就是对数据库进行读写分离。让主数据库处理事务性的增、删、改操作,让从数据库处理查询操作,然后主从数据库之间进行同步。这只是从DB角度处理了读写分离,从业务或者系统层面上来说,读和写的逻辑仍然是存放在一起的CQRS架构:2. 实现方式CQRS可以有两种实现方式。2.1 CQ两端数

2021-12-10 15:09:21 1036

翻译 科普向,什么是 Lua 语言?

一:Lua 语言简介 Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。 二:Lua 语言的开发者 Lua 是 巴西里约热内卢天主教大学 里的一个研究小组于 1993 年开发的, 三:开发 Lua 的目的 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。 四:Lua 语言的两大特性 轻量级: 它用标准 C 语言编写并以源代码形式开放,编译后仅仅 100多K,可以很方便的嵌入别的程序里

2021-12-04 13:18:26 3847

原创 通俗易懂。Cocos2dx和Unity3D概念,二者区别?哪个更好一点?

点点关注点点关注点点关注点点关注点点关注点点关注点点关注点点关注点点关注点点关注点点关注点点关注点点关注点点关注点点关注点点关注点点关注点点关注点点关注点点关注点点关注点点关注点点关注点点关注点点关注点点关注点点关注点点关注点点关注

2021-12-04 13:08:19 7864

原创 通俗易懂,王者荣耀是用什么编程语言开发的?

点进来点进来点进来点进来点进来点进来点进来点进来点进来点进来点进来点进来点进来点进来点进来点进来

2021-12-04 12:45:40 13778 1

原创 通俗易懂,unity和c#是什么关系

通俗易懂,unity和c#是什么关系

2021-12-04 12:41:58 14684 3

原创 Lombok介绍、附比较好用的几种注释推荐

一. 前言当属性多时会出现大量的 getter/setter 方法,冗余,且一旦修改属性,就需要修改对应的方法。会耗费大量的时间,也会影响美观,Lombok因此诞生,目的是让java变得简洁,快速。Lombok 可以提高开发效率。二. Lombok使用1)引入相应的Maven包 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok

2021-12-03 15:45:17 479

原创 通俗易懂,Maven依赖pom中的scope详解

通俗易懂,Maven依赖pom中的scope详解

2021-12-03 11:59:17 1137

原创 最全的时间类解析。 SimpleDateFormat + Date() 和 DateTimeFormatter + LocalDate()的区别与使用场景

最全的时间类解析。不同的时间类,及其使用场景

2021-12-02 17:04:05 700

原创 Java精确到毫秒获取时间的三种方法,以及适用场景

毫秒级获取时间的几种方式, 性能探究, 以及究竟该用哪种方法。

2021-12-02 16:30:35 14030 1

原创 线程池应该设置多少核心线程数——Java多线程系列学习笔记

前言本章主要讨论线程池合适的线程数量是多少,以及 CPU 核心数和线程数的关系。我们调整线程池中的线程数量的最主要的目的是为了充分并合理地使用 CPU 和内存等资源,从而最大限度地提高程序的性能。在实际工作中,我们需要根据任务类型的不同选择对应的策略。1. CPU密集型第一种是 CPU 密集型任务,比如加密、解密、压缩、计算等一系列需要大量耗费 CPU 资源的任务。最佳线程数 = CPU 核心数的 1~2 倍如果设置过多的线程,实际上并不会起到很好的效果。此时假设我们设置的线程数是 CPU 核心数

2021-12-01 11:31:53 1684

原创 Lists.partition用法(代码实例)

将list集合按指定长度进行切分,返回新的List<List<??>>集合,如下的:List<List> lists=Lists.partition(numList,3);package test;import com.google.common.collect.Lists;import org.junit.Test;import java.util.List;public class testList { @Test public void

2021-11-30 20:01:23 295

原创 深入浅出理解 Variable used in lambda expression should be final or effectively final

翻译:lambda 表达式中使用的变量应该是 final 或者有效的 final原因解析:lambda表达式(多用在线程领域),是由匿名内部类演变来的。匿名内部类产生的对象一般存放在JVM的堆区域,而局部变量会存放在JVM的栈区域,随着方法调用结束,局部变量就会出栈,被当做垃圾回收掉。而此时,内部类对象可能还存在,如果内部类对象这时直接去访问局部变量的话就会出问题,因为外部局部变量已经被回收了。一个解决问题的思路是:将用到的变量在内部类中复制一份。但这样会造成数据不一致的问题:即使我们在内部类中复

2021-11-30 19:10:57 2352 1

原创 通俗易懂两种常用的多线程实现方式——Java并发系列学习笔记

如果我们想执行多线程操作,通常有两种方法一. 继承Thread类方式步骤:自定义类继承Thread覆盖Thread中的run()方法创建该类的对象,调用start()方法,开启线程并调用run方法class MyThread extends Thread{ private int ticket=10; public void run(){ for(int i=0;i<20;i++){ if(this.ticket>0){ System

2021-11-30 17:29:38 354

原创 详解get与post请求方式、content-type与responseType、@Requestbody与@Requestparam的使用场景

1. get与post请求方式post:一般用来提交表单,请求数据被包装在body体中,是安全的;get:一般用来获取数据信息,当然也可以用来获取表单,请求参数在url中,是不安全的;2. content-type与responseType2.1 content-typecontype-Type用来指定不同格式上传参数的请求信息(页面——>服务器)。content-Type常用数据类型:application/json:把它作为请求头,则传递的消息主体是序列化后的 JSON 字符串

2021-11-29 15:10:59 3861

原创 【解题报告】Leecode 643. 子数组最大平均数 I——Leecode 刷题系列

题目链接:https://leetcode-cn.com/problems/maximum-average-subarray-i/题解汇总:https://zhanglong.blog.csdn.net/article/details/121071779题目描述给你一个由 n 个元素组成的整数数组 nums 和一个整数 k 。请你找出平均数最大且 长度为 k 的连续子数组,并输出该最大平均数。任何误差小于 10-5 的答案都将被视为正确答案。示例 1:输入:nums = [1,12

2021-11-28 16:00:22 453

原创 【解题报告】Leecode 519. 随机翻转矩阵——Leecode每日一题系列

今天是坚持每日一题打卡的第二十六天题目链接:https://leetcode-cn.com/problems/random-flip-matrix/solution/题解汇总:https://zhanglong.blog.csdn.net/article/details/121071779题目描述给你一个 m x n 的二元矩阵 matrix ,且所有值被初始化为 0 。请你设计一个算法,随机选取一个满足 matrix[i][j] == 0 的下标 (i, j) ,并将它的值变为 1 。所有满

2021-11-28 15:24:05 184

原创 【解题报告】Leecode 438. 找到字符串中所有字母异位词——Leecode每日一题系列

今天是坚持每日一题打卡的第二十七天题目链接:https://leetcode-cn.com/problems/find-all-anagrams-in-a-string/题解汇总:https://zhanglong.blog.csdn.net/article/details/121071779题目描述给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。异位词 指由相同字母重排列形成的字符串(包括相同的字符串)。示例 1

2021-11-28 15:17:51 148

【最新2021版】阿里巴巴Java开发手册

《阿里巴巴 Java 开发手册》始于阿里内部规约,在全球Java开发者共同努力下,已成为业界普遍遵循的开发规范,涉及到如变量的命名、类和方法的使用、不同结构的定义方法等,让初学者在刚刚接触开发时就以最正确的姿态来学习,达到事半功倍的效果。 毫不夸张的说,每一位编程者都需要这样一本开发手册。

2021-06-03

紫书第三章习题源码.zip

紫书第三章习题源码,里面有我对例题的一些心得、总结和感悟。 所选代码都是可以找到的最优解。

2020-05-15

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

TA关注的人

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