自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(121)
  • 资源 (10)
  • 问答 (4)
  • 收藏
  • 关注

原创 Harmony OS4开发入门

【代码】Harmony OS4开发入门。

2023-11-28 10:57:07 574

原创 base64加密解密

package com.geidco.dcp.util;import org.apache.tomcat.util.codec.binary.Base64;public class Base64Util { // 加密 public static String getBase64(String str) { String encodeBase64String = Base64.encodeBase64String(str.getBytes()); .

2021-08-30 10:46:48 1261

原创 Java生成二维码

1.添加依赖<!-- 生成二维码 --><dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.2.1</version></dependency><dependency> <groupId>com.goo

2021-06-14 16:09:34 608

原创 使用thymeleaf生成靜態頁面

1.導入依賴 <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> </dependency> <dependency> <groupId>org.springframew

2021-06-09 14:37:53 378

原创 文件操作工具类

向文件名后追加字符串或替换某字符串package com.atguigu.blog.util;import java.io.File;import java.io.FileNotFoundException;/** * 文件处理工具类 */public class FileUtil { /** * 向扩展名前追加指定字符串 * @param file 文件路径 * @param replaceTo 将要追加的字符串 */

2021-05-18 10:24:15 175

原创 18个Java8日期处理

目录关键类实战1. 获取当前的日期2. 获取年、月、日信息3.处理特定日期4.判断两个日期是否相等5.检查像生日这种周期性事件6.获取当前时间7.在现有的时间上增加小时8.如何计算一个星期之后的日期9.计算一年前或一年后的日期10.使用Java 8的Clock时钟类11.判断日期是早于还是晚于另一个日期12.处理时区13.如何体现出固定日期14.检查闰年15.计算两个日期之间的天数和月数16.包含时差信息的日期和时间17.获取当前的

2021-05-05 14:25:23 150

原创 Java 实现拖拽列表更新排序

拖拽列表更新排序这个功能主要是需要的算法逻辑很多图解:如在前端页面上想把id=5拖拽到id=3上拖拽之后的效果:解析图例:代码示例: /** * 拖拽数据更新排序 * @param currentId 当前数据id * @param targetId 目标数据id * @return */ @RequestMapping("/sort/{currentId}/{targetId}") public

2021-04-28 18:26:21 3270 16

原创 EasyPoi导入与导出

1.导入依赖<dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-spring-boot-starter</artifactId> <version>4.2.0</version></dependency>2.工具类package com.geidco.dcp.util;import cn.a

2021-04-25 16:19:27 1567

原创 SpringBoot实现发邮件

1.导入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId></dependency>2.导入配置spring: mail: default-encoding: UTF-8 username: 18747633468@163.

2021-04-12 19:52:04 361

原创 实现三级菜单分类

在controller直接调用即可这里使用的是mybatis plus数据库表结构@Service("categoryService")public class CategoryServiceImpl extends ServiceImpl<CategoryDao, CategoryEntity> implements CategoryService { @Override public List<CategoryEntity> listWith

2021-02-28 22:16:41 393

原创 nacos避坑指南,nacos 配置中心无法加载bootstrap.yml/properties配置文件

错误异常信息:com.alibaba.nacos.api.exception.NacosException: java.lang.reflect.InvocationTargetExceptionCaused by: java.lang.reflect.InvocationTargetException: null at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_211]...

2021-02-28 15:44:57 9219 9

原创 mybatis plus

// 根据 ID 查询T selectById(Serializable id);// 根据 entity 条件,查询一条记录T selectOne(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper); // 查询(根据ID 批量查询)List<T> selectBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> i.

2021-02-24 21:01:13 473

原创 SpringBoot自定义starter

一、创建空项目新建spring-boot-starter-demo(场景启动器,供别人使用)、spring-boot-starter-autoconfigure (功能配置,自动配置包)spring-boot-starter-demo:引用此模块,空工程spring-boot-starter-autoconfigure:引入springboot相关依赖<dependencies> <dependency> <groupId>org

2021-02-13 20:39:29 135

原创 Idea设置RunDashboard

<component name="RunDashboard"> <option name="configurationTypes"> <set> <option value="SpringBootApplicationConfigurationType"/> </set> </option></component>

2021-02-01 09:13:00 96

原创 SpringBoot整合Thymeleaf、Spring Security个人博客项目

SpringBoot整合Thymeleaf1.引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>2.导入配置3.新建Controller/** * 打开页面并渲染数据 */@GetMa.

2021-01-29 16:35:36 596

原创 Java 面试题之基础篇

1. ".java" 源文件中可以包含多少个类?有什么限制? 可以包含多个类,但只能包含一个public类,并且public类名必须与文件名相同。通常一个文件里只包含一个类。 2. switch语句能否作用在byte上,能否作用在long类型上,能否作用域String上? switch(e),其中e必须是int型或 enum型,由于short、char或者byte会自动转为int的...

2019-10-05 16:06:26 184

原创 centos7.6安装mysql8.0

下载MySQL yum源wgethttps://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm安装yum源yumlocalinstallmysql80-community-release-el7-1.noarch.rpm更新yum源yum clean allyum makecache创建Mys...

2019-09-25 22:55:33 113

原创 centos7设置静态IP

进入到目录进入编辑文件重启网络ifconfig查看IPreboot重启系统

2019-09-25 17:07:51 159

原创 Linux下安装、启动、停止mongodb

如果你是个优秀程序员并想做的更好,那么欢迎您关注微信公众号“程序员社区1024”,进入获取各类全套课程资料,这里不介绍具体是什么资料,有兴趣自己看1.下载完安装包,并解压 tgz(以下演示的是 64 位 Linux上的安装)curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz # 下载ta......

2019-06-05 09:34:56 5079

原创 MySQL存储引擎、索引、SQL优化、视图、存储过程、触发器、锁、MySQL管理

定义存储过程,完成如下需求 根据传入的参数uage,来查询用户表tb_user中,所有的用户年龄小于等于uage的用户姓名(name)和专业( profession),并将用户的姓名和专业插入到所创建的一张新表(id,name,profession)中。定义存储过程,完成如下需求 根据传入的参数uage,来查询用户表tb_user中,所有的用户年龄小于等于uage的用户姓名(name)和专业( profession),并将用户的姓名和专业插入到所创建的一张新表(id,name,profession)中。

2024-07-11 21:23:24 716

原创 BigDecimal解决浮点数运算精度丢失问题

我们知道计算机是二进制的,而且计算机在表示一个数字时,宽度是有限的,无限循环的小数存储在计算机时,只能被截断,所以就会导致小数精度发生损失的情况。的值,如果相等就返回 0,如果第 1 个数比第 2 个数大则返回 1,反之返回-1。通常情况下,大部分需要浮点数精确运算结果的业务场景(比如涉及到钱的场景)都是通过。方法不仅仅会比较值的大小(value)还会比较精度(scale),而。1.0 的 scale 是 1,1 的 scale 是 0,因此。来定义浮点数的值,然后再进行浮点数的运算操作即可。

2024-07-11 21:09:08 1007

原创 JVM虚拟机

假设你自己的类加载器不用双亲委派,那么你的类加载器加载假冒的 java.lang.System 时,它需要先加载父类 java.lang.Object,而你没有用委派,找不到 java.lang.Object 所以加载会失败。必须配合引用队列一起使用,当虚引用所引用的对象被回收时,由 Reference Handler 线程将虚引用对象入队,这样就可以知道哪些对象被回收,从而对它们关联的资源做进一步处理。如果仅有软引用该对象时,首次垃圾回收不会回收该对象,如果内存仍不足,再次回收时才会释放对象。

2024-07-11 21:07:34 688

原创 行为型模式:解释器模式|自定义Spring框架

它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。Spring中Bean的创建是典型的工厂模式,这一系列的Bean工厂,即IoC容器,为开发者管理对象之间的依赖关系提供了很多便利和基础服务,在Spring中有许多IoC容器的实现供用户选择,其相互关系如下图所示。BeanFactory有一个很重要的子接口,就是ApplicationContext接口,该接口主要来规范容器中的bean对象是非延时加载,即在创建容器对象的时候就对象bean进行初始化,并存储到一个容器中。

2024-07-11 21:04:16 594

原创 行为型模式:状态/观察者/中介者/迭代器/访问者/备忘录模式

一般来说,同事类之间的关系是比较复杂的,多个同事类之间互相关联时,他们之间的关系会呈现为复杂的网状结构,这是一种过度耦合的架构,即不利于类的复用,也不稳定。多个同事对象的交互,被封装在中介者对象里面集中管理,使得这些交互行为发生变化的时候,只需要修改中介者对象就可以了,当然如果是已经做好的系统,那么就扩展中介者对象,而各个同事类不需要做修改。没有使用中介者模式的时候,同事对象之间的关系通常是一对多的,引入中介者对象以后,中介者对象和同事对象的关系通常变成双向的一对一,这会让对象的关系更容易理解和实现。

2024-07-11 21:03:12 593

原创 结构型模式:组合/享元模式|行为型模式:模板方法/策略/命令/责任链模式

但是由于容器对象和叶子对象在功能上面的区别,使得我们在使用的过程中必须要区分容器对象和叶子对象,但是这样就会给客户带来不必要的麻烦,作为客户而已,它始终希望能够一致的对待容器对象和叶子对象。透明组合模式的缺点是不够安全,因为叶子对象和容器对象在本质上是有区别的,叶子对象不可能有下一个层次的对象,即不可能包含成员对象,因此为其提供 add()、remove() 等方法是没有意义的,这在编译阶段不会出错,但在运行阶段如果调用这些方法可能会出错(如果没有提供相应的错误处理代码)并给工厂类提供一个获取形状的方法。

2024-07-11 21:01:27 619

原创 结构型模式:代理/适配器/装饰者/桥接/外观模式

有些人可能炒过股票,但其实大部分人都不太懂,这种没有足够了解证券知识的情况下做股票是很容易亏钱的,刚开始炒股肯定都会想,如果有个懂行的帮帮手就好,其实基金就是个好帮手,支付宝里就有许多的基金,它将投资者分散的资金集中起来,交由专业的经理人进行管理,投资于股票、债券、外汇等领域,而基金投资的收益归持有者所有,管理机构收取一定比例的托管管理费用。为良好的代码设计和可维护性,我们将网络通信部分隐藏起来,只暴露给本地服务一个接口,通过该接口即可访问远程服务提供的功能,而不必过多关心通信部分的细节。

2024-07-11 21:00:26 799

原创 创建型模式:工厂/原型/建造者模式

在java中,万物皆对象,这些对象都需要创建,如果创建的时候直接new该对象,就会对该对象耦合严重,假如我们要更换对象,所有new对象的地方都需要修改一遍,这显然违背了软件设计的开闭原则。这些工厂只生产同种类产品,同种类产品称为同等级产品,也就是说:工厂方法模式只考虑生产同等级的产品,但是在现实生活中许多工厂是综合型的工厂,能生产多等级(种类) 的产品,如电器厂既生产电视机又生产洗衣机或空调,大学既有软件专业又有生物专业等。纵轴是产品族,也就是同一品牌的产品,同一品牌的产品产自同一个工厂。

2024-07-11 20:58:54 590

原创 设计模式概述、UML图、类图、软件设计原则、创建型模式-单例模式

用户可以根据自己的喜爱更换自己的输入法的皮肤,也可以从网上下载新的皮肤。双重检查锁模式是一种非常好的单例实现模式,解决了单例、性能、线程安全问题,上面的双重检测锁模式看上去完美无缺,其实是存在问题,在多线程的情况下,可能会出现空指针问题,出现问题的原因是JVM在实例化对象的时候会进行优化和指令重排序操作。上面代码可以看到已经组装了一台电脑,但是似乎组装的电脑的cpu只能是Intel的,内存条只能是金士顿的,硬盘只能是希捷的,这对用户肯定是不友好的,用户有了机箱肯定是想按照自己的喜好,选择自己喜欢的配件。

2024-07-11 20:57:29 746

原创 Nginx实现服务器端集群搭建/Nginx实现动静分离/Nginx高可用解决方案/Nginx与Tomcat部署

那么问题来了,如果Tomcat的真的宕机了,整个系统就会不完整,所以如何解决上述问题,一台服务器容易宕机,那就多搭建几台Tomcat服务器,这样的话就提升了后的服务器的可用性。Lua语言中的表本质上是一种辅助数组。假如某个时间点,由于某个原因导致Tomcat后的服务器宕机了,我们再次访问Nginx,会得到如下效果,用户还是能看到页面,只是缺失了访问次数的统计,这就是前后端耦合度降低的效果,并且整个请求只和后的服务器交互了一次,js和images都直接从Nginx返回,提供了效率,降低了后的服务器的压力。

2024-07-11 00:26:04 187

原创 Nginx负载均衡/Nginx缓存集成

DNS负载均衡采用的是简单的轮询负载算法,不能区分服务器的差异,不能反映服务器的当前运行状态,不能做到为性能好的服务器多分配请求,另外本地计算机也会缓存已经解析的域名到IP地址的映射,这也会导致使用该DNS服务器的用户在一定时间内访问的是同一台Web服务器,从而引发Web服务器减的负载不均衡。该模型将网络通信的工作分为七层。需要额外多说一点的是使用ip_hash指令无法保证后端服务器的负载均衡,可能导致有些后端服务器接收到的请求多,有些后端服务器接收的请求少,而且设置后端服务器权重等方法将不起作用。

2024-07-11 00:24:32 15

原创 Nginx: Rewrite功能配置/Nginx反向代理/Nginx的安全控制SSL

我们在创建自己的站点时,可以通过很多中方式来有效的提供搜索引擎优化的程度。防盗链之前我们已经介绍过了相关的知识,在rewrite中的防盗链和之前将的原理其实都是一样的,只不过通过rewrite可以将防盗链的功能进行完善下,当出现防盗链的情况,我们可以使用rewrite将请求转发到自定义的一张图片和页面,给用户比较好的提示信息。通过对比,上下两次的日志记录,会发现虽然我们是客户端访问服务端,但是如何使用了代理,那么服务端能看到的只是代理发送过去的请求,这样的化,就使用Nginx实现了正向代理的设置。

2024-07-11 00:23:00 857

原创 Nginx进阶篇/Nginx服务器基础配置实例/Nginx服务操作的问题/Nginx静态资源部署

经过刚才的分析,"tcp_nopush"和”tcp_nodelay“看起来是"互斥的",那么为什么要将这两个值都打开,这个大家需要知道的是在linux2.5.9以后的版本中两者是可以兼容的,三个指令都开启的好处是,sendfile可以开启高效的文件传输模式,tcp_nopush开启可以确保在发送到客户端之前数据包已经充分“填满”, 这大大减少了网络开销,并加快了文件发送的速度。经过上述内容的优化,我们再次思考一个问题,假如在满足上述优化的前提下,我们传送一个1M的数据和一个10M的数据那个效率高?

2024-07-11 00:20:51 18

原创 Nginx简介

并且当Nginx的服务器启动成功后,我们是可以通过浏览器进行直接访问的,同时我们可以通过更改html目录下的页面来修改我们在页面上所看到的内容,那么问题来了,为什么我们要修改html目录下的文件,能不能多添加一些页面是Nginx的功能更加丰富,还有前面聊到Nginx的前端功能又是如何来实现的,这就需要我们对Nginx的核心配置文件进行一个详细的学习。如果想对Nginx的版本进行更新,或者要应用一些新的模块,最简单的做法就是停止当前的Nginx服务,然后开启新的Nginx服务。

2024-07-11 00:19:30 25

原创 使用thymeleaf生成靜態頁面

【代码】使用thymeleaf生成靜態頁面。

2024-07-11 00:07:01 189

原创 Nacos安装指南

Nacos的默认端口是8848,如果你电脑上的其它进程占用了8848端口,请先尝试关闭该进程。Nacos依赖于JDK运行,索引Linux上也需要安装JDK才行。Linux或者Mac安装方式与Windows类似。上传到Linux服务器的某个目录,例如。开发阶段采用单机安装即可。windows版本使用。与windows中类似。然后重命名为java。

2024-07-08 22:16:48 908

原创 Nacos集群搭建

实际部署时,需要给做反向代理的nginx服务器设置一个域名,这样后续如果有服务器迁移nacos的客户端也无需更改配置.其中包含3个nacos节点,然后一个负载均衡器代理3个Nacos。官方推荐的最佳实践是使用带有主从的高可用数据库集群,主从模式的高可用数据库可以参考。将nacos文件夹复制三份,分别命名为:nacos1、nacos2、nacos3。Nacos默认数据存储在内嵌数据库Derby中,不属于生产可用的数据库。然后分别修改三个文件夹中的application.properties,

2024-07-08 22:15:04 773

原创 Sentinel 规则持久化

在sentinel-dashboard的test包下,已经编写了对nacos的支持,我们需要将其拷贝到main下。修改OrderService,让其监听Nacos中的sentinel规则配置。SentinelDashboard默认不支持nacos的持久化,需要修改源码。接下来,还要修改前端页面,添加一个支持nacos的菜单。

2024-07-08 22:11:55 354

原创 SpringCloud与Feign、Nacos配置管理、Gateway全面刨析

Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。例如,将UserClient、User、Feign的默认配置都抽取到一个feign-api包中,所有微服务引用该依赖包,即可直接使用。上一节学习的过滤器,网关提供了31种,但每一种过滤器的作用都是固定的。

2024-07-08 22:10:27 1078

原创 SpringCloud与Nacos、Ribbon、Eureke、服务拆分与远程调用全面刨析

因此使用Nacos和使用Eureka对于微服务来说,并没有太大区别。,这个类会在对RestTemplate的请求进行拦截,然后从Eureka根据服务id获取服务列表,随后利用负载均衡算法得到真实的服务地址信息,替换服务id。修改order-service中的根据id查询订单业务,要求在查询订单的同时,根据订单中包含的userId查询出用户信息,一起返回。下面,我们将order-service的逻辑修改:向eureka-server拉取user-service的信息,实现服务发现。做到高内聚,低耦合。

2024-07-08 21:35:42 849

原创 Redis原理-数据结构

Redis原理篇1、原理篇-Redis数据结构1.1 Redis数据结构-动态字符串我们都知道Redis中保存的Key是字符串,value往往是字符串或者字符串的集合。可见字符串是Redis中最常用的一种数据结构。不过Redis没有直接使用C语言中的字符串,因为C语言字符串存在很多问题: 获取字符串长度的需要通过运算 非二进制安全 不可修改 Redis构建了一种新的字符串结构,称为简单动态字符串(Simple Dynamic String),简称SDS。 例如,我们执行命令:那么

2024-07-08 21:10:38 1205

生鲜商城kxmall-小程序 + App + 公众号H5 项目源码

导入idea项目时,把依赖提前放入maven本地仓库!!!!!!! 生鲜商城kxmall-小程序 + App + 公众号H5 可以直接商用 Java 后端服务 kxmall-admin: 启动器(打包打这个就行) kxmall-admin-api: 提供管理员管理系统的WebApi kxmall-app-api: 提供APP、小程序、H5用户请求的WebApi kxmall-rider-api: 提供骑手APP、小程序、H5用户请求的WebApi kxmall-framework: 提供通用业务代码 kxmall-system: 提供数据模型以及数据访问层封装 kxmall-common: 提供注解、工具类等 kxmall-generator: 代码生成器 Vue 前端页面 kxmall-admin-ui: 基于element-ui的后台管理页面 kxmall-app-ui: 基于uniapp的小程序、H5、APP前端代码 kxmall-rider-ui: 基于uniapp的小程序、H5、APP骑手代码

2024-07-11

校园点餐系统,门店点餐系统,点餐餐饮系统j

点餐系统基于java+springboot+element-plus+uniapp打造的面向开发的小程序商城,方便二次开发或直接使用,可发布到多端,包括微信小程序、微信公众号、QQ小程序、支付宝小程序、字节跳动小程序、百度小程序、android端、ios端。 校园点餐系统,门店点餐系统,点餐餐饮系统j 毕业设计 可以商用 node18 vue3、ts Java jdk1.8 导入idea项目时,把依赖提前放入maven本地仓库!!!!!!!

2024-07-11

ERP进销存系统,支持多平台订单同步,仓库发货,波次拣货,售后服务,电商ERP一站式解决方案

ERP进销存系统,支持多平台订单同步,仓库发货,波次拣货,售后服务,电商ERP一站式解决方案 ERP系统基于java+springboot+element-plus+uniapp打造的面向开发的电商管理ERP系统,方便二次开发或直接使用,可发布到多端,包括微信小程序、微信公众号、QQ小程序、支付宝小程序、字节跳动小程序、百度小程序、android端、ios端。 后端:springboot管理端页面:element-plus 小程序端:uniapp。 部署环境建议:Linux + Nginx + springboot + MySQL5.7/8.0,上手建议直接用宝塔集成环境。

2024-07-11

C#/.NET新阁教育C#.NET全栈开发高级VIP班 网盘

C#/.NET【新阁教育】C#.NET全栈开发高级VIP班 网盘 开发 .NET C# .Net Core

2024-02-01

xshell7和xftp7安装包

xshell7和xftp7安装包

2022-05-30

Java学习资源和毕业设计.txt

Java学习资源和毕业设计,谷粒商城,谷粒学院,微服务架构项目课程

2021-03-31

vehicle_manager.zip

北京卫戍区的外包项目,派车软件,卫戍区对车辆的管理,流程见内部文档

2019-09-11

软件开发工具包.txt

基本包含程序员最常用的工具包,Linux管理工具,数据库管理工具,ide工具,这里就不一一列举了,如发现链接失效,请联系我

2019-06-14

Linux基础加强与Hadoop集群搭建.md

使用hyper-v虚拟机进行Hadoop集群环境搭建,和Linux基础加强,shell脚本

2019-06-07

常用软件开发破解包汇总.txt

因软件包很全这里就不做详细描述了, 本文档几乎涵盖开发所需使用的所有工具,ide、jdk、数据库和Linux连接管理工具等,

2019-05-29

程序员就业全套课程.docx

程序员就业课全套课程+经验分享免费奉送,课程内容包含:Java、.NET、python、go、大数据、前端/小程序、C/C++等,适合小白想转行开发、计算机专业在校生、在职提升的开发人员都有对应的课程,看完整套课程相信会能高薪就业;本人就是案例,目前在阿里巴巴任职高级Java开发工程师,月薪50k

2019-05-10

Java就业课全套课程+经验分享免费奉送.docx

里面包含Java全套就业课程、最新的C++课程、.net就业课程、python和前端提升课程、微信小程序课程等,这些全部免费奉送给你,保你在职场路顺利,升职加薪

2019-05-10

javascript与jquery技术应用ppt及帮助文档

javascript与jquery技术应用包括ppt、jquery帮助文档和配置环境、项目案例等优质资源,本资源为内部机构资料,不可免费向外公布。

2017-02-25

北大青鸟Java课件及源代码

北大青鸟内部资料

2017-01-07

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

TA关注的人

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