自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(462)
  • 资源 (4)
  • 收藏
  • 关注

原创 设计循环双端队列(第641题)

如果操作成功返回 true ,否则返回 false。如果操作成功返回 true ,否则返回 false。如果操作成功返回 true ,否则返回 false。如果操作成功返回 true ,否则返回 false。boolean isEmpty() :若双端队列为空,则返回 true ,否则返回 false。// 返回 true。boolean isFull() :若双端队列满了,则返回 true ,否则返回 false。int getFront() ):从双端队列头部获得一个元素。

2023-11-16 19:33:57 80

原创 根据身高重建队列(第406题)

因此[[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]] 是重新构造后的队列。输入:people = [[7,0],[4,4],[7,1],[5,0],[6,1],[5,2]]输入:people = [[6,0],[5,0],[4,0],[3,2],[2,2],[1,4]]输出:[[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]]输出:[[4,0],[5,0],[2,2],[3,2],[1,4],[6,0]]题目数据确保队列可以被重建。

2023-11-16 18:54:05 86

原创 分隔链表(第86题)

【代码】分隔链表(第86题)

2023-11-05 20:41:39 90

原创 移除元素(第27题)

解释:函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。例如,函数返回的新长度为 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],也会被视作正确答案。解释:函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4。输入:nums = [0,1,2,2,3,0,4,2], val = 2。元素的顺序可以改变。输入:nums = [3,2,2,3], val = 3。输出:5, nums = [0,1,4,0,3]

2023-11-05 17:43:16 58

原创 最接近的三数之和(第16题)

给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。遍历的话,是O(N^3),会超时,所以遍历一遍数组,然后使用双指针减少另外两次遍历。解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2)。输入:nums = [-1,2,1,-4], target = 1。输入:nums = [0,0,0], target = 1。主要问题:使用双指针可以优化遍历,而且不会漏掉任何一种情况。

2023-11-05 17:00:03 31

原创 串联所有单词的子串(第30题)

一、题目描述:二、解题过程开始写了一版,然后执行超时,如下图所示:然后我根据这个实例判断了一下自己的代码,应该是O(n^2),没有到立方,而且是50005000(大概)但是确实超时了,最后我猜测是JDK的集合方法有问题,导致平方变立方了,也就是50005000*5000了。这个方法就是list.remove(Object o)。这里的list有5k,如果是上图的例子的话,然后我改成了方法remove(index i)试了下(而且这里考虑到数组删除前面的元素会导致后面的前移,我改成了从数组尾巴开

2023-11-04 23:51:39 116

原创 字母异位词分组(第49题)

输入: strs = [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]输出:[[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。是由重新排列源单词的所有字母得到的一个新单词。输入: strs = [“a”]输入: strs = [“”]strs[i] 仅包含小写字母。输出: [[“a”]]输出: [[“”]]

2023-11-04 17:27:39 35

原创 多线程与高并发

synchronized锁升级:(1)偏向锁(markword 记录这个线程ID)(2)如果有其他线程争用,升级为自旋锁(3)默认争抢10次以后,重量级锁 - OS自旋锁占CPU,但是不访问操作系统,在用户态解决所得问题,不经过内核态,所以效率更高。...

2022-07-11 19:36:07 561 3

原创 文章目录整理

01-Java基础知识面试题(2020最新版)02-Java集合容器面试题(2020最新版)-重点03-Java异常面试题(2020最新版)04-并发编程面试题(2020最新版)-重点06-Spring面试题(2020最新版)-重点07-MyBatis面试题(2020最新版).....................

2022-07-08 01:17:35 183

原创 Redis

一、常识1、内存和硬盘对比磁盘:寻址:毫秒ms硬盘带宽:G/M内存:寻址:纳秒ns硬盘带宽:很大秒>毫秒>微秒>纳秒磁盘比内存在寻址上慢了10W倍2、I/O buffer的成本问题磁盘划分:从磁盘到磁道,到扇区,再到每个扇区512byte,划分成一个一个的区域后,索引变大。格式化的时候,会有个对其选择,一般选4k,选择后,通过操作系统读数据时,无论你读多少数据,一次都是读取4K问题:java读取文件,文件变大,速度变慢,为什么?硬盘I/O成为瓶颈3、m

2022-04-19 18:23:06 1446

原创 持续集成——Jenkins

持续集成续集成服务(Continuous Integration,简称 CI)它绑定 Github 上面的项目,只要有新的代码,就会自动抓取。然后,提供一个运行环境,执行测试,完成构建,还能部署到服务器。持续集成指的是只要代码有变更,就自动运行构建和测试,反馈运行结果。确保符合预期以后,再将新代码"集成"到主干。持续集成的好处在于,每次代码的小幅变更,就能看到运行结果,从而不断累积小的变更,而不是在开发周期结束时,一下子合并一大块代码。云服务travis-ciTravis CI 是在软件开发

2022-04-19 18:14:23 2098

原创 使用yum报错:Errors during downloading metadata for repository ‘appstream‘

问题:使用yum报错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

2022-02-11 10:43:47 1790

原创 JVM调优

一、JVM基础1、java从编码到执行JVM是一种规范java virtual machine specificationsJVM是跨语言的平台,java、scala、kotlin、groovy…(上百种语言)都可以在jvm上运行。jvm和java无关。任何语言“编译”成class都可以用jvm。javase文档java语言和虚拟机规范文档虚构出来的一台计算机字节码指令集(汇编语言)内存管理JRE = jvm + core libJDK = jre + development k

2021-12-12 14:29:26 8322

原创 ActiveMQ

一、消息中间件简介1、jms全称:Java MessageService 中文:Java 消息服务。(1)jms中的角色broker:消息服务器provider:生产者consumer:消费者ConnectionFactoryConnectionDestinationQueueTopic:默认不会持久化Session:JMS Session是生产和消费消息的一个单线程上下文。会话用于创建消息生产者(producer)、消息消费者(consumer)和消

2021-11-10 10:09:35 670

原创 URLConnectio发送中文乱码

原代码:DataOutputStream os=new DataOutputStream(conn.getOutputStream());os.writeBytes(objJson);改后代码:DataOutputStream os=new DataOutputStream(conn.getOutputStream());os.write(objJson.getBytes("utf-8"));

2021-10-20 11:41:35 73

原创 启动web项目,静态变量值为null

大致代码如下private static String url = "http://xxx.com"; private static String key = "xxxxxxxxxxxx"; static{ try { //读取properties文件的属性,文件不存在 url = "xx"; key = "xxxx"; } catch (){ } }使用单元测试,可以取到url和key。但是web项目(spring…)中启动,url就是null,key可以取到

2021-10-13 19:00:21 184

原创 启动项目报错:java.lang.OutOfMemoryError: PermGen space

加大内存设置:-Xms1024M -Xmx2048M -XX:PermSize=128M -XX:MaxPermSize=256M

2021-10-13 18:54:59 96

原创 由于公司一中一个老项目使用jdk1.7导致http访问报错

场景:使用httpclient调用供应商的接口,我自己电脑上运行没问题,提交代码后,同事拉取调用报错报错:javax.net.ssl.SSLException: Received fatal alert: protocol_version at sun.security.ssl.Alerts.getSSLException(Alerts.java:208) at sun.security.ssl.Alerts.getSSLException(Alerts.java:154) at sun.secu

2021-10-13 18:24:10 402

原创 POI报错:IllegalArgumentException: Your InputStream was neither an OLE2 stream, nor an OOXML stream

场景:使用springMVC和POI处理excel文件,使用springMVC的MultipartFile接受文件流,在使用creat的时候报错。InputStream inputStream = file.getInputStream();Workbook workbook = WorkbookFactory.create(inputStream);错误信息:java.lang.IllegalArgumentException: Your InputStream was neither an

2021-09-24 09:32:10 11066

原创 JavaSE拾遗记录

一、JDK8新特性1、lambda表达式使用 Lambda 表达式可以替代只有一个抽象函数的接口实现,告别匿名内部类,代码看起来更简洁易懂。Lambda表达式同时还提升了对集合、框架的迭代、遍历、过滤数据的操作。特点:函数式编程参数类型自动推断代码量少,简洁自己写函数式接口的时候,可以加上这个注解,帮助检查是否是函数式接口@FunctionalInterface方法引用:public class Lambda1 { static String getName(){

2021-09-19 16:37:51 108

原创 python入门与进阶

python一切都是对象,对象的三个特征:id、value、type。python安装好后,自带一个IDEL shell>>> print('hello,world')hello,world一、python的基础数据类型1、Number:数字(1)int:整数>>> type(1)<class 'int'>(2)float:浮点数>>> type(1.2)<class 'float'>(3)long

2021-08-16 01:09:01 162

原创 Python爬虫

爬虫能做什么?采集网络数据自动化测试做一些萝莉手动的操作(帮人投票、12306抢票、微信聊天助手-itchat)-有操作浏览器的库去操作浏览器帮我们访问网站灰产(薅羊毛、发动网络攻击、做水军)一、安装和配置virtualenvwrapper和virtualenv当不同项目用到的python版本、依赖包版本不一致时,可以用虚拟环境隔开。1、windows下安装pip install virtualenvwrapper-winpip install virtualenv#新建虚拟环境(建

2021-08-16 01:08:18 142

原创 mysql调优

优化有两种:RBO(基于规则的优化)​ CBO(基于成本的优化)Mysql 8.0之前,server中有缓存,为了减少IO。但关系数据库内容修改频繁,所以8.0去除了这个功能。一、性能监控1、show profile官网文档使用show profile查看sql执行时间。注意:该方式会在新版本中被弃用和替代。使用方法:设置属性set profiling=1;执行sql查看profile-- 显示sql及执行总时长show

2021-06-13 15:53:35 937 2

原创 区块链零散知识记录

区块链区块链三圈:币圈链圈矿圈钱包:on-chainoff-chain区块链分类:公有链私有链联盟链一、比特币:源码底层网络:并不是虚拟货币比特币本质上是记账本不可篡改公开安全可编程匿名去中心合约规定舍弃短的链(孤块),所以只能硬分叉,并且各自使用不同客户端运行维护总共发行20999999.9769比特币,约为2100万枚区块高度加210000 ,挖矿奖励减半(约到2137年,比特币的发行速率将递减在每区块1

2021-06-02 21:30:14 305 3

原创 整数转罗马数字(第12题)

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值 I 1 V 5 X 10 L50 C 100 D 500 M 1000 例如, 罗马数字 2写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通常情况下,罗马数字中小的数字.

2021-03-29 14:56:27 126

原创 php环境安装和本地WordPress安装

1、下载php8.0地址:https://windows.php.net/download/解压放到本地2、配置环境变量,在path中加入以上地址即可3、运行以下命令可能会弹出警告php -v此时是环境问题,可以在微软官网下载最新visual C++并安装,装好后重启电脑:Visual C++ 下载4、运行php8.0php -S localhost:8888 -t D:\php_workspace在D盘下创建php_workspace文件夹,

2020-12-20 20:48:50 310

原创 平时记录

一、已懂1、springboot项目,在resource中banner.txt文件,可以替换启动动画2、@Transactional(rollbackFor = Exception.class) rollbackFor = Exception.class作用:遇到非RuntimeException的异常时,也回滚,没有改属性则只回滚RuntimeException3、spring工具类:Assert 不符合条件,抛出IllegalArgumentException异常4、添加...

2020-12-05 13:36:03 175

原创 ubuntu apt命令安装环境

1、首先:没有add-apt-repository命令,通过以下命令安装sudo apt-get install python-software-propertiessudo apt-get updatesudo apt install software-properties-commonsudo apt-get update2、添加ppasudo add-apt-repository ppa:webupd8team/java3、搜索相关安装包sudo apt-cache

2020-12-04 19:23:19 1978

原创 mysql函数记录

substring_index(str,str1,a) 截取字符串locate(substr,String)weekday(now()) 周一为0,周日为6adddate(NOW(),2) 后天group_concat() 拼接分组数据,默认逗号分隔date_format(now(),'%Y/%m/%d') 格式化日期substr(str, a, b) 截取字符串 下标从1开始算,不是0,从a开始截取b个字符trim()ifnull(expression, alt_value))CURD.

2020-10-15 15:53:16 87

原创 报错:1267 - Illegal mix of collations (utf8mb4_0900_ai_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT)

SELECT NULL as id, t.source_id, t.airline_name, t.flight_no, t.space_type, t.start_station, t.start_code, t.end_station, t.end_code, t.transfer_station, t.product_type, t.free_space, t.free_space, t.effect_date, NOW(), N.

2020-10-15 15:50:13 2633

原创 幂等性问题:用户多次点击导致重复扣款

业务场景:物流系统中,用户在后台点击发货(调整货物重量,重新计价),这时候会进行修改订单状态,并且扣款或退款。bug:但是这时候,用户同一时间点了多次发货,导致重复扣款。思考:首先,更新订单状态的时候加个条件判断,这样就不会重复更新订单了。update set order_status where order_status = 0其次,根据更新订单状态返回的结果来进行扣款退款操作。也就是说,更新条数为1,则执行退扣款操作,更新条数为0则不进行退扣款操作。最后,必须保证同一时间下,只

2020-09-23 18:37:26 478 2

原创 未使用@RequestBody,获取不到请求参数中的json数据

springmvc注解:@RequestParam可以取get请求url后的参数,也可以取post请求中表单的参数@ResponseBody是解析请求体中的json数据,转化为对象。因为使用了@RequestBody注解,最终使用到的参数处理器为RequestResponseBodyMethodProcessor,实际上会用到MappingJackson2HttpMessageConverter进行参数类型的转换,底层依赖到Jackson相关的包。controller 的区别在接收参数注解

2020-09-23 17:54:20 2468

原创 new创建对象,成员对象使用@Autowired注入为null

使用new创建的对象,该对象中@Autowired注入的成员对象为null。所以如果一个类中有spring容器注入的对象,则不能使用new来创建对象,必须使用必须@Autowired、@Resource来创建该对象。也就是说要把该对象也交给spring容器来管理。...

2020-09-23 17:43:02 2481

原创 获取get请求的数组失败

前端把参数对象序列化后,手动添加到url后面,数组变成了orderStatusArray[0]=1&orderStatusArray[1]=2后端springmvc使用List<string> orderStatusArray 取不到值,为null。原因:springmvc认为这是两个参数名为“orderStatusArray[0]”和“orderStatusArray[1]”的参数,而不是一个数组。...

2020-09-23 17:28:24 204

原创 maven:install的时候报错

错误描述:在进行maven:install的时候,报错,错误信息:Error:(6,36) java: 程序包com.kytech56.resource.domain不存在原因:order-proxy模块依赖了resource模块,resource模块的pom.xml中加入了以下插件<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-

2020-09-23 17:24:32 106

原创 spring容器,循环引用

启动项目,跑出异常:、BeanCurrentlyInCreationException这是由于循环引用造成的,bean A引用bean B,bean 引用bean A,这样就形成了一个闭环。代码如下:@Servicepublic class OrderHandoverService { @Lazy @Autowired private NewOrderService orderService; ....}@Servicepublic clas

2020-09-23 16:55:41 101

原创 多表查询,未指明字段属于哪一张表

报错信息:Column 'order_sn' in where clause is ambiguous原因:多表查询时,两张表都有order_sn字段,未指明字段属于哪一张表

2020-09-23 16:49:02 171

原创 localDate类型不能在mapper.xml中与String做比较

报错信息:###Error querying database. Cause: java.lang.IllegalArgumentException: invalid comparison: java.time.LocalDate and java.lang.String### Cause: java.lang.IllegalArgumentException: invalid comparison: java.time.LocalDate and java.lang.String代码片段:m

2020-09-23 16:47:06 596

转载 day06-webpack

0.学习目标了解vue-router使用了解webpack使用会使用vue-cli搭建项目独立搭建后台管理系统了解系统基本结构1.路由vue-router1.1.场景模拟现在我们来实现这样一个功能:一个页面,包含登录和注册,点击不同按钮,实现登录和注册页切换:1.1.1.编写父组件为了让接下来的功能比较清晰,我们先新建一个文件夹:src:然后新建一个HTML文件,作为入口:index.html然后编写页面的基本结构:<div id="app"> &l

2020-08-23 13:51:53 203

原创 面试题记录(2020.07)

mysql存储数据的过程存储引擎数据库索引为什么用B+树索引类型 InnoDB 聚簇索引(为什么用B+树)什么情况下索引失效redis:存储4个长度为31的数据,用的什么数据类型jvm调优AOF原理,设计表,查询优化,base原理,查询学生课程字符串拼接索引的作用,优缺点,创建原则Springboot sprongcloud版本Finally catch try中returenArraylist初始值大小mybatis什么情况下一定用$mysql的update有没有加锁,乐观锁悲观

2020-08-22 20:57:18 108

01.lucene&solr;-day01-v2.0.doc

lucene和solr笔记

2019-07-23

DBCP-1.5.6

这是一个封装好的数据库连接池,可以直接调用。DBCP。

2019-04-08

c3p0-0.9.1.2

c3p0连接池,是封装好的数据库连接池,直接调用就可以

2019-04-08

commons-beanutils-1.8.3

beanUtils,是一个封装JavaBean的工具,可以直接把map封装到javaBean中

2019-04-08

空空如也

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

TA关注的人

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