自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 三高分布式商城系统

每当完成一个模块的时候内心是无比的喜悦。

2023-02-02 16:15:20 129 1

原创 B树和B+树的区别

AVL树的LL、RR、LR、RL调整方式 , 2-3树,2-3-4树的结点类型介绍,B树的常见操作(查找,插入,结点分裂,删除),B+树在生产环境下为何高效,B*树的高扇出性。

2022-11-03 21:31:00 619

原创 XSSFWorkbook Excel导出导入

Excel导入导出

2022-07-20 17:01:12 4125

原创 JS闭包(图解)

代码function foo(){ var name="foo" var age=18 function bar(){ console.log(name) console.log(age) } return bar}var fn=foo()fn()分析//第13行代码执行 , 生成AO对象。//接下来执行函数中的代码://函数执行上下文会被销毁;但是AO1对象不会被销毁。//0xb00对象不会被销毁 , 因为

2021-09-17 08:24:53 331 1

原创 J01 ~ J10

整理的一些算法学习过程中的笔记,后续会完善更新。

2023-04-07 11:08:45 521 1

原创 光线追踪算法

大致了解了一下,光线追踪算法的前世今生,感觉数学真的是重中之中,值得我们花大力气研究。//利用光路可逆直接从像素点出发( 这样可以节约算力 )。//通常会让每个像素发出多条光线,这样可以让效果更好。//模拟蜡烛,以及人的皮肤;//写成离散的代数形式,有无穷项。//模拟水面反射的菲涅尔公式;

2023-04-03 20:03:05 330 1

原创 分布式项目-规格参数(13)

/商品维护模块;其中值得一提的是。商品的介绍全部都做成图片的形式,这样有利于去维护。商品模块中的页面在created中一开始要对会员等级进行查询操作,访问MemberController中的list接口。//维护规格参数信息://维护完基本信息之后的《商品发布》页面。

2023-02-26 20:13:48 829

原创 分布式项目-属性管理( 10 、11 、12)

/允许多组的条件查询;

2023-02-18 22:35:42 152

原创 分布式项目-品牌管理(7、8、9)

(1):创建自定义的校验注解;/*** 自定义的校验注解String message() default "提交的数据必须在数据列表中";Class

2023-02-13 19:18:06 338

原创 分布式项目-品牌管理(5、6)

logo图片需要保存到服务器上,数据库中只是存储了图片的地址。或者使用阿里云对象存储。我们在学习的时候,没有那么高的访问频率 , 所以可以选择《低频访问存储》;任何数据的删除都不要使用物理上的删除,应当使用逻辑上的删除!《显示状态控制》——可以通过《el-swtich》控件来完成。

2023-02-11 20:09:04 393

原创 分布式项目-三级分类管理(4)

元素在完成拖拽后,数据库中的相关层级、各个元素的排列顺序并没有进行保存,需要连接后端保存到数据库中。为了防止拖拽的误操作,我们需要设置一个按钮来控制拖拽功能的开启与关闭 (使用el-switch组件来完成这个功能);【减少前后端频繁交互】:拖一次就更新一次的话是没有必要的 ,可以拖完之后一次性和后端交互。统一把数据提交到后端。【批量删除】:之前只在叶子节点上设置了删除按钮 , 叶子节点往上更高的节点没有设置《删除》按钮 ,在批量删除之前需要进行勾选,一次性删除选中的节点;

2023-02-10 19:31:33 95

原创 分布式项目-三级分类管理(3)

更新时,需要在弹出的窗口完成数据的回写 , 更新 / 删除 后,各级目录仍然保持打开的状态。类别之间的关系改变使用拖拽属性draggable 来完成。在拖拽过程中还出现的一个问题是,多级的子树移到了一个节点上,造成树的高度发生变化,原先只定义了树的高度是三级 , 所以我们要控制可拖拽的状态,使用allow-drag属性来完成当前节点能否拖拽 , allow-drop是判断目标节点能否放进去;

2023-02-09 21:39:57 75

原创 分布式项目-三级分类管理(2)

ElementUI中 , 原生写法,点击 “增加”/“删除” , 下一级的内容会自动展开。

2023-02-08 22:46:07 359

原创 分布式项目(1)菜单管理

注意!!!————新增的是《目录》。//然后在商品系统下 , 可以添加类别管理的菜单。新增的是《菜单》。加完之后的界面:在数据库中对应的表结构:对应的前端文件地址:【动态获取后台服务的数据】://人人平台原生的前端路由文件中的地址是写死的,只对应了一个后台服务,而现在我们有很多个服务,所以现在我们应该让其指向网关服务。

2023-02-07 22:47:13 211

原创 卡在default: Downloading: https://vagrantcloud.com/centos/boxes/7/不动

Vagrant up 启动失败

2023-02-04 18:18:36 117

原创 ‘node‘ 不是内部或外部命令,也不是可运行的程序

一年之前了解过大前端的发展,学习了vue3最新的API,后续工作中用的都是vue2,所以对前端技术没有更多研究,即使是这样最近还是在前端上翻了车,在《百度一下》中搜索了“nodejs官网”,下了一个10.X的版本,结果发现sass依赖最低支持版本也得是14,就下载了NVM,安装过程中提示是否对现存的版本进行控制,我选择了是,结果NVM只能控制他自己包之下的,虽然自动建了软链接,但是node命令失效了,无奈之下我只好删除了原先安装的版本,终遂解决了这个问题。

2023-02-03 06:41:33 140

原创 npm ERR! code EPERM npm ERR! syscall mkdir

npm修改全局仓库时遇到的一些问题。

2023-01-22 22:02:35 5653 3

原创 vagrant ssh卡住

//页面会在private key 这一行卡很久,然后就会出现timeout的提示:使用ssh指令会没有反应:虚拟机界面如下:安装最新版本的vagrant 和 vagrantBox , 值得一提的是vagrant当时是下载了I686的2.3.4版本。

2023-01-17 11:53:59 714

原创 多线程与高并发(五)

1):普通属性原子操作;2):比反射快,直接操纵二进制码;当传入的一参对象被干掉的时候 ,你会收到一个通知( 通知的方式是往队列里扔进一个值 )。//如果你想得到通知,你就不断去检测这个队列里面有没有值。(如果有值说明某个虚引用被回收了)//容器图一定要背过!!!

2023-01-13 12:17:36 368

原创 多线程与高并发(四)

volatileAtomicXXX各种JUC同步锁PhaserSemaphoreExchanger//JUC的锁中除了最后的LockSupport之外,其它的都是利用AQS来实现的。

2023-01-07 10:18:34 622

原创 多线程与高并发(三)

上面的实验说明了sync锁是可重入的,sync是可以调sync方法的。

2022-12-29 13:04:36 2716

原创 Anki学习之路

/除了AnKi系统自带的笔记类型 ,我们还可以拓展很多的笔记类型。

2022-12-24 17:05:24 3455

原创 多线程与高并发(二)

线程的概念 、 启动方式 、常用方法。//不能用String常量 、Integer 、Long【线程同步】:锁的是对象不是代码;锁this;锁XXX.class;锁定方法和非锁定方法可以同时执行;锁升级过程:偏向锁;自旋锁;系统锁;自旋锁和系统锁各自的使用场景。

2022-12-14 22:01:38 392

原创 多线程与高并发(一)

多线程、JVM、操作系统。基础概念JUC同步工具同步容器Disruptor //一个MQ框架,公认的单机环境下效率最高。线程池run方法还是依次顺序执行;( 先run后main , 相当于只有一条执行路径 )但start方法是分支执行。( 有分支路径 )【 线程的方法 】:【 sleep 】:睡眠 ,当前线程暂停一段时间, 让给别的线程去运行。我从CPU上先离开 , 进入到一个等待队列里。当然有可能刚进去就被拽出去执行 , 但更大的可能是——将等待队列中其他的拽

2022-12-06 23:15:33 236

原创 synchronized锁升级过程

偏向锁 和 轻量级锁 都是用户空间锁(用户态度锁)—— 我不需要和操作系统打交道。方法m( ) 是 synchronized 修饰的 ,方法m加的锁是O , 方法m里面调用了方法 n( ) , 方法n( ) 加的锁也是O , 所以就相当于给锁O上了两次。

2022-11-29 17:53:37 1250

原创 并发编程(三)原子性(2)

乐观锁与悲观锁,CAS概念,CAS中的ABA问题,CAS的底层原子性保障,通过Atomic类深入认识CAS。

2022-11-23 14:40:39 605

原创 并发编程(三)原子性(1)

多个线程同时拿到了变量,同时++,然后同时写回去。【一些概念】:race condition => 竞争条件 , 指的是多个线程访问共享数据的时候产生竞争———上述程序中变量n即是共享数据。数据的不一致(unconsistency),并发访问之下产生的不期望出现的结果如何保障数据一致呢?–> 线程同步(线程执行的顺序安排好),monitor (管程) —> 锁critical section -> 临界区如果临界区执行时间长,语句多,叫做 锁的粒度比较粗,反之,就是锁的粒度比较细。

2022-11-22 18:27:52 556

原创 并发编程(二)有序性

CPU内存屏障 , 对象的创建过程,新生代,老生代,伊甸区等,指令重排序,hotspot中精简的指令屏障写法,围绕并发编程有序性的一边博文。

2022-11-22 10:44:30 317 1

原创 并发编程(一)可见性

volatile保障线程可见性缓存行缓存一致性协议【volatile的底层实现】:volatile除了保障线程可见性之外 , 它还可以禁止重排序。了解完有序性之后才能真正理解它的底层实现原理。

2022-11-19 13:02:42 355 1

原创 线程的“结束”

【volatile 和 interrupt】:总之,你不依赖于中间精确的次数和精确的时间的话 , 它俩都行。自然结束(能自然结束就尽量自然结束)volatile标志不适合某些场景(比如还没有同步的时候,线程做了阻塞操作,没有办法循环回去)打断时间也不是特别精确,比如一个阻塞容器,容量为5的时候结束生产者,但是,由于volatile同步线程标志位的时间控制不是很精确,有可能生产者还继续生产一段儿时间interrupt() and isInterrupted(比较优雅)

2022-11-15 18:21:51 296

原创 线程的“打断”

sleep()方法在睡眠的时候,不到时间是没有办法叫醒的,这个时候可以用interrupt设置标志位,然后呢必须得catch InterruptedException来进行处理,决定继续睡或者是别的逻辑,(自动进行中断标志复位)

2022-11-15 16:26:31 559

原创 线程的状态

只有synchronized这样的代码——才会进入BLOCKED状态。因为synchronized是需要经过操作系统的调度的。

2022-11-15 12:01:14 170

原创 创建线程的5种方式

根据你CPU计算的能力(核数)来制定线程的数量。一台机器不可能只跑我们自己的程序,肯定还有其他的程序;得看实际中机器的情况。不可能让CPU的利用率达到100% , 出于安全的角度 , 只让其到80即可。只有一种——new Thread 出来 , 如果读过线程池/Future 的源码,就会知道最终都是 new 一个 Thread出来。基本上你把它部署上去,进行统计才能确定。——一般来说通过工具测算。本质都是——new一个Thread对象 , 并调用它的start方法。

2022-11-15 07:55:37 120

原创 mysql调优

mysql调优相关的部分笔记。

2022-11-11 20:24:56 617

原创 DQL训练题目

每一次刷这一套题目的时候都有不同的心情,兴奋,焦虑,忧伤,是一个技术人的心路历程啊。

2022-11-06 20:44:21 772

原创 数据结构与算法——左程云09

左神的算法笔记。

2022-09-24 12:42:18 343

原创 数据结构与算法——左程云08

左神的算法笔记。

2022-09-24 12:40:36 302

原创 数据结构与算法——左程云07

左神的算法笔记。

2022-09-24 12:37:09 450

原创 数据结构与算法——左程云06

左神的算法笔记。

2022-09-24 12:35:08 471

原创 数据结构与算法——左程云05

左神的算法笔记。

2022-09-24 12:33:13 250

空空如也

空空如也

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

TA关注的人

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