暂时未有相关云产品技术能力~
暂无个人介绍
一个 SpringBoot 项目(apple.jar)被部署到了服务器上运行。可向其发送网络请求获取网络资源。随着请求数量的逐渐增多,服务器宕机(死机)的可能性也越来越高。 若一个服务器宕机会导致该服务器上的某个系统直接无法被访问,则不是高可用的项目,便产生了单点故障。单点故障:服务器与项目共生。服务器生,项目活;服务器挂,项目死。
jsapi 支付可运用于微信小程序和 h5 jsapi 支付不会弹出二维码(这点与 native 支付不同) jsapi 支付运用于移动端 native 支付运用于 PC 端
调用微信官方的某些接口必须携带【access_token】作为参数 目前 access_token 的有效期为2个小时 不要反复获取 access_token access_token 是供后台(如:Java)调用微信官方接口的
关于重试的消息排重,推荐使用 msgid(XML 数据包中的内容) 排重 微信服务器在五秒内收不到响应会断掉连接,并重新发起请求,总共重试三次。假如服务器无法保证在五秒内处理并回复,可以直接回复空串,微信服务器不会对空串作任何处理,并且不会发起重试
微信公众号是开发者或商家在微信公众平台上申请的应用账号。该帐号与 QQ 账号互通,平台上实现和特定群体的文字、图片、语音、视频的全方位沟通、互动 ,形成了一种主流的线上线下微信互动营销方式。 微信公众号是用户在微信公众平台注册的一个账号。账号开通后,可在微信公众号里发视频、图片、文字等推销你的商品或分享生活经验等。 微信公众号类似于一个网站。可作为公司名片、个人名片,可做成商城、互动社区等。管理员可通过微信公众平台发送文章,关注了微信公众号的用户可查看到管理员发送的文章。
📃 我的代码被存放在公司的电脑上 📃 疫情原因使得我只能在家办公 📃 而公司已经被隔离了😂 (怕公司的电脑感染新冠病毒) 📃 我无法在公司代码的基础上继续编写代码 📃 我有两种选择:① 重新编写代码;② 跑路 📃 但是我选择了第三个选项:把 Java 项目打包后的 jar 文件转换为打包之前的 java 文件 📃 在这里我推荐两款工具,这两款工具都可以把 class 文件转换为 java 文件 🌼 ① jad 工具:可把 class 文件转换为 java 文件 【本文章的前四节是介绍 jad 工具的使用】 🌼 ② Luyten 工具:可把 jar 包转换为 java 文件
排序:把一串没有按照顺序排列的数按照升序或降序排列。 排序前:1、6、2、7、8、3、9、5、4 升序:1、2、3、4、5、6、7、8、9 降序:9、8、7、6、5、4、3、2、1
Java实现选择排序算法
节点、根节点、父节点、子节点、兄弟节点 空树:没有任何节点的树 一棵树可以只有 1 个节点(即只有根节点) 子树、左子树、右子树
① 第一次工作的第一项目要求做如下图所示的【无缝滚动】效果,这把我难倒了。 ② 两个同事,一个用轮播图,一个用 CSS。虽然我不知道咋实现,但觉得这俩方法好 low(一点思路也没有的我更 low) ③ 我实在不知道如何实现,我各种网上搜索。最后,终于等到你,还好我没有放弃。
做公司的项目,给微信小程序体验版添加了新的页面,提交测试的时候没有任何效果。上网搜索了解后,知道:若 pages.json 文件发生了变化,尤其是首页路径发生了变化。代码上传成功后,需要在后台手动设置一下首页路径,或者取消体验版,重新生成体验版二维码。
最近要使用 Layui mini 单页版进行后台管理项目的前端页面的开发。完完全全使用 Layui 的模块化开发项目还是比较伤脑筋,所以我决定对 Layui mini 单页版进行自己的封装。封装需要了解 JS 相关的语法和知识点,该篇文章就是对封装过程中 JS 知识点的记录。 技术支持:https://www.runoob.com/js
从英文翻译来看【AutoHotkey】的意思是【自动热键】。Hot 就是【热】的意思,比如【热狗 🌭 hotdog】;key 是【键】的意思。 和 Python、PHP 和 JavaScript 一样,AutoHotkey 也是一种脚本语言。AutoHotkey 是 Windows平台下的开放源代码的热键脚本语言。
① 当提到【登陆】二字的时候,我总能在脑子里面想起三个词:【过滤器】、【拦截器】、【Shiro】 ② 在我脑中它们三个都有拦截请求的功能,但具体是干啥的我无法说出来。根据费曼学习法,如果我无法说出来,就代表我不会。 ③ 接下来学习一下过滤器、拦截器和 Shiro,并记录一下。
Ehcache 是一个纯 Java 的缓存框架。具有快速、精干等特点,是 Hibernate(一个持久层框架,类似 MyBatis) 中默认的 CacheProvider
Java Web 中往往通过定义属性的方式实现数据共享,共有 :three: 种方式(对象)可实现数据共享,但它们的共享范围不一样。下面总结一下:
下载、配置 MAVEN(配置 MAVEN 本地仓库)(MAVEN 的 setting.xml)
(1) 创建 softwarezgq 目录,用于存放软件安装包
当需要开发一个新的项目(如微信小程序、原生 Vue 的项目)的时候,我总是烦恼的过程是:**项目搭建**(需要通过 npm 安装其他组件库)。记得四天前,我第一天进入公司,人生首次在公司开发项目。我开始使用原生 Vue 开发项目,当进行到安装 ElementUI 这一步的时候着实让我想要立刻离开公司,立刻放弃写代码。TMD 老是各种爆红,照着官方文档弄都弄不好。下午,我糊里糊涂地把 ElementUI 安装好了,我开始了我的项目开发。“这个项目不指望你做出来,熟悉熟悉”,这句话一直在我脑子回想,所以开发速度也慢了,而且经过毕业、经过和同在一间屋子生活四年的室友的分离、经过找房子的烦恼我已经不哪
① 第一次参与工作期间,我用 vue 搭建制作公司的一个项目。一个前端同事甲(甘圆圆)问我为什么不用 uniapp 和 HBuilderX?还说用 uniapp 更加容易。在帮我处理某个 bug(用 vue 创建的项目需要引入 base.css 和 normalize.css,否则样式未清除)的使用坐离我比较近的另一个同事问我 bug 是否解决?我告诉她:通过引入 base.css 和 normalize.css 进行解决。她说:哦!原生的需要引入。 ② 原生的?难道我使用的 vue 非常 low 吗?鉴于两个同事都提到 vue 比较难,我开始了 uniapp 创建项目的过程。 ③ 该文章只是
🌿 字符串的底层是 char[],但是 char 数组和字符串不能等价。char 数组是 char 数组,字符串是字符串。 🌿 C 语言中是可以把 char 数组和字符串等价的 ✏️ 所有的 字符串字面量(如:"林哥")都是 String 类的实例 ✏️ String 对象创建完毕后,String 对象的字符内容是不可以修改的 🌿 String 对象的引用变量的指向是可以修改的
✏️ java.lang.Math 类提供了常见的数学计算功能 ✏️ Math 类被 final 修饰(不能被继承) ✏️ Math 类不能被实例化
整数类型(Byte、Short、Integer、Long) 的包装类的valueOf方法的底层会有缓存的操作(缓存常用的数字的包装类型)
📝 写代码会遇到各种各样的错误: ✏️ ① 语法错误(会导致编译失败,程序无法正常运行) ✏️ ② 逻辑错误(比如需要进行加法操作时,不小心写成了减法操作) ✏️ ③ 运行时错误(程序运行过程中产生的意外,会导致程序终止运行)
📄 注解(Annotation)也被称为元数据(Metadata),用于解释包、类、方法、属性、构造器、局部变量等数据的信息 📄 和注释一样,注解不影响程序的逻辑。当注解可以被编译或运行(相当于嵌入在代码中的补充信息) 📄 在 JavaSE 中,注解的作用非常简单(例如:标记过时的功能、忽略警告等) 📄 在 JavaEE 中,注解非常非常得重要。在 JavaEE 中,注解占据重要地位(可用于配置应用程序的任何切面,代替 Java EE 旧版中所遗留的繁冗代码和 XML 配置等) 📄 软件工具可以通过处理注解信息生成 Java 代码、生成 XML 文件
📖 如果一个变量的取值只可能是固定的几个(如:季节),可以考虑使用枚举类型 📖 枚举由一组预定义的常量构成
🌻 嵌套类、内部类、局部类等是 Java 面向对象中的难点,但好好研究清楚感觉也不是特别难。博主再次学习这部分内容,以次巩固知识。 🌻 博主其他介绍相关内容的文章:嵌套类、内部类、静态嵌套类... 🌻 博主以官方教程为基础开始学习,其中的概念都是以官方教程为主,这样学习起来比较放心。
📖 【抽象类的作用】抽取子类的公共实现(或子类方法中的公共代码)到抽象父类中,要求子类必须要单独实现的方法(或代码块)定义成抽象方法。
📋 final 类只是不能被继承,是可以实例化的 📋 ① 不是 final 类;② 有一个 final 的方法;③ 该 final 方法不能被重写(但是可以被继承)【final 方法不能被子类重写,但可以被子类使用】 能用不可改
📖 ① 构造方法私有化(不让别人有创建该类实例的权利) 📖 ② 在类的内部创建该类的唯一对象(该类实例只能有一个,且在该类中由自己创建) 📖 ③ 向外暴露一个公共的静态方法(以返回该类的唯一对象)(通过public static 静态方法向外界返回唯一的该类的对象)
📜 私有静态方法初始化类变量的好处是:如果你需要重新为类变量进行初始化的时候,私有静态方法可以被重复使用
🔖 Lambda Expression 是 Java8 开始才有的语法 🔖 函数式接口(Functional Interface):只包含1个抽象方法的接口(可以包含多个默认方法和静态方法) 📕 可以在接口上加上@FunctionalInterface注解,表示它是一个函数式接口 🔖 当匿名类实现的是函数式接口的时候,可以使用 Lambda 表达式简化代码的书写(但是匿名类和 Lambda 在作用域上还是有点区别的)
📋 匿名类和局部类一样,都只能访问 final 或有效 final 的局部变量 📋 匿名类可以直接访问外部类中的所有成员(即使被声明为 private) 📋 匿名类只有在实例相关的代码块中使用,才可直接访问外部类中的实例成员 📋 匿名类不能自定义构造方法 📋 匿名类可以有初始化块
📝 接口是一系列方法声明的集合(和抽象类类似) 📝 接口是用来定义规范和标准的 📝 接口通过interface 关键字定义 📝 类可通过implements关键字实现接口中的方法 📝 接口中可定义抽象方法
📖 被abstract关键字修饰的方法就是抽象方法 📖 抽象方法只能定义在抽象类或接口中 📜 被abstract关键字修饰的类就是抽象类 📜 接口通过interface关键字创建;类通过class关键字创建 📖 抽象方法只有方法声明,没有方法实现(参数列表后面不是大括号,而是 ;【分号】)
📝 有效 final:虽然没有被final修饰,但只进行了一次赋值(若被赋值了不止一次,则不是有效 final) 📝 从 Java8 开始,如果局部变量没有被第二次赋值,则该局部变量会被认定为是【有效 final】
☘️ 被static修饰的成员变量可叫做:类变量、静态变量、静态字段 ☘️ 类变量在程序运行过程中只占用一份固定的内存(存储在方法区) ☘️ 可通过类名访问 ☘️ 可通过引用变量名访问(不推荐)
🌻 【==】 ① 应用于基本类型的时候,是判断值是否相等 ② 应用于引用类型的时候,是判断对象的地址值是否相等(即判断两个对象的引用指向的是否是同一个对象)
🌼 ① 当在类 ClassOne 的 test 方法的参数列表的第一个参数的前面增加一个参数 (ClassOne classOne)的时候,你会看到 main 方法中 classOne.test(1, 2); 语句的报错(如下图)。这一报错非常容易理解,ClassOne 类中的 test 方法需要3个参数,而调用 test 方法的时候只传入了两个参数,不报错才怪😏。
初学 Java 的时候,博主觉得多态非常伤脑筋。今天这篇文章将通过官方教程、韩顺平老师、李明杰老师的讲解来学习多态。博主通过他们的视频来学习,但也有自己的想法,并不是照抄 PPT 哦!OK!Let's study!😊 Java 有三大特性:封装、继承和多态(Polymorphism)
🌾 重载的方法通过传递给方法的参数的数量和类型来区分。 🌾 重载:① 方法名相同,参数类型或参数数量不同;② 重载与返回值类型、参数名称无关
🍀 ① 加载类信息: 会先加载当前类的父类的类信息(包括 Object 基类) 🍀 ② Son 对象中会拥有其所有父类的属性: 父类属性和子类属性名字一样是可以的 🍀 ③ 访问属性的时候:先看当前类中是否有该属性?若有,直接访问;⚡ 若没有,查看直接父类是否有该属性,并且该属性是否可访问?若有并且属性没有被 private 修饰,可访问直接父类的属性;⚡ 若有但属性被 private 修饰,直接报错;⚡ 若没有,继续查找父类的父类是否有该属性,并且是否可访问 ...【① 看自己有没有,有就直接用;若自己没有,就看父亲有没有,若父亲没有,就看爷爷有没有,... 一直向上找,直达找到 Obj
🍀public: 在所有类中都是可见的 🍀protected: 仅在自己的包中、自己的子类中可见 🍀package-private(没有修饰符): 仅在自己的包中可见 🍀private: 仅在自己的类中可见
✏️ 全局变量(成员变量)作用域为:整个类体 ✏️ 局部变量(除全局变量之外的变量)作用域为:它所在的代码块 ✏️ 全局变量可以不赋值,直接使用(全局变量有默认值) ✏️ 局部变量必须赋值后才能使用 ✏️ 参数的值在方法被调用的时候才有
📖 调用方法会在栈空间分配一块新的、独立的、受保护的栈空间(栈帧) 📖 方法的局部变量是独立的,不会相互受影响 📖 调用递归方法的参数必须向退出递归的条件逼近,否则会导致无限递归,进而导致 StackOverflowError(栈溢出)
在【官方教程解释类和对象】这篇文章中说到:就像现实世界的对象中有状态和行为一样,Java 编程中的对象也有【行为】,在 Java 编程中对象的行为被叫做【成员方法(简称方法)】。
原始参数(eg:int 或 double)通过 value 传递给方法。这意味着对参数值的任何更改仅存在于该方法的作用域内。当方法返回后,栈帧销毁后,参数消失后,对它们的任何更改都将无效。
① 方法被调用则栈帧创建,方法执行结束则栈帧销毁 ② 栈帧中存储了方法的局部变量信息 ③ 栈帧是分配给方法的一段栈空间
【面向对象】面向对象易维护、易复用、易扩展。 因为面向对象有封装、继承、多态的特性。所以可以设计出低耦合的系统,使系统更加灵活、更加易于维护。但是,面向对象性能比面向过程低。
思考下面的功能: 用户输入两个数字,计算机计算后在控制台打印两个数字的和。 在上面的需求中,主要难点是:如何获取用户输入的数字?