自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lyj2018gyq的博客

欢迎关注GitHub:https://github.com/lyj8330328

  • 博客(27)
  • 资源 (12)
  • 收藏
  • 关注

原创 乐优商城最终篇

目录一、总结1.1 架构图1.2 包含的微服务1.2.1 网关微服务1.2.2 授权中心微服务1.2.3 购物车微服务1.2.4 评论微服务(新增)1.2.5 配置中心微服务1.2.6 页面详情微服务1.2.7 后台管理微服务1.2.8 订单微服务1.2.9 Eureak注册中心1.2.10 搜索微服务1.2.11 秒杀微服务(新增)1....

2018-12-12 21:56:49 16476 43

原创 乐优商城(填坑)——后台登录

后台管理模块增加登录验证,与门户网站一样都是采用无状态登录。一、新增全局函数在main.js中新增用户验证:二、修改路由先显示登录页面效果:三、解决cookie写入问题在http.js中新增配置:四、登录Login.vue<template> <v-app> <v-content> ...

2018-12-30 16:07:26 5258 6

原创 阿里云部署Maven项目

一、安装Java1.1 安装命令:yum -y install java-1.8.0-openjdk.x86_64结果:1.2 运行java -version二、安装MYSQL2.1 下载yum上mysql的资源有问题,所以不能仅仅之用yum。在使用yum之前还需要用其他命令获取mysql社区版cd /tempwget http://repo.mysql.com/mysql...

2018-12-28 20:57:25 3311 2

原创 字节转换

一、byte数组转16进制字符串 public static String bytesToHexString(byte[] src){ StringBuilder stringBuilder = new StringBuilder(""); if (src == null || src.length <= 0) { retu...

2018-12-28 12:51:16 2845

原创 红黑树

一、BT二叉树,略。二、BST2.1 定义若它的左子树不空,则左子树上的关键字的值均小于根关键字的值。若它的右子树不空,则右子树上的关键字的值均大于根关键字的值。左右子树又各是一棵二叉排序树2.2 查找二叉排序树的查找从根节点开始,沿着某一个分支逐层向下比较。先和根节点比较,大于的话在又子树继续查找,小于的话在左子树查找。2.3 插入在查找过程中,当树中不存在关键字等于给定...

2018-12-26 17:10:50 2209 3

原创 JUC锁——Semaphore

一、什么是SemaphoreSemaphore是一种基于计数的信号量。它可以设定一个阈值,基于此,多个线程竞争获取许可信号,做完自己的事情后释放许可信号,超过阈值后,线程申请许可信号将会被阻塞。Semaphore可以用来构建一些对象池,资源池之类的,比如数据库连接池,我们也可以创建计数为1的Semaphore,将其作为一种类似互斥锁的机制,这也叫二元信号量,表示两种互斥状态。它的用法如下:...

2018-12-20 23:31:28 418

原创 JUC锁——CyclicBarrier

一、什么是CyclicBarrierCyclicBarrier初始化时规定一个数目,然后计算调用了CyclicBarrier.await()进入等待的线程数。当线程数达到了这个数目时,所有进入等待状态的线程被唤醒并继续。 CyclicBarrier就象它名字的意思一样,可看成是个障碍, 所有的线程必须到齐后才能一起通过这个障碍。 CyclicBarrier初始时还可带一个Runnable的参数...

2018-12-20 22:19:30 183

原创 JUC锁——CountDownLatch

一、什么是CountDownLatchCountDownLatch 类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他2个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了。CountDownLatch是通过一个计数器来实现的,计数器的初始值为线程的数量。每当一个线程完成了自己的任务后,计数器的值...

2018-12-20 21:39:19 271

原创 乐优商城(五十二)服务鉴权

一、用户鉴权客户端请求服务时,根据提交的token获取用户信息,看是否有用户信息及用户信息是否正确,这个在乐优商城中已经实现。二、服务鉴权微服务中,一般有多个服务,服务与服务之间相互调用时,有的服务接口比较敏感,比如资金服务,不允许其他服务随便调用,所以要进行服务调用的权限鉴定认证。其实原理是一样的,服务调用的时候携带token,然后在被调服务中对token进行解析,判断是否满足既定的...

2018-12-20 16:39:33 1949 2

原创 伪共享(False Sharing)

目录一、计算机的基本结构二、缓存行三、伪共享四、如何避免伪共享缓存系统中是以缓存行(cache line)为单位存储的,当多线程修改互相独立的变量时,如果这些变量共享同一个缓存行,就会无意中影响彼此的性能,这就是伪共享。一、计算机的基本结构下图是计算的基本结构。L1、L2、L3分别表示一级缓存、二级缓存、三级缓存,越靠近CPU的缓存,速度越快,容量也越小。所以L1缓存很...

2018-12-19 23:35:01 522

原创 并发框架——Distruptor

目录一、什么是Disruptor二、Disruptor的设计方案三、Disruptor实现特征四、Disruptor实现生产者-消费者模式4.1 依赖4.2 声明Event4.3 创建EventFactory4.4 消费者4.5 生产者4.6 调用五、Disryptor的核心概念5.1 RingBuffer5.1.1 什么是RingBuffer...

2018-12-19 17:48:45 5411 1

原创 Docker入门

Docker学习目标:掌握Docker基础知识,能够理解Docker镜像与容器的概念完成Docker安装与启动掌握Docker镜像与容器相关命令掌握Tomcat Nginx 等软件的常用应用的安装掌握docker迁移与备份相关命令能够运用Dockerfile编写创建容器的脚本能够搭建与使用docker私有仓库​1 Docker简介1.1 什么是...

2018-12-16 20:59:54 318

原创 整数拆分

通过证明可以得到,尽可能多的拆出3,就可以得到乘积最大。 public static int integerBreak2(int n) { if (n <= 3){ return n-1; } int result = 1; while (n > 4 ){ r...

2018-12-15 12:53:14 198 1

原创 Java锁的深入

一、重入锁重入锁,也叫做递归锁,指的是同一线程 外层函数获得锁之后 ,内层递归函数仍然有获取该锁的权限。ReentrantLock 和synchronized 都是 可重入锁。锁可以传递~。主要就是用来避免死锁的,假设一个类中的所有方法都加锁,当方法之间进行调用时,如果锁是不可重入的,那么就永远调用不了其它方法,因为锁没有释放(都用同一把锁)轻量级锁(Lock)重量级锁(synchr...

2018-12-13 17:01:50 174

原创 三角形最小路径和

动态规划,最后路径和最小,那么每一步必须最小一、求解 求出到达最后一层的所有最小路径,然后再求出其中最小的即可。初始化二维数组用来存放结果final int size = triangle.get(triangle.size() - 1).size();int[][] result = new int[size][size];result[0][0] = triang...

2018-12-13 15:17:57 152

原创 Callable和并行设计模式——Future模式

目录一、Callable1.1 介绍1.2 Future常用方法1.3 Demo1.4 Runnable和Callable的区别二、Future模式2.1 介绍2.2 实现2.2.1 公共数据接口2.2.2 RealData2.2.3 FutureData2.2.4 FutureClient2.2.5 调用者2.2.6 结果三、Java内...

2018-12-07 21:02:21 326

原创 LOCK锁

LOCK锁1. synchronized的缺陷synchronized是java中的一个关键字,也就是说是Java语言内置的特性。那么为什么会出现Lock呢?如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该代码块时,其他线程便只能一直等待,等待获取锁的线程释放锁,而这里获取锁的线程释放锁只会有两种情况:  1)获取锁的线程执行完了该代码块,然后线程...

2018-12-07 14:24:35 950

原创 线程池

目录一、什么是线程池二、线程池的作用三、线程池的分类3.1 newCachedThreadPool3.2 newFixedThreadPool3.3 newSingleThreadExecutor3.4 newScheduleThreadPool3.5 newSingleThreadScheduledExecutor四、ThreadPoolExecutor类...

2018-12-07 10:52:25 198

原创 并发队列

并发队列1.ArrayDeque, (数组双端队列) 2.PriorityQueue, (优先级队列) 3.ConcurrentLinkedQueue, (基于链表的并发队列) 4.DelayQueue, (延期阻塞队列)(阻塞队列实现了BlockingQueue接口) 5.ArrayBlockingQueue, (基于数组的并发阻塞队列) 6.LinkedBlockingQueue...

2018-12-06 23:29:49 200

原创 线程之间的通讯

一、经典问题:生产者与消费者1.1 共享资源class Res{ public String name; public String sex;}1.2 生产者class InThread extends Thread { private Res res; public InThread(Res res) { this.res = res; }...

2018-12-05 23:31:53 201

原创 0-1背包、完全背包、多重背包、零钱兑换

目录一、0-1背包问题1.1 问题描述1.2 动态规划过程1.3 状态转移方程1.4 填表1.5 代码1.6 回溯法求解1.7 优化二、完全背包问题2.1 问题描述2.2 分析2.3 填表2.4 代码2.5 回溯法求解2.6 优化三、多重背包3.1 问题描述3.2 分析3.3 填表3.4 代码3.5 回溯法求解...

2018-12-04 23:25:14 708

原创 线程安全

目录1. 如何产生线程安全问题?2.线程安全解决方法3.内置锁4.同步代码块 synchronized5.同步方法5.1 静态同步方法5.2 非静态同步方法6.synchronized7.多线程死锁 8.ThreadLocal9.多线程的三大特性9.1 原子性9.2 可见性9.3 有序性10.Java内存模型11. Volatile关...

2018-12-03 22:45:45 265

原创 多线程基础

1.线程和进程的区别每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执行。使用线程可以把占据时间长的程序中的任务放到后台去处理,程序的运行速度可能加快,在一些等待的任务实现上如用户输...

2018-12-03 20:46:48 154

原创 单词拆分 II

给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。说明:分隔时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。示例 1:输入:s = "catsanddog"wordDict =["cat", "cats", "and", "sand", "dog&qu

2018-12-03 16:25:35 803

原创 乐优商城(五十一)延时消息队列

目录一、需求1.1 常见方案1.2 缺点二、高效延时消息设计与实现三、RabbitMQ延时队列3.1 Per-Queue Message TTL3.2 Dead Letter Exchanges3.3 小结3.4 在队列上设置TTL3.4.1 建立delay.exchange3.4.2 建立延时队列(delay queue)3.4.3 配置延时路由规...

2018-12-01 23:31:23 1924 3

原创 二维区域和检索 - 矩阵不可变

思路和一维的一样:首先计算result,求出每一行的所有区间和。然后累加【row1,row2】区间内每一行的和。class NumMatrix { private int[][] result; public NumMatrix(int[][] matrix) { int row = matrix.length; if(row ...

2018-12-01 23:10:32 320

原创 区域和检索 - 数组不可变

注意需要多次调用sumRange方法,所以不能简单的进行区间遍历求和,动态规划一下,记录一下 每个区间的和,然后根据索引直接求出结果。class NumArray { private int[] sums; public NumArray(int[] nums) { final int length = nums.length; i...

2018-12-01 11:23:08 230

乐优商城sql文件,最新!

乐优商城最新sql文件,具体项目内容请参考博客!

2018-12-23

微信支付工具类

乐优商城微信支付工具类!

2018-10-27

乐优商城订单微服务属性配置类

乐优商城订单微服务所需的属性配置类!

2018-10-27

乐优商城订单微服务配置

乐优商城订单微服务配置类!!

2018-10-27

阿里短信demo

项目中用户注册需要使用短信验证码,用阿里短信完成。这里给出基本demo

2018-10-24

乐优商城JWT工具类

乐优商城JWT鉴权所需的工具类!

2018-10-23

乐优商城前端

乐优商城门户网站,门户系统面向的是用户,安全性很重要,而且搜索引擎对于单页应用并不友好。因此门户系统不再采用与后台系统类似的SPA(单页应用)。依然是前后端分离,不过前端的页面会使用独立的html,在每个页面中使用vue来做页面渲染。

2018-10-08

乐优商城图片资源

乐优商城中商品的图片信息,上传到虚拟机后,使用Nginx反向代理访问。

2018-09-08

FastDFS安装资源

在Centos下安装分布式文件系统FastDFS所需的一些资源。

2018-08-31

乐优商城数据库

乐优商城所需的商品数据,用户登录信息登,直接导入即可

2018-08-28

乐优商城后台管理界面Vue

乐优商城项目的后台,使用Vuetify框架,以及一些自定义组件

2018-08-28

乐优商城后台管理界面

乐优商城后台管理界面,使用vue-cli搭建,前端框架采用Vuetify

2018-08-23

空空如也

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

TA关注的人

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