自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(124)
  • 收藏
  • 关注

原创 【记录】公司管理平台部署:容器化部署

填写 服务器IP 用户名 密码 端口号 点击 Test Connection 测试连接。选择之前创建好的SSH配置 点击 Test Connection 测试连接。外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传。打开设置搜索Docker,使用刚才的SSH配置如下。点击加号 选择SFTP 创建 FTP 连接配置。打开远程界面即可连接到服务器的文件目录。配置完成后,在IDEA工具栏 找到。运行配置好的Docker镜像服务。点击加号创建SSH连接配置。执行完成后,镜像构建成功。

2024-11-14 21:30:00 525

原创 【解决错误】Command line is too long.shorten command line for xxx or also for Spring boot default configur

classpath有可能很长。如果不缩短的话,那么JVM启动命令有可能因为classpath太长导致超过了操作系统的允许的最长命令参数长度,从而导致启动失败。所以这里有3种方式可以来缩短classpath的长度,进而缩短JVM启动的参数。直接修改Shorten command line,将其设置为Jar mainfest 或者classpath file点击apply即可。

2024-11-09 21:00:00 1945

原创 【经验分享】EasyExcel实现自定义动态化导出excel

现在堆上述数据进行导入和导出。

2024-10-30 17:15:00 1169

原创 【解决错误】No validator could be found for constraint ‘jakarta.validation.constraints.NotEmpty‘ validatin

注解通常用于集合、字符串或数组类型,检查它们是否为空。参数时,无法找到合适的验证器来处理。不适用于基本数据类型(如。这个错误信息表明在验证。

2024-10-27 11:15:00 3727

原创 【问题解决】三维相关:​Unity Package Manager中没有Newtonsoft Json‌​

在Unity开发中,用到复杂的json的数据格式,需要将对象和json数据之间相互转换。Unity原生json支持不适用复杂json(例如嵌套数组、动态键值对等)。大部分人推荐直接在Package Manager中搜索导入(如但是Package Manager中无法搜索到Newtonsoft Json。

2024-10-24 21:30:00 1172

原创 【技术调研】三维(7)-Unity基础笔记

​ 略。​ unity中,尺寸单位一般情况下约定为1米。以上都可以在scene中直接操作,也可以在inspector中设置。Transform中可以reset。注意unity中旋转时逆时针为正,顺时针为负。scene中键盘切换操作:W移动、E旋转、R缩放handtool快捷键是Q,按住鼠标左键拖动方块,就可以平移镜头;按住右键,就可以转动镜头(镜头可以看作一个固定的点,拖动就可以自由转动)滑动滚轮可以拉近拉远镜头。最后按住右键并且按wasd可以前后左右移动镜头,按qe可以上下移动镜头。

2024-09-21 21:45:00 1072 1

原创 【技术调研】三维(6)-案例1:模型动态修改、模型动画

模型上色、换肤<!DOCTYPE html><html lang="en"><head> <meta charset="utf-8"> <title>My first three.js app</title> <style> body { margin: 0; } #process{ position: absolute; top:0; left:0; font-

2024-09-19 19:21:11 838

原创 【技术调研】三维(5)-ThreeJs物理运动及案例

可以理解为threejs构建看得见的物体,cannonjs构建看不见的物理物体,将两者进行关联。文档 https://schteppe.github.io/cannon.js/docs/threejs本身不具备模拟物理的效果,需要借助cannonjs来实现模拟物理效果。官网 https://schteppe.github.io/cannon.js/

2024-09-17 19:45:00 272

原创 【技术调研】三维(4)-ThreeJs阴影投射、光线投射及案例

可以向特定方向投射光线,并测试哪些对象与其相交。光线投射用于进行鼠标拾取(在三维空间中计算出鼠标移过了什么物体)。2.静态的三个小球,使用的是鼠标+相机方向进行光线投射,鼠标点击时触发。即鼠标点击会变黄色。1.动态的三个小球使用了一个固定方向的光线投射,被光线穿透会变绿色。* 创建一个立方体。* 用于查看投射相机。//不设置以下内容看不见。//创建坐标格辅助对象。

2024-09-15 21:30:00 751

原创 【技术调研】三维(3)-ThreeJs-几何体、材质、贴图、灯光及案例

/ 使用MeshBasicMaterial则无法看到。​ 几何体是构建模型的基础,模型=几何体+材质。没有特定方向,整体改变场景的光照,会均匀的照亮场景中的所有物体。// 平行光辅助对象 可以看到平行光的照射方向 通过旋转相机可以看出灯光的明暗效果。​ 材质描述了物体的外观。(物体表面)的影响,如果使用受光照影响的材质,在不开灯的情况下是看不见的。灯光从它的位置(position)指向目标位置,默认的目标位置为。是一个没有任何形状的空几何体,通过定义顶点数据将。// 根据几何体和材质创建物体。

2024-09-13 20:00:00 1265

原创 【技术调研】三维(2)-ThreeJs-轨道控制器

目前的控制器在鼠标操纵旋转后,没有惯性,如果要惯性,需要设置enableDamping 为true以启用阻尼(惯性),这将给控制器带来重量感。启用阻尼后就意味着,鼠标松开后相机依旧会旋转一小段距离,这时候还是需要requestAnimationFrame循环方法来调用controls.update()重新渲染。但是相机无法通过鼠标进行控制,整个场景也无法像一般项目中的三维场景一样"可操作",这就需要用到轨道控制器。//每次要记录鼠标移动后的位置,否则distance会越来越大,旋转越来越快。

2024-09-11 17:30:00 936

原创 【技术调研】三维(1)-ThreeJs-基础常识及第一个程序

​ 公司有网页三维以及客户端、vr三维相关项目机会,需要对相关技术进行调研,进行项目可行性评估和大致成本评估。基于此对三维一些内容进行调研。​ Three.js是一款基于原生WebGL封装通用Web 3D引擎。由于前文已经了解过webGL,知道通过webGL的API我们能绘制出三维物体及动画。此处可以把three.js理解为一个封装好的专门用来处理webGL三维动画的javascript库。比如可以直接通过api生成一个几何体,而不用像使用webGL原生API那样去写每个点的坐标、索引等等。

2024-09-09 20:00:00 817

原创 【技术调研】三维(0)-webGL、三维基础知识、前置知识、数学知识以及简单示例

前言​ 因业务需要了解网页端三维相关技术,故对webGL相关技术学习并记录。旨在了解网页端三维的基本原理。什么是webGL?​ WebGL全称叫做Web Graphics Library,它是JavaScript API。用于在任何兼容的Web浏览器中渲染交互式的3D图形,并且无需使用插件。它基于 OpenGL ES 2.0(一个用于嵌入式系统的图形库),并与其他 Web 标准完全集成,使开发者能够利用 GPU 加速图形处理直接在网页上实现复杂的图形效果。​ WebGL可以在网页上开发高性能的3D游

2024-09-07 23:00:00 847

原创 【个人思考】 Java为什么解释执行时不直接解释源码?

众所周知,Java 字节码是跨平台的,因此 Java 才能一次编译处处运行。但是,Java 源码本身也是跨平台的啊,为什么不可以省略编译为字节码这一步,直接将源码运行在虚拟机上?如果是效率问题,可不可以在设计 Java 语言的时候解决?对于此问题,大部分回答诸如:“采用字节码的好处主要包括跨平台性、安全性、性能优化、易于维护以及支持动态性等。这些优势使得字节码成为现代编程语言中不可或缺的一部分。”等回答,。经过长时间搜索,找到一些答案,个人感觉回答的内容较为合理。

2024-09-05 21:30:00 1068

原创 【个人学习】JVM(12):垃圾回收相关概念

1、一般的垃圾回收算法至少会划分出两个年代,年轻代和老年代。但是单纯的分代理论在垃圾回收的时候存在一个巨大的缺陷:为了找到年轻代中的存活对象,却不得不遍历整个老年代,反过来也是一样的。2、如果我们从年轻代开始遍历,那么可以断定N, S, P, Q都是存活对象。但是,V却不会被认为是存活对象,其占据的内存会被回收了。这就是一个惊天的大漏洞!因为U本身是老年代对象,而且有外部引用指向它,也就是说U是存活对象,而U指向了V,也就是说V也应该是存活对象才是!而这都是因为我们只遍历年轻代对象!

2024-09-01 21:00:00 968

原创 【个人学习】JVM(11):垃圾回收、GC Roots溯源、垃圾回收算法

垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。外文:An object is considered garbage when it can no longer be reached from any pointer in the running program.如果不及时对内存中的垃圾进行清理,那么,这些垃圾对象所占的内存空间会一直保留到应用程序结束,被保留的空间无法被其他对象使用。甚至可能导致内存溢出。十几年前磁盘碎片整理的日子。

2024-08-30 20:00:00 1500

原创 【个人学习】JVM(10):字符串常量池(StringTable)、String的内存分配、字符串拼接、StringTable的垃圾回收

String被声明为final的,不可被继承String实现了Serializable接口:表示字符串是支持序列化的。实现了Comparable接口:表示String可以比较大小String在jdk8及以前内部定义了用于存储字符串数据。JDK9时改为byte[]

2024-08-28 21:15:00 1113

原创 【个人学习】JVM(9): 执行引擎、解释器、JIT编译器、其他编译器

解释器:当Java虚拟机启动时会根据预定义的规范对字节码采用逐行解释的方式执行,将每条字节码文件中的内容“翻译”为对应平台的本地机器指令执行。JIT(Just In Time Compiler)编译器:就是虚拟机将源代码一次性直接编译成和本地机器平台相关的机器语言,但并不是马上执行。为什么Java是半编译半解释型语言?JDK1.0时代,将Java语言定位为“解释执行”还是比较准确的。再后来,Java也发展出可以直接生成本地代码的编译器。

2024-08-25 17:15:00 1162

原创 【个人学习】JVM(8): 对象的实例化、内存布局、访问定位

因此一般来说(由字节码中跟随invokespecial指令所决定),new指令之后会接着就是执行init方法,把对象按照程序员的意愿进行初始化,这样一个真正可用的对象才算完成创建出来。将对象的所属类(即类的元数据信息)、对象的HashCode和对象的GC信息、锁信息等数据存储在对象的对象头中。在Java程序的视角看来,初始化才正式开始。初始化成员变量,执行实例化代码块,调用类的构造方法,并把堆内对象的首地址赋值给引用变量。所有属性设置默认值,保证对象实例字段在不赋值可以直接使用。

2024-08-23 21:00:00 1478

原创 【个人学习】JVM(7):方法区概述、方法区内部结构、垃圾回收等

不是虚拟机运行时数据区的一部分,也不是《Java虚拟机规范》中定义的内存区域。直接内存是在Java堆外的、直接向系统申请的内存区间。来源于NIO,通过存在堆中的DirectByteBuffer操作Native内存通常,访问直接内存的速度会优于Java堆。即读写性能高。因此出于性能考虑,读写频繁的场合可能会考虑使用直接内存。Java的NIO库允许Java程序使用直接内存,用于数据缓冲区/*** 查看直接内存的占用与释放*///1GB//直接分配本地内存空间。

2024-08-21 20:30:00 1586

原创 【个人学习】JVM(6):堆、堆空间分配、GC、堆空间参数设置、代码优化

从内存模型而不是垃圾收集的角度,对Eden区域继续进行划分,JVM为每个线程分配了一个私有缓存区域,它包含在Eden空间内。多线程同时分配内存时,使用TLAB可以避免一系列的非线程安全问题,同时还能够提升内存分配的吞吐量,因此我们可以将这种内存分配方式称之为快速分配策略。据我所知所有OpenJDK衍生出来的JVM都提供了TLAB的设计。1、每个线程都有一个TLAB空间2、当一个线程的TLAB存满时,可以使用公共区域(蓝色)的。

2024-08-19 23:30:00 1014

原创 【个人学习】JVM(5):本地方法接口、本地方法栈

简单地讲,一个Native Methodt是一个Java调用非Java代码的接囗。一个Native Method是这样一个Java方法:该方法的实现由非Java语言实现,比如C。这个特征并非Java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern “c” 告知c++编译器去调用一个c的函数。

2024-08-17 18:45:00 1431

原创 【个人学习】JVM(4):虚拟机栈

具体问题具体分析如果只有一个线程才可以操作此数据,则必是线程安全的。如果有多个线程操作此数据,则此数据是共享数据。如果不考虑同步机制的话,会存在线程安全问题。如果对象是在内部产生,并在内部消亡,没有返回到外部,那么它就是线程安全的,反之则是线程不安全的。/*** 面试题:* 方法中定义的局部变量是否线程安全?具体情况具体分析* 何为线程安全?* 如果只有一个线程才可以操作此数据,则必是线程安全的。* 如果有多个线程操作此数据,则此数据是共享数据。如果不考虑同步机制的话,会存在线程安全问题。

2024-08-15 20:00:00 987

原创 【个人学习】JVM(3):程序计数器

官方文档网址:https://docs.oracle.com/javase/specs/jvms/se8/html/index.html。

2024-08-13 20:30:00 870

原创 【个人学习】JVM(2):运行时数据区概述及线程

本节主要讲的是运行时数据区,也就是下图这部分,它是在类加载完成后的阶段当我们通过前面的:类的加载-> 验证 -> 准备 -> 解析 -> 初始化 这几个阶段完成后,就会用到执行引擎对我们的类进行使用,同时执行引擎将会使用到我们运行时数据区也就是大厨做饭,我们把大厨后面的东西(切好的菜,刀,调料),比作是运行时数据区。而厨师可以类比于执行引擎,将通过准备的东西进行制作成精美的菜品。

2024-08-11 21:15:00 304

原创 【个人学习】JVM(1):类加载子系统

在Java的日常应用程序开发中,类的加载几乎是由上述3种类加载器相互配合执行的,在必要时,我们还可以自定义类加载器,来定制类的加载方式。为什么要自定义类加载器?隔离加载类修改类加载的方式扩展加载源防止源码泄漏开发人员可以通过继承抽象类ava.1ang.ClassLoader类的方式,实现自己的类加载器,以满足一些特殊的需求。

2024-08-09 20:00:00 570

原创 【学习笔记】:Maven初级

项目依赖jar包多jar包来源、版本问题jar包导入问题jar包之间的依赖脱离IDE环境的项目构建操作,需要专门的工具Archetype 是一个 Maven 项目模板工具包。用于快速创建项目。目前提供41中模板。mvnarchetype:generate可以查看当前支持的骨架。1: internal -> appfuse-basic-jsf (创建一个基于Hibernate,Spring和JSF的Web应用程序的原型)

2024-08-07 20:00:00 1167

原创 【问题记录】path变量点击编辑无法展开

今天想把jdk11改成jdk8,照着网上自己改了之后发现path变量点击编辑无法展开,上网上搜了原因,应该是自己添加变量的时候把%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin都上移到了最上面,两个在一起的原因。

2024-07-28 18:00:00 571 1

原创 【个人记录】pkg可以将Node.js应用打包为可执行文件

之前按客户需求做了一个简易定时任务应用,完成后为方便客户使用需要打包为可执行文件。

2024-07-26 20:00:00 2363 2

原创 【个人记录】:Android中.9.png制作

绘制完了图片的拉伸区域之后,我们还需要绘制图片包裹的内容的显示区域,如果没有绘制的话,里边的内容是会从左到右依次显示,这样有时达不到我们想要的效果。通过对四条边的描黑边处理,我们就成功了避免了使用图片时拉伸边角的问题,拉伸的都是我们设置的区域,显示的也是我们想要显示的位置。我们先绘制左上两边,控制拉伸位置,如下绘制完成了之后,可以看右边的阅览图,明显比没有绘制时边角的清晰度更高。Demo中的图片我想要图片里面的文本显示在中央区域,即不显示在文本区域,所以我的黑色描边可以这样描。绘制内容显示区域/完成图。

2024-07-24 21:00:00 1655

原创 【个人记录】HbuilderX 配置使用MUMU模拟器调试

一、配置HbuilderX中的路径: 点击顶部的工具=>设置=>运行配置,需要配置其中的 adb路径和 模拟器端口(如下图),adb路径是HuildeX的安装路径下的plugins文件=>文件=>tools文件=>adbs文件然后可以看见adb.exe或者adb。然后复制这个整的路径放到adb路径配中(如下图),MUMU模拟器端口号:7555,所以端口配置7555。

2024-07-19 20:30:00 2519

原创 【记录】一个简单的定时任务调用mqtt接口

【代码】【记录】一个简单的定时任务调用mqtt接口。

2024-07-16 18:00:00 254

原创 【错误解决】No validator could be found for constraint ‘jakarta.validation.constraints.NotBlank‘

由于出此错误前已两天没有提交代码,修改内容过多,一开始不知道是哪里出了问题。但看输出的异常信息很明显可以看出是字段验证出了问题。类型的字段,但是这个验证器不支持这种类型。@NotBlank 主要用于验证单个字符串字段,确保它不是空的或者只包含空白字符。而我们修改字段类型时将String修改为Long,所以出了问题。调查后发现使用 @NotBlank 验证器来验证一个。起因:修改了数据库字段及后端数据层代码后出现问题。使用@NotNull。

2024-07-09 12:00:00 1043

原创 【学习笔记】Mybatis-Plus(四):MP中内置的插件

这个被@Version标识的字段就是版本,当然数据库中的字段不一定叫version。总之在更新的时候,sql语句会自动加上这个版本的条件。mysql,oracle,db2,h2,hsql,sqlite,postgresql,sqlserver等几乎市面上所有常用的数据库。其他内置的插件,自行通过官网进行了解:https://baomidou.com/pages/2976a3/更新时,通过加入版本号来进行更新。用来防止第二类丢失更新问题。

2024-07-07 20:15:00 1084

原创 记录-前端相关(1):Vue3表单组件el-form校验规则rules属性

在使用 Element UI (现在称为 Element Plus) 的表单组件el-form时,rules属性用于定义表单项的校验规则。这些规则可以帮助你确保用户输入的数据符合预期的格式和要求。rules: {{ required: true, message: '密码不能为空', trigger: 'blur' },{ min: 6, max: 20, message: '密码长度应在6到20个字符之间', trigger: 'blur' },if (!

2024-07-03 23:00:00 1857

原创 【学习笔记】Mybatis-Plus(三):MP中Wrapper的使用

注意:查询用QueryWrapper和LambdaQueryWrapper来封装updateWrapper和LambdaUPdateWrapper不但能封装查询还能更改要更新的对象。

2024-06-23 21:00:00 581

原创 【学习笔记】Mybatis-Plus(二) :常用注解

增加了这个注解的字段就是标识是否逻辑删除了,通常这个字段就0和1两个值。这个注解的属性有很多,不过基本都用默认即可。而我们的实体类还是叫user,那么就需要用这个注解。MP默认主键的名字是id,如果表中不叫id而是叫uid或者userid的话,就需要标识为id主键了。比如我们User表中的address字段,在实体类中非要叫addr,此时就可以通过这个注解进行配置。逻辑删除时用,delete变成update,而且删改查都会加上这个逻辑删除的条件。比如我们的主键现在叫userid而且是自增长类型的。

2024-06-21 19:00:00 1608

原创 【解决错误】IDEA启动SpringBoot项目 出现:Command line is too long

长类路径被写入文件,然后由应用程序启动器读取并通过系统类加载器加载。虚拟机上的,而大多数的操作系统都会有命令行的最大长度限制,超过这个限定值时就会导致。和整个应用无法成功启动,那为什么会报这样一个错误呢?通过翻译后的报错信息来看,可知是。底层是通过命令行或者文件的方式将。选项,最后apply。按修改命令行的方式,

2024-06-20 23:00:00 2673

原创 [学习笔记]-MyBatis-Plus简介

Mybatis-Plus(简称 MP)是一个的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。简言之就是对单表的增删改查有了很好的封装。基本不用再单独写sql语句了。目前此类基于mybats的增强工具有很多,但是目前MP可以算是国内最主流的了。而且它的功能也是最全的。github地址:https://github.com/baomidou/mybatis-plusgitee地址:https://gitee.com/baomidou/mybatis-plus。

2024-06-19 21:00:00 1046

原创 【记录】ChatGLM3-6B大模型部署、微调(二):微调

包括界面语言、模型名称和模型路径,以及训练的轮数(看情况自行选择,训练后不够可继续训练)此处记录了所有的数据集点击预览。

2024-06-15 21:30:00 883 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除