- 博客(624)
- 问答 (2)
- 收藏
- 关注
原创 go1.23.0 比较好用的特性
在Go 1.23版本中,引入了新的迭代器语法,这为for-range循环带来了更大的灵活性和表达能力。此前,for-range循环主要用于遍历数组、切片、字符串、映射或通道等集合类型。然而,在Go 1.23中,你可以自定义任何序列的迭代器,并在for-range循环中使用它。举个例子,假设你有一个表示树结构的类型,并且你想要遍历这棵树的所有节点。在Go 1.23之前,你可能需要编写一个递归函数或使用显式循环来实现这一点。
2024-08-25 20:32:09 423
原创 Java多线程-StampedLock(原子读写锁)
StampedLock 是读写锁的实现,对比 ReentrantReadWriteLock 主要不同是该锁不允许重入,多了乐观读的功能,使用上会更加复杂一些,但是具有更好的性能表现。StampedLock 的状态由版本和读写锁持有计数组成。获取锁方法返回一个邮戳,表示和控制与锁状态相关的访问;这些方法的“尝试”版本可能会返回特殊值 0 来表示获取锁失败。锁释放和转换方法需要邮戳作为参数,如果它们与锁的状态不匹配则失败。
2024-06-14 16:07:26 931
原创 Go-js,css,html压缩和混淆(可直接使用)
使用方式: 根据不同的操作系统取对应的压缩工具,然后将压缩工具放到项目根目录下,然后执行即可。本地安装nodejs环境然后配置全局环境变量。有问题在评论区或者私信我-收到会在第一时间回复。运行以下命令安装uglify压缩工具。
2024-03-27 17:12:53 423
原创 he openssl extension is required for SSL/TLS protection but is not available. If you can not enable
因为默认情况下不启用 Openssl,需要我们在 php.ini 中开放这个设置。把前面的分号去掉extension=openssl。有问题在评论区或者私信我-收到会在第一时间回复。加入博主语雀知识库,查看最新文章和技术。
2024-03-14 18:45:00 646 1
原创 Kafka-生产者报错javax.management.InstanceAlreadyExistsException
说的是MBean已经注册了,然后报异常了,这样就会导致生产者的kafka注册失败, 原因是项目上生产者没有配置clientId,默认都是空导致的, 多个生产者(项目)注册到kafka集群中的 id 都相同。这样每个生产者注入到集群 kafka 中的 client-id 不同了那么就不会出现别人注入不进去的情况了。然后根据日志查看 kafka 的源码发现了问题原因。生产者发送消息到 kafka 中,然后控制台报错。有问题在评论区或者私信我-收到会在第一时间回复。
2024-03-14 18:33:03 1002
原创 Java-Arrays.asList 报 java.lang.UnsupportedOperationException
调用Arrays.asList()生产的List的add、remove方法时报异常,这是由Arrays.asList() 返回的是 Arrays的内部类ArrayList, 而不是java.util.ArrayList。Arrays的内部类ArrayList和java.util.ArrayList都是继承AbstractList,remove、add等方法,而且这些方法都没有进行重写,java.util.ArrayList重写了这些方法而Arrays的内部类ArrayList没有重写,所以会抛出异常。
2024-03-14 18:31:30 582
原创 mybatis-plus Bean already defined with the same name!
而网上大部分都说是@Mapper导致的,根本就是瞎扯, 经过不断地尝试发现把分页插件升级下就行了。这个是因为同时使用了mybaitis和mybaitis plus导致的。有问题在评论区或者私信我-收到会在第一时间回复。加入博主语雀知识库,查看最新文章和技术。
2024-03-14 18:29:59 1034
原创 Java-空链处理(最强比Optional好用100倍)
在 Java 中,null 是一个非常常见的关键字,用于表示“没有值”或“空”。然而,对于初学者来说,null 的本质可能会感到有些困惑。在本文中,我们将详细探讨 null 在 Java 中的含义和使用。在 Java 中,null 表示“没有值”或“空”。它是一个关键字,用于表示一个对象变量不引用任何对象。这意味着该变量没有指向任何有效的内存地址,因此它不指向任何对象。如果尝试在 null 引用上调用任何方法或字段,则会引发 NullPointerException 异常。
2024-01-15 10:41:35 749 5
原创 Java-无敌空处理,保证你没见过(独此一家,比Optional好用100倍)
以上是我自己研发出来的,只展示了一小部分,还有,中断处理继续判断,集合空处理等,直接就原地起飞, 上面案例给你们一个灵感自行写代码把, 下一个猝死的就是你了。(上代码放在目前市面上的各种语言中都是王炸级别的,都没有这样能做到的,当然js8有个。如果链路过程出现了空的情况,在特定的方法中会将链路跟随者报错打印出来。有问题在评论区或者私信我-收到会在第一时间回复。加入博主语雀知识库,查看最新文章和技术。语法可以满足一部分,但是局限太大了)目前java中判空的手段有3种。
2024-01-11 00:52:10 1440 7
原创 Rust-写个猜数字游戏
本项目通过动手实践,向你介绍了 Rust 新概念:let、match、函数、使用外部 crate 等等,接下来的文章,你会继续深入学习这些概念。并且介绍大部分编程语言都有的概念,比如变量、数据类型和函数,以及如何在 Rust 中使用它们。
2023-12-17 22:30:25 847
原创 Rust-学习必看
想绝对不会有人想自己人生学习的第一门高级语言是rust吧?也不现实…**我学过:** c ,c++ ,c# ,php, python,go , java, html,css, js ,vue, node, lua, shell ,等等太多太多语言了, 然后在学 rust 的时候还是觉得吃力,比学其他语言难度`*N 倍`,只要你用 Rust 写的代码能成功编译,那么几乎不用为各种安全考虑了,只需要考虑业务就行。 从上面我讲的就能明白了, 为什小白没法学 rust,甚至没有过至少学过 c/c++ ,
2023-12-15 16:41:50 1058
原创 Rust-第一个程序
既然安装好了 Rust,是时候来编写第一个 Rust 程序了。当学习一门新语言的时候,使用该语言在屏幕上打印 Hello, world! 是一项传统,我们将沿用这一传统!
2023-12-15 10:25:28 958
原创 Java-Netty(入门)
i/o 种类Netty是什么?Netty是一个基于Java NIO的网络编程框架,提供了一套高效的、事件驱动的异步网络通信机制。简化了网络应用程序的开发过程,提供了可靠的、高性能的网络传输。Netty的特点是什么?异步和事件驱动:Netty使用异步的、非阻塞的I/O模型,通过事件驱动的方式处理网络操作。Netty能够高效地处理并发连接和大量的并发请求。高性能:Netty采用了一系列优化策略,如零拷贝技术、内存池和可定制的线程模型等,以提供出色的性能和吞吐量。能处理高负载和大规模并发。
2023-12-01 23:44:47 3090
原创 org.springframework.boot.env.OriginTrackedYamlLoader.createYaml
【代码】org.springframework.boot.env.OriginTrackedYamlLoader.createYaml。
2023-12-01 23:41:55 673
原创 Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasource could
在使用Spring Boot进行应用开发时,常常需要对数据源进行配置。但是有时在配置中会出现Failed to configure a DataSource: ‘url’ attribute is not specified and no embe的错误,这是因为在进行数据源配置时,未指定url属性或没有嵌入式数据库。在yml文件中添加上数据源。
2023-12-01 23:40:30 527
原创 Linux-安装Docker
官网教程:大多数用户会 设置Docker的存储库 并从中进行安装,以简化安装和升级任务。这是推荐的方法。一些用户下载并手动安装 RPM软件包, 并完全手动管理升级。这在诸如在无法访问互联网的空白系统上安装Docker的情况下非常有用。在测试和开发环境中,一些用户选择使用自动 便利脚本来 安装Docker。还有就是 不要想着 在Windows中安装Docker 因为和VM虚拟机冲突 导致VM使用不了了 所以就老老实实的使用Linux就行了我们下面就演示使用官网推荐的存储库安装。
2023-11-15 13:22:16 97
原创 Linux-Docker-Kafka(安装)
Kafka依赖zookeeper, 如果需要搭建集群Kafka或者配置账户密码访问kafka,就不建议使用Docker方式,因为官方没有弄容器,在DockerHub里也搜索不到, 下面的Docker方式都是第三方人封装的镜像只能用于学习。
2023-11-15 13:20:56 82
原创 Linux-Docker-Tomcat安装
将主机中~/tomcat目录挂载到Tocamt容器的webapps 否则我们每次上传项目 还要到容器里 肯定是不方便的。我们在本地~/tomcat 中创建一个test文件夹 然后添加ahtml文件 然后写入内容 之后使用游览器访问下。我们此刻还需要将容器里的webapps.dost下面的所有文件复制到 webapps里才行 否则你访问404。1.拉取tomcat镜像 (推荐你使用的什么版本做的项目 那么就拉取什么版本)将容器的8080端口映射到主机的8080端口。192.168.93.13换成你的ip。
2023-11-15 13:19:52 103
原创 Golang-Gin
/ 导入gin包import ("log""time"// 自定义个日志中间件// 可以通过上下文对象,设置一些依附在上下文对象里面的键/值数据// 在这里处理请求到达控制器函数之前的逻辑// 调用下一个中间件,或者控制器处理函数,具体得看注册了多少个中间件。c.Next()// 在这里可以处理请求返回给用户之前的逻辑// 例如,查询请求状态吗// 注册上面自定义的日志中间件// 查询我们之前在日志中间件,注入的键值数据})
2023-11-15 13:16:02 103
原创 Golang-http
可以看出默认的http.DefaultClient并没有设置Client任何属性值,但是如果我们需要设置HTTP请求的超时时间、代理、连接池等选项,可能就需要我们自己去定义和创建http.Client了。根据Client结构体内容,我们知道http.Client拥有 Transport、CheckRedirect、 Jar、Timeout四个属性字段,详细介绍如下:Timeout。
2023-11-15 13:13:50 77
原创 SpringBoot-日志链路跟踪(tractId)
心随念/log-trace-spring-boot-starter配置规则引用格式在append 中使用我们指定的 输入格式即可比如我们从订单服务使用 feign调用,调到 支付服务log4j2 配置直接在输出格式加上 traceId即可1、项目支持了微服务间feign 调用,如果使用feign调用,默认会有日志链路传递2、扩展了对RestTemplate 的支持,创建RestTemplate是需要指定拦截器 (注意:版本在0.0.3以下的需要次扩展,0.0.3不需要,已经做了自动扩
2023-10-29 04:14:29 433
原创 新世纪语言-构思
免责声明:本文部分素材来源于网络,版权归原创者所有,如存在文章/图片/音视频等使用不当的情况,请随时私信联系我、以迅速采取适当措施,避免给双方造成不必要的经济损失。在本博客学习的技术不得以任何方式直接或者间接的从事违反中华人民共和国法律,内容仅供学习、交流与参考。有其他问题在评论区讨论-或者私信我-收到会在第一时间回复。
2023-10-29 03:46:54 79
原创 Golang-Socket
近年来,Go语言(也称为Golang)在程序员社区中越来越受欢迎。Go语言简单易学、高效强大、安全稳定,因此深受开发人员的喜爱。其中,Go语言对Socket编程的支持得到了广泛的关注和赞誉。本文将对Go语言中的Socket编程进行详细介绍,涉及基本原理、使用方法、代码实现等相关内容。
2023-10-17 09:37:39 96
原创 Golang-系统命令操作(os)
其中,第一个参数表示接收信号的 channel,第二个及后面的参数表示设置要监听的信号,如果不设置表示监听所有的信号。用户所在的所有组: [S-1-5-21-2557860341-821103020-2882909303 …用户id: S-1-5-21-2557860341-821103020-2882909303-1003。主组id: S-1-5-21-2557860341-821103020-2882909303-1003。
2023-10-17 09:33:45 366
原创 Golang-CSV
csv和结构体的互转函数结构体转换成csv字符串时,需要实现如下接口例如,我们定义了一个结构体DateTime,里面有一个time.Time类型的属性。并且DateTime类型实现了TypeMarshaller接口的MarshalCSV函数和TypeUnmarshaller接口的UnmarshalCSV函数。time.Timereturn errId: "001",Name: "Go学堂",},
2023-09-08 14:30:06 422
原创 Golang-链表
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。使用链表结构可以避免在使用数组时需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销比较大。
2023-07-20 10:17:28 292
原创 Golang-代码测试
单元测试通常是由软件开发⼈员编写和运⾏的⾃动测试,以确保应⽤程序的某个部分(称为“单元”)符合其设计并按预期运⾏。在过程式编程中,⼀个单元可以是⼀个完整的模块,但它更常⻅的是⼀个单独的函数或过程。在⾯向对象的编程中,单元通常是整个接⼝,例如类或单个⽅法。通过⾸先为最⼩的可测试单元编写测试,然后为它们之间的复合⾏为编写测试,可以为复杂的应⽤程序建⽴全⾯的测试。在开发过程中,软件开发⼈员可能会将标准或已知良好的结果编码到测试中,以验证单元的正确性。
2023-07-20 10:15:05 259
原创 国产自研-简易编程语言
简易编程语言是基于Go进行编写的,主要目的是作为轻量级脚本随处可写随处可用,不用安装环境,不依赖于任何第三方包啥的,语法尽量做到最精简,多系统兼容可跨平台… 目前还在开发中进度5%左右很多内容都没做没有类型之分,内部自动识别字符串不需要使用"",直接写就行赋值不是使用=而是使用->没有函数,有代码块,比函数更为强大没有main函数, 在文件内随处可写随处可执行。
2023-06-25 02:42:45 224
原创 Golang-工厂模式自动注册
其实这个包是mysql的驱动包,database/sql 定义了一些规范,不同实现者可以根据这个规范实现自己的驱动,然后通过 import _ github.com/go-sql-driver/mysql" 将驱动注册到 database/sql 中。这是我们每个新手都可以google到的片段,我刚开始接触的时候觉得很奇怪,我们写的代码中明明没有使用的 github.com/go-sql-driver/mysql 这个包,却还不得不引入它?上面的代码展示了Class1的工厂及产品定义过程。
2023-06-19 11:00:55 283
原创 Golang-单例模式
设计模式的重要性不用多说,也是面试时常常会被问到的问题。对于设计模式,更多的则是仁者见仁智者见智,要在实际工作中不断的积累,再进行深度的思考,才能逐渐形成的一种思维。单例模式也叫单子模式,是常用的模式之一,在它的核心结构中只包含一个被称为单例的特殊类,能够保证系统运行中一个类只创建一个实例Go语言实现单例模式的有四种方式,分别是懒汉式、饿汉式、双重检查和 sync.Once。懒汉式就是创建对象时比较懒,先不急着创建对象,在需要加载配置文件的时候再去创建;
2023-06-19 10:59:52 424
原创 Golang-LiteIDE(免费开发软件)
编辑器自动生成go.mod文件 ,放入当前根目录下拉取第三方包Debug调试 在代码上按下f9就可以打端点或者删除端点了。
2023-06-13 17:06:26 585
原创 Eclipse-汉化
免责声明:本文部分素材来源于网络,版权归原创者所有,如存在文章/图片/音视频等使用不当的情况,请随时私信联系我、以迅速采取适当措施,避免给双方造成不必要的经济损失。点击eclipse选项栏中的 help 项,选择 install new solftware ,可以看见如下界面。选择-添加,出现Add Repository界面,在名称处填写 babel,位置处粘贴如下库。
2023-06-13 17:02:31 626
原创 Golang-RPC
RPC(Remote Procedure Call),主要是帮助我们屏蔽,是我们更专注于业务逻辑,实现调用远程方法就像调用本地方法一样。
2023-05-25 15:28:52 135
原创 Golang-httprouter
httprouter谈不上是一个框架,它的性能非常优秀。完全可以用来代替默认的 ServeMux。所以比较适合对性能要求高,路由相对简单扁平的业务,或者作为高层HTTP框架的内部模块。httproute内部通过实现一个trie树来提高性能。核心代码就是golang标准库中 http.Handler 接口,在该函数中实现自己的请求路由分发策略。gorilla/mux也是一个第三方的路由器,但是性能一般。
2023-05-25 15:27:14 377
原创 Golang-启蒙
Go语言(或 Golang)起源于 2007 年,并在 2009 年正式对外发布。Go 是非常年轻的一门语言,它的主要目标是“兼具 Python 等动态语言的开发速度和 C/C++ 等编译型语言的性能与安全性”。Go语言是编程语言设计的又一次尝试,是对类C语言的重大改进,它不但能让你访问底层操作系统,还提供了强大的网络编程和并发编程支持。Go语言的用途众多,可以进行网络编程、系统编程、并发编程、分布式编程。
2023-05-20 16:27:02 287
空空如也
java17,内置模块冲突
2022-11-15
java的native方法是线程安全的吗
2022-05-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人