自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Leetp

记录学习笔记

  • 博客(110)
  • 资源 (4)
  • 收藏
  • 关注

原创 Git最常用操作以及一些错误解决方法

git 常用操作将文件推送到远程库的三个步骤:git add filenamegit commit -m "推送了一个文件"git pushgit clone 仓库地址,克隆远程库到本地git pull 从远程库拉取代码分支操作:git checkout branchname 切换分支git checkout -b branchname 创建并切换到目的...

2018-01-09 15:16:13 1546

原创 docker学习

Docker的常用操作命令以及解释

2022-08-20 16:59:50 1657

原创 MySQL事务隔离级别下的一些测试

测试mysql中不同隔离级别下的一些场景,持续补充

2022-07-04 20:58:32 354

原创 Java synchronize原理和锁优化

什么是锁优化?JDK1.5为了解决synchronize效率问题,出现了Lock锁。(Lock锁源码分析看这篇文章Java8 Lock锁详解(AQS,CAS))JDK1.6对synchronize进行了大量优化,让synchronize能够和和Lock锁性能不相上下。synchronize锁优化策略自适应自旋锁自旋就是在获取锁失败之后循环进行尝试,自适应是指动态的对循环次数进行调整。举个例子,在自适应时,如果尝试了5次能够获取到锁,且尝试5次的时间比阻塞的时间段,则使用10作为自旋次数。如果尝试了

2020-07-02 21:01:14 420

原创 Java8 Lock锁详解(AQS,CAS)

什么是Lock锁?Lock锁提供了的比synchronized关键字更加灵活的锁操作,是代码层面的锁操作。为什么要使用Lock锁?Lock锁和synchronized关键字的对比类型synchronized关键字Lock锁获取锁无超时时间,未获取到则阻塞等待(占用cpu资源),且无法被中断非阻塞,可以被中断,未获取到则排队,中断,可以自定义超时时间共享锁不支持读写锁ReadWriteLock支持释放锁必须在当前代码块中,因为synchronized是以{

2020-07-01 15:04:32 2919

原创 ForkJoin框架源码分析(详细)

ForkJoin框架是CompletableFuture和java8 stream,ConsurrentHashMap等并发包中使用到的框架。主要用于分片处理的场景。

2020-06-30 15:55:02 5987

原创 微信小程序开发总结

标签1、view和div差不多2、text展示文字最好用这个,其他标签都不支持长按复制3、 iconicon可以直接用微信组件默认的图标,默认是iconfont格式的自定义的icon推荐svg sprite格式或者iconfont4、inputinput 的类型,有效值:text, number, idcard, digit, time, date 。input不需要设置lin...

2020-01-11 17:57:56 365

原创 Mysql8忘记密码解决方法 [Mac]

Mysql8忘记密码解决方法 [Mac]点击系统偏好设置最下面找到mysql进入后点击Initialize database重新输入密码点击ok即可

2019-12-23 13:48:56 386 1

原创 ElasticSearch常用查询笔记

ES是什么elasticsearch简写es,es是一个高扩展、开源的全文检索和分析引擎,它可以准实时地快速存储、搜索、分析海量的数据。什么是全文检索全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。...

2019-07-20 22:13:06 267

原创 vant下拉刷新发送两次请求的问题

**问题:**在vant的上拉加载和下拉刷新同时使用的过程中,可能会出现下拉刷新发送了两次请求的问题**原因:**是在下拉刷新过程中,可能会触发上拉加载,导致发送两次请求。**解决方法:**所以在下拉刷新过程中,可以将上拉加载的finished设置为true,这样就无法进行上拉加载,在下拉刷新完成之后再将上拉加载的finished设置为false,...

2019-05-17 13:44:36 7399 3

原创 Activiti监听器

Activiti监听器ExecutionListener:监听全局事件,start(流程启动),end(流程结束),take(经过连线)TaskListener:监听节点事件,assignment(任务分配),create(任务创建),complete(任务完成),delete(任务被删除),all(监听所有事件)ExecutionListener的用法:# 监听start和end定义在根...

2019-03-17 16:27:02 1122

原创 Activit学习笔记

HistoryService查询:ProcessInstanceId = 工单ID = 流程实例IDString processInstanceId = historyService.createHistoricVariableInstanceQuery().processInstanceId("123") .list().get(0).getProcessInstanceId();...

2019-03-15 20:48:30 427

原创 emmet命令笔记

emmet命令指南<!-- html:5 --><!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title&a

2019-02-22 14:24:29 302

原创 css postion笔记

四种Position属性static(默认),relative(相对定位),absolute(绝对定位)和fixed(固定定位)static和relative会占文档流空间,absolute和fixed不会占据文档流空间。**解释:**就是absolute和fixed是可以浮动在其他的元素之上的,可以放到任何的位置,无论该位置是否有元素。static浏览器采用的的默认定位。relati...

2019-02-22 13:23:43 205

原创 Vue.js路由

在使用模块化的时候,路由通常被定义在index.js里面。在点击路由标签的时候,绑定的路径会找到这个组件,然后将这个组件渲染到<router-view/>标签上通过使用路由的keep-alive属性,可以在路由切换的时候,保证组件不会重复渲染。当引入keep-alive的时候,页面第一次进入,钩子的触发顺序created-> mounted-> activate...

2018-11-15 21:53:09 305

原创 Vue.js父子组件通信-自定义事件

组件props用法:props: { // 基础类型检测 (`null` 意思是任何类型都可以) propA: Number, // 多种类型 propB: [String, Number], // 必传且是字符串 propC: { type: String, required: true },...

2018-11-15 10:57:05 882 2

原创 MyBatis学习

MyBatis是什么? mybatis是一个开源的,支持自定义SQL,存储过程和高级映射的持久化框架MyBatis和JDBC的对比连接:(托管,编码实现)使用了Mybatis我们就不需要自己获取数据库连接了,而是使用mybatis托管,使用JDBC需要自己编码获取连接SQL:(隔离集中,混合分散)Mybatis将sql语句集中到一起,但是对于不相关的两个DAO类又是相互隔...

2018-10-16 11:14:49 318

原创 三端食堂售饭管理系统

核心技术:Servlet,JSP,Swing,HTML,CSS,JS。项目结构本项目为MVC结构,包结构如下项目功能:PCPC端能够模拟食堂售饭机售饭。每个售饭机可以选择食堂,选择机号。点击开关之后,售饭机开启,点击插卡,后台随机分配一个卡号,如果卡号在数据库中不存在,就新建一个卡号,并初始化余额为1000.0元。由于卡号是随机在1000以内分配,所以卡号的重复率还是很...

2018-08-09 17:00:05 2170 6

原创 科研项目管理系统

核心技术:Mybatis,Servlet, JSP, 集合类,Swing,HTML,CSS,JS,C3P0数据库连接池项目结构:本项目为MVC项目,包结构如下:实现功能: 教师信息的CRUD,科研项目的申报,审核,验收。本系统为一个毕设项目,分为两个版本,Web版本和PC版本,界面依然很low。两个版本实现的功能一样,理论上应该用到MVC来解决不同的表现形式,...

2018-08-09 16:59:33 14031 22

原创 微Chat(多线程聊天室)

实现聊天室需要具备的知识和用到的API:端口号:一个应用程序对应一个端口号,比如http服务器的默认端口号80,tomcat服务器默认端口号为8080.数据库服务器的默认端口号为3306。服务端:创建一个SocketServerSocket serverSocket = new ServerSocket("127.0.0.1",6666);阻塞直到有客户端连接,返回一客户端...

2018-06-06 22:59:15 1541

原创 JVM学习-Java内存处理

Java堆内存异常:内存异常分为内存泄漏和内存溢出。内存泄漏:leak,☞创建的对象不需要了,永远也用不到了,但是一直有引用指向这个对象,让其一直无法被垃圾回收,而且增大堆内存无法解决的异常。内存溢出:对象还需要,但是内存不够了,出现这种问题,可以通过增大内存来解决。(或者缩短对象存活时间)虚拟机栈的内存异常:StackOverFlowError:只会发生于单线程环境下。指当前...

2018-05-30 16:58:12 386

原创 JVM学习-Java内存布局

了解java内存使用的必要性:Java内存是由Java虚拟机控制的,一旦出现了内存泄漏或内存溢出,排查错误将会非常艰难。Java虚拟机所管理的内存包含以下几个运行时的内存区域。

2018-05-30 16:14:42 246

原创 [ JavaSE ]集合类

Java类集(放对象): 类集实际上就属于动态对象数组,在实际开发之中,数组的使用出现的几率并不高,因为数组本身有一个最大的缺陷:数组长度是固定的。由于此问题的存在,从JDK1.2开始,Java为了解决这种数组长度问题,提供了动态的对象数组实现框架--Java类集框架。Java集合类框架实际上就是java针对于数据结构的一种实现。而在数据结构之中,最为基础的就是链表。类集结构:...

2018-05-30 14:29:05 285

原创 算法练习-9种排序算法

排序算法的分类:插入元素的排序:每次待排元素是以插入形式排好的,就和打扑克牌一样。属于插入排序的有:直接插入排序,希尔排序(shell排序)。选择排序:选择最大的或者最小的,然后放到尾部或者首部。属于选择排序的有:选择排序,堆排序。交换排序:排序时需要交换元素的排序。属于交换排序的有:冒泡排序,快速排序归并排序:将两个有序的序列合并成一个有序的序列属于归并排序的有:归并排序以上算法的实现:冒泡排序...

2018-05-26 13:06:21 1257

原创 算法练习-回文数

代码如下:import java.util.LinkedList;import java.util.Queue;public class Test { /** * 输入一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。 * @param args */ public static boolean isPalindromeNumberNor(...

2018-05-24 11:16:58 431

原创 [ JavaIO ] JavaIO

JavaIO概述:JavaIO大体分为两个流:字符流和字节流,其他各种流操作都是对这两个流的装饰或者继承。字节流的超类:InputStream(输入流)和OutputStream(输出流)字符流的超类:Reader(输入流)和 Writer(输出流)要区分输入输出流,就要站在程序的角度看,输入流意思就是向程序里面输入数据,把东西从外部读到程序。输出流就是将程序里面的东西写到外部的某个载体上,比如写...

2018-05-18 12:03:21 533

原创 数据结构-哈希

什么是哈希?哈希是用来查找的一个搜索结构。一般的算法是通过比较来找数据的,但是哈希查找不用比较就可以一次直接从事先建好的哈希表中找到数据。来看下使用各搜索算法的时间复杂度和空间复杂度:所以哈希算法就是一种用空间换时间的算法哈希的实现方式:通过对要存入的数据进行key-value的映射到数组中的第key个位置。例子:        有一个int arr[ 10 ]数组,存入10, 11, 24, 1...

2018-05-17 21:21:44 402

原创 JavaIO流-文件操作类

在Java.io包之中,File类是唯一一个与文件本身操作(创建、删除、取得信息..)有关的程序。以下是一些操作文件的常用方法:File.separator:控制文件分隔符,由于linux下是/,windows下是\\, File.separator可以避免平台的原因出现的文件分隔符的区别。创建文件对象:File file = new File(path);file.exists()判断文件是否存...

2018-05-13 23:08:45 327

原创 数据结构-堆

堆的性质:堆是按照完全二叉树的顺序存储方式存储在一个一维数组中。堆分为小堆和大堆,不满足小堆和大堆性质的二叉树不能叫堆。小堆:父节点的value 大堆:父节点的value > 任何一个子节点的value。(Ki >= K2 * i + 1)且(Ki >= K2 * i + 2);数据结构堆和堆栈中的堆的区别:

2018-05-11 23:48:51 433

原创 算法练习-age

/** * 有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。 * 问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。 * 请问第五个人多大? * @author Z7M-SL7D2 * */public class TestAge { public static int getAge(int...

2018-05-11 18:16:00 240

原创 [ JavaIO ]统计文件夹下的代码行数

在Java.io包中,File类是唯一一个与文件本身操作(创建,删除,取得信息。。)有关的类。、下面是实现代码行数的思路:使用File file = new File("C:\\path");来获取一个文件对象。使用File[ ] files = file.listFiles();列出文件下所有的文件。使用LineNumberReader lnr。lnr.skip(Long.MAX_VALUE);...

2018-05-11 17:57:23 652

原创 Java反射与注解入门

反射中的5大类:Class,Constructor,Method,Field,Annotation.Class:用来描述一个类                |_______Constructor:用来描述一个类的构造函数                |_______Method:用来描述一个类的方法                |_______Field:用来描述一个类的成员变量      ...

2018-05-11 17:37:30 433

原创 Java反射与代理模式

为什么要使用代理模式?为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。例如:我要买一个电脑,但是我不能没有任何准备工作就去买电脑,比如买点脑之前,必须先准备好钱,找到去商店的地址,然后付钱买电脑,买了电脑之后还应该把电脑拿回家开机。其中除了买电脑这个核心业务由主类完成,其他的买电脑前和买电脑后...

2018-05-11 15:31:44 342

原创 Java类加载机制

ClassLoader类加载器类加载器的作用:类加载器用于加载编译生成的 *.class 文件内容(每一个类在编译之后都会生成一个.class文件)。Java有以下几种类加载器:Bootstrap(启动类加载器,C++实现):用于加载%JAVA_HOME%/lib目录下(或者被Xbootclasspath参数指定路径中)能被虚拟机识别的类库加载到JVM内存中,启动类加载器是由C++实现的,所以无法...

2018-05-11 13:44:32 188

原创 [ C数据机构 ]二叉排序(搜索)树

二叉排序树性质:二叉排序树又叫二叉搜索树,具有以下性质:若左子树不空,则左子树上所有结点的值均小于或等于它的根结点的值;若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;左、右子树也分别为二叉排序树;如下就是一颗二叉排序树:中序遍历的结果正好是1 3 5 7 8。结构体定义:typedef int BSTreeDataType;// 二叉搜索树(二叉排序树)typedef st...

2018-05-10 21:46:28 332

原创 [ Java多线程 ] synchronize全局锁和对象锁的区别

对象锁:/** * 全局锁,对象锁的区别 * @author Z7M-SL7D2 * */class Person{ private static int COUNT = 10; // 同一时间只允许一个线程吃 public synchronized void eat() { System.out.print("开始吃 "); COUNT--; System...

2018-05-08 17:27:55 2347

原创 算法练习 -将一个数组中的Max和first交换,Min和end交换

题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。代码如下:public class Test { public static void main(String[] args) { int[] arr = new int[] {2, 9, 1, 5, 4, 7}; exchangeElement(arr); showArray(arr); } /*...

2018-05-08 16:55:30 292

原创 Java-线程同步与等待机制练习

使用线程同步与等待机制打印如下: *Thread-0#Thread-1@Thread-2 * Thread-0#Thread-1@Thread-2 *Thread-0#Thread-1@Thread-2 * Thread-0#Thread-1@Thread-2 *Thread-0#Thread-1@Thread-2 *Thread-0#Thread-1@Thread-2代码如下:class Fla...

2018-05-08 16:50:32 433

原创 数据结构-二叉树Java实现

二叉树的概念:一颗二叉树是节点的有限集合。二叉树由左子树和右子树组成,每一个非空的子树都可以称作一个独立的二叉树。二叉树的特点:每个节点最多有两颗子树,即树的度最大为2;子树右左右之分,次序不能颠倒。二叉树的分类:满二叉树:不存在度为1的节点。只可能度为0和2完全二叉树:具有N个节点的结构与满二叉树的前n个节点的结构相同。称为完全二叉树。二叉树的性质:(1)若规定根节点的层数为1,则一颗非空二叉树...

2018-04-30 18:00:20 333

原创 Java-反射

什么是反射?通过反射可以在运行时获得程序或程序集中每一个类型的成员和成员的信息。程序中一般的对象的类型都是在编译期就确定下来的,而Java反射机制可以动态地创建对象并调用其属性,这样的对象的类型在编译期是未知的。所以我们可以通过反射机制直接创建对象,即使这个对象的类型在编译期是未知的。 反射的核心是JVM在运行时才动态加载类或调用方法/访问属性,它不需要事先(写代码的时候或编译期)知道运行对象是谁...

2018-04-29 23:31:02 253

Activiti6.0下载

Activiti6.0下载,个人博客有SpringBoot整合Activiti教程,使用数据库为MySQL,使用Maven搭建项目,希望能帮到刚刚入门的人。

2019-03-17

软工实验仓库管理系统实验报告

仓库管理系统实验报告,包括需求分析,概要设计。。。

2018-05-10

统计路径下所有文件任意格式代码行数

运行环境,windows,无需任何配置,解压后双击run.bat即可运行。

2018-05-10

MFC五子棋源码以及exe文件

MFC五子棋的源码,可以双人对战,人机对战,播放背景音乐

2017-12-05

空空如也

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

TA关注的人

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