java技术圈 为您找到相关结果 816

[15章]深入学习小程序框架底层原理,培养双线程思维

前端高手特训 从0到1带你手写一个微信小程序底层框架,小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。 框架 管理了整个小程序的页面路由,可以做到页面间的无缝切换,并给以页面完整的生命周期。开发者需要做的只是将页面的数据、方法、生命周期函数注册到 框架 中,其他的一切复杂的操作都交由 框架 处理。 wepy支持类似Vue的组件化开发,可以将页面拆分成多个独立的组件,提高代码复用性和开发效率。下面我们通过一个实际的案例来说明组件化开发在wepy中的应用。假设我们有一个小程序项目,其中包含一个商品列表页面和一个商品详情页面。我们可...阅读全文

博文 2023-12-18 15:28:19 giadnbhaytgw

JDBC快速入门:从环境搭建到代码编写,轻松实现数据库增删改查操作!

通过上篇文章我们已经对JDBC的基本概念和工作原理都有了一定的了解,本篇文章我们继续来探索如何从零开始,一步步搭建开发环境,编写代码,最后实现数据库的增删改查操作。 ## 一、开发环境搭建 首先,我们需要准备的开发环境有:Java开发工具包(JDK)、数据库(如MySQL)、数据库驱动(如MySQL Connector/J)。 #### 安装JDK: 你可以从Oracle官网下载适合你操作系统的JDK版本,按照提示进行安装即可。相信这个大家早已经安装过了,在这里就不再多说了。 #### 安装数据库: 同样在官网下载MySQL安装包,按照提示进行安装。安装完成后,需要创建一个数据库和表,用于后续的测试。 #### 下载数据库驱动: 在MySQL官网下载对应版本的MySQL Connector/...阅读全文

博文 2023-12-26 16:00:17 YDYXCODE

RandomAccessFile类使用详解_Simon_night的博客

RandomAccessFile类使用详解 疯狂java讲义读书笔记之RandomAccessFile类的使用详解 1.RandomAccessFile特点   RandomAccessFile是java Io体系中功能最丰富的文件内容访问类。即可以读取文件内容,也可以向文件中写入内容。但是和其他输入/输入流不同的是,程序可以直接跳到文件的任意位置来读写数据。   因为RandomAccessFile可以自由访问文件的任意位置,所以如果我们希望只访问文件的部分内容,那就可以使用RandomAccessFile类。   与OutputStearm,Writer等输出流不同的是,RandomAccessFile类允许自由定位文件记录指针,所以RandomAccessFile可以不从文件开始的地方...阅读全文

博文 2023-05-15 03:35:01 CSDN博客

Servlet 跳过特定的过滤器Filter_跳过filter_xuruilll的博客

最近维护一个老的SpringMVC的应用,增加CAS单点登录。但是有个特殊的需求是保留系统本身的认证,根据需要可以走CAS单点登录认证,也可以走系统本身的认证。 设计的方案是根据输入的URL进行判断,是否跳过CAS的Filter还是跳过系统本来的认证Filter。 下面上代码: POM文件: org.jasig.cas.client cas-client-core 3.5.0 web.xml FirstFilter ...阅读全文

博文 2023-04-12 07:30:29 CSDN博客

hbase配置副本数为2_mob64ca12e58adb的技术博客_51CTO博客

HBase配置副本数为2 HBase是一个分布式的、可扩展的开源NoSQL数据库。它提供了高可靠性、高性能和高扩展性的数据存储解决方案。在HBase中,数据以表的形式组织,每个表可以有多个列族,每个列族可以包含多个列。HBase以行的方式存储数据,并使用Hadoop的HDFS作为底层存储。 在HBase中,可以通过配置副本数来提高数据的可靠性和冗余性。副本数是指在HBase集群中,每个数据块的副本数量。当某个数据块不可用时,HBase可以从其他副本中读取数据,保证了数据的可靠性和高可用性。 配置副本数为2的方法 HBase中的副本数可以在创建表的时候进行配置。下面是一个示例代码: import org.apache.hadoop.conf.Configuration; import org....阅读全文

博文 2024-01-18 18:49:00 blog.51cto.com

Java单列集合Set:HashSet与LinkedHashSet详解,为什么它比List接口更严格?

上篇我们介绍了单列集合中常用的list接口,本篇我们来聊聊单列集合中的另外一个重要接口Set集合。 ### 1 Set 介绍 java.util.Set接口和java.util.List接口一样,同样实现了Collection接口,它与Collection接口中的方法基本一致,并没有对Collection接口进行功能上的扩充,只是比Collection接口更加严格了。 与List接口不同的是,Set接口中元素无序,并且都会以某种规则保证存入的元素不出现重复,这里的某种规则,我们在后面中给大家揭秘,大家不要着急。 - 无序 - 不可重复 它没有索引,所以不能使用普通for 循环进行遍历。 >Set 集合 遍历元素的方式 迭代器,增强for 来,我们通过案例练习来看看 ``` //创建集合对象 ...阅读全文

博文 2023-11-21 18:17:32 YDYXCODE

源码分析之byte & 0xFF

在阅读java源代码时会经常发些代码里面会出现诸如byte & 0xFF之类的代码,之前没深究,感觉是多此一举的操作。 后经过仔细研究发现里面涉及底层数据存储基本原则正数存储的二进制原码,负数存储的是二进制的补码。 在netty源码中,会使用Bytebuf来接收网络数据。如明确知道是一个字节无符号的数字,会调用ByteBuf.readUnsignedByte方法获取该字节的内容 public short readUnsignedByte() { return (short) (readByte() & 0xFF); } 复制代码其中readByte()会返回该字节对应的byte,但为什么后面有和 0xFF 进行按位与操作然后转换为short呢。 首先netty在接收网络数据时,会以相应大小的...阅读全文

博文 2023-05-18 04:43:02 掘金

如何规避云服务宕机现象?

本文分享自天翼云开发者社区《如何规避云服务宕机现象?》,作者:不知不觉云服务的广泛应用带来了许多优势,如可扩展性、灵活性以及成本效益等。然而,与此同时,云服务宕机现象也变得越来越普遍。为了避免或减少这种影响,研发人员需要采取一系列措施来确保云服务的稳定性和可用性。本文将探讨如何规避云服务宕机现象,以确保业务的连续性和可靠性。一、容灾备份和恢复计划数据备份:定期备份关键数据和应用程序,以防数据丢失或损坏。同时,确保备份数据存储在安全的地方,并且可以kuai速恢复。kuai速恢复:制定详细的kuai速恢复计划,以尽kuai恢复受影响的系统和应用程序。这可能涉及到从备份中恢复数据、重新配置资源等步骤。异地容灾:在异地建立备份数据中心,以应对自然灾害、网络攻-击等意外事件。确保备份数据中心具有足够的...阅读全文

博文 2024-01-12 10:48:48 Tianyiyun

[完结10章]Vue3+Pinia+Vite+TS 还原高性能外卖APP项目

![1.png](http://static.itsharecircle.com/240115/bd0d0695a853ab5f0ef58f1896a02c7f.png) Vue3 带来的改变,除了其自身新特性,还有相应的技术栈变化——比如 Pinia 将逐渐替代 Vuex 。我将在本文中带领大家使用 Vue3.2 + Pinia+ Vite + TS 高仿饿了么 Web App,帮助大家掌握 Vue3“全家桶”技术栈的同时,还掌握前端性能优化的常用方法和巧用设计模式应对复杂应用场景的能力。 网上在线订餐作为手机购物的一种表现形式,采用将图片和文字内容相结合的方式将商品信息展现给用户,这个方式使用户可以查看不同来源的商品信息以及不同层次的信息,以最大程度上了解商品的具体信息,同时可以搜索距离...阅读全文

博文 2024-01-15 10:51:36 udbmaidns

真正解决方案:java.lang.ClassNotFoundException: javax.xml.bind.JAXBException

真正解决方案:java.lang.ClassNotFoundException: javax.xml.bind.JAXBException 1. 故障描述2. 故障原因分析3.解决方案3.1 解决方案一3.2 解决方案二(亲测可行)3.3 解决方案三 1. 故障描述 今天在使用JDK 9.0 环境下使用Hibernate 时候出现了这个错误,错误日志如下: 2. 故障原因分析 JAXB API是java EE 的API,因此在java SE 9.0 中不再包含这个 Jar 包。 java 9 中引入了模块的概念,默认情况下,Java SE中将不再包含java EE 的Jar包 而在 java 6/7 / 8 时关于这个API 都是捆绑在一起的 3.解决方案 3.1 解决方案一 降低JDK 9...阅读全文

博文 2023-12-13 14:53:09 CSDN博客

kafka发送消息分区选择策略详解 | 戒修

背景面试被问到kafka消息发送是分区选择的策略,当时回答说是随机选择一个分区;或者通过消息key的hash值和分区数计算出分区。当时只是猜测的,并没有查看过kafka的源代码来证实,今天就通过源码来证实一下。 发送消息的一个简单例子12345678910111213141516171819 private static void sendMsg() { String topicName = "kafka-test"; // 设置配置属性 Properties props = new Properties(); props.put("metadata.broker.list", "127.0.0.1:2181"); props.put("bootstrap.servers", "127.0....阅读全文

博文 2023-09-13 14:49:00 沉迷技术的小沙弥

7-文件IO

1. 阻塞 IO通常来说,从普通文件读数据,无论你是采用 fscanf,fgets 也好,read 也好,一定会在有限的时间内返回。但是如果你从设备,比如终端(标准输入设备)读数据,只要没有遇到换行符(’\n’),read 一定会“堵”在那而不返回。还有比如从网络读数据,如果网络一直没有数据到来,read 函数也会一直堵在那而不返回。read 的这种行为,称之为 block,一旦发生 block,本进程将会被操作系统投入睡眠,直到等待的事件发生了(比如有数据到来),进程才会被唤醒。系统调用 write 同样有可能被阻塞,比如向网络写入数据,如果对方一直不接收,本端的缓冲区一旦被写满,就会被阻塞。1.1 阻塞读终端实验代码// 文件名:blockdemo.c#include 阅读全文

博文 2023-05-15 10:06:01 阻塞与非阻塞IO_51CTO博客_阻塞io和非阻塞io区别

抽象工厂

提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 抽象工厂模式(Abstract Factory)是一个比较复杂的创建型模式。 抽象工厂模式和工厂方法不太一样,它要解决的问题比较复杂,不但工厂是抽象的,产品是抽象的,而且有多个产品需要创建,因此,这个抽象工厂会对应到多个实际工厂,每个实际工厂负责创建多个实际产品: ┌────────┐ ─ >│ProductA│ ┌────────┐ ┌─────────┐ │ └────────┘ │ Client │─ ─>│ Factory │─ ─ └────────┘ └─────────┘ │ ┌────────┐ ▲ ─ >│ProductB│ ┌───────┴───────┐ └────────┘ │ │ ┌──────...阅读全文

博文 2023-05-18 10:01:52 廖雪峰的官方网站

中国电信天翼云全国产化大数据平台落地广西!

近期,中国电信天翼云采用国产化操作系统、应用软件的大数据平台在广西南宁正式上线并投入使用。该项目由天翼云与广西某公司合作,通过天翼云大数据平台翼MR、CTyunOS操作系统等产品,构建了集数据湖和批流一体处理能力的大数据平台。​该大数据平台的重要组成部分,天翼云大数据平台翼MR,是基于云原生技术打造的,集资源、服务、任务、应用等多层级运维管理于一身的服务平台。近年来,天翼云大数据平台翼MR逐步整合拓展大数据生态组件,自主研发重构大数据基础存储与计算等核心能力,为客户提供一站式的企业级大数据平台。目前,天翼云大数据平台翼MR已实现硬件、操作系统、存储、计算、调度的全栈自主可控,打造了基于软硬协同架构的高性能计算引擎,拥有国产化生态下业界领先的极-致性能。​平台的成功上线,体现了天翼云在大数据自...阅读全文

JVM自定义类加载器在代码扩展性的实践

作者:vivo互联网服务器团队-Wang Fei一、背景名单管理系统是手机上各个模块将需要管控的应用配置到文件中,然后下发到手机上进行应用管控的系统,比如各个应用的耗电量管控;各个模块的管控应用文件考虑到安全问题,有自己的不同的加密方式,按照以往的经验,我们可以利用模板方法+工厂模式来根据模块的类型来获取到不同的加密方法。代码类层次结构示意如下:获取不同加密方法的类结构图利用工厂模式和模板方法模式,在有新的加密方法时,我们可以通过添加新的handler来满足"对修改关闭,对扩展开放"的原则,但是这种方式不可避免的需要修改代码和需要重新发版本和上线。那么有没有更好的方式能够去解决这个问题,这里就是我们今天要重点讲的主题。二、类加载的时机 一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它...阅读全文

博文 2023-04-12 07:21:32 mp.weixin.qq.com

【完结14章】鸿蒙系统实战短视频App 从0到1掌握HarmonyOS

【完结14章】鸿蒙系统实战短视频App 从0到1掌握HarmonyOS 给大家分享一套视频课程——鸿蒙系统实战短视频App 从0到1掌握HarmonyOS,已完结14章,附源码。大家下载学习。 华为鸿蒙系统是一款全新的面向全场景的分布式操作系统,创造一个超级虚拟终端互联的世界,将人、设备、场景有机地联系在一起,将消费者在全场景生活中接触的多种智能终端,实现极速发现、极速连接、硬件互助、资源共享,用合适的设备提供场景体验。 鸿蒙的英文名是HarmonyOS,意为和谐。这个新的操作系统将打通手机、电脑、平板、电视、 工业自动化控制、无人驾驶、车机设备 、智能穿戴统一成一个操作系统,并且该系统是面向下一代技术而设计的,能兼容全部安卓应用的所有Web应用。若安卓应用重新编译,在鸿蒙OS上,运行性能提...阅读全文

博文 2023-12-04 16:11:02 woaiwodejia333

日志收集组件—Flume、Logstash、Filebeat对比-腾讯云开发者社区

概述数据的价值在于把数据变成行动。这里一个非常重要的过程是数据分析。提到数据分析,大部分人首先想到的都是Hadoop、流计算、机器学习等数据加工的方式。从整个过程来看,数据分析其实包含了4个过程:采集,存储,计算,展示。大数据的数据采集工作是大数据技术中非常重要、基础的部分,具体场景使用合适的采集工具,可以大大提高效率和可靠性,并降低资源成本。Flume、Logstash和Filebeat都是可以作为日志采集的工具,本报告将针对这三者进行分析。一、FlumeFlume是一种分布式、高可靠和高可用的服务,用于高效地收集、聚合和移动大量日志数据。它有一个简单而灵活的基于流数据流的体系结构。它具有可调的可靠性机制、故障转移和恢复机制,具有强大的容错能力。它使用一个简单的可扩展数据模型,允许在线分析...阅读全文

博文 2024-04-03 17:45:12 腾讯云

JVM自定义类加载器在代码扩展性的实践

导语 类加载器算是 JVM 的核心技术,也是比较难懂的知识,因此当然也就是成为了 java 面试中不可少内容,JVM自定义类加载器在代码扩展性在现实中也是我们经常遇到的问题,本次介绍的是VIVO技术团队在类加载器上的实践! 一、背景 名单管理系统是手机上各个模块将需要管控的应用配置到文件中,然后下发到手机上进行应用管控的系统,比如各个应用的耗电量管控;各个模块的管控应用文件考虑到安全问题,有自己的不同的加密方式,按照以往的经验,我们可以利用模板方法+工厂模式来根据模块的类型来获取到不同的加密方法。代码类层次结构示意如下: 获取不同加密方法的类结构图 利用工厂模式和模板方法模式,在有新的加密方法时,我们可以通过添加新的handler来满足"对修改关闭,对扩展开放"的原则,但是这种方式不可避免的...阅读全文

博文 2023-04-12 07:23:09 HeapDump性能社区

[24章]Qt 全流程实战企业级项目 - 云对象存储浏览器

学习地址1:https://pan.baidu.com/s/1OeNVv-9zowTbFVIpjSl8aQ 提取码:86h5 学习地址2:https://pan.baidu.com/s/187GgonRED21EseHMNE5ayg 提取码:bwsj 今天给大家讲解关于Qt的内容,我会在文章里面带着大家从0到1为你系统构建Qt知识体系,然后全流程实战开发项目“云对象存储浏览器”,让大家少走弯路,更快速的掌握Qt技术。 那么我们先来认识一下,什么是QT,他的具体作用是什么,应用在哪些方面? Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。 QT之所以能够在全世界范围内得到广大软件...阅读全文

博文 2023-12-12 15:29:25 maudnwiugbn

[升级16章+电子书]SpringBoot+Vue3 项目实战,打造企业级在线办公系统

![1.png](http://static.itsharecircle.com/231221/63b4e56185c6b291f708be52646cf255.png) SpringBoot+Vue3 项目实战,打造企业级在线办公系统,2023年升级版16章,附电子书!未来,在线协同办公将成为企业常态化的工作方式,今天就给大家讲讲关于在线办公的一个项目,项目采用了当下最流行的前后端分离架构及技术( Java、SSM、Vue3.0、工作流 )。 我将以业务为基础,贯穿前后端技术栈,获得企业级项目开发经验,结合Vue3、SSM、ElementUI等主流技术栈,打造流程完整、功能齐全、模块多样,真实可用的在线办公系统,喜欢大家会喜欢这样的一个项目。 下面我们就开始代码实践,感兴趣的朋友可以跟着一...阅读全文

博文 2023-12-21 10:10:26 muandhbw

ThreadLocal为什么要用WeakReference

先上一张图看一下ThreadLocal的内部结构,每个Thread对象内部都维护了一个ThreadLocal.ThreadLocalMap 我们在上图看到的就是三个Thread对象内部格子的ThreadLocalMap 这里要说的不是ThreadLocal,是ThreadLocal为什么要用WeakReference static class ThreadLocalMap { static class Entry extends WeakReference> { Entry(ThreadLocal k, Object v) { super(k); value = v; } 复制代码 弱引用WeakReference 弱引用只要发生了gc就会被回收,但前提是...阅读全文

博文 2023-05-23 03:39:09 掘金

WPF框架系列课程(小白进阶选择)

学习地址1:https://pan.baidu.com/s/1qOyFstIuAnTIlBo0-K1YDg 提取码: 68vv 学习地址2:https://share.weiyun.com/VAU3sFU2 密码:9cqtcj WPF 主要编程模型通过托管代码公开。 在 WPF 的早期设计阶段,曾有过大量关于如何界定系统的托管组件和非托管组件的争论。 CLR 提供一系列的功能,可以提高开发效率和可靠性(包括内存管理、错误处理和通用类型系统等),但这是需要付出代价的。 PresentationFramework、PresentationCore 和 milcore是 WPF 的主要代码部分。 在这些组件中,只有一个是非托管组件 - milcore。 milcore 是以非托管代码编写的,目的是...阅读全文

博文 2023-11-30 15:34:29 giadnbhaytgw

【小家java】Java线程池之---ForkJoinPool线程池的使用以及原理_forkjoinpool自定义线程池

相关阅读 【小家java】java5新特性(简述十大新特性) 重要一跃 【小家java】java6新特性(简述十大新特性) 鸡肋升级 【小家java】java7新特性(简述八大新特性) 不温不火 【小家java】java8新特性(简述十大新特性) 饱受赞誉 【小家java】java9新特性(简述十大新特性) 褒贬不一 【小家java】java10新特性(简述十大新特性) 小步迭代 【小家java】java11新特性(简述八大新特性) 首个重磅LTS版本 【小家java】Java中的线程池,你真的用对了吗?(教你用正确的姿势使用线程池) 小家Java】一次Java线程池误用(newFixedThreadPool)引发的线上血案和总结 【小家java】BlockingQueue阻塞队列详解以及5...阅读全文

博文 2023-12-01 10:52:18 CSDN博客

为什么重写equals必须重写hashCode-腾讯云开发者社区

equals常见面试题在开始聊之前,我们先看几个常见的面试题,看看你能不能都回答上来。1、equals和==有什么区别?2、hashcode相等的两个对象一定==相等吗?equals相等吗?3、两个对象用equals比较相等,那它们的hashcode相等吗?如果我们不重写equals和hashcode,那么它使用的是Object方法的实现。我们先简单看一下public boolean equals(Object obj) { return (this == obj); }复制public static int hashCode(Object o) { return o != null ? o.hashCode() : 0; }复制为什么要重写equals通过以上代码可以看出,Object提供...阅读全文

博文 2023-12-20 10:22:22 腾讯云

10章-SpringBoot 3 + Flutter3 实战低代码运营管理下载

10章-SpringBoot 3 + Flutter3 实战低代码运营管理 地址1:https://pan.baidu.com/s/1Uay0bc6ghAVf401t-OdXiQ 提取码:sqcs 地址2:https://pan.baidu.com/s/1l3kJpBzm9tw0xbTC2BVbew 提取码:2law 1、什么是低代码 低代码(Low Code)是一种可视化的应用开发方法,用较少的代码、以较快的速度来交付应用程序,将程序员不想开发的代码做到自动化,称之为低代码。Gartner随后又提出了aPaaS和iPaaS的概念,其中aPaaS概念和低代码非常吻合。随着这一概念的不断推广,全球市场上都涌现出了很多低代码平台。 2、低代码起源 Gartner随后又提出了aPaaS和iPaaS...阅读全文

博文 2023-11-23 15:40:54 uandyndgabn2003

npm和yarn的lockfile杂谈

Lockfile的作用1、确保每次install时生成稳定的依赖树,锁定依赖和依赖的依赖的版本。2、提升install的速度。yarn和npm都有一些诸如适配和提取公共依赖版本、扁平化依赖的优化策略,lockfile的存在可节省计算时间。package-lock.json和yarn.lockyarn.lock生成和更新策略如下:若yarn.lock不存在,安装依赖并生成yarn.lock。若yarn.lock存在且与package.json中的版本范围匹配,yarn.lock保持不变,yarn不会检查是否有新版本。若yarn.lock不满足package.json中的所有依赖项,yarn将查找最新的满足package.json中约束的可用版本,并更新yarn.lock。package-loc...阅读全文

博文 2024-02-25 12:14:16 知乎

存储程序和程序控制:开发经验分享及操作过程详解

本文分享自天翼云开发者社区《存储程序和程序控制:开发经验分享及操作过程详解》,作者:二进制诗人存储程序和程序控制是计算机行业中非常重要的一部分。它涉及到如何将程序和数据存储在计算机内存中,并通过程序控制来实现各种功能。本文将分享我的开发经验,并详细解释如何进行存储程序和程序控制的操作过程。1.理解存储程序和程序控制的基本概念 在计算机中,存储程序是指将程序和数据存储在内存中的过程。程序控制是指通过编写程序来控制计算机的运行,实现各种功能。理解这些基本概念是进行存储程序和程序控制开发的基础。2.选择合适的编程语言和开发环境根据具体的需求和开发经验,选择合适的编程语言和开发环境非常重要。常用的编程语言包括C、C++、Java等,而开发环境则可以选择Visual Studio、Eclipse等。根...阅读全文

博文 2024-01-12 10:50:50 Tianyiyun

linux shell 脚本调试技巧

本文分享自天翼云开发者社区《linux shell 脚本调试技巧》,作者:g****n1.bash -x 加脚本这是最常用的调试手段,终端会打印出,脚本执行过程中的每一个命令。a. 查看脚本流程有无错误b.查看变量值有无错误c.查看退出位置是否符合预期例如脚本 small_test.sh #!/bin/bashecho 1echo 2echo 3shell中执行 bash -x small_test.sh执行效果,会打印出,每一行代码的执行细节,类似于gdb的调试。[root@localhost ~]# bash -x small_test.sh + echo 11+ echo 22+ echo 332.bash一但有任何一个语句返回非真的值,则退出bashset -o errexit或者写...阅读全文

博文 2024-04-24 14:13:25 Tianyiyun

MyBatis-Plus快速入门指南:零基础学习也能轻松上手

在Java开发的世界里,持久层框架的选择对于项目的成功至关重要。今天,我们要聊的主角是MyBatis-Plus——一个增强版的MyBatis,它以其强大的功能、简洁的代码和高效的性能,正在成为越来越多开发者的新宠。 那么,MyBatis-Plus到底是什么?又该如何快速入门呢?让我们一起探索这个强大的工具。 ## 一、MyBatis-Plus简介 ### 1、简介 MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 ![image.png](http://static.itsharecircle.com/240227/ef4...阅读全文

博文 2024-02-27 15:23:28 YDYXCODE

换个数据结构,IntObjectHashMap 内存优化 IT 精品课

​当时其实我是被他的这个图片给吸引到了(里面的 12 qps 应该是 12k qps): ​ 他介绍了两个核心系统在经过一个“数据压缩”的操作之后,分别节约了 204C 和 2160C 的服务器资源。共计就是 2364C 的服务器资源。如果按照一般标配的 4C8G 服务器,好家伙,这就是节约了 591 台机器啊,你想想一年就节约了多大一笔开销。 ​ 视频中介绍了几种数据压缩的方案,其中方案之一就是用了高性能集合: ​ 因为他们的系统设计中大量用到“本地缓存”,而本地缓存大多就是使用 HashMap 来帮忙。所以他们把 HashMap 换成了性能更好的 IntObjectHashMap,这个类出自 Netty。为什么换了一个类之后,就节约了这么多的资源呢?换言之,IntObjectHashMa...阅读全文

博文 2023-05-15 09:08:26 IT 精品课

换个数据结构,IntObjectHashMap 内存优化

各种资源,各种教程,请=》 当时其实我是被他的这个图片给吸引到了(里面的 12 qps 应该是 12k qps): 他介绍了两个核心系统在经过一个“数据压缩”的操作之后,分别节约了 204C 和 2160C 的服务器资源。 共计就是 2364C 的服务器资源。 如果按照一般标配的 4C8G 服务器,好家伙,这就是节约了 591 台机器啊,你想想一年就节约了多大一笔开销。 视频中介绍了几种数据压缩的方案,其中方案之一就是用了高性能集合: 因为他们的系统设计中大量用到“本地缓存”,而本地缓存大多就是使用 HashMap 来帮忙。 所以他们把 HashMap 换成了性能更好的 IntObjectHashMap,这个类出自 Netty。 为什么换了一个类之后,就节约了这么多的资源呢? 换言之,Int...阅读全文

博文 2023-05-12 03:17:07 CSDN博客

MyBatis实战指南(一):从概念到特点,助你快速上手,提升开发效率!

>MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集的过程。 大家好,今天我们要来聊聊一个在Java开发中非常实用的框架——MyBatis。你是否曾经因为数据库操作而感到困扰?是否曾经因为SQL语句的编写而烦恼?那么,MyBatis或许就是你的救星。 接下来,让我们一起来了解一下MyBatis的概念与特点吧! ## 一、MyBatis基本概念 - MyBatis 是一款优秀的半自动的ORM持久层框架,它支持自定义 SQL、存储过程以及高级映射。 - MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。 - MyBatis 可以通过简单的 XML 或注解来配置和映射原...阅读全文

博文 2024-01-08 15:23:26 YDYXCODE

云边端融合创新,构建产业新发展!

7月10日至11日,2024算力互联网大会(重庆)明月湖·π全球创新大会在重庆举办。大会以“算力互联普惠化 赋能新质生产力”为主题,围绕算力互联互通、算力互联网发展与实践,聚焦全球科技创新热点话题,探讨科技创新未来发展趋势及全国一体化算力体系建设。​天翼云科技有限公司西南中心资深行业专家刘宁出席云边端分布式算力发展论坛并发表《云边端融合创新:分布式算力重塑数字未来》演讲,向与会嘉宾介绍了天翼云在算力、云边端融合趋势下的创新探索以及天翼云在重庆的实践经验。刘宁在演讲中表示,在大模型等新技术的驱动下,云边端分布式算力发展呈现出新趋势——云:算力服务以租用为主,算力公有云将得到快速发展,边:边缘端聚焦推理,形成云端有效补充;端:AI应用需求促使算力供给多样化发展。云边端的协同发展共同推动行业数据价...阅读全文

博文 2024-07-18 16:33:03 Tianyiyun

【干货】一文掌握JavaScript检查对象空值的N种技巧!

在开发 JavaScript 应用程序时,经常需要检查对象是否为空。这是因为在处理和操作对象数据时,我们需要确保对象包含有效的值或属性。以下是一些常见情况,我们需要检查 JavaScript 对象是否为空: **防止空引用错误:** 当我们尝试访问或使用一个空对象时,可能会导致空引用错误(如 TypeError: Cannot read property ‘x’ of null)。通过检查对象是否为空,我们可以避免这些错误的发生,并采取相应的处理措施。 **数据验证和表单提交:** 在表单提交之前,通常需要验证用户输入的数据是否有效。如果对象为空,表示用户未提供必要的数据或未填写表单字段,我们可以显示错误消息或阻止表单提交。 **条件逻辑和流程控制:** 根据对象是否为空,可以根据不同的条件...阅读全文

博文 2024-01-30 10:31:39 YDYXCODE

蝉联第一,天翼云电脑持续领跑中国DaaS市场!

​近日,IDC发布的《中国虚拟桌面软件及云服务市场半年跟踪报告》数据显示,中国电信天翼云在2023年上半年中国桌面即服务(Desktop as a Service,以下简称“DaaS”)市场中,蝉联第一。这是天翼云继2022全年DaaS市场第一之后,再次领跑中国云桌面市场。​随着移动办公、远程办公、轻量化运维等需求的增长,云桌面的市场规模不断扩大,加之5G、云网融合及算力网络等新的通信技术的涌现,云电脑迎来了广阔的发展空间。作为云服务国家队,天翼云积极布局终端市场,重磅打造的天翼云电脑,具备流畅便捷、安全可靠、灵活配置、集中管控等优势,助力用户构建智慧办公新模式,制胜数字时代。依托自身优质云网资源,天翼云在技术、服务方面不断进行创新突破,升级打造了更安全、更好用、更经济的天翼云电脑2.0版。...阅读全文

博文 2023-12-01 15:37:12 Tianyiyun

云数据库MySQL多人协同开发实践

本文分享自天翼云开发者社区《云数据库MySQL多人协同开发实践》,作者:不知不觉随着云计算技术的快速发展,云数据库作为云计算的重要组成部分,为企业提供了高效、灵活和可靠的数据存储和管理服务。其中,MySQL作为一款流行的开源关系型数据库,在云数据库领域具有广泛的应用。多人协同开发是软件开发过程中的重要环节,本文将探讨云数据库MySQL多人协同开发的实践。一、云数据库MySQL多人协同开发的优势高效协作:云数据库MySQL支持多人同时在线编辑和操作,实现了实时同步和冲突解决,提高了团队协作效率。数据安全:云数据库MySQL提供了数据加密、访问控制等安全措施,确保数据在传输和存储过程中的安全性。灵活扩展:云数据库MySQL可以根据业务需求进行弹性扩展,满足不同规模的应用需求。高效性能:云数据库M...阅读全文

博文 2023-12-18 18:29:21 Tianyiyun

基于Flink+Iceberg构建可落地的企业级实时数据湖教程

基于Flink+Iceberg构建可落地的企业级实时数据湖教程 给大家分享一套课程——基于Flink+Iceberg构建可落地的企业级实时数据湖教程,附代码+课件。 iceberg是一种表格式。我们可以简单理解为他是基于计算层(flink、spark)和存储层(orc、parqurt)的一个中间层,我们可以把它定义成一种“数据组织格式”,Iceberg将其称之为“表格式”也是表达类似的含义。他与底层的存储格式(比如ORC、Parquet之类的列式存储格式)最大的区别是,它并不定义数据存储方式,而是定义了数据、元数据的组织方式,向上提供统一的“表”的语义。它构建在数据存储格式之上,其底层的数据存储仍然使用Parquet、ORC等进行存储。在hive建立一个iceberg格式的表。用flink或...阅读全文

博文 2024-02-29 16:16:45 xiaoshuai8888

Vue.js——60分钟组件快速入门(下篇) - keepfool

概述 上一篇我们重点介绍了组件的创建、注册和使用,熟练这几个步骤将有助于深入组件的开发。另外,在子组件中定义props,可以让父组件的数据传递下来,这就好比子组件告诉父组件:“嘿,老哥,我开通了一个驿站,你把东西放到驿站我就可以拿到了。” 今天我们将着重介绍slot和父子组件之间的访问和通信,slot是一个非常有用的东西,它相当于一个内容插槽,它是我们重用组件的基础。Vue的事件系统独立于原生的DOM事件,它用于组件之间的通信。 本文的主要内容如下: 组件的编译作用域 在组件template中使用标签作为内容插槽 使用$children, $refs, $parent 实现父子组件之间的实例访问 在子组件中,使用$dispatch向父组件派发事件;在父组件中,使用$broadca...阅读全文

博文 2024-01-26 10:22:04 博客园

HTML简介:想成为前端开发者?先从掌握HTML开始!

在这个数字化的时代,我们每天都在与网页打交道。你是否曾经好奇过,这些充满魔力的网页是如何诞生的呢?今天,我们就来揭开构成这些网页的神秘面纱——HTML(超文本标记语言)。一、什么是HTML网页的基本组成网页是构成网站的基本元素,通常由图片、链接、文字、声音、视频等元素组成,通常我们看见的网页都是.htm和.html后缀结尾的文件,因为都称为HTML文件。什么是HTMLHTML 英文全称是 Hyper Text Markup Language,中文译为“超文本标记语言”,专门用来设计和编辑网页。​使用 HTML 编写的文件称为“HTML 文档”,一般后缀为.html(也可以使用.htm,不过比较少见)。HTML 文档是一种纯文本文件,您可以使用 Windows 记事本、Linux Vim、No...阅读全文

博文 2024-03-05 18:04:49 YDYXCODE

MyBatis实战指南(三):常用注解及使用方法

在前面的两篇文章中,我们已经详细介绍了MyBatis的工作原理和基本使用。今天,我们将深入探讨MyBatis的一个重要特性——注解。如果你对MyBatis的注解还不熟悉,那么这篇文章将为你打开一扇新的大门。 ## 一、什么是注解(Annotation) 首先,我们需要明白什么是注解。注解 Annotation 是从JDK1.5开始引入的新技术。 在Java中,注解是一种用于描述代码的元数据,它可以被编译器、库和其他工具读取和使用。MyBatis的注解就是用来简化XML配置的,它们可以让你的代码更加简洁、易读。 **注解的作用:** - 不是程序本身,对程序作出解释 - 可以被其他程序读取到 **Annotation格式:** 注解是以@注解名的方式在代码中实现的,可以添加一些参数值 如:@S...阅读全文

博文 2024-01-18 16:18:24 YDYXCODE

kernel-bypass

Kernel-bypass,即绕过内核的意思,是一种计算机科学中的技术方法,用于减少操作系统内核在数据处理路径中的参与,从而降低系统调用的开销,提高数据传输和处理的效率。在高吞吐量、低延迟的应用场景中,如高性能网络通信、大数据处理、金融交易系统等,kernel-bypass技术尤为重要。传统的数据传输流程需要经过用户空间(User Space)到内核空间(Kernel Space)的上下文切换,这个过程会引入额外的延迟。Kernel-bypass技术允许应用程序直接访问硬件资源(如网卡、存储设备),跳过了内核参与的数据路径,减少了系统调用和内存拷贝的次数,进而提升应用的性能。一些常见的kernel-bypass技术包括:DPDK (Data Plane Development Kit): 为...阅读全文

博文 2024-07-31 15:07:09 zhidiantech

Flink1.19源码剖析【完结】

Flink1.19源码剖析【完结】 Flink是一个复杂的分布式计算框架,通过对其源代码进行分析,可以深入了解Flink的内部实现原理,包括任务调度、数据流处理、状态管理等方面。而从源代码目录入手,进行Flink源代码分析是非常必要的。因为Flink是一个开源的项目,其源代码是公开的,其组织结构非常清晰,不同模块的代码都被分别放置在不同的目录中,因此从源代码目录入手可以更加方便地找到需要分析的代码,而且可以更加系统地了解Flink的整体架构和设计思路。 一、时间类型解析 1、处理时间(Processing Time):处理时间是指数据被计算引擎处理的时间,以各个计算节点的本地时间为准。 2、事件事件(Event Time):事件时间是指数据发生的时间,通常产生于数据采集设备中,与Flink计...阅读全文

博文 2024-09-05 15:44:33 woaidaqipaiqiu1122

[完结13章,附电子书]高性能多级网关与多级缓存架构落地实战

资料地址1:https://pan.baidu.com/s/1bSdBzBeMXX3MTX29TJlM8Q 提取码:taht 资料地址2:https://share.weiyun.com/SNltUNLW 密码:zi3dc7 今天给大家讲讲关于多级网关与多级缓存架构的相关知识,在文章里面,我将从0到1带着大家构建基础服务接口,通过层层递进优化服务,使得服务具备多级缓存的特性,并融合OpenResty拓展一个强大的多级网关+多级缓存的技术架构。 以下就是代码实战展示: 引入springboot3的maven依赖,本质上作为pom引入,直接管理他的版本号,后续用到啥组件直接拿来即用: 阅读全文

博文 2023-12-14 10:33:26 maudnwiugbn

HTML常用布局标签:提升网页颜值!不可不知的HTML布局技巧全解析!

在HTML的世界里,一切都是由容器和内容构成的。容器,就如同一个个盒子,用来装载各种元素;而内容,则是这些盒子里的珍宝。理解了这一点,我们就迈出了探索HTML布局的第一步。 在HTML中,布局标签主要用于控制页面的结构和样式。本文将介绍一些常用的布局标签及其使用方法,并通过代码示例进行演示。 ## 一、理解布局的重要性 布局在我们前端开发中担任什么样的角色呢?想象一下,你面前有一堆散乱的积木,无序地堆放在那里。 ![image.png](http://static.itsharecircle.com/240314/42465c70aa2b41f9d7f36d7e9e494d03.png) 而你的任务,就是将这些积木按照图纸拼装成一个精美的模型。HTML布局标签的作用就像那张图纸,它指导浏览器...阅读全文

博文 2024-03-14 18:11:10 YDYXCODE

Llama3大模型原理代码精讲与部署微调评估实战

Llama3大模型原理代码精讲与部署微调评估实战 Llama 3 大模型 使用的是 标准的 仅解码 Decoder-Only 式的 Transformer 架构 ; 与之相对的 ChatGPT 使用的是 GPT ( Generative Pre-trained Transformer ) 架构 , 包含了编码器 ( Encoder ) 和 解码器 ( Decoder ) 的特性 ; Llama 3已经在多种行业基准测试上展现了最先进的性能,提供了包括改进的推理能力在内的新功能,是目前市场上最好的开源大模型。 在架构层面,Llama3选择了标准的仅解码(decoder-only)式Transformer架构,采用包含128K token词汇表的分词器。Llama 3在Meta自制的两个24K ...阅读全文

博文 2024-10-21 11:38:39 woaidaqipaiqiu1122

maven-shade

[TOC] 一、 缘起编写java agent插件的时候,用到javassist修改字节码,插件用来记录调用链的,需要在方法的前后插入代码。突发奇想,用来看看javassist是怎么调用的,结果达不到预期效果,因为java agent中,javassist的代码已经加载过了,没插入记录调用链的代码,刚好看到guava中有介绍用maven-shade-plugin将guava repackage重命名包名,因此记录下。 二、maven-shade-plugin介绍maven-shade-plugin是一个maven打包插件,提供的功能比较丰富,使用也简单易懂。 1、简单打包简单打包只需要增加execution, 指定执行package的phase,为这个phase绑定global shade就...阅读全文

博文 2024-01-25 20:15:46 plugin介绍 | ZhengRun's Blog

使用CompletableFuture优化你的代码执行效率 - 冬至饮雪

这篇文章详细讲解java8中CompletableFuture的特性,方法以及实例. 在java8以前,我们使用java的多线程编程,一般是通过Runnable中的run方法来完成,这种方式,有个很明显的缺点,就是,没有返回值,这时候,大家可能会去尝试使用Callable中的call方法,然后用Future返回结果,如下: public static void main(String[] args) throws Exception { ExecutorService executor = Executors.newSingleThreadExecutor(); Future stringFuture = executor.submit(new Callable阅读全文

博文 2024-04-12 15:39:19 博客园

解决 FPGA 在 BD Ring 上不搬运描述符的问题

最近在处理 FPGA 与 BD Ring 交互时遇到了一个棘手的问题,即 FPGA 在某些情况下并没有按预期搬运描述符。进一步调查后,发现问题很可能与中断抑制策略有关。下面,我将分享一下排查和解决这个问题的过程,希望对遇到类似问题的开发者有所帮助。背景首先,先来了解一下主要术语:FPGA(现场可编程门阵列),用于高性能计算和数据处理。BD Ring(Buffer Descriptor Ring),用于管理内存中的缓冲区描述符。中断抑制,一种优化策略,用于减少 CPU处理中断请求的频率,以提高系统的整体性能。在高性能计算环境下,不当的中断抑制策略可能引发一些意外问题,比如 FPGA 在 BD Ring 上不搬运描述符。排查步骤1. 验证中断配置首先,确保系统中针对 FPGA 的中断配置没有问题...阅读全文

博文 2024-06-26 14:09:45 zhidiantech

前端项目性能优化方案有哪些

本文分享自天翼云开发者社区《前端项目性能优化方案有哪些》,作者:王****祺一、加载优化(减少http请求数)常用的减少HTTP请求的方法有以下几种:1.合并图片:当页面图片较多时,可以将相似的图片合并为一张大图,从而减少HTTP请求次数。对于不经常变化的图片,使用精灵图或雪碧图进行合并,可以充分利用浏览器缓存提升性能。2.合并压缩CSS样式表和JS脚本:将相似或通用的CSS和JS文件进行合并,压缩后减少HTTP连接数。这种方法可以减少资源文件的大小,从而提升网页加载速度。3.去掉不必要的请求:在代码编写或系统升级之后,可能会有一些无效的链接残留在页面中,应该及时清理这些无效链接,以减少HTTP请求的次数。4.首屏加载优化:优化首屏的加载,使得页面能够快速显示,可以提高用户对页面速度的感知。...阅读全文

博文 2024-04-24 14:15:31 Tianyiyun

RocksDB 二级缓存

本文分享自天翼云开发者社区《RocksDB 二级缓存》,作者:b****nRocksDB 团队正在实现对非易失性介质上的块缓存的支持。可以看作是 RocksDB 当前的易失性块缓存的扩展。非易失性块缓存充当第二层缓存,其中包含从易失性缓存中逐出的块。当这些块由于访问而变得更热时,它们会被提升到易失性缓存中。此功能适用于数据库位于远程存储或云存储上的情况。非易失性缓存在 RocksDB 中被称为 SecondaryCache。通过维护比 DRAM 大一个数量级的二级缓存,需要从远程存储读取的次数会更少,从而减少读取延迟和网络带宽消耗。从用户的角度来看,本地闪存缓存将支持以下需求:1.打开数据库时提供指向二级缓存的指针。2.能够在同一进程中跨DB共享二级缓存。3.一台主机上有多个二级缓存。4.通...阅读全文

博文 2024-08-02 16:50:33 Tianyiyun