Java17新特性
发表于|更新于|Java
|总字数:0|阅读时长:1分钟|浏览量:
文章作者: Charles
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 码农笔记!
相关推荐

2023-03-28
SpringBoot与Redis Pub/Sub模型整合实现订阅发布
简单的介绍下Redis中的Pub/Sub模型的用法,前几年还用过,自从Redis Stream出来以后,这个应该就很少用。 Redis Pub/Sub优缺点先来看看优缺点吧,从以下就可以看出,这个模型可使用的场景实在是非常非常少了。 优点 支持发布 / 订阅,支持多组生产者、消费者处理消息 缺点 消费者下线,数据会丢失 不支持数据持久化,Redis 宕机,数据也会丢失 消息堆积,缓冲区溢出,消费者会被强制踢下线,数据也会丢失 实现方式实现方式比较简单,只需要创建于给监听器,实现MessageListener接口即可。 创建消费者监听器1234567891011121314151617181920212223242526272829303132@Log4j2@Configurationpublic class RedisListener implements MessageListener { @Value("${spring.redis.channel-topic:default}") ...

2019-06-20
Java中Comparator.comparing()需要注意的一点
在Java开发过程中经常会用到排序,尤其是数据可视化这一块几乎涉及到表格相关的接口都需要排序,通常都会使用Comparator.comparing()来处理这种操作,简单好用。但是如果涉及到倒序,或者按照字段顺序去排序,那么就需要特别注意一点了。 常见用法通常,我们是以如下方式进行排序的: 1234//streamresultList = dataList.stream().sorted(o -> Integer.parseInt(String.valueOf(o.get("id")))).collect(Collectors.toList())//干脆只对集合排序dataList.sort(Comparator.comparing(o -> String.valueOf(o.get("id")))); 这样编码通常是可以正常实用的,但是一旦遇到倒序和多种排序规则,那么如果简单地使用如下方式编写就会出现一个奇怪的错误: 1dataList.sort(Comparator.comparing(o -> String.v...

2017-09-12
JVM参数Xms Xmx PermSize MaxPermSize 区别
常见的JVM参数配置机器含义123456-vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M-vmargs 说明后面是VM的参数,所以后面的其实都是JVM的参数了-Xms128m JVM初始分配的堆内存-Xmx512m JVM最大允许分配的堆内存,按需分配-XX:PermSize=64M JVM初始分配的非堆内存-XX:MaxPermSize=128M JVM最大允许分配的非堆内存,按需分配 我们首先了解一下JVM内存管理的机制,然后再解释每个参数代表的含义。 堆(Heap)和非堆(Non-heap)内存按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给自己用的,所以方法区、JVM内部处理或优化所需的内存(如JIT编译...

2023-03-19
Java gRPC 小例子
最近准备着手学习下gRPC,就先以一个小demo作为开始吧。 创建Maven项目刚开始学习就没必要着急与SpringBoot结合了,先试试最传统的Java项目。其pom.xml内容如下: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/...

2021-08-13
无网络环境使用Jenkins自动部署
背景环境要求 MySQL5.7 CentOS7 服务器主机已安装git 已经配置好JDK环境变量 申请开放两个端口的网络策略(本篇申请开发了92和93端口) 安装Gitea下载gitea12# 由于没有网络,所以根据这个地址手动下载即可wget https://dl.gitea.io/gitea/1.15.0/gitea-1.15.0-linux-amd64 安装gitea 将gitea-1.15.0-linux-amd64上传到/opt/gitea 目录下 1234567cd /opt/gitea# 做软链ln -s /opt/gitea/gitea-1.15.0-linux-amd64 gitea# 添加执行权限chmod +x gitea# 启动gitea,-p可修改端口nohup ./gitea web -p 92 & 配置gitea访问http://10.10.10.10:92即可配置gitea,主要配置mysql和http地址,以及管理员。 配置完成后即可完成gitea的部署,代码仓库这一块的问题就解决了。 安装Jenki...

2023-03-21
Java和Python通过gRPC互相调用
基于前两篇,本篇介绍下如果用Java和Python通过gRPC互相调用 安装依赖123pip install grpciopip install grpcbufpip install grpcio-tools 准备.proto文件注意,该文件需要与Java项目中的.proto保持一致 1234567891011121314151617syntax = "proto3";package example;// The greeting service definition.service Greeter { // Sends a greeting rpc SayHello (HelloRequest) returns (HelloReply) {}}// The request message containing the user's name.message HelloRequest { string name = 1;}// The response messa...
评论
WalineDisqus
公告
收集笔记





