自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JS任务机制 - springboot实战电商项目mall4j

springboot实战电商项目mall4j (https://gitee.com/gz-yami/mall4j)java商城系统源码1.介绍工作一段时间了,今天在这总结一下浏览器执行JS任务机制。在本人日常工作中,做的最多的两点,分别是 1.对设计图进行HTML CSS的编写 2.对接口请求来的数据进行页面渲染​ 对请求回来的数据进行处理时会涉及到异步函数,而JS执行代码的时候会先执行同步任务,再执行异步任务。​ 这时要是执行同步任务里面需要用到一个异步任务的里面值就

2022-01-18 15:46:32 1090

原创 mysql-索引(InnoDB) - springboot实战电商项目mall4j

springboot实战电商项目mall4j (https://gitee.com/gz-yami/mall4j)java商城系统源码mysql-索引(InnoDB)InnoDB 会把存储的数据划分为若干个「页」,以页作为磁盘和内存交互的基本单位,一个页的默认大小为 16KB,它由七部分构成:File Header: 页的通用信息Page Header: 页的专有信息Infimum + Supremun: 系统生产的记录,存储页内最大和最小的记录User Records: 存储用户记录Fr

2022-01-13 11:30:12 558

原创 JavaScript中的this绑定 - springboot实战电商项目mall4j

springboot实战电商项目mall4j (https://gitee.com/gz-yami/mall4j)java商城系统源码JavaScript中的this绑定在日常的开发中,我们会经常使用JavaScript中的一个关键字:this,在常见的编程语言中,几乎都有this这个关键字,但是JavaScript中的this和常见的变成语言中的this不太一样,在常见的变成语言(java,c++等)中,this通常只会出现在类的方法中,而this指向它当前调用的对象,但是在JavaScript中

2022-01-04 13:23:44 504

原创 关于Docker Compose的启动顺序的讨论 - springboot实战电商项目mall4j

springboot实战电商项目mall4j (https://gitee.com/gz-yami/mall4j)java商城系统源码以下讨论基于Docker Compose的V2版本:现在容器编排使用广泛,大家都在用docker-compose进行网站部署,在部署的过程中,会使用到Mysql,Redis,JAVA后端程序,PHP后端程序之类的,会涉及到一个程序的启动先后问题,一般的解决方案都是在Compose文件中,添加depends_on参数,例如:version: "2.4"services

2021-12-29 10:37:59 1326

原创 Spring组件注册 - springboot实战电商项目mall4j

springboot实战电商项目mall4j (https://gitee.com/gz-yami/mall4j)java开源商城系统1. bean注册我们有个Person类public class Person { private Integer age; private String name; public Integer getAge() { return age; } public void setAge(Integer age) { this.age = ag

2021-12-13 10:04:20 676

原创 巧用esnext可以在开发过程中提升效率和优化性能 - springboot实战电商项目mall4j

springboot实战电商项目mall4j (https://gitee.com/gz-yami/mall4j)java开源商城系统巧用esnext可以在开发过程中提升效率和优化性能,简单分享下esnext部分知识点(根据自己理解分享,不完全按es版本顺序)【ps:其实ESNext是⼀个泛指, 它永远指向下⼀个版本. ⽐如当前最新版本是ES2021, 那么ESNext指的就是2022年6⽉将要发布的标准。但在这里因为想分享的“新”特性自es6到最近的都有涉及,所以姑且统称esnext(不是指下一个

2021-12-02 13:41:40 1031

原创 内存泄漏 & JavaScript-GC垃圾回收机制 - springboot实战电商项目mall4j

springboot实战电商项目mall4j (https://gitee.com/gz-yami/mall4j)java开源商城系统内存泄漏什么是内存泄漏 ?程序的运行需要内存。只要程序提出要求,操作系统或者运行时(runtime)就必须供给内存。对于持续运行的服务进程,必须及时释放不再用到的内存。否则,内存占用越来越高,轻则影响系统性能,重则导致进程崩溃。简单地说:不再用到的内存,没有及时释放,就叫做内存泄漏(memory leak)有一些语言(比如C语言)必须手动释放内存,即内存管理由程序

2021-11-22 10:10:32 603

原创 mybatis springboot 整合源码分析 - springboot实战电商项目mall4j

springboot实战电商项目mall4j (https://gitee.com/gz-yami/mall4j)java开源商城系统代码版本<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.0</versio

2021-11-16 09:16:18 459

原创 Spring如何解决循环依赖? - springboot实战电商项目mall4j

Spring如何解决循环依赖?springboot实战电商项目mall4j (https://gitee.com/gz-yami/mall4j)java开源商城系统@componentclass A { private B b;}@componentclass B { private A a;}类A依赖了B作为属性,类B又使用类A作为属性,彼此循环依赖。源码理解://调用AbstractBeanFactory.doGetBean(),向IOC容器获取Bean,触发依

2021-11-03 13:39:23 141

原创 一个springcloud微服务商城系统的诞生

起因有一天,苹果和西瓜说:“哎,市面咋没有好用的微服务商城呢?”西瓜:“太难了呗,你看这个好像是微服务商城耶”苹果:“这个只有后台代码,数据库都没”西瓜:“这个呢”苹果:“有数据库没前端”西瓜:“这个呢”苹果:“有前端,但是是pc的,我要移动端的”西瓜:“这个呢”苹果:“开不了店,不是b2b2c”西瓜:“这个呢”苹果:“太旧了,不维护了”西瓜:“那我们自己写个吧“准备一个微服务商城应该有啥呢?答:要拆分服务吧。拆分之后用啥做服务注册发现呢?答:spring cloud al

2021-08-03 10:43:41 816

原创 验证synchronized锁升级时对象头变化全过程 - springboot实战电商项目mall4j

springboot实战电商项目mall4j (https://gitee.com/gz-yami/mall4j)java开源商城系统验证synchronized锁升级时对象头变化全过程jdk版本:1.8系统:window10 64位jvm 启动参数:-XX:BiasedLockingStartupDelay=0 (取消延迟加载偏向锁)首先需要已知几个概念java 非数组对象(普通对象)的内存结构​ 如果是 array 对象,则会再占用一个 length 空间(4 字节),记录数组的

2021-05-13 10:02:06 231

原创 fastjson内存泄漏解决办法 - springboot实战电商项目mall4j

springboot实战电商项目mall4j (https://gitee.com/gz-yami/mall4j)java开源商城系统环境:jdk1.8系统:window/linuxfastjson版本:1.2.29关键代码:public class FastJsonUtil { /* * 将 pojo 对象转为 json 字符串,并且驼峰命名修改为下划线命名 */ public static String buildData(Object bean) {

2021-05-11 13:27:30 893

原创 Spring Boot使用Spring Mobile组件快速判断请求来源的设备

Spring Boot使用Spring Mobile组件快速判断请求来源的设备springboot实战电商项目mall4j (https://gitee.com/gz-yami/mall4j)java开源商城系统先上效果图iPhone:iPad:Android:PC:1:首先在maven添加依赖,(2.0起可用)<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.o

2021-05-06 16:31:47 1208

原创 excel 按照模板导出 - springboot实战电商项目mall4j

在统计数据的时候,我们需要导出一些特定格式的excel。我们可以使用poi写代码来处理格式,这样会导致写很多的代码来搞定,如果将某两个特定的表格数据的位置或者颜色标记做小小的改动,我们只有调整一下代码才能搞定。那有没有一种简单的方法导出特定排列的excel呢?答案当然是有的,这里推荐easypoi来处理这个问题。如有更好解决方案欢迎留言讨论哦。springboot实战电商项目mall4j (https://gitee.com/gz-yami/mall4j)java开源商城系统1.easypoi简介e

2021-04-29 09:40:37 195

原创 分布式系统的三个断路器框架的原理和实践

分布式系统的三个断路器框架的原理和实践 springboot实战电商项目mall4j (https://gitee.com/gz-yami/mall4j)java开源商城系统​ 随着微服务的流行,熔断作为其中一项很重要的技术也广为人知。当微服务的运行质量低于某个临界值时,启动熔断机制,暂停微服务调用一段时间,以保障后端的微服务不会因为持续过负荷而宕机。本文介绍了Hystrix、新一代熔断器Resilience4j以及阿里开源的Sentinel如何使用。如有错误欢迎指出。1. 为什么需要断路器​

2021-04-23 09:21:49 492 1

原创 JS的防抖与节流 -- springboot实战电商项目mall4j

JS的防抖与节流 springboot实战电商项目mall4j (https://gitee.com/gz-yami/mall4j)什么是防抖?函数防抖(debounce): 在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时什么是节流**函数节流(throttle): **规定一个单位时间,在这个单位时间内,只能有一次触发事件的回调函数执行,如果在同一个单位时间内某事件被触发多次,只有一次能生效。应用场景对于函数防抖,有以下几种应用场景:给按钮加函数防抖防止表单多次提交。

2021-04-14 09:49:26 514

原创 在Docker中运行MinIO -- springboot实战电商项目mall4j

在Docker中运行MinIO。 springboot实战电商项目mall4j (https://gitee.com/gz-yami/mall4j)MinIO 需要一个持久卷来存储配置和应用数据。不过, 如果只是为了测试一下, 您可以通过简单地传递一个目录(在下面的示例中为/ data)启动MinIO。这个目录会在容器启动时在容器的文件系统中创建,不过所有的数据都会在容器退出时丢失。docker run -p 9000:9000 \ -e "MINIO_ROOT_USER=AKIAIOSFODNN

2021-04-07 13:15:56 421

原创 接入Paypal 实现跨境支付 - springboot实战电商项目mall4j

Paypal 实现跨境支付 springboot实战电商项目mall4j (https://gitee.com/gz-yami/mall4j)摘要 Paypal支付对接(V2)1、商家注册Paypal账号1.注册前准备2.注册完成后验证二、登录开发者中心使用上一步注册好的账号,直接登录开发者中心. https://developer.paypal.com1.点击右上角的按钮 “Dashboard”点击完成后显示2.在沙箱中,创建两个测试账号1.在左边的导航栏中点击 Sandb

2021-03-31 15:46:28 1426 1

原创 Redis持久化及内存优化 -- springboot实战电商项目mall4j

springboot实战电商项目mall4j (https://gitee.com/gz-yami/mall4j)Redis持久化及内存优化通过redis的配置文件来进行的一些持久化及内存优化操作,如有错误欢迎指导。1. 为什么需要持久化​ 如果将用户数据保存到内存中,在服务器断电或者宕机时则会导致内存数据将清空,导致缓存数据清空。2. 关于持久化文件使用流程​ 在我们安装了redis之后,所有的配置都在redis.conf文件中,里面保存了RDB和AOF两种持久化机制的各种配置。命令: .

2021-03-24 09:32:26 271

原创 常用前端缓存 -- springboot实战电商项目mall4j

常用前端缓存Mall4j开源商城项目1. LocalStorage本地持久性的缓存,保存之后,不通过手动清除的话,将会一直保存在浏览器中。localStorage 中的键值对总是以字符串的形式存储,这意味着某些数据类型会发生改变。所以在保存或取出数据时,经常使用到JSON.stringify 或JSON.parse 将数据在对象和字符串间互相转化2. SessionStorage会话级别的本地存储,它和 localStorage 很相似。最大区别在于:当浏览器被关闭时,sessionStorage

2021-03-16 09:36:29 547

原创 java图片文字识别--SpringBoot实战电商项目mall4j

摘要Java + OCR 提取图片文字。在电商平台中,平台可能需要对商家一些营业执照,身份证件件进行审核,我们可能需要证件中的编号进行提取。当少量商家的时候,可以人工审核,把证件中的编号提取出来;当商家数量变多的时候,平台审核就很耗费人工。这个时候我们就自然而然想到能不能把图片中的文字提取出来。下面我们就来了解一下OCR图片文字提取。SpringBoot实战电商项目mall4j 地址 : https://gitee.com/gz-yami/mall4jJava+Tesseract_OCR 图片

2021-03-08 09:59:28 755 2

原创 如何用docker部署一个开源的项目

目标:使用Docker部署商城(Mysql + Redis + Java后端 + Vue前端)以下部署以开源商城 mall4j 为例子,链接见:gitee: https://gitee.com/gz-yami/mall4jgithub: https://github.com/gz-yami/mall4j实验环境:Linux Centos70: 系统准备准备一个干净的系统(避免被其他因素影响),系统使用以下ISO(自行安装,安装过程略):http://mirrors.163.com/

2021-02-01 10:42:27 1301

原创 以最少的代码接入小程序直播

一、简介小程序直播是微信官方提供给小程序开发者的直播组件。通过调用该组件,商家可以在小程序中实现直播功能。目前没有任何接入费用,快速实现直播功能,可自成流量闭环不需要站外引流。二、如何开通登录“小程序后台”(mp.weixin.qq.com),在左侧导航栏找到“小程序—功能—直播”,点击开通。满足以下条件,即可开通小程序直播:①属于小程序直播开放类目,具体见《微信小程序直播功能准入要求》②主体下小程序近半年没有严重违规;③小程序近90天内,有过支付行为;三、最少的开发如何接入1.支持在主包或

2021-01-26 13:49:43 208

空空如也

空空如也

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

TA关注的人

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