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

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

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

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

C++从0实现百万并发Reactor服务器[完结13章]

![1.png](http://static.itsharecircle.com/240130/b0c07642d8e8837d138ca05fd631160f.png) 一、reactor是什么?怎么理解? reactor是一种设计模式, 是服务器的重要模型, 是一种事件驱动的反应堆模式, 高效的事件处理模型。 reactor 反应堆: 事件来了才执行,事件类型可能不尽相同,所以我们需要提前注册好不同的事件处理函数。事件到来就由 epoll_wait 获取同时到来的多个事件,并且根据数据的不同类型将事件分发给事件处理机制 (事件处理器), 也就是提前注册的哪些接口函数。 reactor模型的设计思想和思维方式:它需要的是事件驱动,相应的事件发生,根据事件自动的调用相应的函数,所以需要提前注...阅读全文

博文 2024-01-30 10:06:55 feilipu2023nui

C++从0实现百万并发Reactor服务器[完结13章]

![1.png](http://static.itsharecircle.com/240129/bd9b789356a023d2a952390e901cfd0e.png) Reactor 模式也叫做反应器设计模式,它是一种为处理服务请求并发提交到一个或者多个服务处理程序的事件设计模式。当请求抵达后,服务处理程序使用解多路分配策略,然后同步地派发这些请求至相关的请求处理程序。 Reactor翻译过来的意思是:反应堆,所以Reactor设计模式本质是基于事件驱动的。在Reactor设计模式中,存在如下几个角色。 Handle(事件)。Reactor整体是基于Handle进行驱动,这里的Handle叫做事件,可以类比为BIO中的Socket,NIO中的Socket管道。比如当Socket管道有连接...阅读全文

升级版,重学C++ ,重构你的C++知识体系

升级版,重学C++ ,重构你的C++知识体系 视频课程分享——升级版,重学C++ ,重构你的C++知识体系,附源码+PDF课件下载,大家下载学习。 C++(c plus plus)是一种计算机高级程序设计语言,由C语言扩展升级而产生,最早于1979年由本贾尼·斯特劳斯特卢普在AT&T贝尔工作室研发。 C++既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计。 C++几乎可以创建任何类型的程序:游戏、设备驱动程序、HPC、云、桌面、嵌入式和移动应用等。 甚至用于其他编程语言的库和编译器也使用C++编写。 C++拥有计算机运行的实用性特征,同时还致力...阅读全文

博文 2024-03-05 16:10:03 xiaoshuai8888

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

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

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

介绍 Nashorn —— Java 8 JavaScript 引擎

文章目录 1. jjs2. 在Java中调用Nashorn引擎3. 编译JavaScript代码4. 传递数据到脚本5. 在Java中调用JavaScript函数6. 调用Java静态方法和字段7. 创建Java对象8. 访问Java类的补充说明9. 语言扩展9.1. 类型数组9.2. 用foreach语句迭代数组或集合9.3. 函数字面量9.4. 条件捕获语句9.5. 用Object.setPrototypeOf设置对象原型9.6. Lambda表达式和数据流9.7. 类的继承9.8. 函数重载9.9. Java Beans9.10. 属性绑定9.11. 字符串扩展9.12. 位置9.13. 导入作用域9.14. 数组转换9.15. 访问超类9.16. 神奇的noSuchProperty和...阅读全文

博文 2024-04-15 17:23:36 耗子的博客

[源码+PDF文档]重学C++ ,重构你的C++知识体系

![1.png](http://static.itsharecircle.com/240303/a01f301c60cd644f0f3faa0e832a7740.png) 从学习角度看,C++是一门“见效慢”的语言;学习曲线陡峭,语言本身复杂。但,如果你想了解很多编程语言的思想源泉,想要一窥大型企业级开发工程的思路,想开发别人做不了的高性能程序,那C++就是你的好伙伴。 一、什么是C++? C++是一种面向对象的计算机程序设计语言,作为C语言的继承,C++不仅能进行C语言的过程化程序设计,而且可进行以抽象数据类型为特点的基于对象的程序设计,还能进行基于过程的程序设计。C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它的设计风格支持数据抽象、面向对象程序设计、过程化程序设计...阅读全文

博文 2024-03-03 10:50:36 gaindiuhgw

浅谈下Fastjson的autotype绕过

前言继去年1.2.47 Fastjson被绕过之后,最近的1.2.68又出现了绕过。 正好前段时间翻了一遍Fastjson的源码,对整体逻辑有了一些了解,就尝试分析下autotype的校验过程,以及这两次绕过的思路。若有错误,还望指出。 autotype的校验为什么校验一直被绕过?1.2.24之后,fastjson对反序列化的类型进行了校验,主要就体现在ParserConfig.checkAutoType函数中 里面会对反序列化的类型进行黑白名单和校验,然后获取对应的Java类。 至于为什么没开启SupportAutoType属性依然会存在反序列化的危险呢? 可以看到在解析过程中,只要key值为@type时,就会进入checkAutoType函数尝试获取类。 而且校验SupportAutoT...阅读全文

博文 2024-03-18 11:16:58 Kingkk's Blog

Fastjson踩“坑”记录和“深度”学习_fastjson noneautotype

作者:陶征策 阿里国际站商家技术团队 Fastjson是阿里开发的Java语言编写的高性能JSON库,本文总结了Fastjson使用时的一些注意事项,并简单分析了Fastjson的底层工作原理,结合具体的验证代码以及跟Jackson的对比,希望能帮助大家充分理解Fastjson的使用。 一、为什么写这篇? Fastjson是阿里开发的Java语言编写的高性能JSON库,用于将数据在JSON和Java Object之间互相转换,提供两个主要接口JSON.toJSONString和JSON.parseObject来分别实现序列化和反序列化操作,使用起来很方便。 最近在升级一个老系统的缓存架构,使用Fastjson将对象序列化后存入缓存,并在client端反序列化后使用,以减少对后端hsf的请求次...阅读全文

博文 2024-03-18 10:49:12 CSDN博客

[Hive]表生成函数(UDTF)使用指南

UDTF是User-Defined Table-Generating Functions 的缩写,即用户定义的表生成函数。UDTF 用于从原始表中的一行生成多行数据。典型的 UDTF有EXPLODE、posexplode等函数,它能将array或者map展开。 表生成函数和聚合函数是相反的,表生成函数可以把单列扩展到多列。表生成函数:可以理解为一个函数可以生成一个表。 1、explode函数-行转列 explode函数以array类型数据输入,然后对数组中的数据进行迭代,返回多行结果,一行一个数组元素值。 ARRAY函数是将一列输入转换成一个数组输出。 1.1 explode函数语法 返回类型函数名描述Texplode(ARRAY a)可以返回0到多行的结果,每行对应的是array数组中的一...阅读全文

博文 2024-04-01 19:13:34 CSDN博客

C++大厂面试真题宝典 精选100道

C++大厂面试真题宝典 精选100道 好课大家一起分享——C++大厂面试真题宝典 精选100道,附课程源码下载。 C和C++的区别 C是面向过程的语言,而C++是面向对象的语言。 C和C++动态管理内存的方法不一样,C是使用malloc/free函数,而C++除此之外还使用new/delete关键字。 C++的类是C里没有的,但是C中的struct是可以在C++中正常使用的,并且C++对struct进行了进一步的扩展,使得struct在C++中可以和class有一样的作用。而唯一和class不同的地方在于struct成员默认访问修饰符是public,而class默认的是private。 C++支持重载,而C语言不支持。 C++有引用,C没有。 C++全部变量的默认链接属性是外链接,而C是内链...阅读全文

博文 2024-03-07 19:02:42 xiaoshuai8888

[完结7章]C++大厂面试真题宝典 精选100道

![1.png](http://static.itsharecircle.com/240308/901bc4f770305e90c29771d610d2ba74.png) C++大厂面试汇总,希望对大家的面试有帮助: 1、C和C++的区别 C是面向过程的语言,而C++是面向对象的语言。 C和C++动态管理内存的方法不一样,C是使用malloc/free函数,而C++除此之外还使用new/delete关键字。 C++的类是C里没有的,但是C中的struct是可以在C++中正常使用的,并且C++对struct进行了进一步的扩展,使得struct在C++中可以和class有一样的作用。而唯一和class不同的地方在于struct成员默认访问修饰符是public,而class默认的是private。...阅读全文

博文 2024-03-08 10:29:22 gaindiuhgw

Hive解析Json数组超全讲解 - 五分钟学大数据

在Hive中会有很多数据是用Json格式来存储的,如开发人员对APP上的页面进行埋点时,会将多个字段存放在一个json数组中,因此数据平台调用数据时,要对埋点数据进行解析。接下来就聊聊Hive中是如何解析json数据的。 本文首发于公众号【五分钟学大数据】 Hive自带的json解析函数 1. get_json_object 语法:get_json_object(json_string, '$.key') 说明:解析json的字符串json_string,返回path指定的内容。如果输入的json字符串无效,那么返回NULL。这个函数每次只能返回一个数据项。 示例: select get_json_object('{"name":"zhangsan","age":18}','$.name')...阅读全文

博文 2024-04-01 19:14:29 博客园

Spring Cloud Alibaba: 实现服务的无损下线功能

Spring Cloud Alibaba: 实现服务的无损下线功能作者:谁偷走了我的奶酪2024.01.18 02:49浏览量:2简介:在微服务架构中,服务的上线和下线是一个常见的操作。然而,直接关闭服务可能会导致数据丢失或服务中断。本文将介绍如何使用Spring Cloud Alibaba实现服务的无损下线功能。在微服务架构中,服务的上线和下线是一个常见的操作。但是,直接关闭服务可能会导致数据丢失或服务中断,这被称为“有损下线”。为了解决这个问题,我们可以使用Spring Cloud Alibaba提供的解决方案来实现服务的无损下线。无损下线的原理是在服务关闭之前,将所有待处理的任务或者请求全部处理完成,保证服务的正常运行,然后再安全地关闭服务。这样就可以避免数据丢失和服务中断的问题。要实...阅读全文

博文 2024-03-28 11:23:54 百度开发者中心

一招教你怎么用Java调用groovy脚本

为什么要聊groovy呢?其实Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python和Ruby许多强大的特性,Groovy代码能够与Java代码很好地结合,也能用于扩展现有代码。Groovy有哪些特点呢?为Java开发者提供了 现代最流行的编程语言特性,而且学习成本很低(几乎为零)。Groovy拥有处理原生类型,面向对象以及一个Ant DSL,使得创建Shell Scripts变得非常简单。groovy中基本类型也是对象,可以直接调用对象的方法。支持函数式编程,不需要main函数。直接编译成Java字节码,这样可以在任何使用Java的地方 使用Groovy。OK,接下来切入整体,介绍一下怎么通过Java调用Groovy脚本。Java调用Groovy的几种方法工具:...阅读全文

博文 2024-04-15 17:33:12 知乎

Ceph的crush算法与一致性hash对比介绍

本文分享自天翼云开发者社区《Ceph的crush算法与一致性hash对比介绍》,作者:l****n首先,我们先回顾下一致性hash以及其在经典存储系统中的应用。一致性hash的基本原理一致性hash的基本思想是,有一个hash函数,这个hash函数的值域形成了一个环(收尾相接:the largest hash value wraps around to the smallest hash value),然后存储的节点也通过这个hash函数随机的分配到这个环上,然后某个key具体存储到哪个节点上,是由这个key取hash函数对应到环的一个位置,然后沿着这个位置顺时针找到的第一个节点负责这个key的存储。这样环上的每个节点负责和它前面节点之间的这个区间的数据的存储。​如上图所示,hash函数的总...阅读全文

博文 2024-04-23 15:52:34 Tianyiyun

《安卓高级研修班(网课)》月薪三万计划

download: https://www.daxiacode.com/7348.html【资源目录】:├──01FRIDA高级逆向| ├──FRIDA高级API实用方法:Frida Hook Java(1).mp4 192.49M| ├──FRIDA高级API食用方法:Frida Hook Java(2).mp4 236.68M| ├──FRIDA高级API食用方法:Frida hook native.mp4 282.52M| ├──课时4 Frida 辅助分析ollvm字符串加密.mp4 223.21M| ├──课时5 Frida 辅助分析ollvm控制流程平坦化.mp4 318.81M| ├──课时6_1 Frida 辅助分析ollvm指令替换.mp4 241.27M| ├──课时6_...阅读全文

博文 2023-09-19 15:30:59 xiaotu