- 博客(16)
- 收藏
- 关注
原创 容器环境下JVM堆内存大小配置实践
该参数通常在运行Java应用程序时与容器化平台集成时使用。在容器环境中,包括更好地处理内存、CPU和网络资源。在k8s等容器环境中运行java服务时,如果不配置堆内存大小,默认为RAM的1/4就会浪费pod内存资源,如果使用-Xms和-Xmx配置堆内存大小,固定的数值就显得非常不灵活。总之,启用UseContainerSupport参数可以,-XX:InitialRAMPercentage、 -XX:MaxRAMPercentage、-XX:MinRAMPercentage
2023-06-20 17:14:05
3079
原创 CompletableFuture异步编程
JDK8中新增加了类CompletableFuture,提供了非常强大的Future的扩展功能,可以帮助我们简化异步编程的复杂性,提供了函数式编程的能力,可以通过回调的方式处理计算结果,并且提供了转换和组合CompletableFuture的方法。
2023-03-27 16:22:07
296
原创 Helm部署gitea (Rancher Desktop)
helm部署gitea,k8s部署gitea, 访问git.yangyang.com。编辑values.yaml配置。添加helm chart仓库。
2023-03-10 09:32:48
351
原创 Rancher Desktop 在windows上部署(kubernetes发行版)k3s
windows单机环境的k3s集群就搭建完毕了,开始愉快的玩耍吧。参考地址:1、环境支持2、k8s发行版3、快速部署多节点集群。
2023-03-09 00:18:06
3224
原创 smart-doc+knife4j统一接口管理平台实战
smart-doc相比于swagger无代码侵入,只需要标准的java注释即可生成接口文档。knife4j是接口文档的ui,更美观实用。原理:通过smart-doc生成标准的openapi接口文档,使用knife4j-ui展示。
2023-02-02 16:59:24
1545
10
原创 kubernetes1.24.4集群搭建(kubeadm)
环境准备配置系统基本安装源(阿里源)设置防火墙为 Iptables 并设置空规则关闭 SELINUX调整内核参数调整系统时区关闭系统不需要服务设置 rsyslogd 和 systemd journaldkube-proxy开启ipvs的前置条件安装docker安装docker安装k8s依赖添加K8s安装源安装kubectl、kubelet、kubeadmkubelet和docker 都需要使用systemd驱动!!!
2023-02-02 09:33:44
288
原创 设计模式之单例模式
上面的对象初始化三步有可能变为①③②,这样当多线程并发的时候执行到上述代码块的①时,INSTANCE对象可能不为空,但是对象中的属性还没有初始化,也就说得到的是一个半残的对象,拿着这个半残的对象去干活就有可能会出问题。这是个非常有意思的设计模式,使用和理解起来都比较简单,但是单例的写法有好多种,下面挑重点的介绍。总结:虽然号称完美的单例模式很多,但是平时使用最基本的饿汉式就够用了,如有特殊的懒加载需求可以使用基于类初始化的解决方案。基于类初始化的解决方案(外部类加载时不会加载内部类),完美写法的一种。
2023-02-01 21:47:28
103
原创 设计模式六大设计原则
6、迪米特法则:最少知道原则,一个实体尽量少的与其他实体类交互。2、里氏替换原则:任何父类可以出现的地方,子类都可以替换。5、接口隔离原则:使用多个隔离的接口比使用单一接口更好。3、单一职责原则:引起一个类变化的原因只能有一个。7、合成复用原则:尽量使用组合的方式而不是继承。4、依赖倒转原则:依赖抽象而不依赖具体。1、开闭原则:对扩展开放,对需改关闭。
2023-02-01 21:42:05
97
原创 Redis基础数据结构
redis所有的数据结构都可以设置过期时间,容器类型的数据过期时间是整个容器的生命周期,不是某个元素。如果字符串已经设置了过期时间,未过期前用set方法修改,过期时间会失效。redis有5种基础数据结构,string(字符串)、list(列表)、hash(字典)、set(集合)、zset(有序集合),下面一一介绍。list、hash、set、zset是容器类型,如果容器不存在就创建,如果容器中最有一个元素被删除,容器也被删除。1、string(字符串)5、zset(有序集合)2、list(列表)
2023-02-01 21:34:50
106
原创 TCP三次握手四次挥手
2.服务端收到并发送ACK和SYN给客户端(服务端收到后知道客户端的发送和自己的接收正常,随后向客户端发送确认和请求连接请求)3.客户端收到并发送ACK给服务端(客户端收到请求后知道服务端和自己的接收和发送都没有问题,随后告知服务端一声)1.客户端发送FIN给服务端(客户端认为自己的数据发送完毕可以断开连接)2.服务端收到并发送ACK给客户端(服务端收到后告知客户端可以断开连接)4.客户端收到并发送ACK给服务端(客户端收到后告知服务端可以断开连接)1.客户端发送SYN给服务端(客户端想建立连接)
2023-02-01 21:31:44
109
原创 Restful简介以及应用
无状态请求易于实现负载均衡, 在分布式web系统下,有多个可用服务器,每个服务器都可以处理客户端请求, 传统的有状态请求,因为状态信息只保存在第一次发起请求的那台服务器上,之后的请求都只能由这台服务器来处理,服务器无法自由调度请求。如果一台服务器宕机,无状态请求可以透明地交由另一台可用服务器来处理,而有状态的请求则会因为存储请求状态信息的服务器宕机而承担状态丢失的风险。PUT(UPDATE): 在服务器更新资源(客户端提供改变后的完整资源)。三、RESTful为什么强调客户端和服务器之间是无状态的?
2023-02-01 21:30:48
243
原创 领域驱动设计中的聚合根和实体
识别顺序:先找出哪些实体可能是聚合根,再逐个分析每个聚合根的边界,即该聚合根应该聚合哪些实体或值对象;聚合根有独立的生命周期,实体的生命周期从属于其所属的聚合,实体完全由其所属的聚合根负责管理维护;②能引用外部聚合根,但推荐以ID的方式关联,另外也可以关联某个外部聚合内的实体,但必须是ID关联,否则就出现同一个实体的引用被两个。聚合根具有全局的唯一标识,而实体只有在聚合内部有唯一的本地标识,值对象没有唯一标识,不存在这个值对象或那个值对象的说法;①能引用其所属聚合内的聚合根、实体、值对象;
2023-02-01 21:28:15
882
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅