自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

原创 乌鸫科技一面凉(电话面试)

向面试官询问了该职位的主要工作内容及此次面试情况。有点匆忙没有录音只记得这些了。。。。

2022-10-19 20:20:05 1892 1

原创 并发、线程简单理解

并发、线程简单理解

2022-06-29 16:51:36 401

原创 注解(Annotation)基础

同 和 一样,注解也是一种类型,是在中引入的;通过关键字进行定义,使用在类、方法、属性上等3、元注解:可以注解到注解上的注解;、、、、5、@Documented:和文档相关,将注解中的元素包含到Javadoc中去;6、@Target:指定注解运用的范围,如果没有@Target注解,该注解就可用于任何程序元素之上;7、@Inherited:继承,如果一个超类使用了@Inherited注解过的注解,如果他的子类没有任何注解应用的话,那么该子类继承超类的注解;8、@Repeatable:可重复

2022-06-27 15:48:49 229

原创 Class类、反射与代理

1、加载:类加载器根据类名找到此类的.Class文件,将该文件包含的字节码加载到内存中,生成class对象;2、链接:验证:确保class文件的字节流中包含的信息符合当前虚拟机的要求,不会危害虚拟机自身的安全;准备:正式为类变量(static 成员变量)分配内存并设置初始值(零值)的阶段,这些变量所使用的内存都将在方法区中分配;解析:虚拟机将常量池中的符号引用替换为直接引用的过程;3、初始化:类在静态属性和初始化赋值,以及静态快的执行;如下图所示:2、getClass():需要先new一个对象,通过

2022-06-23 11:38:09 287

原创 提升IO速度? NIO概述

Buffer:缓冲区是特定基本类型元素的线性有限序列,基本属性包括内容、容量、限制和位置:2、ByteBuffer:ByteBuffer是唯一与通道进行交互的缓存器;3、Buffer的四个属性:容量(Capacity):容纳数据元素的最大数量,设定后不能修改;上界(Limit):缓冲区第一个不能被读或者写的元素位置,缓存区的上界;位置(Position):缓冲区中下一个要被读或者写的元素位置,位置会自动更新;标记(Mark):备忘位置,初始为’未定义‘4、Buffer的相关方法:

2022-06-15 11:06:35 381

原创 序列化与反序列化

序列化(Serialize):将JAVA对象写入IO流;反序列化(Deserialize):从IO恢复该Java;序列化的好处就是可以跨平台传输,使用java进行序列化时,可以使用其他语言进行反序列化,例如.net、python等

2022-06-08 15:57:35 64

原创 IO流概述

纯文本数据优先使用字符流,其余均使用字节流。InputStream 是所有字节输入流的父类;ByteArrayInputStream: 从byte数组读取数据;StringBufferInputStream: 从stringbuffer中读取数据;FileInputStream: 从本地文件中读取数据;PipedInputStream: 从其他线程共用的管道中读取数据;ObjectInputStream、FilterInputStream: 装饰流;输出流:从程序中写入到文件中OutputStream:

2022-06-08 14:18:06 82

原创 git简单命令

//登录自己的账号与邮箱git config --global user.name "wei"gir config --global user.email "ww"进入一个文件夹中之后git init //初始化仓库,生成.git文件,该文件夹称为工作树上传文件到git仓库中需要进行处理生成快照:git add .将生成的快照存放在临时的存储区域(索引) git commit -m "版本信息"git clone <用户名> -b <分支>git

2022-05-27 14:38:49 90

原创 为高尔夫比赛砍树

为高尔夫比赛砍树:你被请来给一个要举办高尔夫比赛的树林砍树。树林由一个 m x n 的矩阵表示, 在这个矩阵中:0 表示障碍,无法触碰1 表示地面,可以行走比 1 大的数 表示有树的单元格,可以行走,数值表示树的高度每一步,你都可以向上、下、左、右四个方向之一移动一个单位,如果你站的地方有一棵树,那么你可以决定是否要砍倒它。你需要按照树的高度从低向高砍掉所有的树,每砍过一颗树,该单元格的值变为 1(即变为地面)。你将从 (0, 0) 点开始工作,返回你砍完所有树需要走的最小步数。 如果你无法砍

2022-05-23 15:04:37 253

原创 最少移动次数使数组元素相等

最少移动次数使数组元素相等:给你一个长度为 n 的整数数组 nums ,返回使所有数组元素相等需要的最少移动数。在一步操作中,你可以使数组中的一个元素加 1 或者减 1 。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/minimum-moves-to-equal-array-elements-ii输入:nums = [1,2,3]输出:2解释:只需要两步操作(每步操作指南使一个元素加 1 或减 1):[1,2,3] => [2,2

2022-05-19 15:18:42 377

原创 String格式问题:将String格式请求方法时,String格式突然转化为对象的问题

String格式问题:将String格式请求方法时,String格式突然转化为对象的问题。如上图所示,在使用队列调用方法时传递的参数为: “xxxxxx”,但是在方法中接收到的参数为:id: “{“msg”:”“xxxxxx”“,“name”:“java.lang.String”}”,很明显,变成了一个对象上述情况据查询是string对象的序列号问题,程序自动将参数转为对象格式;解决方案://如果还是需要原格式的参数,可以采用以下解决方案JSON.parseObject(id).getS

2022-05-17 13:35:17 311

原创 后继者:找出二叉搜索树中指定节点的“下一个”节点

后继者:设计一个算法,找出二叉搜索树中指定节点的“下一个”节点(也即中序后继)。如果指定节点没有对应的“下一个”节点,则返回null。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/successor-lccipublic class InorderSuccessor { public static TreeNode inorderSuccessor(TreeNode root, TreeNode p) { Deque<

2022-05-16 15:42:44 142

原创 字符串一次编辑

一次编辑:字符串有三种编辑操作:插入一个字符、删除一个字符或者替换一个字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。作者:LeetCode-Solution链接:https://leetcode.cn/problems/one-away-lcci/solution/yi-ci-bian-ji-by-leetcode-solution-2xkr/来源:力扣(LeetCode)输入:first = “pale”second = “ple”输出: Truepu

2022-05-13 16:35:37 108

原创 nacos配置中心链接超时问题:java.net.ConnectException: no available server, currentServerAddr

nacos配置中心链接超时问题:java.net.ConnectException: no available server, currentServerAddr从异常信息来看,是与nacos链接异常导致,可能是因为服务器网络的问题解决:重启nacos服务,以及相关服务就好...

2022-05-12 14:00:55 3175

原创 序列化和反序列化二叉搜索树

序列化和反序列化二叉搜索树:序列化是将数据结构或对象转换为一系列位的过程,以便它可以存储在文件或内存缓冲区中,或通过网络连接链路传输,以便稍后在同一个或另一个计算机环境中重建。设计一个算法来序列化和反序列化 二叉搜索树 。 对序列化/反序列化算法的工作方式没有限制。 您只需确保二叉搜索树可以序列化为字符串,并且可以将该字符串反序列化为最初的二叉搜索树。编码的字符串应尽可能紧凑。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/serialize-and-

2022-05-11 17:09:42 87

原创 最近的请求次数

最近的请求次数:写一个 RecentCounter 类来计算特定时间范围内最近的请求。请你实现 RecentCounter 类:RecentCounter() 初始化计数器,请求数为 0 。int ping(int t) 在时间 t 添加一个新请求,其中 t 表示以毫秒为单位的某个时间,并返回过去 3000 毫秒内发生的所有请求数(包括新请求)。确切地说,返回在 [t-3000, t] 内发生的请求数。保证 每次对 ping 的调用都使用比之前更大的 t 值。来源:力扣(LeetCode)链接

2022-05-06 17:25:17 68

原创 按奇偶排序数组

按奇偶排序数组:给你一个整数数组 nums,将 nums 中的的所有偶数元素移动到数组的前面,后跟所有奇数元素。返回满足此条件的 任一数组 作为答案。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/sort-array-by-parity/输入:nums = [3,1,2,4]输出:[2,4,3,1]解释:[4,2,3,1]、[2,4,1,3] 和 [4,2,1,3] 也会被视作正确答案。public class SortArrayByPa

2022-04-28 14:32:32 263

原创 三维形体投影面积

三维形体投影面积:在 n x n 的网格 grid 中,我们放置了一些与 x,y,z 三轴对齐的 1 x 1 x 1 立方体。每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 (i, j) 上。现在,我们查看这些立方体在 xy 、yz 和 zx 平面上的投影。投影 就像影子,将 三维 形体映射到一个 二维 平面上。从顶部、前面和侧面看立方体时,我们会看到“影子”。返回 所有三个投影的总面积 。来源:力扣(LeetCode)链接:https://leetcode-cn.com

2022-04-26 13:50:36 243

原创 随机数索引

随机数索引:给定一个可能含有重复元素的整数数组,要求随机输出给定的数字的索引。 您可以假设给定的数字一定存在于数组中。注意:数组大小可能非常大。 使用太多额外空间的解决方案将不会通过测试。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/random-pick-indexint[] nums = new int[] {1,2,3,3,3};Solution solution = new Solution(nums);// pick(3)

2022-04-25 14:26:09 190

原创 二进制间距

二进制间距:给定一个正整数 n,找到并返回 n 的二进制表示中两个 相邻 1 之间的 最长距离 。如果不存在两个相邻的 1,返回 0 。如果只有 0 将两个 1 分隔开(可能不存在 0 ),则认为这两个 1 彼此 相邻 。两个 1 之间的距离是它们的二进制表示中位置的绝对差。例如,“1001” 中的两个 1 的距离为 3 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-gap输入:n = 22输出:2解释:22 的二进制是

2022-04-24 16:10:02 302

原创 旋转数组迭代

旋转数组:给定一个长度为 n 的整数数组 nums 。假设 arrk 是数组 nums 顺时针旋转 k 个位置后的数组,我们定义 nums 的 旋转函数 F 为:F(k) = 0 * arrk[0] + 1 * arrk[1] + … + (n - 1) * arrk[n - 1]返回 F(0), F(1), …, F(n-1)中的最大值 。生成的测试用例让答案符合 32 位 整数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/rota

2022-04-22 14:31:13 86

原创 山羊拉丁文

山羊拉丁文:给你一个由若干单词组成的句子 sentence ,单词间由空格分隔。每个单词仅由大写和小写英文字母组成。请你将句子转换为 “山羊拉丁文(Goat Latin)”(一种类似于 猪拉丁文 - Pig Latin 的虚构语言)。山羊拉丁文的规则如下:如果单词以元音开头(‘a’, ‘e’, ‘i’, ‘o’, ‘u’),在单词后添加"ma"。例如,单词 “apple” 变为 “applema” 。如果单词以辅音字母开头(即,非元音字母),移除第一个字符并将它放到末尾,之后再添加"ma"。例如

2022-04-21 14:19:04 147

原创 字符的最短距离

字符的最短距离:给你一个字符串 s 和一个字符 c ,且 c 是 s 中出现过的字符。返回一个整数数组 answer ,其中 answer.length == s.length 且 answer[i] 是 s 中从下标 i 到离它 最近 的字符 c 的 距离 。两个下标 i 和 j 之间的 距离 为 abs(i - j) ,其中 abs 是绝对值函数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shortest-distance-to-a-

2022-04-19 11:30:41 47

原创 字典序排数

字典序排数:给你一个整数 n ,按字典序返回范围 [1, n] 内所有整数。你必须设计一个时间复杂度为 O(n) 且使用 O(1) 额外空间的算法。链接:https://leetcode-cn.com/problems/lexicographical-numbers/solution/zi-dian-xu-pai-shu-by-leetcode-solution-98mz/来源:力扣(LeetCode)输入:n = 13输出:[1,10,11,12,13,2,3,4,5,6,7,8,9]

2022-04-18 14:17:17 214

原创 最富有客户的资产总量

最富有客户的资产总量:给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。客户的 资产总量 就是他们在各家银行托管的资产数量之和。最富有客户就是 资产总量 最大的客户。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/richest-customer-wealth输入:accounts = [[1,5],[7,3],[3,5

2022-04-14 16:20:18 45

原创 插入、删除和获取随机元素

插入、删除和获取随机元素:实现RandomizedSet 类:RandomizedSet() 初始化 RandomizedSet 对象bool insert(int val) 当元素 val 不存在时,向集合中插入该项,并返回 true ;否则,返回 false 。bool remove(int val) 当元素 val 存在时,从集合中移除该项,并返回 true ;否则,返回 false 。int getRandom() 随机返回现有集合中的一项(测试用例保证调用此方法时集合中至少存在一个元素)

2022-04-13 15:04:18 245

原创 统计各位数字都不同的数字个数

统计各位数字都不同的数字个数:给你一个整数 n ,统计并返回各位数字都不同的数字 x 的个数,其中 0 <= x < 10n 。输入:n = 2输出:91解释:答案应为除去 11、22、33、44、55、66、77、88、99 外,在 0 ≤ x < 100 范围内的所有数字。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/count-numbers-with-unique-digitsclass CountNumbe

2022-04-11 14:20:11 79

原创 正则表达式匹配

正则表达式匹配:给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/regular-expression-matching//采用动态规划,有点较难理解public class IsMatch { public stati

2022-04-07 15:31:36 45

原创 旋转字符串

旋转字符串:给定两个字符串, s 和 goal。如果在若干次旋转操作之后,s 能变成 goal ,那么返回 true 。s 的 旋转操作 就是将 s 最左边的字符移动到最右边。例如, 若 s = ‘abcde’,在旋转一次之后结果就是’bcdea’ 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/rotate-string输入: s = “abcde”, goal = “cdeab”输出: true//循环拼接字符串并判断publ

2022-04-07 10:47:43 39

原创 最小高度树

最小高度树:树是一个无向图,其中任何两个顶点只通过一条路径连接。 换句话说,一个任何没有简单环路的连通图都是一棵树。给你一棵包含 n 个节点的树,标记为 0 到 n - 1 。给定数字 n 和一个有 n - 1 条无向边的 edges 列表(每一个边都是一对标签),其中 edges[i] = [ai, bi] 表示树中节点 ai 和 bi 之间存在一条无向边。可选择树中任何一个节点作为根。当选择节点 x 作为根节点时,设结果树的高度为 h 。在所有可能的树中,具有最小高度的树(即,min(h))被称为

2022-04-06 16:31:49 224

原创 寻找比目字母大的最小字母

寻找比目字母大的最小字母:给你一个排序后的字符列表 letters ,列表中只包含小写英文字母。另给出一个目标字母 target,请你寻找在这一有序列表里比目标字母大的最小字母。在比较时,字母是依序循环出现的。举个例子:如果目标字母 target = ‘z’ 并且字符列表为 letters = [‘a’, ‘b’],则答案返回 ‘a’来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/find-smallest-let

2022-04-03 13:52:30 56

原创 自除数简单实现

自除数:自除数 是指可以被它包含的每一位数整除的数。例如,128 是一个 自除数 ,因为 128 % 1 == 0,128 % 2 == 0,128 % 8 == 0。自除数 不允许包含 0 。给定两个整数 left 和 right ,返回一个列表列表的元素是范围 [left, right] 内所有的 自除数 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/self-dividing-numberspublic class SelfDi

2022-03-31 10:22:26 203

原创 交替位二进制数

交替位二进制数:给定一个正整数,检查它的二进制表示是否总是 0、1 交替出现:换句话说,就是二进制表示中相邻两位的数字永不相同。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-number-with-alternating-bits/示例 :输入:n = 5输出:true解释:5 的二进制表示是:101--------------------------------------输入:n = 7输出:false解释:7

2022-03-28 16:31:13 260

原创 leetcode:图片平滑器

图片平滑器:图像平滑器 是大小为 3 x 3 的过滤器,用于对图像的每个单元格平滑处理,平滑处理后单元格的值为该单元格的平均灰度。每个单元格的 平均灰度 定义为:该单元格自身及其周围的 8 个单元格的平均值,结果需向下取整。(即,需要计算蓝色平滑器中 9 个单元格的平均值)。如果一个单元格周围存在单元格缺失的情况,则计算平均灰度时不考虑缺失的单元格(即,需要计算红色平滑器中 4 个单元格的平均值)。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problem

2022-03-24 10:45:16 325

原创 容器化服务的发布-使用docker部署服务

容器化服务的发布:在maven工程中,需要将项目根据pom文件进行打包,命令如下:mvn clean package# 依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。mvn clean install# 依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段。mvn clean deploy

2022-03-21 09:20:04 358

原创 MySQL索引原理理解

本文将渐进式的帮助理解mysql中innoDB的索引原理,InnoDB存储引擎是以页为单位进行存储的,一页的大小是16kb1、InnoDB的行记录:本次行记录的叙述主要以 COMPACT为主,其他的行记录都是相同的原理:1.1 行记录的分类:COMPACT:紧凑型行REDUNDANT :字段长度偏移行COMPRESSED :压缩行DYNAMIC:动态行查看当前的记录行格式:show table status like 'table_name'1.2 COMPACT的行格式:.

2021-12-27 11:57:40 503

原创 CAP原理以及选取的场景

CAP是分布式系统的重要理论1、CAP原则概述:CAP原则又称为CAP定理,在分布式系统中,数据一致性、服务可用性、分区容错性这三中原则只能满足其二。C(Consistency):代表数据一致性;A(Availability):代表服务可用性;P(Partition tolerance):代表分区容错性;2、分区容错性:大多数分布式系统都分布在多个子网络,每个子网络就叫做一个区(partition)。分区容错的意思是分布式系统在遇到某节点或某分区故障时,仍然能够对外提供满足一致性或可

2021-12-21 16:13:53 2309

原创 SpringIOC原理及源码理解

1、对IOC和DI的理解:以下是Iteye的开涛这位技术牛人对Spring框架的IOC的理解,写得非常通俗易懂,以下内容全部来自原文,原文地址:http://jinnianshilongnian.iteye.com/blog/14138461.1、IoC(控制反转)首先想说说IoC(Inversion of Control,控制反转)。这是spring的核心,贯穿始终。**所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系。**这是什么意思呢,举个简单的

2021-12-16 14:00:19 112

原创 @Import注解的理解与用法

1、@Import概述:@Import注解一般情况下是spring整合其他框架时使用到的,在使用@Component注解以及其组合组件的时候,这些组件是能被项目扫描到的,如果有其他的框架需要加载一些组件(这些组件不在项目的包中),可以使用@Import注解将其加载进来。注意:默认的@Import注入到组件的加载要先与当前的配置类,DeferredImportSelector的实现类除外。2、@Import注解的用法:@Import注解主要用三种使用方法2.1、导入普通类可以导入普通的类,也可以

2021-12-10 10:24:29 936

原创 将shp文件转成mysql表

本文主要介绍将shp文件转成相应的表,shape文件由ESRI开发,一个ESRI(Environmental Systems Research Institute)的shape文件包括一个主文件,一个索引文件,和一个dBASE表。其中主文件的后缀就是.shp。要保证shp文件完整:1、准备工作:首先需要安装相应的软件进行操作,相应文件防止文章末尾:1、解压文件:解压名为release-1911-x64-gdal-3-0-4-mapserver-7-4-32、以管理员身份打开命令提.

2021-12-10 09:26:12 604

空空如也

空空如也

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

TA关注的人

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