自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

原创 redis面试知识点

B. 缓存延迟双删策略,如果有数据更新操作,先做一次删除缓存,过一会儿再删除一下缓存,保证并发发生时的缓存被清理掉。过一会儿这个时间就需要看业务的容忍度咯,并且并不是所有的更新操作都会有并发,只有在并发发生时才可能出现缓存旧数据的情况,所以这个概率也是比较低的。redis的主线程是单线程的,主线程主要完成从请求读取、解析、键值对操作、返回结果。数据库更新成功,而缓存删除失败了,那么下次查询请求就会查询到旧的数据,而这是我们不希望看到的,所以删除缓存也可以加retry,一般情况下redis都会删除成功。

2024-05-29 10:03:35 1000

原创 多function-calling 调用

function-calling调用

2024-05-28 12:47:19 251

原创 Function Calling学习

定义functiontemperature=0, # 模型输出的随机性,0 表示随机性最小tools=[{ # 用 JSON 描述函数。可以定义多个。由大模型决定调用谁。也可能都不调用"description": "只能用来计算加法,计算一组数的和","items": {}],

2024-05-27 11:52:22 652

原创 面向Prompt编程

用简单的prompt实现一个智能客服

2024-05-24 16:11:05 746

原创 详细架构设计文档模板

架构设计模板

2024-05-23 10:15:31 902

原创 复杂查询导致clickhouse宕机

背景最近在研究clickhouse,发现了不少坑,有些坑是官方的无法解决,有些是配置的问题。配置问题及优化的问题就需要我们不断的调整配置以及优化sql。优化sql最主要是理解clickhouse是如何查询的,我们才能找到瓶颈点,找到优化方法。问题在8G内存4核CPU的机器上,单节点的默认配置的clickhouse,保存数据8000W+,一个复杂的多表关联的查询,每次查询到98%的时候,clickhouse就自动宕机了,报错如下:Exception on client:Code: 32. DB::E

2020-12-04 10:12:55 4175

原创 java poi框架导出excel如何插入特殊字符(复选框勾选)

java poi框架导出excel如何插入特殊字符(复选框勾选)背景:google了好久java导出excel如何导出复选框勾选状态,没有找到可行的结果,实际操作了一下,要不就是导不出,要不就是导出之后不正确。先看看要导出的excel格式吧就是一个单元格中包含了中文和方框的符号,根据后台结果,如果是true,需要在方框内打勾。正常手动在excel中插入复选框勾选是如何操作的1.选择2.找到Wingdings 2字体就可以手动插入一个check的复选框了poi框架导出如何设置1.要注

2020-10-26 18:59:07 6184 12

原创 记一次摸不着头脑的FullGC问题 (Thumbnails压缩图片占用巨大内存)

问题现象首先用户反映,有数据不一致情况产生,为了查询什么原因导致的数据不一致问题,扒拉出来日志看了一通,发现有个简单的查询耗时特别长,平时只要几ms返回结果的确调用了200多s,查了各个服务的日志,发现并没有什么问题,把日志展开了看,发现有5分钟时间,系统各种超时,各种错误,包括连接数据库超时,连接redis超时,等等就考虑看一下GC日志,这一看不要紧,发现这5分钟时间GC日志刷了上千条FullGC,如下图所示:回收前后内存变化不大,基本没回收掉内存,但还在不断的回收,因为使用的CMS内存回收

2020-09-08 14:21:50 3606 5

原创 2020最新面经总结

面试总结最近面了JD,快手,总结了面经:最主要还是项目,你在讲项目的过程中用到的所有技术都可能会被面试官深挖,所以讲的时候最好是讲自己做过的一个特别熟悉的项目,里面包含的所有知识点都要经得起深挖的。如果其中有一两个知识点不会倒还情有可原,过多的知识点不会就会让面试官对你产生怀疑,所以这里强调一定要非常熟悉自己做过的项目中的所有知识点,以及原理。熟知原理是进阶架构师必经之路。1)数据库:数据库调优mysql搜索引擎DBMS的MVCC原理数据库事务底层原理B+树结构,与B树的区别,为什么不用ha

2020-07-26 18:28:39 277

原创 hash相关的面试常见算法题,手写这些算法题,面试想不过都难

有效的字母异位词(亚马逊、Facebook、谷歌在半年内面试中考过)Solutionimport java.util.HashMap;/** * 异位词 * * @Author: zhangwbin * @Date: 2020/5/25 */public class Solution242 { public boolean isAnagram(String s, String t) { if (s.length() != t.length()) { ret..

2020-05-29 23:10:20 183

原创 mvn如何将本地jar包上传到私服上

mvn配置本地引用现在大部分的项目都是mvn管理的,但是不乏有些跟第三方厂商对接时,第三方厂商提供了jar包形式的SDK,这个SDK引入到项目中通过jar包的形式可以这么引用:<dependency> <groupId>com.itmonkeying</groupId> <artifactId>sm2-cert</artifactId> <version>1.0.0</version>

2020-05-25 11:22:30 429 3

原创 idea控制台service显示spring项目启动

springcloud项目中模块过多,启动后在run模块里看着太麻烦,通过idea的控制台service可以查看所有的模块,并在service中启动各个模块。有时候idea会抽风,打开service找不到springcloud的模块,下面是教大家怎么配置。控制台显示service->1.打开项目目录->.idea/workspace.xml替换 RunDashboard元素,如果搜索不到就直接复制以下xml进去就行<component name="RunDashboard"&gt

2020-05-21 17:51:28 2436

原创 多种方法解答经典斐波那契数列,保证面试官一眼认定你

多种方法解答经典斐波那契数列,保证面试官一眼认定你斐波那契数列题目斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,   F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.给定&nbsp...

2020-05-07 10:43:04 388

原创 异常日志发送邮件logback配置(支持不重复发送,累计到一定次数发送邮件)

错误日志发送邮件配置问题分析正常的系统每天都会有各种各样的报错,程序员游走于各种报错中,有些报错是业务上的报错,是因为用户的不合法操作导致了业务报错,这个错误是我们希望返回给用户看到的错误,当然这类错误也不需要程序员关心;还有些错误是程序员真正不想看到的错误,出错会影响用户的使用,而有些用户看到错误,觉得不影响使用就没有反馈给技术人员,或者是看到错误就觉得平台不好用,后边就不再使用了,损失了用...

2020-04-28 15:17:05 879

原创 线上问题快速定位神器arthas

arthas基操下载curl -O https://alibaba.github.io/arthas/arthas-boot.jar启动java -jar arthas-boot.jar???官网给出的启动方案为啥不好使呢???原来启动arthas时需要指定一个可用的java进程的pid,如下启动命令sudo java -jar arthas-boot.jar XXXX如果不是...

2020-04-26 16:29:43 809

原创 阿里妈妈再也不用担心异步任务失败后没人知晓了

springboot异步异常全局处理很多异步的场景可以提升不少系统的性能 ,但是不可避免的异步会产生报错,报错怎么处理呢,平常的做法是将异步的代码块做try catch操作,但是未免会有一些人会忘记写这个,并且每个方法里都写上这个会不会显得代码太臃肿。springboot提供了我们全局处理业务异常的方法,当然也有全局异步异常处理的方法。下面看看如何配置异步的全局异常首先写个config,代码如...

2020-04-21 16:09:28 491

原创 java垃圾回收,看懂这一篇面试就过了

垃圾回收背景Java 语言出来之前,大家都在拼命的写 C 或者 C++ 的程序,而此时存在一个很大的矛盾。C++ 等语言创建对象要不断的去开辟空间,不用的时候又需要不断的去释放控件,既要写构造函数,又要写析构函数,很多时候都在重复的 allocated,然后不停的析构。于是,有人就提出,能不能写一段程序实现这块功能,每次创建,释放控件的时候复用这段代码,而无需重复的书写呢?1960 年,...

2020-04-19 10:51:20 265

原创 Java基础知识总结(全)

java基本类型基本数据类型数值型:byte、short、int、long浮点类型:float、double字符型:char布尔型:boolean引用数据类型类:class接口:interface数组:[]关键字类型名称占用内存取值范围默认值二进制位数封装类byte字节型1字节-128(-2^7)~ 127(2^7-1)08位Byt...

2020-04-04 22:05:53 155

原创 从零搭建一个cas-server及cas-client

从零搭建一个cas-server及cas-clientcas-server下载cas服务github地址:github地址2.解压3.打war包windows打开命令行窗口,运行:mvn clean package如下图:执行结束如图所示:准备一个干净的tomcat,把打出来的war包拷贝到webapps下,进入到bin目录下启动tomcat。如果需要修改端口,或者端口呗...

2020-04-02 19:17:15 290

原创 使用allatori对SpringBoot多模块代码进行混淆

使用allatori对SpringBoot多模块代码进行混淆代码混淆介绍1.由于项目需要私有化部署,为了保证代码的安全性,需要对springboot项目进项代码混淆,代码混淆顾名思义就是把代码变得让人看不懂,那么看不懂了又怎么运行呢,其实混淆主要混淆一些关键性的业务性代码,把关于业务逻辑的一部分代码变量名称变成a,b,c,d,e,f,g…就让人读起来很难理解。但是话又说回来,由于代码的特殊性,...

2020-03-30 18:34:07 2394 10

原创 idea使用git提交代码时提交一条多余的日志

idea-git设置问题:idea点击 update project更新代码会自动生成一条提交记录日志内容:Merge remote-tracking branch ‘origin/develop’ into develop解决方案:默认会选择 branch_Default设置为Rebase即可解决有的同学勾选了 Do not show this dialog in the fu...

2020-03-30 18:32:47 1837 3

原创 easyExcel导出

easyExcel导出错误信息:java.lang.IllegalStateException: Cannot add merged region C3:E3 to sheet because it overlaps with an existing merged region (B3:D3).报表如上图所示,三级子表头有重复项,在使用easyExcel 1.1.1版本中会出现将三级子表头...

2020-03-30 18:32:09 2136

原创 远程debug

远程debug项目启动设置未添加远程debug端口的,如果需要开启远程debug的端口,操作如下:修改远程debug的脚本cd /data/piaoeda-cloud/vim 需要修改的启动脚本,例 restart-income-tax.shjava -Xms512m 在java后,-Xms512m之前添加下面代码-agentlib:jdwp=transport=dt_socket,...

2020-03-30 18:31:20 187

原创 swagger2初学配置及文件上传如何配置

swargger2实现API接口测试1.maven配置: <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.2.2</vers...

2020-03-30 18:29:45 1579

原创 记一次calendar二月份的坑

记一次calendar二月份的坑需求是这样的:页面上传一个开始期间,一个结束期间,我需要根据开始和结束期间去数据库取数,又不想用大于等于和小于等于期间取数,因为需要使用函数对日期类型做转换,可能对性能会有影响,所以就计算出一共有哪些期间。例如:strartPeriod=2020-01, endPeriod=2020-05查询应该得到的结果是[2020-01,2020-02,2020-03,2...

2020-03-30 18:27:39 722

转载 java写文本文件三种方式效率比较

public voidwrite() {      FileOutputStream out = null;      FileOutputStream outSTr = null;// 文件输出流      BufferedOutputStream buff = null;// 缓冲输出流       FileWriterfw = null;       int coun

2016-01-28 14:07:19 470

crawl_greek_time.zip

极客专栏爬虫,爬取下来的是PDF文档,切勿传阅,博主亲测好使,可以爬取已购买的所有专栏文章,未购买的文章不能爬下来,视频文件暂不支持

2020-03-31

空空如也

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

TA关注的人

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