前言先简单说下本次的主题,由于我最近做的是物联网相关的开发工作,其中就不免会遇到和设备的交互。最主要的工作就是要有一个系统来支持设备的接入、向设备推送消息;同时还得满足大量设备接入的需求。所以本次分享的内容不但可以满足物联网领域同时还支持以下场景:基于 WEB 的聊天系统(点对点、群聊)。WEB 应用中需求服务端推送的场景。基于 SDK 的消息推送平台。技术 ......
414
0
0
2023-07-13
前言 Java的深度拷贝大致分为克隆(实现Java的Clone接口)和序列化(实现Java的Serializable接口)两种,但是基于不同的序列化方式, 有 可以延伸出几种方式。下面分析一下每种的注意事项和性能对比【当前电脑为4核16G,只是当前使用main方法单线程测试】。 一、拷贝和深浅拷贝 可以使用Java native 方法提供的Clo ......
530
0
0
2023-07-12
目录resultMap 结果映射准备数据多对一查询(association)一对多查询(collection)懒加载resultMap 结果映射resultMap 元素是 MyBatis 中最重要最强大的元素,之前所写的 sql 语句,返回值都是简单的基本数据类型或者某一个实体类,比如下面这段 sql 返回的就是最简单的 User 类型。<select ......
285
0
0
2023-07-12
带着BAT大厂的面试问题去理解请带着这些问题继续后文,会很大程度上帮助你更好地理解相关知识点。什么是AQS? 为什么它是核心?AQS的核心思想是什么? 它是怎么实现的? 底层数据结构等AQS有哪些核心的方法?AQS定义什么样的资源获取方式? AQS定义了两种资源获取方式:独占(只有一个线程能访问执行,又根据是否按队列的顺序分为公平锁和非公平锁,如Reentr ......
313
0
0
2023-07-11
不久之前,我看了一篇文章,大意是 kotlin 与 Java 之间的对比,像这种文章,我一般是直接忽略的,但是那天我还是打开了,然后就看到一个非常吃惊的结果。里面有一段是关于 Kotlin 与 Java 之间可读性的对比的文章,作者的结论是:Kotlin 并不比 Java 更具有可读性,所有认为 Kotlin 比 Java 更具有可读性的结论都是“主观性” ......
338
0
0
2023-07-11
目录一、浅谈控制反转(IOC)与依赖注入(DI)二、Spring框架中的设计模式1)工厂设计模式(简单工厂和工厂方法)2)单例设计模式3)代理设计模式4)模板方法设计模式5)观察者设计模式6)适配器设计模式7)装饰者设计模式8)策略设计模式总结一、浅谈控制反转(IOC)与依赖注入(DI)IOC(Inversion of Control)是Spring中一个非 ......
367
0
0
2023-07-10
前言MyBatis 可能很多人都一直在用,但是MyBatis的SQL执行流程可能并不是所有人都清楚了,那么既然进来了,通读本文你将收获如下:1、Mapper接口和映射文件是如何进行绑定的2、MyBatis中 sql 语句的执行流程3、自定义MyBatis中的参数设置处理器typeHandler4、自定义MyBatis中结果集处理器typeHandlerPS: ......
308
0
0
2023-07-10
反射 (Reflection) 是 Java 的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性。简而言之,通过反射,我们可以在运行时获得程序或程序集中每一个类型的成员和成员的信息。程序中一般的对象的类型都是在编译期就确定下来的,而 Java 反射机制可以动态地创建对象并调用其属性,这样的对象的类型在编译期是未知的。所 ......
428
0
0
2023-07-10
java面试宝典 java 精通java,熟悉socket和多线程开发,熟练掌握JSP、Servlet JDBC等相关技术,熟悉常用的数据模式熟悉JVM性能调优(对JVM有一定的了解)熟悉面向对象的系统分析、设计与编程思想了解设计模式、重构以及敏捷开发的基础知识有敏捷开发和测试自动化经验者优先框架 熟练使用主流来源框架,如Spring、struts2、myb ......
351
0
0
2023-07-09
技术的升级往往不是独立的,而是一次系统性的升级, 小部分升级通常是改BUG ,JDK8的升级意义非常重大,各个升级环环相扣!本篇介绍的函数式接口和上篇讲解的 紧密相关!本篇你只需要搞懂 什么是函数式接口 这个概念就行啦,代码写不写无所谓,非常简单! 掌握内容函数式接口概念和意义 认识 JDK 内置函数式接口 函数式接口配合Lambda实现 自 ......
299
0
0
2023-07-09
什么是JUC? JUC就是java.util.concurrent包,这个包俗称JUC,里面都是解决并发问题的一些东西 该包的位置位于java下面的rt.jar包下面 4大常用并发工具类:CountDownLatchCyclicBarrierSemaphore ExChangerCountDownLatch:CountDownLatch,俗称闭锁,作 ......
287
0
0
2023-07-09
目录一、摘要二、Jedis2.1、基本使用2.2、连接池2.3、连接池配置2.4、字符串常用 API 操作2.5、哈希常用 API 操作2.6、列表常用 API 操作2.7、集合常用 API 操作2.8、有序集合常用 API 操作三、集群配置3.1、哨兵模式3.2、集群模式四、小结一、摘要在上一篇文章中,我们详细的介绍了 redis 的安装和常见的操作命令, ......
322
0
0
2023-07-09
一、 IO流 与系统 IO技术在JDK中算是极其复杂的模块,其复杂的一个关键原因就是IO操作和系统内核的关联性,另外网络编程,文件管理都依赖IO技术,而且都是编程的难点,想要整体理解IO流,先从 Linux 操作系统开始。 Linux空间隔离 Linux使用是区分用户的,这个是基础常识,其底层也区分用户和内核两个模块: User space:用户空 ......
328
0
0
2023-07-08
目录一、前言二、需求三、实现原理四、代码实现1、自定义注解2、几个pojo,用来保存实体对应的信息3、定义开头说的BaseMapper4、SqlProvider5、实体类转TableInfo6、字典字段自动翻译7、数据权限五、使用示例1、数据库表2、实体3、Mapper4、联合主键示例六、总结一、前言程序猿为什么如此执着于造轮子?MyBatis-Plus如此 ......
323
0
0
2023-07-08
目录导读新建父项目1、快速新建父项目2、在pom.xml中引入SpringBoot3.03、删除父项目的src文件夹新建openai-spring-boot-starter模块1、新增模块2、在模块中引入相关依赖3、定义模块外部属性有那些4、实现核心业务逻辑5、配置自动装配新建openai-starter-test模块新增模块导入依赖创建启动类配置属性编写测 ......
544
0
0
2023-07-08