自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(219)
  • 资源 (24)
  • 收藏
  • 关注

原创 vue与springboot实现大文件

项目总体结构使用springboot+vue前后端分离的方式实现大文件切片快速上传项目演示流程:  上传的基本原理就是前端根据文件大小,按块大小分成很多块,目前是一个一个块的依次上传上去,暂时还没有开始研究多线程的方式,后期将会深化这一方面的应用。 创建数据库:Date: 2021-01-23 22:45:03*/SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structur

2021-01-23 23:49:30 438

原创 大文件上传与下载

参考链接https://blog.csdn.net/xiaoashuo/article/details/104808807?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-2&spm=1001.2101.3001.4242https://gitee.com/luckytuan/fast-loaderhttps://www.jb51.net/article/190808.htm...

2021-01-18 09:16:39 531

原创 java操作zookeeper

1、首先通过idea创建maven工程,并添加依赖<!-- zkclient --><dependency> <groupId>com.101tec</groupId> <artifactId>zkclient</artifactId> <version>0.11</version></dependency>2节点的创建修改删除(连接时间尽可能..

2020-09-29 14:32:04 239

原创 zookeeper客户端连接和应用场景

1,下载2,连接08【掌握】应用场景1,概述提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。2,统一命名服务3,统一配置管理4,统一集群管理5,服务动态上线服务...

2020-09-29 14:07:05 182

原创 zookeeper集群搭建

1,配置参数说明Zookeeper中的配置文件zoo.cfg中参数含义解读如下:1.tickTime =2000:通信心跳数,Zookeeper服务器与客户端心跳时间,单位毫秒Zookeeper使用的基本时间,服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳,时间单位为毫秒。它用于心跳机制,并且设置最小的session超时时间为两倍心跳时间。(session的最小超时时间是2*tickTime)2.initLimit =10:LF初始通信时

2020-09-29 13:56:25 286

原创 Zookeeper单机版本使用

通过 ./zkCli.sh 进入客户端后,就可以使用命令来操作zookeeper了。quit退出客户端1,创建节点使用create命令,可以创建一个zookeeper节点。//语法create[-s] [-e] pathdataacl//其中-s表示顺序节点,-e表示临时节点。默认情况下,创建的是持久节点。//path是节点路径,data是节点数据,acl是用来进行权限控制的。//案例create/sanguoluoguanzhong创建一个持久节点...

2020-09-29 13:36:07 294

转载 Zookeeper文件系统及监听机制

1,概述官方文档上这么解释zookeeper,它是一个分布式服务框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。简单来说zookeeper=文件系统+监听通知机制。2,文件系统2.1,示意图每个子目录项如 NameService 都被称作为 znode(目录节点),和文件系统一样,我们能够自由的增加、删除znode,在一个znode下增加、删除子znode,.

2020-09-29 13:28:25 209

原创 Zookeeper的安装及单机版配置

1,系统要求ZooKeeper可以运行在多种系统平台上面,表1展示了zk支持的系统平台,以及在该平台上是否支持开发环境或者生产环境。ZooKeeper支持的运行平台系统 开发环境 生产环境 系统 开发环境 生产环境 Linux 支持 支持 Solaris 支持 支持 FreeBSD

2020-09-29 13:15:42 803

原创 zookeeper概述

1,Zookeeper背景随着互联网技术的发展,企业对计算机系统的计算,存储能力要求越来越高,各大IT企业都在追求高并发,海量存储的极致,在这样的背景下,单纯依靠少量高性能单机来完成计算机,云计算的任务已经无法满足需求,企业的IT架构逐渐由集中式往分布式过渡。所谓的分布式是指:把一个计算任务分解成若干个计算单元,并分派到不同的计算机中去执行,最终汇总计算结果的过程。2,Zookeeper概述Zookeeper是源代码开放的分布式协调服务,是一个高性能的分布式数据一致性的解决方案,它将那些复.

2020-09-29 13:08:14 116

原创 jvm总结(1)

jvm总体结构1、类加载子系统(1)加载阶段会将.java文件动态编译为.class文件,然后通过类的全限定名,将类的二进制字节流的静态存储结构转化为方法区里的动态数据结构,在内存中生成一个代表该类的java.lang.Class,并提供数据访问入口。(2)连接阶段验证:主要确保加载类的正确性准备:为类分配内存,并且为其静态变量赋默认值解析:将常量池中的符号引用替换为直接引用(内存地址)的过程。(符号应用指的是:通过符号来表示描述目标,符号可以是任何形式的字面量, 只

2020-07-27 23:32:20 141

原创 ArrayList扩容机制

java.util.ArrayList是一个基于动态数组实现的集合框架,它继承了AbstractList抽象类,可以动态的对数组进行大小的创建。常用的初始化创建一个ArrayList的方法:

2020-07-25 21:04:31 530 2

原创 spring中常见的设计模式之工厂模式

设计模式是为解决生活中的问题而诞生的,也就是说我们可以通过生活中的问题来解释各种各样的模式,也是前人对代码开发经验的总结。工厂模式分为简单工厂、工厂方法、抽象工厂。我们可以通过使用生活的例子来解释它们的作用1、简单工厂可以看做一些小作坊模式,生产的产品由客户选择(简单工厂if、else或者case语句较多)具体结构有:工厂:实现产品的内部逻辑,由外界调用。抽象产品:所有产品的共有方法,由产品实现。产品:简单工厂模式的创建目标,所有被创建的对象都是某个具体类的实例。工厂的产品.

2020-07-18 11:31:16 360

原创 淘宝面试题

/*** 曾经的面试题:(淘宝?)* 实现一个容器,提供两个方法,add,size* 写两个线程,线程1添加10个元素到容器中,线程2实现监控元素的个数,当个数到5个时,线程2给出提示并结束** 分析下面这个程序,能完成这个功能吗?* @author mashibing*/package com.mashibing.juc.c_020_01_Interview;import java.util.ArrayList;import java.util.L...

2020-05-30 15:04:18 480

转载 25. K 个一组翻转链表

关于单链表倒置。有了单链表倒置,这道题无非就是用一个循环,每次将 k 个结点取下来,倒置后再接回去,然后再取 k 个,以此循环,到了最后一组如果不足 k 个,不做处理,直接返回头结点就可以了。所以关键就是,指针指来指去,大家不晕掉就好,我做了图示,大家参考一下。为了将头结点也一般化,我们创建一个 dummy 结点,然后整个过程主要运用三个指针, tail 指针表示已经倒置后的链表的尾部,subhead 指针表示要进行倒置的子链表,toNull 指针为了将子链表从原来链表中取下来。一个 while

2020-05-27 16:59:31 157

原创 138复制带随机指针的链表

链接:https://leetcode-cn.com/problems/copy-list-with-random-pointer/相似题目连接:https://leetcode-cn.com/problems/fu-za-lian-biao-de-fu-zhi-lcof/思路:链表的深拷贝可以利用到HashMap,进行两次遍历,第一次进行赋初始值,第二遍对random和next值进行初始化 public Node copyRandomList(Node head) { ...

2020-05-27 16:20:21 120

原创 回文链表

链接地址:https://leetcode-cn.com/problems/palindrome-linked-list/相似的题目连接:https://leetcode-cn.com/problems/palindrome-linked-list-lcci/思路:首先找到链表的中心节点,然后从中心节点的下一位开始进行翻转。然后以rHead!=null作为循环条件,lHead和rHead不断循环下去,不断比较,当出现节点比较不相等时,直接return false即可。需...

2020-05-27 15:42:41 3600 1

原创 86分割链表

链接:https://leetcode-cn.com/problems/partition-list/相似题目链接(题目几乎一模一样):https://leetcode-cn.com/problems/partition-list-lcci/思路:使用两个指针进行分割比k小的值放入A链表,其他的放入B链表,最后进行连接。注意点:最后一个rTail的next必须进行清空处理,防止后面的next仍然小于K值。像上图的5之后的2值。 public ListNode partit...

2020-05-27 14:29:40 125

原创 160相交链表

链接: https://leetcode-cn.com/problems/intersection-of-two-linked-lists/相似题目连接(几乎一模一样):https://leetcode-cn.com/problems/intersection-of-two-linked-lists-lcci/https://leetcode-cn.com/problems/liang-ge-lian-biao-de-di-yi-ge-gong-gong-jie-dian-lcof/思路一开..

2020-05-27 14:02:43 147

原创 两数相加

链接地址: https://leetcode-cn.com/problems/add-two-numbers/思路:需要考虑三个值,第一个链表的值,第二个链表的值,两个链表相加之后的进位值循环条件则为当两个表同时为空的时候才截至。具体流程为:从l1和l2取出值,判断是否为空,为空给赋值上0,否则为其对应值,创建新链表,将l1和l2对应值分别赋值给v1、v2,用sum加上v1和v2的值和进位的值(一开始进位为0),然后对sum/10,将进位求出赋值,链表的元素则进行模10得出个位赋...

2020-05-27 10:50:29 139

原创 移除链表元素

链接地址:https://leetcode-cn.com/problems/remove-linked-list-elements/思路:这道题目解决起来挺简单的,重新创建一个带有虚拟头结点的新链表,然后让原有链表不断循环下去,当循环到的值与给定值不相等时,将其与新链表进行连接,否则不连接。假如删除掉4:因为创建了一个虚拟头结点0,而0又不包含在链表内部,返回的时候,返回head.next即可。代码如下:(这里提供两套解决题目的方案,一套是不加虚拟头结点,一套使用了虚拟...

2020-05-27 09:59:16 113

原创 线程锁

线程锁 三个count++性能对比 package com.mashibing.juc.c_018_00_AtomicXXX; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.LongAdder; public class T02_AtomicVsSyncVsLong

2020-05-26 16:07:41 192

原创 violate与线程安全

1 violate 线程可见性: 可见性是值一个线程对共享变量的修改,对于另一个线程来说是否是可以看到的。 为什么会出现这种问题呢? 我们知道,java线程通信是通过共享内存的方式进行通信的,而我们又知道,为了加快执行的速度,线程一般是不会直接操作内存的,而是操作缓存。 java线程内存模型: 实际上,线程操作的是自己的工作内存,而不会直接操作主内存。如果线程对...

2020-05-26 00:01:45 1030

转载 多线程与高并发基础概念与synchronized

线程基础概念与synchronized1线程、进程、纤程的基本概念(1)进程进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。每个进程都有自己的独立内存空间,不同进程通过进程间通信来通信。由于进程比较重量,占据独立的内存,所以上下文进程间的切换开销(栈、寄存器、虚拟内存、文件句柄等)比较大,但相对比较稳定安全。(2)线程线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线...

2020-05-25 11:28:05 147

原创 模拟银行开户

/** * 面试题:模拟银行账户 * 对业务写方法加锁 * 对业务读方法不加锁 * 这样行不行? * * 容易产生脏读问题(dirtyRead) */ package com.mashibing.juc.c_008; import java.util.concurrent.TimeUnit; public class Account { String nam...

2020-05-25 11:26:29 484

原创 最大间距

链接:https://leetcode-cn.com/problems/maximum-gap/思路:由于现有的基于比较的排序算法基本超过O(n),所以就不能采用现有的比较算法,而又要达到线性阶的时间复杂度,我们可以使用不是基于比较的排序算法。例如桶排序、计数排序、基数排序由于使用计数排序、计数排序属于大规模消耗空间的排序算法,在这里我们使用桶排序算法。我们把 0 3 4 6 23 28 29 33 38 依次装到三个箱子中0 1 ...

2020-05-23 22:27:12 593

原创 有序数组的平方

链接:https://leetcode-cn.com/problems/squares-of-a-sorted-array/思路与LeetCode88题一样,只是稍微进行点修改因为数组是有序的,只要把负数单独摘出,平方后逆序插入新数组就可以解决问题。 1 2 3 0 0 0 2 5 6由于数组已经是排好顺序的,最末尾的元素必定时最大的,我们只要对最末尾的元素进行比较,将最末尾的元素放到最尾端,然后不断进行比较即可,而这里我们需要用到3个指针。一个指针指向nums1数组的最后一个值...

2020-05-23 14:59:37 597

原创 面试16_16

链接地址:https://leetcode-cn.com/problems/sub-sort-lcci/寻找最短序列从数学的角度上来看就是寻找最后一个逆序对的位置,逆序对就是在一个顺序的数组中,出现一个不按顺序排列的值,比如 [1 3 4 2 6 8] 其中原数组原本是个从小到大排序的,其中2是不按顺序排序,2就是个逆序对从右边往左,找到最后一个变小的数字从左往右,找到最后一个变大的数字 public int[] subSort(int[] arra...

2020-05-23 10:50:08 185

原创 75颜色分类

链接地址:https://leetcode-cn.com/problems/sort-colors/这道题目看起来简单,实际由于规定了各种各样的条件,不能采用传统的排序算法来做,否则报超时。实际上这道题目也是用索引指针来做,需要利用一些规律。同时,通过让红色指针不断循环下去,来进行判断,直到红色指针的索引大于紫色指针方可进行中断循环。为什么不能红色指针不能等于紫色指针呢,当出现以下这种情况:此时按照规律,红色指针的2和紫色指针的0进行交换,同时紫色指针--...

2020-05-23 10:21:38 391

原创 88合并两个有序数组

刷题链接:https://leetcode-cn.com/problems/merge-sorted-array/在这里提供两套解题思路: 直接将nums1后续的值填满,调用Arrays.sort()函数直接进行排序。 使用该方法解题的关键:如何把nums2的值成功赋值到nums1的末尾呢,关注索引。首先,我们能够得到nums1的总长度nums1.length或者m+n,nums1第一个为0的值即为m,也就是说循环的起点为m。而nums2如何获取它的索引呢,首先能够获得nums1的..

2020-05-23 10:00:51 166

原创 常见垃圾回收器组合参数

-XX:+UseSerialGC = Serial New (DefNew) + Serial Old 小型程序。默认情况下不会是这种选项,HotSpot会根据计算及配置和JDK版本自动选择收集器 -XX:+UseParNewGC = ParNew + SerialOld 这个组合已经很少用(在某些版本中已经废弃) https://stackoverflow.com/questions/34962257/why-remove-support-for-parnewserialold-...

2020-05-22 14:34:48 349

转载 常用的垃圾回收器

常用的垃圾回收器大部分资料参考:https://www.cnblogs.com/chenpt/p/9803298.html1当前常用的垃圾回收器STW:Java中Stop-The-World机制简称STW,是在执行垃圾收集算法时,Java应用程序的其他所有线程都被挂起(除了垃圾收集帮助器之外)。Java中一种全局暂停现象,全局停顿,所有Java代码停止,native代码可以执行,但不能与JVM交互;这些现象多半是由于gc引起。SerialSerial收集器是最基本的、发展历史最悠.

2020-05-22 14:20:37 782

原创 垃圾回收器算法

GC垃圾回收器算法1如何找到垃圾 引用计数 该方法实现为:给每个对象添加一个引用计数器,每当有一个地方引用它时,引用计数值就+1,当引用失效时,引用计数值就-1,任何时刻引用计数值为0的对象就可以被回收,当一个对象被垃圾收集器收集时,被它引用的对象引用计数值就-1,所以在这种方法中一个对象被垃圾收集会导致后续其他对象的垃圾收集行动。优点:简单、高效;缺点:当两个对象相互引用的时候就无法回收,导致内存泄漏。无法解决循环引用问题。(实际上没有任何对象引用,但其结果不为0)

2020-05-22 10:25:21 481

原创 java运行时数据区

java运行时数据区每个线程都有PC/VMS/NMS,这些都是私有的,只有堆和方法区是公共的。Runtime Data AreaPC 程序计数器存放指令位置虚拟机的运行,类似于这样的循环:while( not end ) {​ 取PC中的位置,找到对应位置的指令;​ 执行该指令;​ PC ++;}JVM StackFrame - 每个方法对应一个栈帧 Local Variable Table Operand Stack对于...

2020-05-21 22:18:53 296

原创 i++和++i问题

package c4_RuntimeDataAreaAndInstructionSet;public class TestIPulsPlus {public static void main(String[] args) {int i = 8; i = i++; //i = ++i;System.out.println(i); // 8}}package c4...

2020-05-21 21:46:36 298

原创 使用JavaAgent测试Object的大小(以64位的计算机为例)

1对象创建的过程2对象在内存的存储布局普通对象对象头:markword 8 ClassPointer指针:-XX:+UseCompressedClassPointers 为4字节 不开启为8字节 实例数据 引用类型:-XX:+UseCompressedOops 为4字节 不开启为8字节Oops Ordinary Object Pointers Padding对齐,8的倍数数组对象对象头:markword 8 ClassPointer指针同上 数组长度:4字节...

2020-05-21 18:23:57 421 1

原创 jmm

JMM先看单例模式上最著名的DCL(double check loading)问题。 publicclassSingleton{ privatestaticSingletonsingleton; privateSingleton(){} publicstaticSingletongetInstance(){ if(singleton ==null){ ...

2020-05-21 17:13:10 207

原创 静态初始化与静态变量交换的结果变换

静态初始化与静态变量交换的结果变换首先先看交换后的代码: package classLoader; public class T001_ClassLoadingProcedure { public static void main(String[] args) { System.out.println(T.count); } } class T { p...

2020-05-20 23:15:17 149

原创 类加载初始化

类加载-初始化1类加载过程图当class文件,经过loading(加载阶段)后,把类的.class文件中的数据读入到内存中,通常是创建一个字节数组读入.class文件,然后产生与所加载类对应的Class对象。加载完成后,Class对象还不完整,所以此时的类还不可用。进入linking(连接)阶段,在verification(验证)阶段,对文件的格式、字节码之类的进行验证,在preparation(准备)阶段,则只会对类中的静态变量赋值默认值(即被static修饰的变量)。默认值指对象的.

2020-05-20 16:23:33 565

原创 jvm基础入门

1:JVM基础知识什么是JVMJVM(Java Virtual Machine,Java虚拟机)Java程序的跨平台特性主要是指字节码文件可以在任何具有Java虚拟机的计算机或者电子设备上运行,Java虚拟机中的Java解释器负责将字节码文件解释成为特定的机器码进行运行。因此在运行时,Java源程序需要通过编译器编译成为.class文件。众所周知java.exe是java class文件的执行程序,但实际上java.exe程序只是一个执行的外壳,它会装载jvm.dll(windows下,下皆以wi

2020-05-19 15:57:21 146

原创 MybatisPlus与AR集成

修改实体类User,使其继承extends Model<User>package com.mp.mpspringboot.domain;import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.TableName;import com...

2020-02-09 10:14:45 255

vue+springboot 大文件上传

使用springboot+vue技术,实现分片 快速上传

2021-01-23

分片方式大文件上传与下载

采用分片的方式实现大文件的秒传

2021-01-18

erp仓储管理系统.zip

使用了shiro+springboot+layui所形成的仓储管理系统,能够给刚刚学完springboot的人一个练手的机会,能够快速掌握并且开发相应的网站

2020-02-25

layuicmsmb.zip

springboot环境下的layuicms模板,可以帮助开发者快速了解和使用layui的相应模板,帮助开发者快速和使用前台代码模块

2020-02-17

sbshiro.zip

springboot与shiro的简易整合,前台较为简单,仅仅用于实现效果,可作为初学者体会,练练手,能够快速掌握springboot的整合

2020-02-15

ssm与shiro简单整合.zip

ssm与shiro的简易整合,意在实现shiro的权限框架的效果,里面只有简简单单的几个页面,没有特效,意在功能,但是使用了ehcache等第三方缓存框架的技术

2020-02-14

bills记账单springboot小实战

使用springboot开发技术和mysql数据库,能够给刚刚学完springboot的同学提供小小的实战

2020-02-10

wordDev.zip

Java词云分析,利用kumo,可以实现直接图片发送到网页上,下载的朋友,稍微改一点内容便可直接从数据库获取数据

2019-11-13

ssm+layui项目

使用了layui+SSM技术,可以了解layui前端技术的开发以及ssm项目技术的锻炼,内涵数据库文件

2019-10-27

Zxing二维码生成与解析

二维码的生成与解析的一个小案例,可以用于学习与交流

2019-10-27

poi导出小案例(Java)

poi导入导出的一个小小的案例,如果使用,请将里面的地址进行更改

2019-10-27

layuicmsMB.zip

layuiCMS模板修改,修改之后具有一定的用处,可供大家参考学习

2019-10-05

layuiDemo.zip

layui的小例子案例的jsp页面,可以用来给各位参考和学习

2019-10-05

solrjd.zip

使用solr技术的模拟京东网站开发,使用时必须配备两台及其以上的Tomcat服务器

2019-09-24

MapTest.rar

使用C++,使用Visual Studio2010进行开发的桌面端程序能够进行增删改查

2019-05-13

Calculator.rar

使用了C++语言,使用Visual Studio2010进行开发,能够实现基本加减乘除,小数点能够精确到6位

2019-05-13

lucene高级智能查询小案例

目前还有一点bug,但是以实现功能和思路为主,小bug不影响整体功能

2019-04-06

froalaEditor

有关froala editor的使用,已经可以实现上传文件、视频、图片的功能

2019-02-27

客户关系管理系统

简单的客户关系管理系统,基本功能以及有相应的url权限管理

2019-01-30

wangeditor批量上传图片

使用jsp+servlet,同时可以批量上传图片又可以防止Tomcat重启后图片消失

2018-10-26

wangeditor

使用jsp+servlet实现上传功能,并且解决Tomcat重启后,图片被删除的问题

2018-10-25

百度富文本编辑器

实现了大部分功能 上传图片文件视屏 同时不会被Tomcat启动时被删除掉

2018-10-20

上传与下载

可以用于学习资源的交流,应用jsp后端学习资源,使用了servlet+jsp技术

2018-10-17

数据分页以及高级查询

实现了数据分页以及高级查询,但是没有实现文本里面的添加商品以及删除功能呢,可用于学习交流

2018-09-03

空空如也

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

TA关注的人

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