自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(344)
  • 资源 (5)
  • 收藏
  • 关注

原创 升级程序到Java21的记录二(修改程序源代码)

参看, Jdk升级完毕,下面我们该秀修改程序源代码了, 程序最初使用的springboot2.6.8 以及jdk17. 为了使用springboot 3.0(3.0开始有支持虚拟线程的相关配置)和java21相关语法,源代码需要一定改动, 本文记录源代码的相关改动。

2024-04-05 16:32:07 648

原创 升级程序到Java21的记录一(先升级jdk到21)

为了使用Java21的最新特性虚拟线程以及提高程序的整体性能,决定将一个程序A升级到Java21.:程序A有很多文件操作因为使用虚拟线程对提升性能有帮助,如果读者的程序是其他类型,请下参考虚拟线程的一些资料决定是否使用本系列分为三个部分,本文是第一篇,先升级jdk,也就是开发机器上的jdk和运行机器上的jdk。原使用的jdk17. 使用sdkman安装的, 读者可以根据自己需要使用jdk不同的发型版本。本人主要是因为经常需要切换jdk所以使用sdkman安装的。

2024-03-31 23:51:16 234

原创 Java函数式编程实践一---记录使用函数作为参数

Java8 引入了函数式编程,但是本人在日常的开发中使用较少,这里简要记录其中一些使用示例。

2023-12-31 20:42:48 394

原创 spring-kakfa依赖管理之org/springframework/kafka/listener/CommonErrorHandler错误

1, 这个项目使用的springboot 2.6.8版本,在总的build.gradle已经指定对应的依赖管理。2, 查看springboot 2.6.8 中依赖的spring-kafka版本。现在直接上本人的解决办法,每个人遇见到问题可能不同,需要使用不同解决办法。common模块中原先的内容(最开始的项目指定2.6.8版本)可以发现其中是使用的spring-kafka 2.8.6。在build.gradle中取消版本,直接石红。

2023-12-17 15:29:02 728

原创 ReentrantLock与synchronized区别之比较(面试)

我们Java开发中需要保证数据线程安全时有多重选择,直接使用线程安全的集合类,或者某些变量我们通过ReentrantLock来保证安全,或者使用synchronized关键字,那两者有何区别?

2023-10-21 17:30:49 535

原创 Java两个线程使用最基础wait/notify轮流打印数字和字符

先启动了,打印了a,然后他就notify后,立刻进入wait阻塞状态了,此时numThread线程可能还未启动,没有进入到wait,当numThread正式启动后,进入wait时已经错过了charThread之前对它发送的notify消息了,此时两个线程都进入了wait状态。其实可以使用多种方式实现该打印题目,比如阻塞队列,打印数字的想成打印后,需要向阻塞队列put, 打印字符的线程从阻塞队列take。charThread启动后,打印一个字符,然后通知numThread,自己就wait。

2023-10-14 17:34:43 245

原创 go执行命令并获取命令输出简要示例

go语言也提供类似的功能 exec.Command执行命令

2023-09-23 12:59:38 366

原创 go如何读取或设置os的环境变量

golang语言如何读取或者设置os环境变量的常用用法

2023-09-22 20:30:17 878

原创 go生成文件md5、sha1摘要简单示例

golang生成文件的MD5值

2023-08-19 18:54:05 787

原创 SpringCloudGateway配置跨域设置以及如何本地测试跨域

网关与服务同时配置跨域,如何解决header重复问题

2023-08-12 15:35:54 1110

原创 python如何确保文件改动内容已经写入磁盘

如何确保文件改动写入磁盘

2023-08-05 16:13:31 172

原创 java工程构建时带上分支,commit等信息

线上部署的jar包(不管是直接运行jar包,还是通过容器运行的jar)有时出现问题时需要查看源代码,需要知道该jar包是从哪个分支,哪个commit,哪个时间打包的。有了这些信息能更好辅助我们分析判断问题。这里以gradle工程为例子。

2023-05-13 16:35:44 663 1

原创 shell awk快速统计日志平均耗时

临时需要统计当前系统中一些操作的平均耗时,该指标没有收集的性能监控中,日志中记录操作时间。

2023-02-25 16:25:58 842

原创 jvm中指定时区信息user.timezone

同一份程序使用时间LocalDateTime类型,在国内和国外部署后,返回的时间信息前端使用出问题。因为LocalDateTime不带时区信息,国内调用后,前端页面默认使用的浏览器所在os的时区(我们的系统中没有给用户设置时区), 因此会出现时间不一致, 或者判断超时了,但是实际上没有超时的问题。

2023-02-17 21:43:39 1064

原创 helm本地debug template渲染小记

helm 渲染template 本地debug注意事项

2022-12-24 15:53:34 2041

原创 S3 client向ceph上传文件注意事项

众所知周,AWS S3 client功能强大,能与各类符合OSS标准的存储进行工作。本项目中刚好用到ceph,就是直接使用S3 java client上传文件。在根据ceph官网的的一些文档操作时遇到一些问题,这里记录下来,仅供遇到类似问题的网友参考。

2022-11-13 23:05:17 1099

原创 springboot全局设置LocalDateTime的格式解析

程序中使用LocalDateTime类型, 在api返回response时,LocalDateTime类型的数据返回的格式是数组形式,非常不便于展示和解析。原有的通过修改application.yaml方式也行不通,因为使用的是LocalDateTime, 不是DateTime类型。

2022-11-12 15:45:40 2006

原创 stream lambda 异常java.lang.IllegalStateException: End size 0 is less than fixed size 20

程序中通过遍历map生成简要的summary信息,但是该接口不定时发生异常,绝大部分时候正常,偶尔出现类似如下异常.................................................

2022-10-30 21:26:00 237

原创 Junit单测如何测试是否抛出预期的异常

单测是提高软件质量最有效最节省成本的的手段,不是之一。本文展示的如何使用Junit测试会抛出异常的函数。

2022-10-12 23:40:08 666

原创 libcurl访问url保存为文件的简单示例

备注本文是libcurleasyinterface下载文件的简单示例,非prod-ready的代码,没有提供keep-Alive、超时设置等。只是一个简单示例。libcurl是网络工具curl的底层核心。是非常可靠稳定的网络依赖库。分为easy和multi两大接口系列。其中easy是同步调用,相对简单,multi是异步调用,比较复杂。本文是easy接口调用示例。官网链接https在官网有很多示例,可以根据需要选择参考的代码已经libcurl的api说明https。...

2022-07-30 11:48:20 265

原创 HttpClient的setConnectionRequestTimeout、setConnectTimeout、setSocketTimeout设置注意事项

/hc.apache.org/index.html)是我们java开发中经常使用的包之一,其中有三个参数超时的设置经常令人感到困惑,特别是和pythonrequest等其他相比较时,不知道如何对应。参看https。

2022-07-29 21:31:33 7584

原创 C++使用nlohmann的简单示例

备注本文展示一个使用nlohmann的简单示例,仅供参考,这是示例代码,非常简略,只是为了初学者方便学习使用。本示例使用CLion创建工程,直接在工程代码中引入nlohmann,将其放在本工程的中。

2022-07-29 21:07:03 1114

原创 C++使用RapidJson的demo

备注本文展示一个使用RapidJson的简单示例,仅供参考,这是示例代码,非常简略,只是为了初学者方便学习使用。本示例使用CLion创建工程,直接在工程代码中引入RapidJson,将其放在本工程的中。.........

2022-07-29 20:47:41 428

原创 从其他文件触发pytest.main()注意事项

需求启动测试的时候,不会直接执行pytestxxx,而是有个单独的py文件其中调用pytest.main(),这样可以在开始的时候执行一些需要的操作,当然这些操作放在pyest各种setup中也可以,但是有需求是需要读取某些环境变了但是但是外部因为各种原因最后决定不通过环境变量传递而是以参数的形式传递(至于为啥不能通过环境不在本文的讨论范围内,也不是本文的关注点)。因为我们实际测试相关配置参数都在pytest.ini中,因此只需要pytest.main()指定读取的文件,他就忽略其余参数。...

2022-07-23 12:19:38 489

原创 python中环境变量相关os.putenv函数使用注意事项

如果期望设置的环境变量立刻生效,也就收从设置开始后面的运行部分都能获取到该变量,直接使用这种方式os.environ[‘myenv’]=‘prod’,使用os.putenv方式不行,因为os.putenv只能在subprocessesstartedwithos.system(),popen()orfork()andexecv()中生效官方文档https。...

2022-07-23 11:43:35 1902

原创 python random简单实用示例

参看官方文档https该模块实现了各种分布的生成器。

2022-07-22 20:35:32 301

原创 mac上出现的“xxx”已损坏,无法打开。您应该将它移到废纸篓如何解决

已损坏 无法打开 您应该将它移到废纸篓

2022-07-22 20:10:18 932 2

原创 python list tuple简单转换示例

只是简单示例list tuple 转换,供有需要时参考使用。

2022-07-16 12:15:45 925

原创 Java 对文件取md5摘要的简单示例

对文件进行md5值作为摘要,作为其他地方下载时的一个校验。 本文不讨论MD5算法可能发生的碰撞。具体实现方法有很多种,这里以https://www.baeldung.com/java-md5 中一种最方便的示例为例子相比其他方法,这个直接传入文件的全路径(文件路径和文件全名),直接获得md5值, 省去打开文件读取文件内容的步骤。 简单直接。如下这种直接使用google对应类库的也很方便...

2022-07-10 23:24:39 1002

原创 python requests 下载文件例子

通过python的request下载文件,代码本身很简单,唯一需要说明的而即使需要通过session机制实现keep-alive的时候。我使用python requests库中resue http conection的的session机制, 官方文档在https://requests.readthedocs.io/en/latest/user/advanced/Session ObjectsThe Session object allows you to persist certain parameters

2022-07-03 23:18:00 1721

原创 libcurl下载文件的代码示例

C++中使用libcurl下载文件示例备注:简单示例,仅供参考,个人c++执行如下命令g++ curl_file.cpp -std=c++11 -lcurl -o b.out;./b.out

2022-06-25 15:47:43 628

原创 使用gorm查询数据库时reflect: reflect.flag.mustBeAssignable using unaddressable value

使用gorm写了个小的demo, 插入和查询单个数据库都正确显示,在查询all数据是报错了。重点信息:using unaddressable value错误信息截图

2022-06-18 17:13:06 541 3

原创 Go有限状态机类库使用简介

FSM是finite state machine的缩写,有限状态机是我们在应用开发中经常使用的一种模型,这里简要介绍go语言中https://github.com/looplab/fsm

2022-06-04 21:46:36 1095

原创 重启docker service时为什么一般情况下不影响已经运行的容器?

如果是所示,这是docker自身的一个属性决定,该属性默认使true,因此当我们执行systemctl docker restart时已经运行的容器未受影响。原文在: https://docs.docker.com/config/containers/live-restore/中文大意‘:/etc/docker/daemon.json配置文件中设置了{ "live-restore": true}在升级小版本或者重启时,只要不改变daemon-level级别参数,是不会影响已运行容器的Liv

2022-02-20 23:34:00 2154 1

原创 k8s client-go访问service的informer示例2之创建NewSharedIndexInformer

这个实例通过svcInformer := cache.NewSharedIndexInformer创建informer, 不是直接使用系统也有coreinformers.ServiceInformerpackage mainimport ( "flag" v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachin

2022-02-20 23:24:31 660

原创 k8s client-go访问service的informer示例

本代码片段展示如何通过informer监听service和service对应endpoint的变化package mainimport ( "flag" "fmt" "k8s.io/client-go/util/homedir" "path/filepath" "time" "k8s.io/client-go/informers" coreinformers "k8s.io/client-go/informers/core/v1" "k8s.io/client-go/kubernet

2022-02-20 23:17:32 772

原创 url中query参数传递数组

好久不写rest api, query中传递数组都快忘记了,(post中body传递数组还记得), 做好记录方便查询先看curl命令 curl -X POST --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'Token: 123456' 'http://127.0.0.1:17001/api/v1/admin/arraydemo?hostName=worker1&ports=12%

2022-01-24 21:03:04 5870

原创 python dict学习笔记2 json与dict转换

代码简单明了, 在python 2.7中运行代码# coding=utf-8# This is a sample Python script.# Press the green button in the gutter to run the script.import jsonimport tracebackif __name__ == '__main__': key1 = "key1" key2 = "key2" dict1 = {key1: 123, key

2022-01-23 22:41:38 614

原创 python dict类型学习

最近开始学些Python, 会陆续整理一些个人学习笔记, 开始学习python, 如果有内容不正确, , 欢迎指正。以下内容在python 2.7中运行# coding=utf-8# This is a sample Python script.import tracebackkey1 = "key1"key2 = "key2"keyX = "x"keyNotExist = "not-exist"dict1 = {key1: "value1", keyX: 10.0, "y": -5}

2022-01-23 21:56:03 988

原创 阿里云云计算知识点散记

本文只是记录个人学习阿里云ACP认证考试内容的一些注意点,不是全面的ACP考试复习资料,仅供个人参考。1, 弹性伸缩中冷却时间的定义:https://help.aliyun.com/document_detail/25912.html冷却时间指伸缩组成功执行伸缩活动后的一段锁定时间。在冷却时间内,伸缩组会拒绝由报警任务触发的伸缩活动请求。但非报警任务(手动执行任务、定时任务等)触发的伸缩活动可以立即执行,绕过冷却时间。如果在伸缩活动中,多台ECS实例加入或者移出伸缩组,则从最后一台ECS实例成功加入

2021-12-06 00:02:23 447

工业互联网联盟2.0架构.zip

工业互联网联盟 2.0架构, 全面概述了工业互联网联盟组织认识推荐的2.0架构。内含多张ppt图片,包含这个工业互联网应该包含的内容

2020-01-10

rest 测试工具

rest测试,非常方便,直接java -jar启动就行 , 各种rest 方法都支持

2019-04-29

tomcat+opemjms+mysql配置

tomcat和消息服务openjms的配置

2009-09-08

linux中管道通信的例子,获取标准输出的内容

这是一个演示linux下线程之间如何进行通讯的例子,使用了管道技术。主要使用了popen函数

2008-12-09

eyedb 小型数据库源代码

最新开源的数据库,包括源代码和应用示例,是学习如何编写小型数据库的经典示例,整个代码不是很到,也可以作为文件系统示例学习

2008-09-27

空空如也

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

TA关注的人

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