自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (4)
  • 收藏
  • 关注

原创 String、StringBuffer、StringBuilder有什么区别?

java面试(二)-----String、StringBufer、StringBuilder有什么区别?String :String是Java语言非常基础和重要的类,提供了构造和管理字符串的各种基本逻辑。它是典型的Immutable类,被声明成为fnal class,所有属性也都是fnal的。也由于它的不可变性,类似拼接、裁剪字符串等动作,都会产生新的String对象。由于字符串操作的普遍性,...

2020-01-15 13:19:08 1426 1

原创 教你六种方式实现聊天室

如果技术栈不一致的同学请尽量看懂架构和概念,自己用自己的技术栈去架构自己的聊天室!此项目为前后端分离项目,基于vue+springboot构建前端:以 vue 为核心的 vue全家桶(vue+vuex-状态管理+vue-router-路由管理+axios-HTTP库),UI框架使用了iview+VueSax,打包和初始化项目工具使用 webpack 来代替vue-cli.图片上传使用了他人的...

2019-11-21 20:00:54 4723 6

原创 这可能是最简单的AVL二叉平衡查找树讲解

二叉平衡查找树AVL详解看懂这篇文章所需的知识点树、二叉搜索树、树高、树深、层等概念AVL树概念:任意节点的左右子树的高度差不能大于1的树即为AVL树,是为了解决在频繁插入删除等动态更新下出现的时间复杂度退化的问题,所以平衡的意思为:尽可能使整个树保持平衡,而不会出现左子树很高右子树很矮的情况。AVL树失衡后平衡化操作分为四种:LL、RR、RL、LRLL的意思为:整棵树失衡的原因在于根节点的左节点的左节点导致的失衡,有可能是左节点的左节点本身(即一条链的情况)导致的失衡,或者是左节点的左节点上多

2020-07-04 16:40:13 471

原创 强引用、软引用、弱引用和ThreadLocal详解

强引用在Java中,最多的就是强引用,垃圾回收时宁愿内存不足也不会回收掉强引用的对象,一般是通过 new 方式创建的强引用。注意这里指的垃圾回收是指在方法即在栈帧运行期间时发生的垃圾回收,此时强引用不会被回收,如果是方法运行结束即栈帧结束,此时这个方法的不管什么对象都一定要被回收的!强引用存在的问题:当内存不足时,由于不会回收强引用的对象,此时如果对于程序来说对象不被使用,此时强引用对象就会占相当一大部分堆的空间。解决方法:将强引用对象置为 null ,脱离强引用即可,ArrayList的cle

2020-06-30 13:20:17 837

原创 基于binlog的事务恢复流程

资料来自于 阿里 数据库内核月报两阶段提交为什么需要两阶段提交即为什么binlog要在redolog之间?先使用redolog或者binlog为什么不行?MySQL故障恢复流程MySQL故障恢复启动时,会初始化储存引擎,这里讨InnoDB,InnoDB会读取redolog进行InnoDB的故障恢复,回滚prepare(同时肯定没有commit) 的事务,但是对于已经prepare的事务,但是未commit事务,会暂时挂起,保存到链表中,然后等待读取binlog,读取binlog后,由于已经prep

2020-05-23 15:02:05 553

原创 背包问题Java详解版

资料:B站背包九讲:https://www.bilibili.com/video/BV1qt411Z7nE对应训练题:https://www.acwing.com/problem/01背包问题此问题解法来自背包九讲,未优化状态:f[i][j]表示前 i 个物品,总体积为 j 的最大价值所以就有两种方式,选当前物品放入背包和不选当前物品放入背包即不选当前物品放入背包 :f[i-1][j],直接拿上一个物品的价值即可,体积不变或者选当前物品放入背包,:f[i-1][j-v[i]]+w[i],需

2020-05-21 19:40:43 944

原创 包装类型和基本类型

包装类型和基本类型Java中有八种基本数据类型,分别对应着八大包装类型,因为包装类型的实例都存在于堆中,所以包装类型也称为引用类型。基本类型属于原始数据类型,变量中存储的就是原始值。包装类型属于引用数据类型,变量中存储的是存储原始值的地址的引用。基本类型中,局部变量存在方法虚拟机栈的局部变量表中,而类中声明的的变量存在堆里。包装类型中,无论局部变量还是类中声明的变量均存在堆中,...

2020-01-28 23:35:17 882

原创 双亲委派机制

java面试总结 -------双亲委派模型双亲委派模型是类加载器中一个重要的知识点。类加载器模型根据上图类加载模型,类加载器由三部分组成,位于最上端也就是顶层父类的是根类加载器,它只加载%JAVA_HOME%/jre/lib/ext,此路径下的所有classes目录以及java.ext.dirs系统变量指定的路径中类库,此加载器由c++实现。然后下一层即根类加载器的子类加载器是拓...

2020-01-27 15:44:01 129

原创 类加载实例代码详解

本文章用于对类加载实例代码的详解部分代码地址什么是类加载前情回顾所有的Java虚拟机必须在每个类或者接口被Java程序“首次主动使用时”才初始化它们,如果不是首次使用或非主动使用是不会被初始化的。主动使用分为:创建类的实例访问某个类或某个接口的静态变量(助记符为getstatic),或者对它们的静态变量进行赋值(助记符为putstatic)调用类的静态方法(助记符为invokes...

2020-01-26 21:10:25 205

原创 类加载

Java面试总结----- Java类加载类加载是Java中非常重要的一块内容。虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这就是虚拟机的类加载机制。在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的。1. 简述1.1 加载:把 .class文件从磁盘加载进内存里。1.2 ...

2020-01-26 21:09:53 139

原创 纠错!Thread 和 Runnable 之间数据共享问题

看博客要慎重网上大多数博客的说法是这样的:通过实现Thread类的线程之间数据不共享,而实现Runnable接口的线程之间数据共享。我一直在想,这没有道理啊,Thread也是实现Runnable的,而Runnable里只有一个run方法,归根结底线程的操作均是操作Thread,那为什么会有区别呢?直到某一天,我突然回过神,看了看所谓数据不共享的代码,突然明白了,废话少说上代码。以下是众多...

2020-01-20 11:35:01 294

原创 Thread and Runnable

java面试----Thread and Runnable众所周知,java中创建线程的方式有两种,分别是实现 Thread和Runnable接口。1. 实例:实现Thread :public class Main { public static void main(String[] args) { demo1 demo = new demo1(); de...

2020-01-18 18:01:10 190

原创 接口 and 抽象类

java面试分享-------接口和抽象类的含义和区别先来看定义:接口是对行为的抽象,它是抽象方法的集合,利用接口可以达到API定义和实现分离的目的。接口,不能实例化;不能包含任何非常量成员,任何feld都是隐含着public static final的意义;同时,没有非静态方法实现,也就是说要么是抽象方法,要么是静态方法。抽象类是不能实例化的类,用abstract关键字修饰class,其目...

2020-01-17 17:46:39 171

原创 HashMap、TreeMap详解

java面试总结(三)------HashaMap、TreeMapHashMap和TreeMap作为最常用同时也是最容易被考察的点来说,掌握是至关重要的HashMap:基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。基于数组(Node[] table)和链表结合组成的复合结构,数组被分为一个个桶(bucket),通过哈希值决 ...

2020-01-15 17:20:18 273

原创 final、finally、 finalize

java面试题分享 -----final、finally、 finalize的不同答:final可以用来修饰类、方法、变量,分别有不同的意义,final修饰的class代表不可以继承扩展,final的变量是不可以修改的,而final的方法也是不可以重写的(override)。finally则是Java保证重点代码一定要被执行的一种机制。我们可以使用try-finally或者try-catch...

2020-01-15 11:02:58 122

原创 Error and Exception

java面试总结(一)------java异常在java中,有两种异常情况,分别是 Error 、Exception,那么他们又有什么区别呢?Exception和Error都是继承了Throwable类,在Java中只有Throwable类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。Exception和Error体现了Java平台设计者对不同异...

2020-01-15 10:43:46 190

原创 对象是怎么创建的?(java)

java对象的创建如何创建正常情况下,我们新建对象是通过new来创建的,那么new的背后又发生了什么呢?类加载检查首先将去检查这个指令的参数是否能在常量池中定位到一 个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没 有,那必须先执行相应的类加载过程。会出现类加载检查情况:new关键词、对象克隆、对象序列化。分配内存当类加载检查完成后,即需分...

2020-01-15 09:49:04 954

原创 idea下导入jar一直提示 ClassNotFound 终极结果办法

必须在这个地方把右边底下所有的包通过双击加在左边去同时必须自己新建立lib文件夹,在web目录下,然后通过add jar导入包后通过上述办法导包

2019-12-18 18:48:15 963

原创 从零开始手把手教你mooctest慕测进行软件测试(全网流程最全)

慕测平台上有多种方式进行开发者测试,这里仅仅用idea进行测试,其他方式请绕道!1. 环境准备(已安装idea请跳过此步骤)idea下载链接 链接:https://pan.baidu.com/s/1HFuYiH09rnK4LEsIhCz4Uw 提取码:2c4c破解方法 :https://www.jianshu.com/p/702deab2447c ,破解方法有时效性,若不成功则自寻方法...

2019-10-13 11:33:54 9436 1

原创 idea下使用Junit进行单元测试(全网最简单)

先确定目录结构 待测文件位于src-main-java-具体包名下test测试文件位于src-test-java-具体包名下加载Junit包File > Settings > Plugins ,搜索 Junit,下载在这里插入图片描述然后选择刚刚下载的包,勾选点击apply-ok,即可具体进行测试注意,必须要在类上注释@Test其中先定义一个execep...

2019-10-09 20:30:48 5021

原创 跟我一起来读java源码(一)

ArrayList构造函数 private static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8; private static final int DEFAULT_CAPACITY = 10; private static final Object[] EMPTY_ELEMENTDATA = {}; transient ...

2019-09-25 18:38:45 202 1

转载 VMware安装centos7超详细版

原文来自https://blog.csdn.net/babyxue/article/details/80970526注意如果本机用的是有线连接则按照教程使用桥接模式,如果用的是无线则使用NAT模式

2019-09-02 20:52:11 119

原创 javamail错误解决办法:

场景1:本地测试良好,一上服务器就崩报错:com.sun.mail.util.MailConnectException: Couldn't connect to host原因:在本地调试javamail端口为25,在服务器上默认阻止25出端口,需要更改安全组来开放端口,华为云测试开发所有端口均无效,此处建议更改端口,方法简单且无副作用代码如下 mail: user...

2019-08-30 13:12:29 584

原创 springboot中打包成jar后用 java -jar 运行乱码问题

如题,在idea下正常启动均正常,打包成jar后用java -jar xxxx.jar运行后发现有中文乱码现象,改正方法更改命令为java -Dfile.encoding=utf-8 -jar xxxx.jar即可解决乱码问题解决的朋友在下方评论区挥动你们的双手好吗...

2019-08-30 00:59:55 2183 2

原创 springboot 整合 redis 解决序列化并设置过期时间

springboot整合redis教程https://www.jianshu.com/p/fd65156ff630,由此教程无法设置失效时间,需要进行优化springboot 自带的 redisTemplate.opsForValue().set() 用来设置键,有四个参数,分别是 key value 失效时间 失效时间格式(分、秒啥的,在idea环境下有提示),但是原生的 redis ...

2019-08-09 00:43:27 3744

原创 Spring Boot 整合 mybatis (全网最简单教程)

spring boot 整合mybatis创建项目勾选 mybatis 项目依赖创建 entity 实体类包,在包下创建实体类,注意实体类的属性名必须对应数据库的字段名创建 mapper 包,在包下创建 mapper 接口,接口里写上所要实现的方法,不能有方法体在resource文件下创建 mybatis 文件夹,在 mybatis文件夹下创建 mapper 、config 两个文件夹,...

2019-08-05 19:25:58 160

原创 数据库概论复习笔记

目录 数据库理论关系数据库 数据库理论数据库常用数据模型层次模型(树)有且只有一个结点没有双亲结点,这个结点为根节点根节点以外的结点有且只有一个根节点网状模型允许一个以上的结点无双亲一个结点可以有多于一个的双亲关系模型关系:一个关系对应通常所说的一张表。元组:表中的一行即为一个元组属性:表中的一列为一个属性,属性名为...

2019-07-02 14:57:46 337

原创 自己搭建图床服务

https://www.52pojie.cn/thread-724689-1-1.html下载幻想领域解压至网站根目录切记必须是根目录‘否则会有问题剩下的就自己摸索,很简单’

2019-02-17 14:03:23 1218

原创 如何给本地主机分配公网ip

很简单,需要下载一个软件nat123,我把这个软件装在了虚拟机上,然后添加端口映射,默认127.0.0.1,点击保存,然后它自动给你分配一个公网ip,直接拿出去访问就可以了,有任何问题请访问nat123官网,有详细文档,http://www.nat123.com/Pages_2_32.jsp    或加我qq1841301607必定竭尽所能祝您一臂之力...

2019-02-17 11:22:35 4025 1

原创 JavaScript图形验证码的实现

废话不多说,先看图这种图形验证码很高效简洁,使用爬虫是有较大难度的爬取网站信息的。而且这种图形验证码的应用场景非常广,可用在登录注册等等需要上传信息的地方。现在直接上代码var str='';GetCode();function GetCode() { str=''; var nums = ["1", "2", "3", "4", "5", "6", &qu

2018-11-27 11:08:25 1149 1

原创 用原生js写轮播图(无滑动效果)

用原生js写轮播图(无滑动效果)非常简单的东西,本人是菜鸡,只是提供一种思路,这应该是最简单的方法。先拿出三个图片先写出默认显示图片的那张图片的路径。写js函数,先定义循环变量 i = 1,再判断 i 的值,根据不同的 i 值来用js改变图片路径。再写计时器,来让图片循环滚动。再有就是定位小圆点,用无序列表,li内用a标签,同样用js来判断,效果如下:中间的小白点就是定...

2018-11-07 19:37:53 414 1

原创 图书馆占座系统(七)

第一次更新(2018.8.19 19:50)嗯,好久没更新了,是因为做项目做兴奋了,图书馆占座系统已经开发完了,另外我又开发了其他两个系统,这个另说。上一章讲到cookie,登录过去的界面判断cookie是否存在后,存在即进行操作,不存在就跳转到登录页面,前面已经讲过我们可以读取数据库中的座位号在网页加载后实时显示出来已经被占的座位,现在我们需要占座以及取消座位,当点击一个座位时,系统判...

2018-08-19 20:43:21 7559 13

原创 最大连续子数组(C语言)

这是最基本的方法(暴力法) 先判断两个之中的最大值,再判断三个之中的最大值依次类推得到结果 代码如下:#include <stdio.h>int main(int argc, char *argv[]){ int A[13]={1,2,3,4,5,6,7,8,9,10,11,12,13},i,max,min; for(i=0;i<12;i++)...

2018-08-17 14:46:55 1001 1

原创 图书馆占座系统(六)

第一次更新(2018.2. 14:58)今天一上午搞定了cookie,本来我把cookie写在了JavaScript部分,后来感觉不太对,因为不能确定是否是正确的用户名和密码就把他写进了cookie,所以我把它放在了php文件内 JavaScript部分代码如下:function setcookie(name,value,day)//注意这个name为cookic的你n...

2018-08-06 15:11:08 981 1

原创 图书馆占座系统(五)

———-第一次更新(2018.8.5 0:44)今天一下午加一晚上(8.4)都在处理这个问题,可是还是没有处理好页面的占座与取消占座已经做好了并且能够和数据库进行实时的数据传输 现在要进行的是打开页面,页面上就能显示出已经占的座位的标志,初步想法是通过onload函数,读取数据库的seat下的值,在根据座位号进行相应的变化在页面上开始是我用onload函数,出了些bug,检查啦许...

2018-08-05 01:08:03 821

原创 图书馆占座系统(四)

———-第一次修改(2018.8.4 15:35)emmmm,现在已经能够从html页面和php页面进行数据传输, 现在要解决的是前端的页面根据数据库信息进行变化我先用赋值的方式(大佬教我的方法)让函数获得每一个座位的属性,结果发现不能链接php文件(或许可以,但是我不知道,哭) 因为代码被删除,就不贴过来了后来我用了click的this方法,获取了点击的对象。 代码如下:...

2018-08-04 16:10:06 896

原创 图书馆占座系统(三)

第一次更新(2018.8.3 23:27)用ajax进行前端和后端php代码的数据交换; 首先用ajax进行前端和后端的数据交换时,要用到jQuery库,链接上jQuery库,代码如下<script src="jquery-3.3.1.JS"></script>要注意,如果还要再写js脚本,则必须在下面再写上<script> </s...

2018-08-04 00:05:00 1524

转载 转载 编程新手入门

作者:@萧井陌, @Badger自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0 CoCode:一个让大家学习、成长、相聚并获得乐趣的技术社区 答疑邮箱: [email protected] (@萧井陌编程入门指南学习群:177169777文章结构:• 前言 • 心态调整 ◦ 确定目标 ◦ 不要浮...

2018-08-03 21:14:55 875

原创 图书馆占座系统(二)

第一次更新(2018.8.3 20:53)这篇主要写登录的 我写的登录主要有两种办法 一是同时比对用户名和密码 二是先比对用户名在比对密码以下是第一种方法的代码:$sql = "select * from ceshi1 where name='$name' and password='$password'";$res = mysql_query($sql);//var_...

2018-08-03 20:54:43 1726

原创 图书馆占座系统(一)

一、图书馆占座系统(1)整个网站用html+css+JavaScript+php+mysql编写; 从一个仅仅会html+css的技术小白,准备从零开始学习。 经过大概10天左右的时间,我把登录,注册这两个页面的前端和后端php代码写完了,这个以后详述。 现在我遇到的困境是,图书馆占座系统的一楼和相对应的php文件的数据传输,以下是代码 $(function(){ ...

2018-08-03 14:14:21 9635 6

剪贴板监控程序并写入文件

有的时候会有这么一个需求,就是重复复制大量的东西,然后复制一次粘贴一次非常麻烦,这款软件就是解决这个问题的,使用Python编写,使用Pyinstaller打包,打开程序后即可监控粘贴板,每复制一次会把复制的内容逐行写在同文件夹下的tmp.txt内。下载,打开 ,enjoy it!

2020-06-28

删除文件夹内重复文件

有的时候面对磁盘里大量的重复文件时束手无策,且如果要人工删除,将会耗时耗力,所以这款软件基于此需求横空出世,此软件由Python编写,由Pyinstaller打包编译,使用方法:直接放在要清除重复文件的目录内,双击打开即可

2020-06-25

JavaScript象棋

“楚汉相争,鸿沟为界”,这句话里诠释着中国象棋博大文化精髓,象棋是由两人轮流走子,以将死或困毙对方将(帅)为胜。以其精妙的布局,灵动的走法,在国内深受群众喜爱,现在有JavaScript象棋游戏源码,分享给大家

2018-12-09

JavaScript图形验证码的实现

JavaScript验证码的简单实现,有简单的随机数字,也有较复杂的图形验证码, 这种图形验证码很高效简洁,使用爬虫是有较大难度的爬取网站信息的。 而且这种图形验证码的应用场景非常广,可用在登录注册等等需要上传信息的地方。

2018-11-27

空空如也

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

TA关注的人

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