![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
实用小技巧
松间-明月
这个作者很懒,什么都没留下…
展开
-
如何用VsCode进行Debug
如何用VsCode进行Debug本文以Mac系统,C++程序为例,进行Debug操作安装插件不同的语言需要安装的debug插件不一样,如下Debug页面VsCode的Debug页面如下配置Debug环境点击左侧的Debug图标,默认情况下,展示的是配置提示点击图中的【运行和调试】,选择【GDB/LLDB】环境,之后在下拉列表选择【默认配置】,系统自动创建launch.json文件,用于记录debug的配置信息,其中最主要的是配置调试的程序,program字段,选择要debug运行的原创 2022-03-04 12:56:36 · 63764 阅读 · 2 评论 -
cron 表达式配置
cron 表达式配置常用case常用表达式例子 (1)0/2 * * * * ? 表示每2秒 执行任务 (1)0 0/2 * * * ? 表示每2分钟 执行任务 (1)0 0 2 1 * ? 表示在每月的1日的凌晨2点调整任务 (2)0 15 10 ? * 2-6 表示周一到周五每天上午10:15执行作业 (3)0 15 10 ? 6L 2002-2006 表示2002-2006年的每个月的最后一个星期五上午10:15执行作 (4)0 0 10,14,16 *原创 2022-02-24 12:47:13 · 605 阅读 · 0 评论 -
如何使用VsCode的RunCode编译多文件执行
如何使用VsCode的RunCode编译多文件并执行注意:本文基于Mac电脑操作执行步骤编辑runcode的配置文件打开Code>>首选项>>配置,搜索run code,找到Code-runner Executor Map,如下图编辑runcode配置文件点击在settings.json中编辑,得到以下默认配置{ "code-runner.saveFileBeforeRun": true, "code-runner.clearPreviousOut原创 2022-02-22 11:01:08 · 5719 阅读 · 0 评论 -
如何用VScode编译多个文件
如何用VScode编译多个文件问题本文基于Mac电脑操作,Windows系统应该也类似默认情况下,在vscode中执行runCode,只会编译当前文件,如果引用了其他文件,则会报错,如下Undefined symbols for architecture x86_64: "WorkerManager::showManu()", referenced from: _main in main-7cf994.o此时,如果使用g++命令手动编译依赖的文件,是可以解决问题的,但是过于麻烦,原创 2022-02-22 10:32:56 · 9484 阅读 · 4 评论 -
基于抓包工具分析耗时问题
基于抓包工具分析耗时问题背景开发了某个http接口,在测试耗时的时候发现,客户端耗时远大于服务端代码打印的耗时,初步判断耗时出在框架和网络层面,主要应该是网络以这个问题为例,介绍通过tcpdump和ngrep抓包分析耗时的过程实践操作步骤在客户端使用time +curl命令,可以打印出客户端的耗时,示例如下请求time curl --location --request GET 'http://10.89.43.18:8083/path'耗时结果0.01s user 0.01s原创 2022-02-17 17:09:56 · 2168 阅读 · 0 评论 -
SpringBoot 全局异常处理
文章目录简介使用步骤代码示例简介全局异常处理可以捕获所有Controller中抛出的异常,并且针对异常进程,这是基于spring的@ControllerAdvice实现的。使用步骤创建一个Handler类,使用@ControllerAdvice注解对Handler的方法使用@ExceptionHandler注解修饰,拦截对应的方法代码示例创建一个Handler类,使用@ControllerAdvice注解,每一个方法对应一个或一组异常拦截逻辑比如,在示例中,分别拦截Exception和N原创 2021-12-31 19:45:22 · 349 阅读 · 0 评论 -
SpringBoot Interceptor 简单应用
文章目录简单介绍使用步骤示例代码拦截器与过滤器对比API介绍拦截器多次执行问题待研究问题简单介绍HandlerInterceptor是Springboot应用提供的拦截器,拦截的对象是spring的Handler,Handler就是我们常见的Controller,也就是说,HandlerInterceptor就是Controller的拦截器。主要使用场景springboot拦截器功能和过滤器类似,都是可以在业务代码执行前后进行类似切面的处理通常也可以用于鉴权、日志、监控的场景使用步骤创建原创 2021-12-31 19:11:13 · 431 阅读 · 0 评论 -
SpringBoot Filter 简单应用
SpringBoot Filter过滤器基础知识SpringBoot的过滤器是基于Servlet的Filter实现的,所以在原理上没有实质的变化,只是使用方式上有点区别基于FilterRegistrationBean实现实现过滤器有很多种方式,这里介绍其中一种,基于FilterRegistrationBean实现过滤器,只需2步即可前提准备:准备一个spring-boot项目即可,业务代码示例如下@RestControllerpublic class DemoController {原创 2021-12-31 19:09:31 · 462 阅读 · 0 评论 -
Linux文本分析案例与方法
Linux文本分析案例与方法Linux中文本分析问题的原则解决文本分析问题基本原则,就是首先进行列切割,得到格式化的一行一行的数据,然后再执行经典的统计操作,包括分组、排序、求和、topN。使用的命令套餐就是 awk+sort+uniq+head统计日志中访问量TopN的url日志的样例如下:[INFO][2021-12-17T19:18:39.778+0800] _undef||uri=/xxx/new[INFO][2021-12-17T19:18:39.778+0800] _undef||u原创 2021-12-17 20:39:32 · 860 阅读 · 0 评论 -
如何在Mac中安装管理多个版本的JDK
如何在Mac中安装管理多个版本的JDK安装在oracle的官网可以下载指定版本的jdk,我这里下载的是8和11https://www.oracle.com/java/technologies/javase-downloads.html直接下载dmg版本即可,点击一键安装,多次安装不冲突设置java home通过以下命令可以查看安装的位置/usr/libexec/java_home -V查看结果如下11.0.12 (x86_64) "Oracle Corporation"原创 2021-08-30 17:19:32 · 285 阅读 · 0 评论 -
如何高效实现内存分页?
如何高效实现内存分页?使用guava工具类 public static void main(String[] args) { ArrayList<Integer> list = Lists.newArrayList(); for (int i = 0; i < 8; i++) { list.add(i); } int pageSize=10; int pageNum=1;原创 2021-05-21 20:26:43 · 324 阅读 · 0 评论 -
Springboot如何把多个mapping配置到一个Controller中?
Springboot如何把多个mapping配置到一个Controller中?在springboot中,controller的mapping值就是访问controller的虚拟路径,在原理上是支持一个controller对应多个精确的mapping的(带通配符就更加了)以GetMapping为例,实现的方式也非常简单,通过查看mapping的源码,发现value属性的类型是String{},那么就非常清楚了,只需要把value设置成一个字符串数组即可,比如@GetMapping({"/data原创 2020-10-16 08:15:12 · 2762 阅读 · 0 评论