Java

mall商城笔记-02

项目的搭建 一、搭建父工程 这里要注意父工程的boot版本与cloud版本的对照,否则无法启动 二、搭建Eureka 添加依赖 开启服务 配置文件 网页访问 http://127.0.0.1:7001/ 世界上没有什么事情是跑步解决不了的,如果有,那就再跑一会!

Gorm 数据库表迁移与表模型定义

目录一、Docker快速创建MySQL实例1.1 创建1.3 创建数据库二、AutoMigrate介绍与使用2.1 AutoMigrate介绍2.2 AutoMigrate 基本使用三、模型定义3.1 模型定义3.2 快速增删改查3.3 约定3.4 gorm.Model四、表模型主键、表名、列名的约定4.1 主键(Primary Key)4.1.1 使用 ID 作为主键4.1.2 复合主键4.2

使用Java 17中的record替代Lombok的部分功能

在DD长期更新的Java新特性专栏中,已经介绍过Java 16中开始支持的新特性:record的使用。 之前只是做了介绍,但没有结合之前的编码习惯或规范来聊聊未来的应用变化。最近正好因为互相review一些合作伙伴的代码,产生了一些讨论话题,主要正针对于有了record之后,其实之前有些用Lombok的场景,是可以替换掉了。 今天我们就来小小的总结下,我们可以在哪些地方,利用record来替换Lo

02.常见的接口协议

目录   网络模型 常见接口协议 HTTP 协议详解 Restful 架构 网络模型   常见接口协议   RPC 协议   RPC(Remote Procedure Call) 以本地代码调用的方式实现远程执行 主要用于公司内部的服务调用 优点:传输效率更高、性能损耗更低、自带负载均衡策略、更好的服务治理能力 常见

Hive - 面试题

什么是Hive?答案:Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。 Hive的数据存储在哪里?答案:Hive的数据通常存储在Hadoop分布式文件系统(HDFS)上。Hive将HDFS上的数据映射成表格形式,并提供类似SQL的查询语言HQL来查询数据。 Hive与关系型数据库有什么区别?答案:Hive与关系型数据库的主

Spark - 面试题

Spark是什么?答案:Apache Spark是一个快速、通用的大数据处理引擎,它提供了大规模数据集的内存计算和分布式计算能力。Spark可以处理各种数据源,如HDFS、Hive、Cassandra等,并提供了丰富的API和工具集,用于批处理、流处理、机器学习、图处理等多种计算场景。 Spark的主要特点是什么?答案:Spark的主要特点包括快速、通用、易用、可靠和灵活。它提供了高效的内存计算

升讯威在线客服系统是如何实现对 IE8 完全完美支持的(怎样从 WebSocket 降级到 Http)

简介 升讯威在线客服与营销系统是基于 .net core / WPF 开发的一款在线客服软件,宗旨是: 开放、开源、共享。努力打造 .net 社区的一款优秀开源产品。 完整私有化包下载地址 💾 https://kf.shengxunwei.com/freesite.zip 当前版本信息 发布日期: 2023-7-9 数据库版本: 20230402a 通信协议版本: 20220306

(坚持每天写算法)算法复习与学习part1基础算法1-6——高精度加法

       高精度加法,其实就是模拟我们普通算式的步骤,比如是267+58,首先个位相加,7 + 8 = 15 , 1给到十位(也就是进位),留下5,然后算十位,同样的步骤直到算完。通过这个步骤我们直到了我们每次循环(个位到十位到百位……)都需要一个t来充当进位,使用数组来存储或者使用vector(容器),我这里选择了vector,因为vector是不受下标控制的,感觉操作起来会比较

jdbc新旧两个版本对比

1.旧版本,MySQL Connector/J 5.x 版本的连接方式:   url = jdbc:mysql://localhost:3306/user?useUnicode=true&characterEncoding=utf8 driver = com.mysql.jdbc.Driver 2、MySQL 8.x新版本,MySQL Connector/J 6.x之后 的连接方

为什么重写equals 和 hashcode 方法,lombok中@EqualsAndHashCode(callSuper = false/true) 什么区别

前言 一开始学习 java 的时候,当我们在定义一个 pojo 的时候,都会去重写 equals 和 hashcode 方法。我已经忘记了当时是怎么学习的,反正感觉当时并没有很清晰的认知到重写equals 和 hashcode 的意义是什么,只是简单的背了一些八股文,包括在学习 Map的时候,也并没有很关心这一点。 目前已经工作一年时间了,平常直接一个lombok的@Data注解就搞定一个 po

react native在windows环境搭建并使用脚手架新建工程

截止到2024-1-11,使用的主要软件的版本如下: 软件实体 版本 react-native 0.73.1 react 18.2.0 react-native-cli 2.0.1 Android Studio 2022.3.1 Patch3 Android SDK Android SDK Platform 33 34 Android SDK Android SD

如何在 Ubuntu 20.04 上安装 Java且实现版本切换

如何在 Ubuntu 20.04 上安装 Java且实现版本切换 在这个指南中,我们将会描述如何在 Ubuntu 20.04 上安装 Java。 Java 是世界上最流行的编程语言之一,被用来构建各种不同的应用和系统。Java 运行在所有的主流操作系统和设备上。你可以在你的笔记本,电话和游戏中发现使用 Java 开发的应用。 一、开始之前 有很多不同的 Java 实现。OpenJDK 和 Orac

Mybatis是什么?

Mybatis简介 Mybatis官网:https://mybatis.net.cn/ mybatis是什么? 它是一款半自动的ORM持久层框架,具有较高的SQL灵活性,支持高级映射(一对一,一对多),动态SQL,延迟加载和缓存等特性,但它的数据库无关性较低。 mybatis是半自动的又该怎么理解呢? 用mybatis进行开发,需要手动编写SQL语句。而全自动的ORM框架,如hibernate,则

Spring属性注入的5种方式

  1.构造方法注入        在xml配置文件中 2.Set注入     在Java代码中   在实体类中必须有set方法 3.复杂类型注入     数组型数据  

[代码随想录] 第二天

977.有序数组的平方[https://leetcode.cn/problems/squares-of-a-sorted-array/] 思路:因为数组是非递减,数组有正有负,找到第一个非负数设为i,i将数组划分为前部分的负数组,后部分的非负数组,使用辅助数组将原数组平方部分存储,后部分使用正序存储,前部分使用逆序存储,然后再使用类似归并排序思路【双指针】,left =0,right =i,将较小

JVM内存模型

本地方法栈:加载nativ修饰的方法。(线程独享) java栈(线程栈):存储8种基本类型的变量+对象的引用变量+实例方法,它的生命期是跟随线程的生命期。每个方法在栈中已栈帧的形式存在。(线程独享) 程序计数器:存储指向下一条指令的地址。(线程独享) 方法区(元空间):线程共享的运行时内存区域,存储了每一个类的结构信息,常量池字段和方法数据、构造函数和普通方法的字节码内容。(多个

java中的多态与golang中的多态

多态是面向对象编程的一个重要特征。它允许不同类型的对象对同一方法进行不同的实现。具体来说,多态性指的是通过父类的引用变量来引用子类的对象,从而实现对不同对象的统一操作。 java中多态通过继承实现,在go语言中,多态通过接口实现 java多态案例 运行结果:  go多态案例 go语言中,多态可以体现为多态参数和多态数组,例如: 运行结果:   博客里

Spring 基于注解管理bean

  1-添加依赖   2-开启组件扫描   组件扫描特殊情况 <context:component-scan base-package="com.atguigu" use-default-filters="false"> <!-- context:include-filter标签:指定在原有扫描规则的基础上追加的规则 -->

设计模式之迭代器模式

1. 定义 在不暴露集合底层表现形式(列表、栈和树等)的情况下遍历集合中所有的元素 2. 口语化表述 假设某学校通知全校师生做核酸检测,要求应检尽检(即,每个人都要做) 现在,做核酸监测的工作人员已经到达现场,要求全校师生有序来检测 医护人员当然不知道全校师生怎么排序的,只关注每个人依次做检测并且要所有人都要检测过(即,遍历) 此时全校师生会在校方管理人员的规划下,划分检测顺序,依次做核酸检测 这

Nginx实战系列之功能篇----后端节点健康检查

Nginx实战系列之功能篇----后端节点健康检查        公司前一段对业务线上的nginx做了整理,重点就是对nginx上负载均衡器的后端节点做健康检查。目前,nginx对后端节点健康检查的方式主要有3种,这里列出: 1、ngx_http_proxy_module 模块和ngx_http_upstream_module模块(自带)

jicmp 添加 ping 超时

把 jicmp 中 src 目录下的代码 copy 新建一个 maven 项目 将编译后的 jicmp 下的 pom 文件内容复制过来 IcmpSocket 只加载一次 lib 将加载 lib 的代码移动到静态代码块里,原来是 new 的时候每次都处理 超时 receive 我打算超时时抛出 SocketTimeoutException 生成 jni 头文件代码 cd 到 srcmainjav

path traversal

什么是路径遍历?路径遍历也称为目录遍历。这些漏洞使攻击者能够读取运行应用程序的服务器上的任意文件。这可能包括:应用程序代码和数据。后端系统的凭据。敏感的操作系统文件。在某些情况下,攻击者可能能够写入服务器上的任意文件,从而允许他们修改应用程序数据或行为,并最终完全控制服务器。如何防止路径遍历攻击防止路径遍历漏洞的最有效方法是完全避免将用户提供的输入传递给文件系统 API。可以重写许多执行此操作的应

Docker(十)

1 什么是Docker 1.1 项目部署的问题 大型项目组件较多,运行环境也较为复杂,部署时会碰到一些问题: 依赖关系复杂,容易出现兼容性问题; 开发、测试、生产环境有差异。 Docker如何解决大型项目依赖关系复杂,不同组件依赖的兼容性问题? Docker允许开发中将应用、依赖、函数库、配置一起打包,形成可移植镜像; Docker应用运行在容器中,使用沙箱机制,相互隔离。 Docker如

Dubbo 3.3.0-beta 版本正式发布

作者:Apache Dubbo社区 近日,Apache Dubbo 发布了 3.3 分支大版本 3.3.0-beta.1,相较于 3.2 系列版本,3.3.0-beta 引入了一些重量级的功能升级,按照社区规划,3.3 也将是 Dubbo3 非常重要的一个里程碑大版本,在 3.3.0 首个正式版本之后 Dubbo3 将正式进入长期稳定维护态,即标志着 Dubbo3 作为面向云原生时代的下一代微服务

【NodeJs】爬取逆战所有武器

Result 需要的同学可以直接查看结果 下载地址:点击下载 Start Code Usage 为之则易,不为则难。

【Quarkus】resteasy-client-reactive实现源码解析

[Quarkus] resteasy-client-reactive实现源码解析 resteasy-client-reactive 本文是我为了找到resteasy-client支持的multiform输入参数类型而进行的探索. 如果对resteasy-client-reactive源码感兴趣,可以参考大致的思路. 一、搭建DEMO工程 新建一个项目,引入依赖 依赖 客户端定义 Si

通用mapper tk.mybatis A and (B OR C)

使用通用mapper时可以方便我们少写sql但是,有时候他生成的语句并不一定是我们想要的 比如 我的需求是 查询  A and  (B or C) 例如 SELECT * FROM  T WHERE ID IN (1,2,3) AND (code LIKE "%A%" OR name LIKE "%B%")    错误的写法: Exampl

Java实现随机验证码的生成

import java.util.Random;public class HelloWorld { public static void main(String []args) { String code = createCode(5); System.out.println("验证码为:" + code); } public static String createCo

原生安卓嵌入vue打包的H5,在H5中调用原生摄像头扫码,且扫描回调返回数据

<div class="code"> <img class="scan" src="../assets/images/scan.png" alt="" @click.stop="openQrcode('getScanData')" /> <input class="input" type="number" placeholder="请输入核销码" v-model

原生IOS嵌入vue打包的H5,在H5中调用原生摄像头扫码,且扫描回调返回数据

<div class="code"> <img class="scan" src="../assets/images/scan.png" alt="" @click.stop="openQrcode('camera')" /> <input class="input" type="number" placeholder="请输入核销码1" v-model="

<<  <  645  646  647  648  649  650  651  652  653  654  655  >  >>