- 博客(40)
- 收藏
- 关注
原创 springboot+springsecurity+vue前后端分离权限管理系统
优秀的权限管理系统,核心功能已经实现,采用springboot+vue前后端分离开发,springsecurity实现权限控制,实现按钮级的权限管理,非常适合作为基础框架进行项目开发。
2024-04-24 10:22:17 339
原创 HttpURLConnection的使用
HttpURLConnection 是一个位于 java.net 包中的抽象类,它提供了基本的 URL 请求,响应等功能。HttpURLConnection 是基于 http 协议的,支持 GET、POST、PUT、DELETE 等各种请求方式。如果使用 HTTPS 协议请求,可以使用它的子类 HttpsURLConnection 完成更安全的请求操作。
2024-03-22 10:57:24 698 1
原创 项目构建工具maven的基本配置+idea 中配置 maven
maven 是一个项目管理及自动构建工具,他在 java 开发中主要用于管理项目中各种库依赖的管理和构建项目,是 java 开发最主流的构建工具。本文主要描述 java 开发 maven 本地环境配置。
2023-11-04 19:58:56 722
原创 Luckyexcel 加载 springboot 后台返回的 excel 文件并显示
项目使用 Luckysheet 实现 excel 文件的在线编辑操作,导入导出使用 Luckyexcel 插件来实现,现在的需求是:从后台返回文件流,并通过 Luckyexcel 加载并回显在 Luckysheet 中,实现如下。
2023-10-24 09:39:19 1809
原创 国密算法 SM4 加解密 java 工具类
我国国家密码管理局陆续发布了一系列国产加密算法,这其中就包括 SM1、SM2、SM3 、SM4、SM7、SM9、ZUC(祖冲之加密算法)等,SM 代表商密,即商业密码,是指用于商业的、不涉及国家秘密的密码技术。SM1 和 SM7 的算法不公开,其余算法都已成为 ISO/IEC 国际标准
2023-07-12 14:20:20 8961 1
原创 java 导出数据库表结构信息、列字段、约束等
由于编写项目相关文档,需要导出开发库所有的表结构信息,因此写了个程序,首先导出`json`格式,然后将`json`转成`excel`。
2023-06-06 10:18:44 813
原创 vue 样式穿透
vue 的 style 中设置 scoped 属性后,组件实现样式私有化。但是该组件又使用的其他组件库时(vant,elementui,自定义等),该组件的 style 中的样式,优先级低,不生效,这个时候需要使用样式穿透(作用得更深)。
2023-04-14 16:09:13 205
原创 mysql 根据子节点通过 parent_id 关联查询出所有的父节点
👑 博主简介:知名开发工程师👣 出没地点:北京💊 2023年目标:成为一个大佬。
2023-04-07 14:16:48 1242
原创 mysql 根据根节点通过 parent_id 关联递归查询出所有的子节点
👑 博主简介:知名开发工程师👣 出没地点:北京💊 2023年目标:成为一个大佬。
2023-03-23 18:48:08 558
原创 Java IO - Path 和 Paths 类的应用
jdk7 引入了 Path 和 Paths 类, Path 用来表示文件路径,Paths 是工具类,用来获取 Path 实例
2023-02-26 17:54:49 571
原创 Java IO - Java NIO 技术分析
Java NIO(New IO)也有人称之为 java non-blocking IO 是从 Java 1.4 版本开始引入的一个新的 IO API,可以替代标准的 Java IO API。NIO 与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO 支持面 `向缓冲区` 的、基于 `通道` 的 IO 操作。NIO 将以更加高效的方式进行文件的读写操作。NIO 可以理解为非阻塞IO,传统的 IO 的 read 和 write 只能阻塞执行,线程在读写 IO 期间不能干其他事情
2023-02-26 16:28:38 463
原创 Java IO - BIO 基于网络编程案例分析
ava BIO 就是传统的 java io 编程,其相关的类和接口在 java.io 中。BIO(blocking I/O) : 同步阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,可以通过线程池机制改善
2023-02-25 17:41:59 401
原创 java8 新特性(下)
当我们在需要对集合中的元素进行操作的时候,除了必需的添加,删除,获取外,最典型的操作就是集合遍历。不同的需求总是一次次的循环循环循环。这时我们希望有更加高效的处理方式,这时我们就可以通过JDK8中提供的Stream API来解决这个问题了。
2023-02-24 20:53:21 1094
原创 java8 新特性(上)
毫无疑问,Java 8是Java自Java 5(发布于2004年)之后的最重要的版本。这个版本包含语言、编译器、库、工具和JVM等方面的十多个新特性。在本文中我们将学习这些新特性,并用实际的例子说明在什么场景下适合使用。
2023-02-20 22:02:49 758
原创 ConcurrentHashMap源码分析(java8)
在 ConcurrentHashMap 中一共有5个构造方法,都没有对内部的数组做初始化, 只是对一些变量的初始值做了处理,数组初始化是在第一次添加元素时完成
2023-02-20 15:48:08 543
原创 12. ES6 async/await 的使用
ES2017 标准引入了 async 函数,使得异步操作变得更加方便。async 和 await 是用来处理异步操作的,把异步变为同步的一种方法。async/await 的目的为了简化使用基于 promise 的 API 时所需的语法。async/await 的行为就好像搭配使用了生成器和 promise。
2022-11-18 20:47:03 1615
原创 11. ES6 Module 模块化
随着前端的发展 JavaScript 实现的功能越来越多,程序的复杂度瞬间提升,所以有必要提供一种将 JavaScript 程序拆分为可按需导入的单独模块的机制,ES6 通过 import、export 来实现了模块化技术。
2022-11-17 22:03:42 990
原创 关于 js 闭包的理解
函数对象可以通过作用域链相互关联起来,函数体内部变量可以保存在函数作用域内,这就是闭包。各种专业文献上的 `闭包(closure)`定义非常抽象,很难看懂。我的理解是,闭包就是能够读取其他函数内部变量的函数。所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。要理解闭包,首先必须理解Javascript特殊的变量作用域。
2022-11-16 17:46:08 584 2
原创 10. ES6 Promise 对象的用法
Promise 是异步编程的一种解决方案,比传统的解决方案:回调函数和事件,更合理和更强大。所谓 Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。
2022-11-15 22:33:36 1172
原创 9. ES6 扩展运算符的用法
扩展运算符(spread)是三个点(`...`)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。扩展运算符后面还可以放置表达式。如果扩展运算符后面是一个空数组,则不产生任何效果。注意,只有函数调用时,扩展运算符才可以放在圆括号中,否则会报错。
2022-11-14 17:12:56 822
原创 8. ES6 箭头函数的用法
ES6 允许使用箭头(`=>`)定义函数。如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分。如果箭头函数的代码块部分多于一条语句,就要使用大括号将它们括起来,并且使用`return`语句返回。由于大括号被解释为代码块,所以如果箭头函数直接返回一个对象,必须在对象外面加上括号,否则会报错。
2022-11-14 15:44:22 96
原创 7. ES6 函数参数的默认值
ES6 之前,不能直接为函数的参数指定默认值,只能采用变通的方法。ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面。另外,一个容易忽略的地方是,参数默认值不是传值的,而是每次都重新计算默认值表达式的值。也就是说,参数默认值是惰性求值的。
2022-11-14 14:32:40 353
原创 6. ES6 字符串的新增方法
ES5 提供`String.fromCharCode()`方法,用于从 Unicode 码点返回对应字符,但是这个方法不能识别码点大于`0xFFFF`的字符。上面代码中,`String.fromCharCode()`不能识别大于`0xFFFF`的码点,所以`0x20BB7`就发生了溢出,最高位`2`被舍弃了,最后返回码点`U+0BB7`对应的字符,而不是码点`U+20BB7`对应的字符。
2022-11-13 23:17:48 1066
原创 5. ES6 模板字符串
模板字符串(template string)是增强版的字符串,用反引号(`)标识。它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量(需要将名字写到 ${ } 中)。
2022-11-12 23:56:48 637
原创 11. webpack Preload / Prefetch Network Cache core-js pwa 配置
我们前面已经做了代码分割,同时会使用 import 动态导入语法来进行代码按需加载(我们也叫懒加载,比如路由懒加载就是这样实现的)。但是加载速度还不够好,比如:是用户点击按钮时才加载这个资源的,如果资源体积很大,那么用户会感觉到明显卡顿效果。
2022-11-10 14:20:38 373
原创 4. ES6 Iterator 遍历器或迭代器
JavaScript 原有的表示“集合”的数据结构,主要是数组(Array)和对象(Object),ES6 又添加了 Map 和 Set。这样就有了四种数据集合,就需要一种统一的接口机制,来处理所有不同的数据结构。遍历器(Iterator)就是这样一种机制。它是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署 Iterator 接口,就可以完成遍历操作为各种数据结构,提供一个统一的、简便的访问接口使得数据结构的成员能够按某种次序排列。
2022-11-07 15:11:59 853
原创 3. ES6 新的原始数据类型 Symbol
ES5 的对象属性名都是字符串,这容易造成属性名的冲突。比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法,新方法的名字就有可能与现有方法产生冲突。如果有一种机制,保证每个属性的名字都是独一无二的就好了,这样就从根本上防止属性名的冲突。这就是 ES6 引入 的原因。ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。它属于 JavaScript 语言的原生数据类型之一,其他数据类型是:undefined、null、布尔值(Boolean)、字符串(String)、数值(Numbe
2022-11-03 22:31:50 917
原创 2. ES6 变量的解构赋值
ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(以前,为变量赋值,只能直接指定值)。下面是一些使用嵌套数组进行解构的例子:如果等号的右边不是数组(或者严格地说,不是可遍历的结构),那么将会报错。对于 Set 结构,也可以使用数组的解构赋值
2022-11-02 21:28:09 1116
原创 1. ES6 let 和 const 命令
ES6 允许在大括号里面,直接写入变量和函数,作为对象的属性和方法,这样的书写更加简洁。ES6 允许按照一定模式从数组和对象中提取值,对变量进行赋值。ES6 引入新的声明字符串的方式:反引号``
2022-11-02 18:55:40 889
原创 10. webpack 多入口 提取重复代码 按需加载 给动态导入文件取名称
打包代码时会将所有 js 文件打包到一个文件中,体积太大了。我们如果只要渲染首页,就应该只加载首页的 js 文件,其他文件不应该加载。所以我们需要将打包生成的文件进行代码分割,生成多个 js 文件,渲染哪个页面就只加载某个 js 文件,这样加载的资源就少,速度就更快。
2022-11-02 14:38:55 920
原创 9. webpack SourceMap 配置和提升打包构建速度
当构建后代码出错了,会通过 xxx.map 文件,从构建后代码出错位置找到映射后源代码出错位置,从而让浏览器提示源代码文件出错位置,帮助我们更快的找到错误根源。当项目越来越庞大时,打包速度越来越慢,我们想要继续提升打包速度,其实就是要提升 js 的打包速度,因为其他文件都比较少。所以我们需要做到修改某个模块代码,就只有这个模块代码需要重新打包编译,其他模块不变,这样打包速度就能很快。开发时我们修改了其中一个模块代码,webpack 默认会将所有模块全部重新打包编译,速度很慢。
2022-11-01 22:58:55 365 2
原创 8. webpack 处理 css 兼容性和压缩
css 文件目前被打包到 js 文件中,当 js 文件加载时,会创建一个 style 标签来生成样式。就是在 rules 里面的 css-loader 的后面引入的内容,并且给 less,scss等等都需要配置。如果我们用了一些比如 flex 等有兼容性的样式,就需要 postcss-loader 来解决兼容性问题。由于配置文件中 use 里面要配置很多的 loader 所以这里提起了一个公共的方法。我们应该是单独的打包 css 文件,通过 link 标签加载性能才好。来控制样式的兼容性做到什么程度。
2022-11-01 21:28:55 558
原创 7. webpack 生产模式
生产模式是开发完成代码后,我们需要得到代码将来部署上线。这个模式下我们主要对代码进行优化,让其运行性能更好。优化代码运行性能优化代码打包速度。
2022-11-01 16:38:59 497
原创 6. webpack 搭建开发服务器
每次写完代码都需要手动打包代码然后去运行 index.html 看效果,太麻烦了,我们希望一切自动化,写完代码自动打包?注意:并且当你使用开发服务器时,所有代码都会在内存中编译打包,并不会输出到 dist 目录下。运行开发服务器要用 serve 指令。每次写完代码都需要输入。
2022-11-01 16:25:20 203
原创 4. webpack 中使用 Eslint 和 Babel
webpack 对 js 处理是有限的,只能编译 js 中 ES 模块化语法,不能编译其他语法,导致 js 不能在 IE 等浏览器运行,所以我们希望做一些兼容性处理。其次开发中,团队对代码格式是有严格要求的,我们不能由肉眼去检测代码格式,需要使用专业的工具来检测。针对 js 兼容性处理,我们使用Babel来完成针对代码格式规范化,我们使用Eslint来完成我们先完成 Eslint,检测代码格式无误后,在由 Babel 做代码兼容性处理。
2022-11-01 15:47:29 881
原创 3. webpack 处理图片音视频和字体资源
由于之前没有配置 js,图片等资源的输出目录,所以 js,图片资源都是在 dist 目录下,所以如下配置,主要设置将 js,图片分开用各自的文件夹存放。转换成 base64 字符串形式,这样当多次访问页面,图片地址由于是字符串形式,所以就不会去请求后端。由于 main.js 现在已经打包到 js 目录,所以,html 页面引入地址也相应改改。注意:需要将上次打包生成的文件清空,再重新打包才有效果,手动删除 dist 目录即可。,然后重新打包就会发现每次打包前他会自动删除,然后打包。
2022-11-01 14:43:49 844
原创 2. webpack 处理 css less sass scss styl 资源
webpack 本身是不能识别样式资源的,所以我们需要借助 loader 来解析样式资源我们可以去官方文档中找到对应的 loader,并且查看配置指南webpack 官方 Loader 文档。
2022-10-31 23:07:20 933
原创 1. webpack 介绍及初体验
webpack 是一个静态资源打包工具。从图中我们可以看出,webpack 可以将多种静态资源 js、css、less 转换成一个静态文件,输出的文件就是编译好的文件,就可以在浏览器端运行了。开发模式:仅能编译 JS 中的 ES Module 语法生产模式:能编译 JS 中的 ES Module语法,还能压缩 JS 代码。
2022-10-31 22:06:16 719 1
flowable-6.8.0(包含flowableUI组件部署包 )
2023-03-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人