自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lilei的博客

Only today belongs you really

  • 博客(65)
  • 收藏
  • 关注

原创 mybatis学习思维导图

2021-07-24 22:54:27 203

原创 UML(Unified Modeling Language)系统学习笔记

学习思维导图如下图:什么是UML UML的定义  统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。  UML使用面向对象设计的的建模工具,但独立于任何具体程序设计语言。  UML应用场景  UML是在开发阶段,说明、可视化、构建和书写一个面向对象软件...

2020-06-30 11:21:16 484

原创 JVM探索之堆内存分配策略

堆内存分配策略一.分区堆可以分为 新生代和年老代新生代 : 分为Eden区 , Survvor(from), Survvor(to),设置 Survivor 是为了减少送到老年代的对象 , 设置两个 Survivor 区是为了解决碎片化的问题(复制回收算法)年老代二.分配策略对象优先在 Eden 区分配大多数情况下,对象在新生代 Eden 区中分配。当 Eden 区没有足够空间分配时,虚拟机将发起一次 Minor GC。 注意:新生代初始时就有大小大对象直接进入老年代最典型的

2020-06-20 22:09:19 373

原创 Redis+Lua实现高并发下抢红包

Redis+Lua实现高并发下抢红包一. 实现业务功能点二. 抢红包流程示意三. 代码部分一. 实现业务功能点将所有红包全部存储到Redis ( 红包池 )用户抢了多少红包, 记录红包被抢的详情信息;用户只能抢一次红包, 不能重复抢红包二. 抢红包流程示意三. 代码部分完整代码可以点击地址获取 代码仓库地址代码运行环境redis + lua + jdk1.8 + mavenps: 从Redis 2.6 版本开始,内嵌支持 Lua 环境。通过使用EVAL或EVALSHA命令可

2020-06-20 20:57:45 511

原创 手写嵌入式Tomcat(带详细注解)

导读本文分为两部分1. 实现思路分析部分2. 实现代码部分一. 实现思路分析使用Tomcat的API实现, 步骤如下新建一个Tomcat对象设置Tomccat的端口号设置Context目录添加Servlet容器调用Tomcat对象start()强制Tomcat等待二.实现代码MyTomcatServer代码如下public class MyTomcatServer...

2019-08-11 21:42:31 632

原创 Java并发编程学习思维导图

2019-07-28 21:16:44 195

原创 公预善其事, 必先利其器-分布式思维思维导图&&学习笔记

1. 软件-互联网发展史1.1. 1.2. Java编程里, 两个高峰->高并发/高可用2. 集群与分布式2.1. 概念图解2.2. 概述集群复制模式, 每台机器做一样的事情分布式两台机器分工合作, 每台机器做不同的事情2.3. 业务图解2.4. 扩展1.更改本地host-> 达可到更改目标机器,欺骗浏览器2.全站搜索 不指定业务表的搜索, 任何一个...

2019-07-20 16:33:00 311

原创 实现Java显式锁解析

导读:本文分为三部分:实现lock锁部分用到的线程工具类测试代码与结果展示实现代码如下:public class SelfLock implements Lock { // state 表示获取到锁 state = 1 获取到了锁 state = 0 表示锁当前没有被拿到 // 定义内部类继承AQS 实现独占式进程方法 private static clas...

2019-07-20 09:24:55 157

原创 玩转数据结构学习思维导图

2019-07-13 16:59:44 510

原创 211. 添加与搜索单词 - 数据结构设计 题解

题解如下:class WordDictionary { private class Node{ public boolean isWord; public TreeMap<Character, Node> next; public Node(boolean isWord){ this.isWord ...

2019-07-07 21:42:28 115

原创 Java实现自定义线段树(附注解)

导读:本文分为三部分:1.文章介绍2.实现代码及介绍3.测试代码及测试结果一.文章介绍本文主要是使用了Java语言实现一个将数组构造为一个可以更新及查询的线段树结构, 线段树主要是用于解决线段和区间问题, 是一种高级的数据结构.二.实现代码自定义生成方式接口:// 使线段树可以自定义生成方式public interface Merge<E> { E mer...

2019-07-07 11:12:33 378

原创 异常: Node Sass does not yet support your current environment

错误来源:使用node运行前端页面出现: Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime (64)原因分析:由于NodeSass版本过低解决方法:将NodeSass卸载后重新安装为新版本即可,命令如下:npm uninstall node-s...

2019-07-06 18:53:56 774

原创 Java: 基于二分搜索树的Map

导读: 本文分为三部分:自定义Map接口Map的二分搜索树实现代码功能测试一. 自定义Map接口public interface Map<K, V> { void add(K key, V value); V remove(K key); boolean contains(K key); V get(K ke...

2019-06-30 10:39:23 320

原创 leetCode: 350. 两个数组的交集 II Java映射实现

实现代码如下:public int[] intersect(int[] nums1, int[] nums2) { TreeMap<Integer, Integer> map = new TreeMap<>(); for(int num : nums1){ if(!map.containsKey(num)) ...

2019-06-30 10:03:50 204

原创 leetCode: 349.两个数组的交集Java实现

public int[] intersection(int[] nums1, int[] nums2) { TreeSet<Integer>set = new TreeSet<>(); for(int num: nums1) set.add(num); List<Integer> arr = ...

2019-06-30 09:50:28 160

原创 Java递归实现二分搜索树

导读: 本文分为两部分: 1.实现代码 2.测试代码实现代码如下: private class Node{ public E e; public Node left, right; public Node(E e){ this.e = e; left = null; ...

2019-06-25 21:51:37 589

原创 Java自定义链表

public class LinkedList<E> { private class Node{ public E e; public Node next; public Node(E e , Node next){ this.e = e; this.next = next; ...

2019-06-18 20:54:32 1048

原创 自定义Java动态数组

前言:基于java提供的静态数组,自定义实现的动态数组代码如下:/** * @ClassName Array * @Description 基于java数组进行二次封装 * @Author lilei * @Date 16/06/2019 11:09 * @Version 1.0 **/public class Array<E> { private E...

2019-06-16 16:21:55 2263

原创 kafka基础架构学习

一.简介Apache Kafka® 是一个发布式的流平台,最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息...

2019-06-09 17:53:35 255

原创 swagger-editor入门指南

1首先说一下什么是Swagger随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、先后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。前端和后端的唯一联系,变成了API接口;API文档变成了前后端开发人员联系的纽带,变得越来越重要,而swagger就是一款让你更好的书写API文档的框架。总而言之,swagger就是采用前后端分离的架构的项目所可以采用的...

2019-06-02 12:22:09 4214 1

转载 从 Spring Cloud 看一个微服务框架的「五脏六腑」(转)

原文出处: 酷家乐前端团队Spring Cloud 是一个基于 Spring Boot 实现的微服务框架,它包含了实现微服务架构所需的各种组件。注:Spring Boot 简单理解就是简化 Spring 项目的搭建、配置、组合的框架。因为与构建微服务本身没有直接关系,所以本文不对 Spring Boot 进行展开。另外本文有一些例子涉及到 Spring 和 Spring Boot,建议先了解一...

2019-05-29 22:58:42 96

原创 什么是 CAS(比较并交换-乐观锁机制-锁自旋)

一.概念及特性CAS(Compare And Swap/Set)比较并交换,CAS 算法的过程是这样:它包含 3 个参数CAS(V,E,N)。V 表示要更新的变量(内存值),E 表示预期值(旧的),N 表示新值。当且仅当 V 值等于 E 值时,才会将 V 的值设为 N,如果 V 值和 E 值不同,则说明已经有其他线程做了更新,则当前线程什么都不做。最后,CAS 返回当前 V 的真实值。C...

2019-05-25 22:29:31 3594 3

原创 Linux文件与目录常用命令汇总

查看目录内容ls切换目录cd创建和删除操作touchrmmkdir拷贝和移动文件cpmv查看文件内容catmoregrep其他echo重定向 > 和 >>管道 |

2019-05-18 00:06:51 142

原创 VM虚拟机非正常关闭后常见错误原因&&解决

前言:当虚拟机没有正常关机的时候总会出现一些奇奇怪怪的错误,让人一脸懵逼,当博主是小白的时候也吃了不少亏,所以现在,博主收集了一些常见的错误原因与解决方法,希望可以帮到大家!错误一:Unable to open kernel device '\\.\Global\vmx86': 系统找不到指定的文件. Did you reboot after installing VMware Workst...

2019-05-17 15:48:51 6892 1

原创 Docker 部署 MySQL 集群服务

一、什么是集群计算机集群(computer cluster)是一组松散或紧密连接在一起工作的计算机。由于这些计算机协同工作,在许多方面它们可以被视为单个系统。与网格计算机不同,计算机集群将每个节点设置为执行相同的任务,由软件控制和调度。集群的组件通常通过快速局域网相互连接,每个节点(用作服务器的计算机)运行自己的服务实例。在大多数情况下,所有节点使用相同的硬件和相同的操作系统,尽管在某些设置中...

2019-05-16 21:35:15 738 1

原创 springMVC执行原理顺序图

参与对象描述:]1.browse : 用户浏览器2.Tomcat : 搭载web应用的服务器3.DispatcherServlet : 是 Spring MVC 的心脏,它负责接收 HTTP 请求并协调 SpringMVC 的各个组件完成请求处理的工作4.springMVC.xml : springMVC的配置文件5.HelloController : 应用程序中处理程序交互的部分.作...

2019-05-16 13:43:15 1146 1

原创 浅析Mysql常见的两种存储引擎:MyISAM与InnoDB

特性及该如何选择:MyISAM更适合读密集的表,而InnoDB更适合写密集的表.在数据库做主从分离的情况下,经常选择MyISAM作为主库的存储引擎.一般来说,如果需要事务支持,并且有较高的并发读取频率(MyISAM的表粒度太大,所以当该表写并发量较高时,要等待的查询就会很大),InnoDB就会是不错的选择.如果表数据量很大(MyISAM支持压缩特性可以减少磁盘的空间占用),并且不需要绑定事务时,...

2019-05-11 19:38:29 301

原创 java网络爬虫框架:Webmagic学习总结

网络爬虫常用的技术(Java)底层实现Jsoup+HttpClient开源框架WebmagicWebmagic是一个开源的爬虫框架,用于简化爬虫的开发流程,使开发者更专注与业务逻辑的开发.主要特色:完全模块化的设计,强大的扩展性.核心简单但是涵盖爬虫的全部流程,灵活而强大提供丰富的抽取页面API无配置,但是可通过POJO+注解形式实现一个爬虫支持多线程支持分布式支持爬虫...

2019-05-04 19:02:59 2392 2

原创 java :选择排序实现 及测试用例生成方法

测试用例生成方法: //生成随机测试用例 public static int [] selectSort(int n,int rodanf,int raanl){ int []a = new int[n]; Random random = new Random(); if (raanl>rodanf){ ...

2019-04-28 13:27:36 991

原创 Java递归实现Fibonacci数列计算

实现代码如下:public static int factorial(int n){ if (n <= 1){ return 1; } return factorial(n-1) + factorial(n-2); }测试代码如下:System.out.println(factorial(40));测...

2019-04-19 22:34:54 2804 1

原创 java递归实现查看文件夹中所有文件

实现代码:public static List listFiles(File file){ List<File> fileList = new ArrayList<>(); if (file.isDirectory()){ for (File listFile : file.listFiles()) { ...

2019-04-19 17:07:07 1891

原创 java实现字符串中找出次数最多的所有字符及对应出现次数

public void statistics(String str){ HashMap<Character, Integer> map = new HashMap<>(); char[] chars = str.toCharArray(); for (int i = 0; i < chars.length; i++) {...

2019-04-16 16:42:54 1215

原创 python制作简易名片管理系统

card = [{"name": "test", "iphone": "test ", "qq": 'test' , "email": "test"}]def add_card(): name = str(input("请输入你的姓名 : ")) iphone = str(input("请输入你的电话 :")) qq = str(input("请输入你的...

2019-04-11 17:46:54 1135

原创 python实现NN乘法表打印

九九乘法表实现如下:i = 1while i <= 9: j = 1 while j <= i: print("%d * %d = %d" % (j, i, i*j), end="\t") j += 1 print("") i += 1通过将行数使用变量替代行数参数即可实现NN乘法表:i = 1num = in...

2019-04-11 08:49:58 1547

原创 python程序执行原理

操作系统会首先让 CPU 把 Python 解释器 的程序复制到 内存 中Python 解释器 根据语法规则,从上向下 让 CPU 翻译 Python 程序中的代码CPU 负责执行翻译完成的代码4.示意图:...

2019-04-09 23:35:18 3012 1

原创 如何用分布式服务器FastDFS实现SSMD+Angularjs文件上传 -代码详解

FastDFS执行流程图:FastDFS概述:FastDFS(Fast Distributed file system)是用c语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、横向扩展等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。一.环境准备1.导入依赖 <!--...

2019-04-06 11:59:52 249

原创 分布式开发使用Dubbo时服务异常解决方法大全

1.确认注册中心(如zooleeper)及Dubbo是否开启与配置是否正确在搭载Dubbo的服务器中 WEB-INF目录下dubbo.properties属性文件是否正确配置dubbo.registry.address=zookeeper://xxx.xxx.xxx.xx:2181 为注册中的实际地址。2.确认web应用配置文件是否与自己的Dubbo服务器连接上如: <!...

2019-04-02 13:26:23 752

原创 序列化抛出警告: Hessian/Burlap: 'com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException

警告: Hessian/Burlap: 'com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException' is an unknown class in WebappClassLoader context: delegate: false repositories:----------> P...

2019-04-02 10:06:23 683

原创 Java Persistence API(JPA)学习笔记

概念 1.1. 是一个基于O/R映射的标准规范 1.1.1. 规范 1.2. 作用 1.2.1. 简化现有java EE和java SE应用的对象持久化的开发工作 1.2.2. Sun希望整合对ORM技术,实现持久化领域统一 1.3. 主要实现 1.3.1. Hibernate 1.3.2. EclipseLink 1.3.3. OpenJPA内容 2.1. JPA...

2019-03-28 20:31:23 1635

原创 Nginx反向代理服务器入门操作与配置

Nginx 简介 Nginx (“engine x”) 是一个高性能的HTTP和反向代理服务器; 可实现负载均衡; Rewrite功能强大; 电商架构大部分都采用Nginx + Tomcat的架构。反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连...

2019-03-27 17:21:05 270

空空如也

空空如也

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

TA关注的人

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