Rsun04551
也许当我老了,也一样Code;不为别的,只为了爱好。
展开
-
Java8新特性常见用法
Java 8 引入了强大的 Stream API,用于对集合进行复杂的操作,如过滤、映射、排序和收集。等方法,你可以轻松地对数据进行转换、过滤、排序和收集操作,使代码更加简洁和易于维护。是一个收集器,它在收集操作之后应用一个转换函数。Java 8 引入了许多新的集合操作和流操作,使得数据处理更加方便和高效。的详细用法示例,目的是提高开发效率,并增强对多核处理器和并行编程的支持。它需要两个函数,一个用于生成键,另一个用于生成值。将一个元素转换为另一个元素,这里将。方法结合使用,处理流中的字符串。原创 2024-07-03 21:51:10 · 243 阅读 · 2 评论 -
Skype机器人
这段代码实现了一个Skype机器人,能够处理新消息事件,根据消息历史生成适当的回复,并返回给用户。机器人使用OpenAI的GPT模型生成回复,确保在回复前结合相关的基督教文献和内容。原创 2024-06-19 23:22:10 · 328 阅读 · 0 评论 -
FineBI学习总结
交叉表:一组作为行标题显示在表的左部,另一组作为列标题显示在表的顶部。连接到数据,如果数据不满足数据分析的需求,先进行自助数据集处理。数据集分类:DB表、SQL、Excel、自助数据集。分组表:将报表中的数据按相同项合并为一组显示。1、数据准备2、制作仪表板3、分享仪表板。左合并:保留左边全部数据,合并右边。右合并:保留右边全部数据,合并左边。上下拼接:上下拼接到一张表数据。3、如何实现拼表:多表拼一张。分组–业务包–数据集–字段。字段分类:数值、文本和日期。目录–仪表板–数据准备。维度:文本和日期类型。原创 2024-05-29 22:18:48 · 759 阅读 · 0 评论 -
WebService相关内容
WSDL在Java中主要用于描述和消费Web服务,通过标准化的XML描述,使得不同平台和编程语言之间可以无缝互操作。使用WSDL可以自动生成客户端代码,大大简化了与Web服务交互的过程。原创 2024-05-24 14:20:42 · 122 阅读 · 0 评论 -
Java知识点汇总
1个英文字母占一个字节,一个汉子占两个字节,字节的取值为-128–127,数字分为整数、浮点、长整,12488421。计算机中存储数据的最小单位为比特位(b),其值为0或1,8个比特位组成一个字节(B),KB、MB、GB、TB。主要用于检查对象是否是某个类的实例或其子类的实例、避免类型转换异常以及多态中的应用。表示不可变的常量、不可重写的方法、不可继承的类,以及提高程序的安全性和性能。静态变量、方法、代码块、内部类,用于类名.方法调用。调用当前对象的属性、构造方法和方法。调用父类的属性、构造方法和方法。原创 2024-04-29 21:39:14 · 184 阅读 · 2 评论 -
MySQL修改root用户的密码
【代码】MySQL修改root用户的密码。原创 2024-03-26 21:52:32 · 351 阅读 · 0 评论 -
Mapper.xml文件
【代码】Mapper.xml文件。原创 2024-02-23 14:54:03 · 211 阅读 · 1 评论 -
Mybatis中各个方法
MyBatis 是一个基于 Java 的持久层框架,它通过 XML 或注解来配置 SQL 映射,并且提供了很多方便的功能来简化数据库操作。总的来说,Mapper.xml 文件是 MyBatis 中用来配置 SQL 映射的重要文件,通过它可以方便地将 Java 对象与数据库表进行映射,并且实现了灵活的 SQL 查询和操作。Mapper.xml 文件中主要包含了 SQL 语句的映射,以及与数据库表的映射关系。标签可以在 Mapper.xml 文件中配置参数和结果的映射关系,提供更灵活的配置选项。原创 2024-02-21 14:51:42 · 369 阅读 · 0 评论 -
解决gitee上面代码在idea中提交代码每次都要输入密码问题
第一步:第二步:选中点编辑第三步:在IP前面增加:用户名:密码@,例如我git用户名为:abc,密码为:123456,git仓库的地址为:http://127.0.0.1/project/helloWord.git,修改后的地址变成:原创 2024-02-16 09:32:15 · 1350 阅读 · 0 评论 -
slf4j中LoggerFactory类的logger的用法
SpringBoot中日志使用和配置SpringBoot自定义日志配置(生产环境-详解):原创 2023-10-11 16:13:32 · 249 阅读 · 0 评论 -
Java面试题初级准备
对账模块:每个月每个季度都有对账文件生成,比如说这个月我们是商城进了多少货呀,进了哪些货,然后进货的一些信息呀,包括我们卖出货的信息,会进行对比,对比之后会把信息录入MySQL数据库,因为这个文件体量比较大,单线程执行效率会比较低,采用的多线程,默认采用的8-9个线程数,文件有多少行,每个线程就平均下来负责读取多少行,然后读完之后进行拼接,同事另外一个模块给的,他们会生成对账文件给到我们这边,我还会学习一些新的技术,比如Android开发、微服务架构等,以便能够更好地应对不断变化的科技领域。原创 2023-10-07 15:55:37 · 308 阅读 · 0 评论 -
杂七杂八面试题
对于一般的网站浏览,HTTP已经足够,但随着网络安全意识的提高,越来越多的网站选择使用HTTPS来提升安全性。数据隔离:数据隔离是指不同用户或不同角色之间的数据在逻辑上是相互隔离的,一个用户或角色只能访问其具有权限的数据,无法访问其他用户或角色的数据。数据串联:数据串联是指攻击者通过多次请求将多个请求串联在一起,从而获取比单个请求中更多的数据或权限。HTTPS协议:HTTP+SSL/TLS,通过 SSL证书来验证服务器的身份,并为浏览器和服务器之间的通信进行加密。什么是数据串联,数据隔离和数据越权?原创 2023-10-07 15:55:17 · 171 阅读 · 0 评论 -
Java8新特性中的重点信息
Java 8 引入了许多新特性,这些特性的引入主要是为了现代化语言,提高开发效率,并增强对多核处理器和并行编程的支持。原创 2023-09-24 19:59:38 · 19 阅读 · 0 评论 -
useLayoutEffect和useEffect有什么作用?
是异步执行的,它在浏览器渲染完成之后才执行。这意味着它不会阻塞浏览器的渲染过程,因此适合用于处理副作用,如数据获取、订阅事件、DOM 操作等,这些副作用不需要同步更新到视图中。通常情况下,只有在必须在布局(layout)之前执行某些操作时才使用它。通常是更常见和更安全的选择,因为它不会阻塞渲染过程,适合大多数副作用操作。但在某些情况下,如果需要在布局之前执行某些操作,可以考虑使用。都是 React 中的钩子函数,用于在组件渲染过程中执行副作用操作。是同步执行的,它在浏览器渲染前执行。原创 2023-09-04 13:30:30 · 151 阅读 · 0 评论 -
Gitlab怎么将一个分支代码合并到另外一个分支
在 GitLab 中将一个分支的代码合并到另一个分支,通常需要使用 Git 的命令行工具或者 GitLab 的网页界面来完成。在 “Source branch”(源分支)中选择要合并的分支,然后在 “Target branch”(目标分支)中选择要将代码合并到的分支。无论使用命令行还是网页界面,合并代码时请务必小心,确保你的代码变更在合并后没有引入错误或冲突。最后,点击 “Submit merge request”(提交合并请求)按钮,然后等待代码审查和合并。解决可能出现的冲突,提交合并后的代码。原创 2023-08-28 09:06:01 · 5342 阅读 · 0 评论 -
在SpringBoot项目中使用线程池创建一个线程案例
在Spring Boot项目中使用线程池可以通过类来实现。以下是一个简单的案例,演示如何在Spring Boot项目中创建线程池并提交任务。原创 2023-08-09 08:33:02 · 705 阅读 · 0 评论 -
Redis如何实现分布式锁
需要注意的是,这只是一个简单的示例,实际的分布式锁系统可能需要更多的功能和保障,例如锁的可重入性、锁的超时处理、避免死锁等。对于更复杂的分布式锁需求,你可以考虑使用专业的分布式锁组件,如ZooKeeper等。Redis可以通过使用SETNX命令实现简单的分布式锁。SETNX(SET if Not eXists)命令用于将键的值设置为指定的字符串值,但只有在键不存在时才能设置成功。方法尝试获取分布式锁,如果成功获取锁,则执行需要加锁的业务逻辑;方法尝试获取分布式锁,如果成功获取锁,则返回true;原创 2023-08-07 17:47:31 · 424 阅读 · 0 评论 -
Redis如何实现消息队列
需要注意的是,这只是一个简单的示例,实际的消息队列系统可能需要更多的功能和保障,例如消息的持久化、消息的确认机制、多个消费者的并发处理等。对于更复杂的消息队列需求,你可以考虑使用专业的消息队列中间件,如RabbitMQ、Kafka等。通过这种方式,我们就实现了一个简单的消息队列。当消息生产者将消息推送到列表中,消息消费者可以从列表中获取消息并进行处理。这样就实现了消息的异步处理,提高了系统的吞吐量和并发能力。这样,就可以实现一个先进先出(FIFO)的消息队列。命令将消息推送到列表的左侧,使用。原创 2023-08-07 16:36:34 · 772 阅读 · 0 评论 -
使用Spring Data Redis实现点赞数
使用Spring Data Redis可以更加方便地操作Redis,而且可以充分利用Spring框架的特性和便利。首先,你需要在Spring Boot项目中添加Spring Data Redis的依赖。在这个示例中,我们使用RedisTemplate来操作Redis,通过。方法获取值操作对象,然后使用。原创 2023-08-07 15:00:35 · 104 阅读 · 0 评论 -
Redis如何实现Session存储
无论使用哪种方式,都能够有效地将Session数据存储到Redis中,提高Session的读写效率和稳定性。同时,使用Redis存储Session还可以实现分布式环境下的Session共享,确保用户在多台服务器之间的会话数据同步。在Redis中实现Session存储,主要有两种方式:使用Spring Session和手动存储。原创 2023-08-07 14:49:09 · 1366 阅读 · 0 评论 -
Redis和数据库更新先后顺序
对于一般的网站浏览,HTTP已经足够,但随着网络安全意识的提高,越来越多的网站选择使用HTTPS来提升安全性。浏览器会对服务器提供的证书进行验证,如果证书无效或不匹配,浏览器会发出警告,提示用户存在风险。4.速度:由于HTTPS需要加密和解密数据,会增加一定的计算和传输时间,因此比HTTP稍微慢一些。搜索引擎通常会更喜欢安全的HTTPS网站,因此使用HTTPS可能会有助于提高网站在搜索结果中的排名。2. 端口号:HTTP使用的是80端口,而HTTPS使用的是443端口。原创 2023-08-07 13:47:46 · 1763 阅读 · 0 评论 -
HTTP和HTTPS的区别
对于一般的网站浏览,HTTP已经足够,但随着网络安全意识的提高,越来越多的网站选择使用HTTPS来提升安全性。浏览器会对服务器提供的证书进行验证,如果证书无效或不匹配,浏览器会发出警告,提示用户存在风险。4.速度:由于HTTPS需要加密和解密数据,会增加一定的计算和传输时间,因此比HTTP稍微慢一些。搜索引擎通常会更喜欢安全的HTTPS网站,因此使用HTTPS可能会有助于提高网站在搜索结果中的排名。2. 端口号:HTTP使用的是80端口,而HTTPS使用的是443端口。原创 2023-08-07 13:31:27 · 3706 阅读 · 0 评论 -
Java接口幂等性问题及解决方案
在修改界面,用户点击确定后台生成一个token返回给前端,后台同时在Redis中保存这个token数据,前端不展示这个token,当用户点击确定按钮,请求中会携带这个token,此时后台会先校验请求的token和redis中token是否一致,一致的话即第一次请求,执行业务代码并在Redis中删除该token,当用户多次提交,后台判断Redis中验证码不存在即多次提交,不再执行业务代码,保证业务的幂等性不再重复执行。这个保证了重复请求时,因为去重表有唯一约束,导致请求失败,避免了幂等问题。原创 2023-08-07 11:42:48 · 507 阅读 · 0 评论 -
Mybatis与Jpa的区别与性能对比总结
JPA的saveAll方法批量新增速度会很慢,导致导入一些Excel表数据原本同步的需要开个异步去处理,但是如果是在定时任务中涉及到Excel表的导入,异步中套异步,整个链路会很长,出现bug要排查很久。entityInformation.isNew(entity):如果对象中没有id,直接新增,存在id则先查库,存在则update,否则insert。批量新增数据时候,新增1K、1W和10W条数据,Mybatis是JPA的10倍左右。1、JPA是对象与对象之间的映射,Mybatis是对象和结果集的映射。原创 2023-02-10 14:49:24 · 2401 阅读 · 0 评论 -
@RequiredArgsConstructor注解的使用方法
小编最近在项目里看到有的同事大神用到了Lombok中的一个@RequiredArgsConstructor,带着好奇发现这个东西就是简化了一些@Autowired注解,想想如果一个Service还有几十个注入,这样就要写上几十个@Autowired,这样代码显示很臃肿哈。有了@RequiredArgsConstructor注解,我们就可以减少@Autowired的书写。用过的人都说好哈,下面带大家一起使用一下!原创 2023-02-08 20:49:09 · 3807 阅读 · 0 评论 -
【java.lang.OutOfMemoryError:GC overhead limit exceeded异常解决方法】
由于同时启动了多个项目,导致电脑蓝屏重启,重启后idea启动项目,提示系统资源不足,和Information:java: java.lang.OutOfMemoryError: GC overhead limit exceeded错误,原创 2023-02-08 13:09:39 · 1386 阅读 · 0 评论 -
Feign的基本使用、日志配置和连接池配置详解
Feign的基本使用、日志配置和连接池配置详解原创 2023-02-07 10:58:37 · 317 阅读 · 0 评论 -
什么是多线程安全问题?如何解决?
当多个线程对同一全局变量进行写操作时,可能发生数据冲突问题。这就是多线程安全问题,进行读时不会发生安全问题。经典案例: 多线程抢购火车票。比如:现有100涨火车票,开两条线程窗口对其进行售卖。答:当多个线程共享同一个资源,不会受到其他线程的干扰。答:在方法上修饰synchronized 称为同步方法代码样例。原创 2023-02-07 21:13:37 · 347 阅读 · 0 评论 -
Feign的基本使用、日志配置和连接池配置详解
Feign的基本使用、日志配置和连接池配置详解原创 2023-02-06 15:35:40 · 149 阅读 · 0 评论 -
什么是websocket及使用
websocket 的产生主要是为了弥补http协议的不足,实现客户端和服务器的持久连接,以及实时双向通信。原创 2023-02-05 17:05:13 · 433 阅读 · 1 评论 -
费曼学习法(Feynman Technique)
把上诉的流程做成笔记,检查一下确保自己没有从原材料中借用任何行话。将这些笔记用简单的语言组织成一个流畅的故事,将这个故事讲出来,如果这些解释不够简单,或者听起来比较混乱,这意味着你想要理解该领域,还需要更深入的学习。用最常见易懂的词汇,让一个完全没任何相关知识背景的人,明白你所阐述的理论或知识。费曼学习法的核心思想是通过简化和解释的方式来学习和理解知识。回到原始材料重新学习,直到你可以用基本的术语来解释这一概念。列出你对该主题的所有认知。原创 2023-02-05 16:38:47 · 355 阅读 · 0 评论 -
代码优化--提取缓存和日志
迪米特法则:对象应该对其他对象保持最少的了解,如果没有必要直接调用,就不要有依赖关系。单一职责原则: 一个类或者一个接口只负责唯一项职责,尽量设计出功能单一的接口。注解 (annotation): 代码的元数据,一种代码级别的说明。例如:将用户查询中的缓存查询和记录日志抽取出来。解读二: 在特定的场景由外部解析产生作用。臃肿代码优化的设计原则是什么?2、将注解加在需要简化的方法上。主业务和增值业务代码耦合。解读一:携带数据的附属品。3、增加配置,编写切面类。业务代码与技术代码耦合。1、创建自定义的注解。原创 2023-02-04 16:10:22 · 327 阅读 · 0 评论 -
BeanPostProcessor由浅入深
【代码】BeanPostProcessor由浅入深。原创 2023-01-30 17:05:40 · 95 阅读 · 0 评论 -
ApplicationLifecycle生命周期详解
由浅入深,详解 Lifecycle 生命周期组件的那些事原创 2023-01-30 16:39:51 · 277 阅读 · 0 评论 -
IDEA安装Findbugs及Find-sec-bugs安全组件
idea安装findbugs及Find-sec-bugs安全组件原创 2023-01-30 13:18:01 · 538 阅读 · 0 评论 -
SpringBoot中CommandLineRunner详解
项目启动之前,预先加载数据。比如,权限容器、特殊用户数据等。通常我们可以使用监听器、事件来操作。但是,springboot提供了一个简单的方式来实现此类需求,即,CommandLineRunner。分别定义一个数据加载类MyStartupRunner1,排序为2;另一个数据加载类MyStartupRunner2,排序为1。看看它们记载数据的顺序。我们可以看出,数据加载的顺序与注解@Order的value有关!文档中,我们可以知道以下几点。原创 2023-01-26 22:26:36 · 756 阅读 · 0 评论 -
Java8新特性
/利用Java8新特性实现一个包含若干字符串list集合,利用流式编程对集合中以张开头,字符串长度为3的数据进行过滤。//distinct:元素去重,依赖(hashCode和equals) concat:合并a和b为一个流。//注意: of后面如果跟数据,必须是引用数据类型,如果是基本数据类型只会打印该数组的地址值。//toMap:参数一:键生成规则,参数二:值生成规则,注意点:键不能重复。//修改Stream流中的数据,不会影响原来集合或数组中的数据。对map集合中对象的字段设置值。原创 2022-12-20 09:22:05 · 169 阅读 · 0 评论 -
工作中用到的注解
ApiImplicitParam swagger注解,用在请求的方法上,表示一组参数说明(name:参数名;swagger注解,用在请求的方法上,说明方法的用途、作用,(value = “接口说明”, httpMethod = “接口请求方式”, response =“接口返回参数类型”, notes = “接口发布说明”);详细:https://blog.csdn.net/dejunyang/article/details/89527348。swagger注解,使用在方法上或者参数上,字段说明;原创 2023-01-22 11:38:07 · 1508 阅读 · 0 评论 -
Unable to connnect to license server. Check your network connnection and/or
下载自身匹配的,我是win10 64位 图一。jerbel连接不上SVN需要重新激活。一定要注意这个地方的IP地址跟端口号。下载后打开,会出现第一行 如下图。原创 2023-01-18 17:57:10 · 2632 阅读 · 1 评论 -
Java中浅拷贝和深拷贝
这就会有一个现象,针对引用类型的字段,两个对象的引用地址一致,如此一来新旧对象之间强关联,修改其中一个对象的内容,极可能影响到另外一个的内容,此时可以使用BeanUtils.copyProperties方法。当我修改新拷贝BondTradeReqVo对象中TradeIvtFeeDto对象中feeMoney字段时,原对象中的该字段值会跟着发生改变,这时就需要用到深拷贝。深拷贝是针对浅拷贝而言的,当一个对象中套一个对象,对对象中的对象中的字段值进行修改时为了不影响原对象中的数据。原创 2023-01-16 17:45:29 · 300 阅读 · 0 评论