- 博客(19)
- 收藏
- 关注
原创 IDEA的AI插件Bito
Bito 的 AI 帮助开发人员大幅提升影响力。它就像一把瑞士军刀,使用与 ChatGPT 相同的模型,可以将您的开发人员生产力提高 10 倍,并每天为您节省一个小时!Bito AI 可以轻松编写代码、理解语法、编写测试用例、解释代码、评论代码、检查安全性,甚至解释高级概念。经过数十亿行代码和数百万份文档的训练,我们可以帮助您完成令人难以置信的事情,而无需搜索网络或在繁琐的事情上浪费时间。插件、插件;
2023-08-26 12:54:38 1513 1
原创 并发编程三大特性:3、有序性
在Java中,.java文件中的内容会被编译,在执行前需要再次转为CPU可以识别的指令,CPU在执行这些指令时,为了提升执行效率,在不影响最终结果的前提下(满足一些要求),会对指令进行重排。指令乱序执行的原因,是为了尽可能的发挥CPU的性能。Java中的程序是乱序执行的。b = 0;x = 0;y = 0;a = 1;x = b;});b = 1;y = a;});t1.start();t2.start();t1.join();t2.join()
2023-05-17 15:46:47 116
原创 并发编程三大特性:2、可见性(什么是可见性、解决可见性的方式)
可见性问题是基于CPU位置出现的,CPU处理速度非常快,相对CPU来说,去主内存获取数据这个事情太慢了,CPU就提供了L1,L2,L3的三级缓存,每次去主内存拿完数据后,就会存储到CPU的三级缓存,每次去三级缓存拿数据,效率肯定会提升。这就带来了问题,现在CPU都是多核,每个线程的工作内存(CPU三级缓存)都是独立的,会告知每个线程中做修改时,只改自己的工作内存,没有及时的同步到主内存,导致数据不一致问题。可见性问题的代码逻辑// ....System.out.println("t1线程结束");
2023-05-17 15:44:17 555
原创 并发编程三大特性:1、原子性
不同的硬件和不同的操作系统在内存上的操作有一定差异的。Java为了解决相同代码在不同操作系统上出现的各种问题,用JMM屏蔽掉各种硬件和操作系统带来的差异。让Java的并发编程可以做到跨平台。JMM规定所有变量都会存储在主内存中,在操作的时候,需要从主内存中复制一份到线程内存(CPU内存),在线程内部做计算。然后再写回主内存中(不一定!原子性的定义:原子性指一个操作是不可分割的,不可中断的,一个线程在执行时,另一个线程不会影响到他。i < 100;i++) {
2023-05-17 15:42:40 465
原创 线程的使用(线程状态、常见方法、结束方式)
如果在main线程中调用了t1.join(2000),那么main线程会进入到等待状态,需要等待t1执行2s后,在恢复到就绪状态等待CPU调度。如果在main线程中调用了t1.join(),那么main线程会进入到等待状态,需要等待t1线程全部执行完毕,在恢复到就绪状态等待CPU调度。可以让获取synchronized锁资源的线程,通过notify或者notifyAll方法,将等待池中的线程唤醒,添加到。线程结束方式很多,最常用就是让线程的run方法结束,无论是return结束,还是抛出异常结束,都可以。
2023-05-17 15:39:29 570
原创 线程的创建方式
启动线程是调用start方法,这样会创建一个新的线程,并执行线程的任务。如果直接调用run方法,这样会让当前线程执行run方法中的业务逻辑。Callable一般用于有返回结果的非阻塞的执行方法。追其底层,其实只有一种,实现Runnble。
2023-05-17 15:30:16 192 1
原创 多线程基础概念
这里的并发并不是三高中的高并发问题,这里是多线程中的并发概念(CPU调度线程的概念)。CPU在极短的时间内,反复切换执行不同的线程,看似好像是并行,但是只是CPU高速的切换。不如要处理一个网络等待的操作,开启一个线程去处理需要网络等待的任务,让当前业务线程可以继续往下执行逻辑,效率是可以得到大幅度提升的。烧水开始执行后,不需要一直等待水烧开,可以去执行其他功能,但是需要时不时的查看水开了没。异步非阻塞这个效果是最好的,平时开发时,提升效率最好的方式就是采用异步非阻塞的方式处理一些多线程的任务。
2023-05-17 15:27:53 117
原创 实战Java springboot 采用Flink CDC操作SQL Server数据库获取增量变更数据
我的场景是从SQL Server数据库获取指定表的增量数据,查询了很多获取增量数据的方案,最终选择了Flink的 flink-connector-sqlserver-cdc ,这个需要用到SQL Server 的CDC(变更数据捕获),通过CDC来获取增量数据,处理数据前需要对数据库进行配置,如果不清楚如何配置可以看看我这篇文章:《SQL Server数据库开启CDC变更数据捕获操作指引》废话不多说,直接上干货,如有不足还请指正/*** 自定义sink 交由spring管理* 处理变更数据。
2023-04-14 11:01:24 5711 12
原创 SQL Server数据库开启CDC变更数据捕获操作指引
我们在同步SQL Server数据到MySQL或者将SQL Server应用在大数据领域或者其他场景时需要实时监控源数据库的数据变更,那么SQL Server的CDC(变更数据捕获)就能派上用场了,这篇文章是我对SQL Server CDC使用的一些操作作为自己的随记,也许能够帮到你,后续我会介绍如何在代码中应用CDC。
2023-04-12 15:07:14 4460 1
原创 Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException Annotation 报错解决
Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException Annotation
2023-01-06 17:29:10 1280
原创 RocketMQ发送消息失败 MQBrokerException: CODE: 1 DESC: create mapped file failed, server is busy or broker
org.apache.rocketmq.client.exception.MQClientException: Send [3] times, still failed, cost [840]ms, Topic: top_1, BrokersSent: [a, a, a]...............Caused by: org.apache.rocketmq.client.exception.MQBrokerException: CODE: 1 DESC: create mapped file fa
2022-06-29 12:53:24 3754 1
原创 nexus私服仓库批量导入本地jar
nexus私服批量导入本地库小弟上篇文章:nexus下载&安装&仓库使用:https://blog.csdn.net/weixin_42717648/article/details/98206733本文部分转载自:Nexus3.x批量导入本地库:https://blog.csdn.net/u014468095/article/details/87261817如图点击顺序...
2019-08-02 17:44:13 4793 2
原创 局域网或外网Nexus私服下载&安装&仓库使用整理(Linux环境)这一篇足够
nexus私服下载&安装&仓库使用 整理(Linux环境)这一篇足够下载&安装1、需要jdk8以上环境2、下载Nexus安装包,官网下载地址:https://www.sonatype.com/download-oss-sonatype选择下载对应的操作系统:3、安装只需要几步即可我在当前用户下创建的maven目录mkdir maven/nexus将压缩包...
2019-08-02 15:51:56 3750 2
原创 一篇搞懂微信小程序以及和其他对比
一篇搞懂微信小程序以及和其他对比一.产品定位及功能分析微信小程序是一种全新的连接用户与服务的方式,他可以在微信内被便捷的获取和传播,同时具有出色的使用体验。微信小程序,简称小程序,英文名Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。全面开放申请后,主体类型为企业、政府、媒体、其他组织或个人的开发者,均可申请注册...
2019-03-14 17:14:50 171 3
空空如也
程序如何判断服务器在哪个机架上?
2023-05-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人