- 博客(59)
- 收藏
- 关注
原创 idea 文件颜色和git状态对应关系
主参考:https://blog.csdn.net/weixin_37646636/article/details/120442228。
2024-03-09 15:33:22 601
原创 SQL优雅编码总结
例: Create table , Drop table , Create database , Drop database ,Alter table ,grant …a)@Transactional 事务不要滥用,事务会影响数据库的 QPS,另外使用事务的地方需要考虑各方面的回滚方案,包括缓存回滚、搜索引擎回滚、消息补偿、统计修正等。当某一列的值全是 NULL 时,count(col)的返回结果为 0,但 sum(col)的返回结果为NULL,因此使用 sum()时需注意 NPE 问题。
2024-03-01 17:32:23 875
原创 mysql问题:‘The last packet successfully received from the server was xxx milliseconds ago‘
(2)从报错信息来看,这里设置的超时是10000毫秒,debug mysql-connector源码,发现有socketTimeout参数的值正好是10000,于是在datasource.url后面socketTimeout参数配置,重启测试发现能被正确识别,正常。1.springboot + druid + mysql 在查询某些比较耗时的sql会报错。(1)sql上增加分页限制不会报错;
2024-03-01 10:59:26 2109
原创 org.apache.ibatis.ognl.ParseException: Encountered “ <IDENT> “AND ““ at line 1
中 的 要, 会报错报错:正确:
2024-02-28 16:52:02 894
原创 docker ps(查看容器列表、查看容器id)
显示所有的容器,包括未运行的。静默模式,只显示容器编号。根据条件过滤显示的内容。列出最近创建的n个容器。启动容器时运行的命令。指定返回值的模板文件。显示最近创建的容器。
2024-02-26 17:18:37 1573
原创 Swagger、OpenAPI和springdoc-openapi-ui
OpenAPI 规范(OAS)是一种通用的、和编程语言无关的 API 描述规范,使人类和计算机都可以发现和理解服务的功能,而无需访问源代码、文档或针对接口进行嗅探。springdoc-openapi 的工作机制是基于 Spring 配置、类结构和各种注释,在运行时检查应用程序,推断 API 语义。是一种用于描述RESTFUL API的规范,它提供了一种简单的来描述API的请求和相应参数、错误码、返回数据类型等信息,是开发者可以方便了解API使用方式。三、springdoc-openapi-ui。
2024-02-21 17:34:27 1070
原创 Swagger、OpenAPI和springdoc-openapi-ui入门
OpenAPI 规范(OAS)是一种通用的、和编程语言无关的 API 描述规范,使人类和计算机都可以发现和理解服务的功能,而无需访问源代码、文档或针对接口进行嗅探。始于 Swagger 规范,Swagger 规范已于 2015 年捐赠给 Linux 基金会后改名为 OpenAPI,并定义最新的规范为 OpenAPI 3.0。:是一种用于描述RESTFUL API的规范,它提供了一种简单的来描述API的请求和相应参数、错误码、返回数据类型等信息,是开发者可以方便了解API使用方式。(4)yaml文件配置。
2024-02-18 17:20:48 3940 1
原创 JVM双亲委派机制
是一种组织类加载器之间关系的一种规范,他的工作原理是:如果一个类加载器收到了类加载的请求,它不会自己去尝试加载这个类,而是把这个请求委派给父类加载器去完成,这样层层递进,最终所有的加载请求都被传到最顶层的启动类加载器中,只有当父类加载器无法完成这个加载请求(它的搜索范围内没有找到所需的类)时,才会交给子类加载器去尝试加载.3.AppClassLoader:由Java语言实现,父类加载器为ExtClassLoader 自定义类加载器,父类加载器肯定为AppClassLoader。
2024-02-07 15:31:35 373
原创 JVM优化备份
5.减少GC对老年代的回收。设置生代带垃圾对象最大年龄,进量不要有大量连续内存空间的java对象,因为会直接到老年代,内存不够就会执行GC。1.在实际工作中,我们可以直接将初始的堆大小与最大堆大小相等, 这样的好处是可以减少程序运行时垃圾回收次数,从而提高效率。2.初始堆值和最大堆内存内存越大,吞吐量就越高, 但是也要根据自己电脑(服务器)的实际内存来比较。3.最好使用并行收集器,因为并行收集器速度比串行吞吐量高,速度快。4.设置堆内存新生代的比例和老年代的比例最好为1:2或者1:3。
2024-02-07 15:28:46 378
原创 JVM常用参数说明
XX:SurvivorRatio=n 年轻代中 Eden 区与两个 Survivor 区的比值。-XX:NewRatio=n 设置年轻代和年老代的比值。如: -XX:NewRatio=3,表示年轻代与年老代比值为 1:3,年轻代占整个年轻代+年老代和的 1/4。-Xmx:最大堆大小,JVM 运行过程中,如果初始堆空间不足的时候,最大可以扩展到多少。整个堆大小=年轻代大小+年老代大小+持久代大小。-XX:NewSize=n 设置年轻代初始化大小大小。-XX:MaxPermSize=n 设置持久代大小。
2024-02-07 15:27:03 382
原创 idea中git提交代码出现:commit and push checks failed
参考:https://blog.csdn.net/qq_46548855/article/details/126506747。
2024-02-07 15:04:09 1161
原创 JVM jstat工具
S0 -Heap上的Survivor space 0区已使用空间的百分比。S1 -Heap上的Survivor space 1区已使用空间的百分比。YGCT -从应用程序启动到采样时Yang GC所用的时间【单位秒】GCT -从应用程序启动到采样时用于垃圾回收的总时间【单位秒】FGCT -从应用程序启动到采样时Full GC所用的时间。E -Heap上Eden space区已使用空间的百分比。O -Heap上的Old space区已使用空间的百分比。FGC -从应用程序启动到采样时Full GC的次数。
2024-02-07 14:03:38 340
原创 JVM虚拟机掌握和优化
一、Java文件编译的过程 :1.程序员编写的.java文件2.由javac编译成字节码文件.class:(为什么编译成class文件,因为JVM只认识.class文件)3.在由JVM编译成电脑认识的文件 (对于电脑系统来说 文件代表一切)二、Java是跨平台语言 :1.这个夸平台是中间语言(JVM)实现的夸平台 java有JVM从软件层面屏蔽了底层硬件、指令层面的细节让他兼容各种系统;2.难到 C 和 C++ 不能夸平台吗 其实也可以 C和C++需要在编译器层面去兼容不同操作系统的不同层面,写过C和C++
2024-02-07 13:58:27 866
原创 selenium+egdedriver+opencv 爬虫使用教程
1、下载地址:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/4、selenium常用api简介:https://blog.csdn.net/qq_22003641/article/details/79137327。3、在使用时需要调用到OpenCV提供的动态链接库,下载地址:https://opencv.org/releases/2、Window环境在edge浏览器中输入:edge://version/
2024-02-07 13:29:57 3133
原创 常见web安全漏洞和解决思路
奇安信(网神SecVSS 3600): https://www.qianxin.com/product/detail/pid/1。绿盟(WVSS): https://www.nsfocus.com.cn/html/2019/206_0911/8.html。启明星辰(天镜): https://www.venustech.com.cn/article/type/1/253.html。知道创宇(websoc): https://scanv.yunaq.com/websoc/index.html。
2024-02-07 13:17:51 416
原创 理解maven命令clean、package、install、deploy的联系与区别
依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段。依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段。依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。
2024-02-07 11:46:18 816
原创 ruoyi-vue-pro新建module后后端接口报错404
(1)经过排查发现是没有在“xxx-server”模块的配置文件“pom.xml”里加上此模块的依赖。(2)maven->package 或 install,否则本地依然找不到依赖;
2024-02-07 11:39:24 2720
原创 @RequestParam 接收参数的值为null报错处理
上述方式station参数如果为空,为空或null不会报错,同时将使用默认值;上述方式station和area参数可以为空,为空或null不会报错;上述方式station和area参数不能为空,否则会报错;
2024-02-07 11:13:04 1667
原创 Java判断字符串是否为空
表示声明一个字符串类型的引用,其值为""空字符串,这个str引用指向的是空字符串的内存空间;表示声明一个字符串对象的引用,但指向为null,也就是说还没有指向任何的内存空间;""表示的是一个空字符串,也就是说它的长度为0。:判断某字符串是否为空,为空的标准是 str==null 或 str.length()==0。思路:判断某字符串是否为空,为空的标准是str==null或str.length()==0。ps:=左边的是存放在栈中(stack),=右边是存放在堆中(heap)。
2024-02-07 11:01:00 1239
原创 linux的sh文件赋权为可执行文件
参考:https://blog.csdn.net/wenxingchen/article/details/99620635。3.如果没有权限,xxx.sh是白色的,需要赋权:chmod 777 xxx.sh;1.linux的可执行文件(.sh文件)是绿色;2.执行:./xxx.sh;
2024-02-07 10:44:32 995
原创 @RequestMapping,@GetMapping,@PostMapping 的区别
RequestMapping表示共享映射,如果没有指定请求方式,将接收GET、POST、HEAD、OPTIONS、PUT、PATCH、DELETE、TRACE、CONNECT所有的HTTP请求方式,@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping 都是HTTP方法特有的快捷方式@RequestMapping的变体。@RequestMapping 注解可以在控制器类的级别和/或其中的方法的级别上使用。
2024-02-07 10:36:52 537
原创 大数据调用链监控平台技术原理
七、调用链监控平台开源技术功能和性能总结(2017年的老古董数据,当时技术架构总结)八、技术架构决策总结(2017年的老古董数据,当时技术架构总结)五、开源方案比较(2017年的老古董数据,当时技术架构总结)六、技术选型总结(2017年的老古董数据,当时技术架构总结)(四)、调用链日志分析、展示、告警等等。(一)、单服务的无感知自动日志埋点。四、调用链监控平台技术简要总结。二、监控逻辑动态织入原理。(二)、多服务调用链串联。三、JVM动态织入流程。(三)、日志采集、存储。
2024-02-06 11:02:37 470
原创 ELK日志系统技术架构
3.涉及技术栈:MySql、redis、spring boot 、spring cloud、分布式服务、apm、Flume、Fluentd、Filebeat、Kafka、elasticsearch、nginx、kibana、hadoop、Spark、Storm、Flink等。(4).核心数据链路日志监控。1.近4000系统的应用日志、每天10TB+/450亿条数据, 24小时不间断索引服务,峰值500W/s写入能力, 秒级检索能力。1.多种类型的日志(例如偏统计分析的web日志,偏检索的应用日志)混在。
2024-02-06 10:45:38 530
原创 互联网平台技术架构演进
十、技术架构第十二代:业务中台和微服务(稳定态)七、技术架构第九代:多机房切换(DNS实现)八、技术架构第十代:引入NoSQL和搜索引擎。十一、技术架构第十三代:容器化和动态服务。二、技术架构第四代:反向代理和负载均衡。三、技术架构第五代:关系数据库读写分离。四、技术架构第六代:分库(按业务拆分)六、技术架构第八代:多重负载均衡。九、技术架构第十一代:业务拆分。五、技术架构第七代:分表。
2024-02-06 10:28:19 469
原创 mybatis sql报错记录: Encountered “<EOF>“ at line 1, column 0.
总结:该问题一般都是mapper.xml文件中sql哪里写的有问题所致,仔细排查。
2024-02-06 09:55:48 966 1
原创 spring security认证过程知识整理
UsernamePasswordAuthenticationFilter :重点:用于处理基于表单的登录请求,从表单中获取用户名和密码,默认情况下处理来自/login的请求,从表单中获取用户名和密码, 默认使用表单name值为username和password,这两个值可以通过这个过滤器的usernaemparamter个passwordParameter连个参数的值进行修改。Authentication接口: 它的实现类,表示当前访问系统的用户,封装了用户相关信息。(2)基于用户名密码构建token。
2024-02-05 17:07:59 431
原创 基于spring cloud alibaba的微服务平台架构规划
(1)systemserver:统一登陆,统一认证鉴权,统一系统管理(用户、角色、权限、菜单、部门、字典等等);(2)systemserver:统一登陆,统一系统管理(用户、角色、权限、菜单、部门、字典等等);(2)systemserver:统一登陆,统一系统管理(用户、角色、权限、菜单、部门、字典等等);(1)authserver:独立token服务,token颁发、管理、校验;四、统一基础服务管理(独立服务)一、统一网关服务(独立服务)五、统一任务服务(独立服务)六、统一文件服务(独立服务)
2024-02-05 13:58:48 577
原创 Idea:Idea导入Module、子Module的方式及其可能遇到的问题
参考:https://blog.csdn.net/qjyws/article/details/127617536。2.project structure–>import module–>添加sub module。1.父module的maven添加sub module。3.maven–>Reload project即可。
2024-02-05 13:46:40 921
原创 mybatis in 传参数
假设我们有一个名为UserMapper.xml的映射文件和一个名为selectUsersByIds的查询方法,我们希望根据用户ID的集合来查询用户信息。使用foreach元素在XML映射文件中构建IN子句。使用@Param注解传递包含多个元素的数组或集合。
2024-02-05 10:19:23 2192
原创 docker删除mysql部署
同样,也可以通过docker volume ls命令查看所有存储卷列表,并选择合适的存储卷进行删除。3.接下来,使用docker rm <container_name>(如果知道容器名称)或者docker rm <container_id>(如果只有容器ID)来移除MySQL容器。2.然后,使用docker stop <container_name>(如果知道容器名称)或者docker stop <container_id>(如果只有容器ID)来停止MySQL容器的运行。
2024-02-05 09:52:05 1140
原创 kuberneters部署单节点redis
一、ConfigMap的redis-conf.yaml。五、StatefulSet的yaml。四、service的yaml文件。三、pvc的yaml。
2024-02-05 09:49:20 401
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人