- 博客(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
原创 【已解决】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
原创 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 69. Sqrt(x)——Leecode日常刷题系列
二叉树万能模板!!!!!!!!!!!!!告别令人抓狂的细节问题!!!!!!!!!
2021-12-14 00:30:00 439
原创 【解题报告】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
原创 【解题报告】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
原创 Lombok介绍、附比较好用的几种注释推荐
一. 前言当属性多时会出现大量的 getter/setter 方法,冗余,且一旦修改属性,就需要修改对应的方法。会耗费大量的时间,也会影响美观,Lombok因此诞生,目的是让java变得简洁,快速。Lombok 可以提高开发效率。二. Lombok使用1)引入相应的Maven包 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok
2021-12-03 15:45:17 479
原创 最全的时间类解析。 SimpleDateFormat + Date() 和 DateTimeFormatter + LocalDate()的区别与使用场景
最全的时间类解析。不同的时间类,及其使用场景
2021-12-02 17:04:05 700
原创 线程池应该设置多少核心线程数——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开发手册
2021-06-03
idea右下角设置编码是灰色的
2024-04-18
调用wait()方法到底会让线程处于等待状态还是阻塞状态
2021-05-02
计蒜客:错误的数学运算是什么意思
2020-09-05
HTML5的部分代码无法在PyCharm上运行
2020-05-16
HTML5的部分代码无法在PyCharm上运行
2020-05-15
电脑维修后出现 BitLocker 密钥恢复 急!
2020-04-14
鼠标怎么知道我们向左划还是向右划??? 求解惑?
2020-03-30
C/C++中map容器一个key值可以对应多个value值吗?
2020-03-07
回溯、深搜、剪枝的区别是什么?
2020-03-03
一道关于栈的水题,无法降低时间复杂度。求帮忙!谢谢!
2020-02-19
循环算法题、求余类型题
2020-02-15
PTA同样的代码为什么有时通过有时错误。
2020-02-03
SQL命令行怎么连接用户(新手小白)
2019-09-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人