![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 78
西蓝花MQ
喜欢快速学习并适应新环境。致力于大型应用系统建设
展开
-
达梦基于什么数据库?
达梦数据库作为中国自主研发的高性能关系型数据库管理系统,具有自主研发、高性能、高安全性、高可靠性和易用性等显著特点。在金融、电信、政府、能源和交通等行业中,达梦数据库的应用非常广泛,满足了各行业对高效、安全、可靠的数据管理需求。通过实际的代码示例,我们可以看到达梦数据库在连接、表创建、数据插入和查询等方面的使用方法。这些示例展示了达梦数据库的易用性和高性能,能够帮助开发者快速上手并应用于实际项目中。未来,随着技术的不断发展和市场需求的变化,达梦数据库将继续创新和优化,助力各行业的信息化和智能化发展。原创 2024-06-16 10:45:56 · 678 阅读 · 0 评论 -
Redis 相关设计场景有哪些
当前小时的时间戳作为 zset 的 key,把贴子ID作为 member ,点击数评论数等作为 score,当 score 发生变化时更新 score。Redission的延迟队列,使用zset、list及发布订阅模型,通过lua脚本使用发布订阅模式延迟发布元素过期消息,将zset的数据转移到list中。实现消息队列,使用blpush、rlpop的阻塞入队出队消息,实现队列的尾进头出的消费顺序。布隆过滤器有一个可以预判误判率的公式,查询缓存可能误判的名单存在,进行正常的查询。附近的人定位查找功能。原创 2024-05-16 10:32:05 · 473 阅读 · 0 评论 -
如何手写RPC框架
TCP通信过程中会根据TCP缓冲区的实际情况进行包的划分,所以在业务上认为一个完整的包可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这就是所谓的TCP粘包和拆包问题。即使编码协议即Body采用的是二进制编码协议,但是报文元数据也就是Header头的键值对还是使用了文本编码,我们可以看到上面的这条协议,其实有效字节数只有30%,虽然实际应用中报文内容不会那么短,但是累计下来报头的占比也是相当可观的。如:在通用定义的HTTP1.1协议的TCP报文中包含太多废信息。原创 2024-05-15 15:27:06 · 1104 阅读 · 0 评论 -
延迟队列有哪些
这时可以用DelayQueue保存通知失败的请求,失效时间可以根据已通知的次数来设定(比如:2s、5s、10s、20s),这样每次从队列中take获取的就是剩余时间最短的请求,如果已重复通知次数超过一定阈值,则可以把消息抛弃。如果一条消息设置了TTL属性或者进入了设置TTL属性的队列,那么这条消息如果在TTL设置的时间内没有被消费,则会成为“死信”。TTL是RabbitMQ中一个消息或者队列的属性,表明一条消息或者该队列中的所有消息的最大存活时间,单位是毫秒。采用死信队列+TTL过期时间来实现延迟队列。原创 2024-05-15 15:12:32 · 664 阅读 · 0 评论 -
java 并发线程应用
ArrayBlockingQueue是一个有界缓存等待队列,可以指定缓存队列的大小,当正在执行的线程数等于corePoolSize时,多余的元素缓存在ArrayBlockingQueue队列中等待有空闲的线程时继续执行,当ArrayBlockingQueue已满时,加入ArrayBlockingQueue失败,会开启新的线程去执行,当线程数已经达到最大的maximumPoolSizes时,再有新的元素尝试加入ArrayBlockingQueue时会报错。IO密集型,即该任务需要大量的IO,即大量的阻塞。原创 2024-05-14 17:13:30 · 973 阅读 · 0 评论 -
阿里系 React 项目飞冰 2.0 正式发布
对于 Vue 物料源,受限于团队精力等,官方推出了 Vue 物料支持计划,希望可以通过社区共建的方式快速补充 Vue 物料数量、提升质量。你开发的 Vue 区块将不仅仅被自己使用,还会被更多的飞冰使用者复用。欢迎有 Vue 开发经验的热心同学一起共建!转载 2023-10-13 10:36:00 · 271 阅读 · 0 评论 -
ChatGPT 最强竞争对手 Claude 2 推出公开 Beta
与申请研究生院的大学生相比,Claude 2 在 GRE 阅读和写作考试中的得分高于 90%,在定量推理方面与申请者的中位数类似。从最新的 Claude 2 来看,用户可以直接通过 Anthropic 网站使用上 Claude 2,而不需要等待漫长的“候选名单”。今年 3 月,创立仅 2 年的 Anthropic 便推出了 Claude 的初版,彼时在申请测试之后,有不少媒体直接将其定位为“ChatGPT 最强劲的竞争对手”。常规聊天机器人有的能力,Claude 2 都有,"你具有哪些能力"转载 2023-10-13 10:29:19 · 183 阅读 · 0 评论 -
排序算法的奥秘:JAVA中的揭秘与实现
选择排序(Selection Sort)是一种简单的排序算法,它通过每次选择未排序部分中的最小元素,并将其放置在已排序部分的末尾,逐步完成整个数组的排序。具体来说,选择排序从第一个元素开始,逐个找到未排序部分的最小元素,并与未排序部分的第一个元素交换位置。它从数组的第二个元素开始,将当前元素保存为key,然后将比key大的元素向后移动一个位置,直到找到key的正确位置。它通过嵌套的循环迭代,每次迭代找到未排序部分的最小元素,并与未排序部分的第一个元素交换位置。// 在未排序部分中找到最小的元素的索引。原创 2023-09-21 16:54:16 · 305 阅读 · 0 评论 -
Java集合大揭秘:优雅管理数据的智慧舞台
需要注意的是,HashSet不是线程安全的,如果在多线程环境下使用,可以考虑使用线程安全的Set实现类,如ConcurrentHashSet。需要注意的是,Set接口并不保证元素的顺序,如果需要有序的Set,可以使用TreeSet或LinkedHashSet。通过选择合适的集合类,您可以在不同的场景中高效地存储、操作和查询数据,为您的应用程序提供稳定和可靠的数据基础。ArrayList内部使用数组实现,其容量会根据需要自动增长,但增长的过程会引起数组的复制,因此在频繁插入和删除元素时,可能会影响性能。原创 2023-08-28 16:09:40 · 113 阅读 · 0 评论 -
从课堂到职场:Java编程毕业即高薪入职
毕业即高薪入职并不是遥不可及的梦想。通过深入学习Java编程,掌握基础知识,实践项目经验,深入研究框架和工具,构建个人作品集,以及不断学习和发展,毕业生可以在职场中迎来高薪就业的机会。因此,不管你是正在学习还是即将毕业,都应该抓住这个机会,为自己的职业生涯打下坚实的基础,迈向高薪入职的成功之路。通过课堂学习、实际项目经验、深入研究框架和工具,以及积极参与社区和网络学习,毕业生可以毕业即入职,踏上成功的职业之路。在不断发展的技术领域,毕业生需要时刻保持学习的状态,了解新的技术趋势,不断提升自己的技能。原创 2023-08-08 11:18:17 · 76 阅读 · 0 评论 -
JAVA中没有方法体的方法是不是一定是抽象方法?
这样,我们可以通过多态性来使用不同的子类对象,并调用它们的draw()方法,实现不同的绘制行为。抽象方法必须声明在抽象类(Abstract Class)中,而抽象类本身不能被实例化,只能作为其他子类的基类。如果一个类继承自抽象类,并且没有实现抽象类中的所有抽象方法,那么该子类也必须声明为抽象类。是的,Java中没有方法体的方法通常是抽象方法(Abstract Method)。它的声明以分号结尾,而没有具体的方法体。抽象方法使得多态性和继承更有意义,让不同的子类可以根据自身的特点提供不同的实现。原创 2023-07-28 12:29:29 · 454 阅读 · 0 评论 -
重新点亮的代码梦想
然而,不幸的是,由于公司资金问题,小明所在的团队被迫裁员,他也成了其中的一员。他报名参加了一系列培训课程,学习了最新的Java技术和框架,并深入研究了人工智能和大数据领域。在求职过程中,小明利用自己的技术能力和项目经验,在GitHub上展示了一些优秀的个人项目,并在LinkedIn等社交网络上积极发掘人脉。面试中,他展现了自己的技术实力和对新技术的热情,给面试官留下了深刻印象。随着时间的推移,小明逐渐成为团队中的技术骨干,他的技术和领导能力得到了认可。坚持学习和进步,寻找新的发展方向,你会发现,原创 2023-07-27 10:01:34 · 53 阅读 · 0 评论 -
大数据SQL如何优化结合代码细节
大数据SQL查询涉及海量数据的处理,往往会面临数据膨胀和性能问题。数据膨胀是指在SQL查询过程中,由于数据量庞大,导致查询速度变慢和资源消耗增加。针对这些问题,可以采取一系列优化措施来提高查询性能和降低资源消耗。在大数据环境下,数据库表的设计要尽量简洁合理,避免冗余字段和过多的联接操作。使用合适的数据类型和索引,以提高查询效率。对大数据表进行分区和分片,将数据划分成更小的数据块,可以提高查询性能,减少查询数据量。创建适当的索引,根据查询需求进行索引优化。避免过多的索引和频繁的更新操作,以免影响性能。原创 2023-07-25 17:00:25 · 234 阅读 · 0 评论 -
JAVA图像处理算法-你真的了解吗?
在上述示例中,我们使用了高斯模糊算法对指定路径下的图像进行了模糊处理,并将结果保存在output_blurred_image.jpg文件中。请注意,这只是一个简单的Java示例,实际的图像模糊处理可能需要更复杂的算法和技术。在上面的示例中,我们读取了指定路径下的图像,然后调用rotateImage方法将图像旋转了45度,并将结果保存在output_rotated_image.jpg文件中。在实际应用中,你可以根据需求选择不同的边缘检测算法和参数,并结合其他图像处理技术来实现更复杂的图像处理效果。原创 2023-07-24 10:20:42 · 381 阅读 · 1 评论 -
java动态规划算法-你都了解吗?
这里的算法使用了动态规划的思想,通过构建一个二维数组dp,其中dp[i][j]表示str1前i个字符与str2前j个字符的最长公共子序列的长度。背包容量(C)仍然是固定的,你的目标是选择一些物品放入背包,使得在不超过背包容量的情况下,背包的总价值最大化。背包有一个固定的容量(C),你的目标是选择一些物品放入背包,使得在不超过背包容量的情况下,背包的总价值最大化。其中,W是背包的容量,wt[]是一个长度为n的数组,表示每种物品的重量,val[]是一个长度为n的数组,表示每种物品的价值。原创 2023-07-24 10:03:32 · 82 阅读 · 0 评论 -
JAVA图算法(4种)-你都清楚吗?
在深度优先搜索中,从起始节点开始,沿着一个路径一直访问未访问过的节点,直到到达不能再继续前进的节点为止,然后回溯到前一个节点,继续探索其他未访问的分支。在广度优先搜索中,从起始节点开始,首先访问它的所有直接邻居节点,然后再依次访问这些邻居节点的邻居节点,依次进行层级遍历,直到遍历完所有节点。最小生成树(Minimum Spanning Tree,MST)是图论中一个重要的概念,它是一个连通图的子图,包含原图中的所有顶点,但是只包含足以构成一棵树的边,且这些边的权重之和最小。该算法适用于没有负权边的图。原创 2023-07-21 10:55:34 · 425 阅读 · 0 评论 -
java查找算法(2大类)-你学会了吗?
它使用两个指针left和right来表示查找范围的左右边界,然后在每次迭代中计算中间元素的索引mid。main方法中的示例展示了如何使用该算法在一个已排序的数组中查找目标值。运行代码,你将看到查找结果的输出。线性查找算法的时间复杂度为O(n),其中n是数组的大小。线性查找适用于小型数据集或未排序的数据集,因为它需要逐个比较元素,其性能不如二分查找等更高级的查找算法。然而,线性查找是一种简单直观的查找方法,并且适用于各种情况下的查找需求。二分查找算法的时间复杂度为O(logn),其中n是数组的大小。原创 2023-07-18 15:38:05 · 107 阅读 · 0 评论 -
java排序算法(6大类)-你都会了吗?
下面展示一些内联代码片。// 递归对左半部分和右半部分进行归并排序// 合并两个有序的子数组// 创建临时数组存储左半部分和右半部分的元素// 将元素复制到临时数组中i < n1;j++) {// 合并临时数组中的元素i++;k++;// 将剩余的元素复制到数组中i++;k++;j++;k++;System.out.println("排序前的数组:");原创 2023-07-18 15:28:19 · 129 阅读 · 0 评论 -
程序员学到的方法论
意大利学者帕累托发现社会财富在人口中的分配是不平衡的,20%的人占用了80%的社会财富,而这种不平衡现象在社会中普遍存在,因此二八原则就成了这种不平衡关系的简称。在日常工作中,即便是小的事情,我们也可以按这种流程推进来培养自己做事的能力,这样在遇到复杂问题时,就能够很从容的做到抽丝剥茧,化繁为简。方法论是指导做事的基本原则,能够帮助我们快速的触及问题的核心并确定解决思路,好的方法论能让我们事半功倍,下面这几年学习到的部分方法论。当我们想清楚了了做一件事情的原因,接下来要确定的就是做什么,以及目标是什么;原创 2023-06-26 09:45:52 · 155 阅读 · 0 评论 -
java项目部署Linux服务器几种启动方式总结经验
最后在Linux项目上对项目进行操作的命令符如下: 后台暂时运行:java -jar /root/yyxx/cloud-yyxx-web-1.0-exec.jar(后台暂时运行) 后台永久运行,想要停止需杀死后台进程:nohup java -jar /root/yyxx/cloud-yyxx-web-1.0-exec.jar &() 查看jar进程:ps aux|grep cloud-yyxx-web-1.0-exec.jar 杀掉进程: kill -9 进程号。但是比较方便,快速,比较简单。原创 2023-06-17 22:37:52 · 2377 阅读 · 0 评论 -
大数据SQL数据与数据膨胀的优化与总结
目前市面上大数据查询分析引擎层出不穷,如Spark,Hive,Presto等,因其友好的SQL语法,被广泛应用于各领域分析,公司内部也有优秀的ODPS SQL供用户使用。主要分为以下三个部分:第一部分,会引入数据倾斜与数据膨胀问题。第二部分,介绍当数据倾斜与数据膨胀发生时,如何排查与定位。第三部分,会从系统层面给出常见优化思路数据倾斜是指在分布式计算时,大量相同的key被分发到同一个reduce节点中。原创 2023-06-14 21:32:46 · 511 阅读 · 0 评论 -
如何成为一名合格的IT?
在编写代码时,会特别注意哪些流程?在工作过程中踩过哪些坑?你是如何处理的呢?结合自身工作经验,分享一下程序员有哪些要避免的坑吧。原创 2023-06-02 17:29:13 · 65 阅读 · 0 评论 -
技术的重要性?改变生活
技术的重要性?改变生活从4个方便一、java系统it技术介绍二、it学习前的准备工作三、it学习时的具体操作四、如何巩固学习原创 2023-05-31 09:32:47 · 46 阅读 · 1 评论 -
java编程语言介绍
作为一名程序员,我认为炫技的代码写法并不是最重要的,更重要的是代码的可读性和可维护性。但是,有时候我们也可以在代码中加入一些小技巧,让代码更加优雅和高效。以下是一些我个人认为比较炫技的代码写法:原创 2023-05-30 15:50:35 · 242 阅读 · 1 评论 -
如何用java获取视频流混合处理
如何用java获取视频流混合处理原创 2023-05-30 15:29:00 · 290 阅读 · 1 评论 -
如何用java获取视频流处理
可以使用JavaCV库,它是OpenCV在Java中的接口,并且提供了访问视频流的功能原创 2023-05-30 15:22:15 · 2209 阅读 · 1 评论