自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 分布式下优雅获取微信accessToken, 执行刷新机制

从 Redis 中获取微信的,如果不存在,则通过调用微信 API 获取新的,并使用分布式锁机制确保在高并发环境下,只有一个线程能够成功获取并更新。

2025-02-06 17:11:19 337

原创 Java中巧妙处理多线程请求与异步任务

最后一步是等待所有的异步任务完成,并检查它们是否全部成功。这可以通过轻松实现。一旦所有任务都完成了,我们可以检查是否有任何任务失败,然后根据结果返回给用户一个完整的反馈。} else {// 将RequestAttributes对象设置为子线程共享String msg;= null) {} else {})try {// 等待所有异步任务完成// 检查是否所有任务都成功= null);} else {

2025-01-14 11:28:27 348

原创 实际项目Java1.8流处理, Optional常见用法

peek用于调试,不改变流中的元素。主要用于在流的处理过程中插入一些操作,如打印日志。返回类型与输入类型相同。map用于转换,可以改变流中的元素。接受一个函数作为参数,将该函数应用于流中的每个元素。返回类型可以与输入类型不同。

2024-11-19 15:48:53 1149

原创 (必收藏)Java常见面试题十五道: 线程、并发、HashMap、JVM、异常、Spring、mysql

具体原因是:由于 ThreadLocalMap 中的 Entry 对象是弱引用,而 ThreadLocalMap 自身是强引用,当某个 ThreadLocal 的作用域结束时,如果没有手动删除 ThreadLocal 变量,在下一次垃圾收集时,ThreadLocal 仍然存在于 ThreadLocalMap 的 table 数组中,导致 Entry 对象无法被回收,从而引发内存泄漏问题。在多线程程序中,如果一个线程修改了共享变量的值,但是其他线程并没有立即感知到这个变化,这就会导致线程间数据不一致的问题。

2023-06-16 11:33:12 641 1

原创 Spring Could 核心组件知识点, 看这篇就够了!

前面分别对 Spring Cloud Zuul 与 Spring Cloud Gateway 进行了简单的说明,它门是API网关,API网关负责服务请求路由、组合及协议转换,客户端的所有请求都首先经过API网关,然后由它将匹配的请求路由到合适的微服务,是系统流量的入口,在实际生产环境中为了保证高可靠和高可用,尽量避免重启,如果有新的服务要上线时,可以通过动态路由配置功能上线。在真实场景中,限流数的调整需要依赖配置中心,当网站做活动时,动态调整限流数,新服务上线时,通过配置中心做动态路由等。

2023-05-24 14:24:31 901

原创 mysql-联合索引和单列索引是否生效实践

实践联合索引和单列索引

2023-03-14 17:45:24 797

原创 Java妙手判空之Optional

Java优雅判空

2022-07-12 14:23:46 1316

原创 关于vue的冒号,@的含义

一、含义:class 等效 于 v-bind:class@click 等效于 v-on:click二、说明v-bind:是v-bind的缩写,是为了动态绑定数据。一般的常量属性我们不用添加冒号;如果是会产生变化的值则要加上冒号。加上了冒号是为了动态绑定数据,等号后面可以写***变量。加冒号的,说明后面的是一个变量或者表达式,没加冒号的后面就是对应的字符串字面量如果不使用冒号,等号后面就可以写字符串等原始类型数据。这时就无法进行动态绑定数据了。<!-- 完整语法 -->

2022-04-11 15:27:55 3576

原创 oracle listagg替代wm_concat()函数 解决wm_concat()查询速率过低问题

原sql:select e.comment_id, e.evaluate_type, wmsys.wm_concat(evaluate_label) labelsfrom evaluating_label ewhere exists(select * from evaluation o where o.order_id = '123' and e.comment_id = o.id)group by e.comment_id, e.evaluate

2022-03-25 16:24:52 3314

原创 关于 oracle的WM_CONCAT函数用代码实现

首先看一段 sql:按省份分组,把邮件号用逗号拼接,最后按省份名的首字母排序select t.PROVINCE_NAME provinceName, WM_CONCAT(t.mail_no) otherMailNoListStrfrom INVOICE twhere t.INVOICE_TYPE != 2 and t.PAYMENT_MODE != 2 and t.PROVINCE_NAME is not null ${ew.sqlSegment}group

2021-12-13 09:10:31 368

原创 记一次npm install 报RequestError: connect ETIMEDOUT 20.205.243.166:443和RequestError: socket hang up

今早安装 electron 时突然报RequestError: connect ETIMEDOUT 20.205.243.166:443然后尝试ping github.com超时了之后去http://ping.chinaz.com/https://github.com找到一个韩国的 host修改本地 host 文件52.78.231.108 github.com 再次安装报错:RequestError: socket hang up然后修改registrynpm confi

2021-11-15 10:54:59 20233 2

翻译 从熟悉的例子中熟悉 lambda 表达式及其编写 lambda 表达式

识别 Lambda 表达式的类型在 Java 语言中,一切都有一个类型,这个类型在编译时是已知的。 所以总是可以找到 lambda 表达式的类型。 它可以是变量的类型、字段的类型、方法参数的类型或方法的返回类型。lambda 表达式的类型有一个限制:它必须是一个函数式接口。 所以没有实现函数式接口的匿名类不能写成 lambda 表达式。什么是函数式接口的完整定义有点复杂。 此时您需要知道的是,函数式接口是一个只有一个 的接口 抽象 方法 。您应该知道,从 Java SE 8 开始,接口中允许使

2021-11-10 10:34:25 333

翻译 关于 sql 的执行顺序与四种语言

sql 执行顺序一、group by 字句也和where条件语句结合在一起使用。当结合在一起时,where在前,group by 在后。即先对select xx from xx的记录集合用where进行筛选,然后再使用group by 对筛选后的结果进行分组 使用having字句对分组后的结果进行筛选。二、需要注意having和where的用法区别: 1.having只能用在group by之后,对分组后的结果进行筛选(即使用having的前提条件是分组)。 2.where肯定在group

2021-11-05 10:41:29 1838

转载 关于StringUtils的一些判空方法

isEmpty系列StringUtils.isEmpty()是否为空. 可以看到 " " 空格是会绕过这种空判断,因为是一个空格,并不是严格的空值,会导致 isEmpty(" ")=falseStringUtils.isEmpty(null) = trueStringUtils.isEmpty("") = trueStringUtils.isEmpty(" ") = falseStringUtils.isEmpty(“bob”) = falseStringUtils.isEmpty(" bob

2021-08-27 08:55:30 1892

原创 关于 swagger 生成离线接口文档(.md转pdf)

第一步在项目中添加新的依赖 <!-- swagger-bootstrap-ui增强ui --> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>swagger-bootstrap-ui</artifactId> <version>1.9.4</ve

2021-02-03 15:15:33 2203 1

原创 vue 踩坑记-安装 vue-axios 后报错:Cannot set property $axios of #<Vue> which has only a getter

事发前刚利用 vue ui 新建了一个 vue 的项目,然后用到 axios,去官网(链接走起:https://github.com/axios/axios)安装了 axios 插件。问题出现然后在后面的开发中,脑子一热安装了vue-axios:sudo vue add axios出现标题的报错:Cannot set property $axios of # which has only a getter问题解决经过了解,使用了:npm install axios官网安装的方法之后,已

2021-01-12 10:19:57 13170

转载 使用强大的Chrome浏览器自带截图功能

最近要使用到滚动截图功能,xnip 的滚动截图经常失败就很蛋疼,于是在网上搜了下原来 Google 也有截图功能,在这里和大家分享一下。使用快捷键打开浏览器的控制台 Ctrl + Shift + I (Windows) || Option + Command + I (Mac)或者 “右键”-> “查看”使用快捷键打开命令行 Command + Shift + P (Mac) || Ctrl + Shift + P (Windows)输入Screenshot,选择Capture full.

2020-12-09 10:29:38 3043

原创 有关集合转数组与数组转集合的坑

最近一直忙于 coding 和进行项目管理,就没啥时间更新 blog,今天上午趁有时间摸鱼,就简单总结一下有关集合转数组与数组转集合的坑。问题起因1在写代码的时候使用 toArray 方法 的时候就一直很好奇传入的长度为什么是 0 而不是其他(因为我参照老员工的哈哈哈,cv 战士),后来 review 代码的时候重新捡起了这个疑惑,然后翻了翻源码。源码: @SuppressWarnings("unchecked") public <T> T[] toArray(T[].

2020-10-29 11:04:52 3494

原创 解决macOS腾讯课堂无法打开麦克风的权限

最近一直在上网课,用到腾讯课堂,老师要求我举手发言,测试了好久他们都听不到我讲话,很蛋疼。。。。深究,原来是macOS的麦克风权限没有打开。咋眼一看并没有腾讯课堂可以设置麦克风权限,于是就在网上搜了一下方法,找的挺久了,终于找到可以解决的方法了,在此与大家分享一下。1. 第一步重启动Mac,并按住comman+r,进入恢复模式后,打开终端(Terminal)程序,运行命令:csruti...

2020-04-28 17:54:33 17872 2

原创 (自定义组件修改源码)Vant weapp踩坑之修改Card 商品卡片源码

首先先给上官网https://youzan.github.io/vant-weapp/#/card按照官网给出的代码复制粘贴一下效果如下:可往往我们的需求和这个模块或多或少都有点出入。例如最近我的项目的原型需求是这样的:有点像,可又有点不像,哈哈哈,那我们一起看看源码把官网的例子改为自己想要的样子。首先是wxml文件那里,有定义好的title和price等等,我们照他们的写法,添...

2020-04-01 20:29:00 8564 2

原创 (自定义组件修改源码)Vant weapp踩坑之滑动单元格SwipeCell样式问题

首先先附上官网:https://youzan.github.io/vant-weapp/#/swipe-cell可按照官网照做删除的按钮根本没有样式,相信大家也在网上找到了方法解决了,就是直接找到源码的wxss文件直接加.van-swipe-cell__left{ display: inline-block; width: 65px; height: 44px; font-si...

2020-03-25 21:24:37 5833 8

原创 Spring Boot项目实训-邮差系统的实现(完整项目)

1、项目简介本项目主要分为3个模块:(1)邮客模块(2)邮差模块(3)管理员模块2、数据库模型如下:3、项目结构如下:4、功能模块细则:(1)邮客模块1、邮客注册、登录关键代码:注册模块:2、邮客登录以后可以查看自己的权限以及快递信息当每个邮客注册登录后,他的权限都为新用户:代码:当邮客想要寄件时,必须完善自己的信息:代码:@ResponseBo...

2019-12-12 18:49:24 4720 6

原创 入门算法-穷举法(计算完全数和求解幂集问题)

写在前面,关于穷举法的定义自行去Google,在我的理解就是暴力求解,把所有可能都推算出来,这对于自己没有其他策略和解题思路的情况下,可以使用穷举法,但是其弊端也是很明显的,相对于其他算法思想来说时间复杂度是极高的,所以慎用。一、使用技术蛮力法所赖的基本技术——扫描技术基本的扫描技术——遍历(1)集合的遍历:按集合中元素序号的顺序处理各元素(2)线性表的遍历:以数组形式存储,按下标顺序处...

2019-10-04 15:17:34 4879

原创 入门算法-算法的时间复杂性分析(计算书的页码)

1、求下列函数的渐近表达式(1)3n+10n=O(n)(2) n/10+2=O(2)(3)21+1/n=O(1)(4)10 log3=O(n)2、分析下面算法属于什么功能,并求算法的时间复杂性函数int factorial(int n){if (n == 0) return 1;return n*factorial(n-1);}3、算法实现题,要求写出问题的分析过程,然后上机...

2019-09-08 15:17:57 4325

原创 SpringBoot集成Mybatis2(附带整合Junit和lombok)

掘金地址:https://juejin.im/post/5d37faf16fb9a07f03577c97写在前面自己现在也是在初学springboot,在之前开发时用过ssm架构,觉得步骤有点繁琐,进而了解到springboot。SpringBoot对上述Spring的缺点进行的改善和优化,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的...

2019-07-24 15:06:51 3432 1

转载 android连接mysql数据库

第一步:加载mysql驱动程序:第二步:编写Mainactivity类和DBconnection类:package com.example.keshetest;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.Resu...

2019-07-13 19:17:09 3047

转载 Mac配置adb命令(解决AS连接真机问题)

1、打开终端 Terminal;2、进入当前用户home目录(默认是home目录,命令输入 echo $HOME,查看home目录);3、创建.bash_profile文件(命令输入 touch .bash_profile);4、打开.bash_profile文件(命令输入 open -e .bash_profile);5、在打开的.bash_profile文件中编辑如下: export...

2019-06-03 19:54:37 3688

原创 (解决)无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core]

首先先附上报错报错原因也很简单,找不到jstl标签库。试过很多种方法,网上的方法无非是叫你在Tomcat目录下的lib文件夹中加入jstl包和standard.jar(需要的话可以留言邮箱我发给你)可是添加了两个包之后问题还是没有解决。原因:找不到jstl类库中的.tld文件解决办法:WEB/INF的lib下,除了导入jstl.jar包,还要导入standard.jar包。另外,解...

2019-05-07 22:36:52 67893 103

原创 利用python字典写一个简单的学生信息管理系统

最近在学习python,写了一个超简单的学生信息管理系统,在博客做一个记录吧,大神勿喷。。。

2019-04-29 00:33:22 19157 5

原创 推荐两款mac管理应用软件

写在前面,大多用MacBook的人都有一个烦恼,就是软件之间的管理,应用生成的缓冲文件怎样删除,还有软件的卸载等等。。。1.Dr.cleanerDr Cleaner for mac是趋势科技推出,Mac OS平台上唯一一款集系统优化、垃圾清理、内存优化、应用程序管理等功能为一体的软件,简洁、安全、无广告。  【磁盘分析】• 扫描您的磁盘并且呈现出一个可点击的多彩可交互文件分布图• 点击...

2019-04-27 19:59:25 7078

原创 算法复杂性分析概述

写在前面算法复杂性 = 算法所需要的计算机资源算法的时间复杂性T(n)=T(n,i);算法的空间复杂性S(n)= S(n,i) 。其中n是问题的规模(输入大小)i表示算法及其输入。算法的时间复杂度反映了程序执行时间随输入规模增长而增长的量级,在一定程度上能很好反映出算法的优劣与否。因此作为编程人员掌握基本的算法时间复杂度分析方法很有必要的。算法的空间复杂度与时间复杂度计量方法相似且相对...

2019-04-25 18:03:56 4190 1

原创 mac tomat 1099端口被占用

出现问题:1099端口被占用分析问题:启动多个 tomcat 没有关闭解决问题:1.关闭多余的不使用的 tomcat 2.找不到多余的 tomcat 使用以下的方式错误: 代理抛出异常错误: java.rmi.server.ExportException: Port already in use: 1099; nested exception is:java.net.BindEx...

2019-04-24 13:02:11 3243

原创 关于jdbc连接mysql的jar包问题

关于jdbc连接mysql的jar包问题首先附上报错内容:Exception in thread “main” org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Unexpe...

2019-04-02 23:34:44 2507 1

空空如也

空空如也

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

TA关注的人

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