- 博客(121)
- 资源 (6)
- 收藏
- 关注
原创 Spring MVC 为什么是 MVC 而不是 MVP
例如,使用 JSP 视图时,通过 JSP 的表达式语言(EL - Expression Language)可以访问模型中的数据并在 HTML 页面中展示。在 MVP 中,Presenter 起到了一个中间人角色,它从模型中获取数据,然后将数据格式化后传递给视图。而在 Spring MVC 中,视图可以直接通过表达式语言等方式访问模型数据,不需要这样一个中间角色来进行数据的格式化和传递。它通过DispatcherServlet(前端控制器)来统一分发请求,然后由控制器、模型和视图协同完成请求的处理和响应。
2024-10-23 17:22:09 322
原创 Springboot中的设计模式:根据设计模式的类型
行为型:负责对象间的高效沟通和职责委派。创建型:为了解决创建型问题,结构型:为了解决结构问题,
2024-08-26 14:57:28 339
原创 MySQL编码细节问题:utf8、utf8mb4、utf8mb4_general_ci、utf8mb4_0900_ai_ci
标准的UTF-8字符集编码:是可以使用1-4个字节去编码21位字符,这几乎包含了世界上所有能看见的语言。MySQL实现的utf8:最长使用3个字符,包含了大多数字符但并不是所有。例如emoji和一些不常用的汉字,如“墅”,这些需要四个字节才能编码的就不支持utf8mb4(utf8 most bytes 4 ):Utf8最大字节数4,MySQL 5.5.3之后增加了utfmb4字符编码,支持BMP(Basic Multilingual Plane,基本多文种平面)和补充字符,最多使用四个字节存储字符。
2024-07-22 10:18:52 893
原创 红黑树和平衡二叉树的区别
红黑树:每个节点都有一个颜色属性,可以是红色或黑色。在树中没有任何两个相邻的节点是同色的,即父节点和子节点颜色不同。AVL树:每个节点的左子树和右子树的高度最多差1,即平衡因子的绝对值不超过1。红黑树和AVL树各有优势,选择使用哪一种取决于具体的应用场景和性能需求。
2024-07-21 14:12:30 169
原创 对零拷贝技术的思考过程
可以看出,无论是传统的 I/O 方式,还是引入了零拷贝之后,2 次 DMA(Direct Memory Access) 拷贝是都少不了的。因为两次 DMA 都是依赖硬件完成的。零拷贝主要是减少了 CPU 拷贝及上下文的切换。也就是零拷贝技术的原理原理:减少「用户态与内核态的上下文切换」和「数据拷贝」的次数。
2024-07-20 17:13:13 332
原创 面试问题梳理:项目中防止配置中的密码泄露-Jasypt
想起面试的时候,面试官问我现在大家用Spring框架,数据库、ES之类的密码都是配置在配置文件中的,有很大的安全隐患,你有考虑过怎么解决嘛?当时我回答是可以在项目启动的过程中的命令行追加的方式,感觉面试官不太满意,让我回去等通知~所以才想起来查了下Jasypt这个组件,有了这篇文档。
2024-07-14 10:57:00 478
原创 APP开发的野路子-FinClip
非软文,只是JAVA开发者在当前浪潮下的一丝摸索和有一个自己做一个移动端APP的想法。小程序使用过吧,但是小程序一般都依赖于一个平台(容器)中,例如微信、支付宝。小程序确实不用考虑太多硬件兼容性问题,但是它不自由啊,不能单独安装使用,必须依托于第三方。
2024-07-11 16:49:48 382
原创 记录一次服务器一直向外发送大量请求(挖矿病毒)排除
2、原因1、大概率是因为Redis没有认证密码,通过aof设置定时任务,拉取病毒脚本http://oracle.zzhreceive.top/b2f628/b.sh2、相关分析看3、病毒是TeamTNT变种。
2024-07-08 17:10:38 431
原创 SOLR数据导入和导出
1、solr中的类型修改导致solr的core无法加载,只能删除core,重新创建。但是solr中的数据,只能从core心中导出,在导入新建的核心中。2、试了几种方案,还是通过第三方freedev / solr-import-export-json的组件更加灵活。3、其中几种方案也做了试错。
2024-06-25 16:14:24 514
原创 关于老iPad 能够重新使用经过的一些列折腾
https://imacos.top/2022/10/25/rdrwindows-macos/ Windows环境下快速安装黑苹果双系统,我就是用这个教程安装成功的,不过提供的镜像版本太高,卡的用不了,我就花了钱开了会员,下载10.15.7镜像。https://www.ccmacos.cn/ UP:嘿我叫聪聪的黑苹果网站,如果是老电脑,2016年左右的,大概率是不行的,不过可以试试,成本很低。采用LeetDown实现降级很简单,一次成功,最好使用LeetDown下载的镜像,用爱思下载的镜像校验失败。
2024-04-18 11:06:47 730
原创 SOLR分组聚合的相关技巧
使用SOLR的时候我是抗拒的,又应为项目只能用SOLR实现需要,没有办法只能硬着头皮来做,如果实现没办法可以看看下文。在做的过程中,SOLR这个技术栈可能用的少,国内的文字写的都是基本应用,facet query都很少使用,我的需求也无法满足,只能自己找两本去读,来研究SOLR,也把成果记录下来,分享给大家。
2023-09-08 11:47:01 723
原创 处理异常格式下时间串无法转换成Date对象问题
火狐浏览器66版本,通过tolocalString()方法,获取的2021-05-20 上午11:30:00类似的格式,导致通过无法转成Date。
2023-04-21 11:59:50 246
原创 Springboot使用Maven将本地依赖打包到war包
1、环境Springboot项目,打包工具使用Maven2、需要WAR包部署到国产中间件3、项目依赖了一些JAr包,非Maven库中依赖。
2023-02-24 17:50:22 1820
原创 char类型和varchar的区别和选用
2. varchar字段,存储的空间根据存储的内容变化,空间长度为L+size,存储内容长度加描述存储内容长度信息,优点就是空间节约,缺点就是读取和存储时候,需要读取信息计算下标,才能获取完整内容。缺点是空间冗余,对于数据量大的表,非固定长度属性使用char字段,空间浪费。3.1 固定长度的属性选用char类型,如ID字段长度固定都是36,就选char(36).3.1 对于字段长度小的且固定长度的属性,例如长度为3的,选char(3)3.2 对于较长的且不固定长度的属性,用varchar(36).
2022-09-16 11:21:36 3220
原创 操作系统学习
BIOS大家应该都见过,但具体的功能可能说不清,其实BIOS中放置的代码是对基本硬件的测试代码,以及一些让用户调用硬件基本输入输出功能的子程序。大家要明确,BIOS的输入输出功能也是以中断调用形式提供给用户的,在第三阶段操作系统接管中断以前,都是用的BIOS中断。(2)另外一个原因是实模式对于内存的访问不会有任何保护,谁来了也能访问,而保护模式可以对内存的访问进行一定的限制。不同的操作系统遇到不同中断反应是有差别的,所以操作系统是必须要接管中断的,设置中断表。把该读入的文件读入后,要为。...
2022-07-25 15:36:01 141
原创 兼容国产化神通数据库遇到的问题适配
问题一com.oscar.sql.Timestamp cannot be cast to java.time.LocalDateTime环境:神通数据库是通过Timestamp 存储的时间,但是查询的时候实体类是通过LocalDateTime接受的,业务中抛出异常。解决:由于实体这个类型的字段使用比较多,我们无法不想修改业务代码去兼容,求助神通官方,官方给了一个JDBC的工具包,使用这个工具包就解决了无法转换问题。本来使用的数据库安装包中的oscarJDBC16.jar,后来官方说这个不是最新的,
2022-06-25 16:25:33 2069 3
原创 记一次服务器修改jar包中的静态文件
一、背景由于网络原因,每次上传jar包就要半天,仅需要修改一个静态文件,每次都更新jar包,然后更新半天,得不偿失。所以直接通过服务器解压,修改静态文件,然后重新压缩,运行jar包。二、命令2.1 全部解压然后重新打包解压jar -xvf xxx.jar重新压缩jar -cvf0m xxx.jar META-INF/MANIFEST.MF ./2.2 只解压修改文件,然后替换解压jar xf test.jar BOOT-INF/classes/application.yml会把
2022-04-18 10:58:05 1264
原创 数据库范式通俗理解
写在前面数据库范式一直是一种很难理解的,各种翻译版本讲解的方式都比较难理解,在这重新梳理下自己的理解范式一、范式NF (normal from) 规范的形式二、1NF要求我们表中的每个字段都必须是最基本的属性,即原子属性(不可再拆分)。例如:学生表中,有学号,姓名,联系方式,这个联系方式就不满足1NF,因为联系方式还可以拆分为手机号,微信号,QQ号等。三、2NF要求表中所有的属性都依赖于主键。所有的字段只有因为主键才会变得有意义。例如:学生表,姓名,性别不能确定是那个学生,反而我们能通
2022-03-28 21:59:21 1554
原创 openXMl
w:pStyle 定义样式IDw:keepNext :段落是否在一个页面上w:keepLines :此元素指定在页面视图中呈现该文档时,尽可能将该段落的所有行维护在单个页面上w:widowControl :这个元素指定消费者是否应该通过将该行移动到下一页,来阻止该段中的一行显示在与剩余内容分开的页面上。w:outlineLvl :此元素指定大纲级别,大纲级别应与文件的当前段落相关联。w:pPr: 这个元素指定了段落属性,这些属性将作为父编号定义中给定编号级别的一部分应用。这些段落属性适用于任何引
2021-12-21 09:03:22 4056
原创 企业微信第三方应用开发
配置URL回调get请求回调Post回调基础第一步:第三方服务商注册应用服务商管理后台 https://open.work.weixin.qq.com/wwopen/login需要认证第二步:企业管理员授权应用方式一 : 从服务商网站发起,第三方服务商需构造授权链接,引导用户进入授权页面完成授权过程,并取得临时授权码。方法二:从企业微信应用市场发起第三步:第三方服务商提供服务完成授权后,第三方即可获取企业赋予的永久授权码。通过此授权码,第三方可以换取到
2021-12-21 09:01:59 3111
原创 Maven使用
依赖导出依赖通过命令可以导出项目中所有的依赖mvn dependency:copy-dependencies 会导出到Project的targed/dependency 下面也可以通过指定目录导出mvn dependency:copy-dependencies -DoutputDirectory=lib 也可以通过指定依赖级别,通常用编译需要的jarmvn dependency:copy-dependencies -DoutputDirectory=lib -DincludeSc
2021-12-21 09:01:19 108
原创 Vue部署到springboot中
https://blog.csdn.net/weixin_38503935/article/details/100101802
2021-12-21 09:00:53 402
原创 Eclipes使用
main方法生产:输入main 之后 ALT+/自动生产sout之后,ALT+/自动生产代码自动提示,Window ——> Preferences ——> Java ——> Editor ——> Content Assist,“Auto Activation triggers for java”这个选项,改成.abcdefghijklmnopqrstuvwxyz。(注意前面有一个点)Eclipse 快速导入所有需要的jar包,Ctr + Shift + Oeclipse中删.
2021-12-21 08:55:46 123
原创 数据结构学习笔记:(四)串
串的匹配简单模式匹配原理:两个指针,一个指向主串,一个指向子串,每次对比一个字符,相同后移,不同的化,主指针回溯(i-j+2),子串回到1的位置。缺点:每次不匹配,主串就需要回溯到最开始的指定位置的下一位重新匹配,所以最坏时间复杂度为O(mn);KMP算法KMP算法是在匹配算法的基础上改进的。原理:通过构建部分匹配数组,每次回溯,主串指针不需要回溯,子串根据部分匹配移动位置。缺陷:虽然只需要子串移动位置,但是移动之后,可能...
2021-12-17 16:04:36 309
原创 tomcat部署Springboot war包
一、tomcat日志中文乱码解决方案:打开到tomcat安装目录下的conf/文件夹 修改logging.properties文件,找到 java.util.logging.ConsoleHandler.encoding = utf-8更改为 java.util.logging.ConsoleHandler.encoding = GBK我们在WEB-INF/classes目录下添加【logging.properties】文件内容为:org.apache.catalina.core.Contai
2021-11-22 17:46:56 297
原创 国产化服务器安装Mysql数据库
一、背景现在手头有一个国产化服务器,操作系统是LInux,需要安装Mysql数据库,一下是探索过程二、基本情况查看硬件情况lscpuarchitecture: aarch64Model name : phytium,FT2000PLUS可以看出是架构是aarch64,而aarch64是armv8-A架构的一种运行时状态。arm64是aarch64在gnu/linux文档中的一种别称,两者几乎是混用的。CUP是飞腾的开发的国芯,FT-2000plus这款芯片是以FT2000为基础的改
2021-11-22 17:46:22 1969 1
原创 IDEA配置,提高生产力
1、滚轮调节字体大小3、快速关闭窗口修改步骤如下:File—>settings—>keymap—>main menu—>window—>editor tabs—>close
2021-11-08 10:12:37 229
原创 tomcat部署Springboot项目遇到的问题
一、启动过滤器失败,上下文找不到实例对象1、表现bean对象通过@resources注入,导致在配置过滤器的时候,注入失败抛出异常。2、解决办法在保存的类中,替换注入的类的注解为@Autowired3、问题出现原因首先明白两个注解的区别:(1) 提供方:@Autowired是Spring提供的,@Resource是JSR-250提供的,它是Java标准,绝大部分框架都支持。(2) 默认注入方式:@Autowired默认按byType自动装配,而@Resource默认byName自动装配。(
2021-10-09 15:17:38 801
原创 IDEA插件修改class文件
一、背景公司源码在内网,一个项目需要在外网测试,所以需要多级申请审批项目转到外网测试。在转到外网之后,发现jar包中的一个类中的标识符需要替换,但是Java代码被编译成了class文件,无法直接修改。二、下载IDEA插件下载jclasslib-bytecode-viewer,安装重启。三、修改class文件步骤一步骤二步骤三、点击常量池查找要修改的常量名称,左边就是对应的常量值步骤四、编辑赋值步骤五、保存刷新四、总结然后就可以使用修改之后的class文件。请合理使用~.
2021-09-03 17:06:13 9759 3
原创 网课视频禁止倍速和快进
前提视频通过video原生组件播放,可以通过查看元素标签确定。倍速播放据说倍速设置在16倍一下不容易被监测到document.querySelector('video').playbackRate = 8.0;视频快进或跳转duration表示结束时间,可以跳转到视频结束的最后几秒。让视频自动播放完成。 let video = document.getElementsByTagName('video') for (let i=0; i<video.length; i++) {
2021-06-02 17:04:08 37684 11
原创 记一次post请求参数读取问题
结论因为请求的内容编码不是表单数据,而是Json类型的数据。所以通过String wsid = request.getParameter("wsid");获取的内容为空。解决(1)可以通过该SpringMvc的注解@RequestBody的实体类来接受。(2)也可以通过:request.request.getInputStream()或者request.request.getReader()具体实现如下 String result = ""; String line;
2021-04-28 10:32:52 142
原创 C语言学习笔记
数据类型基本类型:整数类型、浮点类型void类型 :表示没有可用的值枚举类型:表示定义离散数据派生类型:比如:指针类型、数组,结构类型,函数类型,共用体类型。其中数组和结构称为聚合类型,函数类型指的是函数返回值的类型。C 中的变量声明变量的声明有两种情况:一种是需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间。另一种是不需要建立存储空间的,通过使用extern关键字声明变量名而不定义它。 例如:extern int a 其中变量 a 可以在别的文件中定义的。C
2021-04-25 10:07:02 118
原创 MAVEN:dependencyManagement和dependency
定义Maven中的dependencyManagement元素提供了一种管理依赖版本号的方式。区别首先,不考虑父文件,dependencyManagement只是声明依赖,不对jar包引用。dependency中会直接引入依赖。如果pom文件是父文件,则dependencyManagement中的依赖也不会被继承,dependency的依赖会被直接引入。作用所以以这个pom文件为父文件的子文件,可以不声明依赖的版本,maven会向父文件的dependencyManagement中查找这个依赖
2021-04-22 17:11:33 318 1
神通数据库最新连接驱动
2022-06-25
Windows6.1-KB2533623--x64.rar
2021-07-05
常见的疾病数据数据库,SQL格式可以直接导入数据库
2020-04-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人