自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (3)
  • 收藏
  • 关注

原创 鸿蒙ArkTS自定义图形验证码组件

本文介绍ArkTS中利用Canvas绘制图形验证码,实现点击刷新验证码功能

2024-03-26 21:16:15 704 1

转载 IO 多路复用是什么意思?

作者:罗志宇链接:https://www.zhihu.com/question/32163005/answer/55772739来源:知乎假设你是一个机场的空管, 你需要管理到你机场的所有的航线, 包括进港,出港, 有些航班需要放到停机坪等待,有些航班需要去登机口接乘客。你会怎么做?最简单的做法,就是你去招一大批空管员,然后每人盯一架飞机, 从进港,接客,排位,出港,航线监控,直至交接给下一个空港,全程监控。那么问题就来了:很快你就发现空管塔里面聚集起来一大票的空管员,交通稍微繁忙一点,新的

2021-05-28 10:51:42 217 1

原创 Redis主从复制的核心原理

Redis主从复制的核心原理通过执行slaveof命令或设置slaveof选项,让一个服务器去复制另一个服务器的数据。主数据库可以进行读写操作,当写操作导致数据变化时会自动将数据同步给从数据库。而从数据库一般是只读的,并接受主数据库同步过来的数据。一个主数据库可以拥有多个从数据库,而一个从数据库只能拥有一个主数据库。全量复制主节点通过bgsave命令fork子进程进行RDB持久化,该过程是非常消耗CPU、内存(页表复制)、硬盘IO的。主节点通过网络将RDB文件发送给从节点,对主从节点的带宽都

2021-05-28 10:28:08 606

原创 Redis主从复制实现

概念主从复制,是指将一台Redis服务器的数据 ,复制到其他的Redis服务器。前者称为主节点(master/leader) ,后者称为从节点(slave/follower) ;数据的复制是单向的,只能由主节点到从节点。Master以写为主 , Slave以读为主。默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点) ,但-一个从节点只能有一一个主节点。主从复制的作用主要包括:1、数据冗余:主从复制实现了数据的热备份,是持久化之外的- -种数据冗余方式。2、故障恢

2021-05-28 09:42:46 240

原创 Redis事务实现

Redis事务实现redis单条命令是保证原子性的。但是事务不保证原子性。Redis事务本质:一组命令的集合!一个事务中的所有命令都会被序列化,在事务执行的过程中,会按照顺序执行!一次性、顺序性、排他性!执行一系列的命令。Redis事务没有隔离级别的概念!所有的命令在事务中,并没有直接被执行!只有发起执行命令的时候才会执行! EXECRedis的事务:开启事务(MULTI)命令入队(…)执行事务(EXEC)1.开启事务redis通过执行MULTI命令开启事务。MUL

2021-05-27 14:01:12 1158

原创 Mysql中MyISAM和InnoDB的区别

区别:1、InnoDB支持事务,MyISAM不支持对于InnoDB中的每一条SQL都默认封装成事务,自动提交,这样会影响速度,所以把多条SQL放在begin和commit之间组成一个事务。2、InnoDB支持行级锁和外键,MyISAM不支持对⼀个包含外键的InnoDB表转为MYISAM会失败3、InnoDB是聚集索引,MyISAM是非聚集索引InnoDB数据文件是和索引绑在一起的,必须要有主键,通过主键索引效率很高。但是辅助索引需要两次查询,先查询到主键,然后通过主键查询到数据。因此

2021-04-08 17:03:37 1297

原创 MyBatis配置以及获取自增主键

在开发中,通常会有这种情况:在插入数据库记录后,想得到插入记录的主键,用以后面的业务代码,那么mybatis针对这种情况提供了相应的支持(不支持批量插入)。假设一张MySQL数据库中的user表,其中id为自增主键。那么在开发时我们要获取一条刚插入的user记录的id,此时分两种情况。接口映射器SQL(通过注解写的SQL)例如:@Insert("insert into sys_user(username, password) values(#{username}, #{password})i

2021-01-26 16:11:46 187 1

原创 Java多线程基础知识总结

1. 进程与线程1.1 进程指正在运行的程序,是系统进行资源分配的基本单位。 目前操作系统都是支持多进程,可以同时执行多个进程,通过进程ID区分。 单核CPU在同一个时刻,只能运行一个进程;宏观并行、微观串行。1.2 线程可以理解为应用程序中不同的执行路径。 是CPU的基本调度单位。 一个进程由一个或者多个线程组成,彼此间完成不同的工作。同时执行则称为多线程。 例如:迅雷是一个进程,迅雷中的多个下载任务即是多个线程。Java虚拟机是一个进程,当中默认包含主线程(main),可通过代码

2020-11-03 17:09:22 135 2

原创 深入理解JVM之类加载器(二)

类的初始化详解 在深入理解JVM之类加载器(一)里面我主要介绍了JVM中关于类的加载相关的一些知识,那在本文我将详细介绍类的初始过程。我先编写三个类,代码如下:public class MyTest { public static void main(String[] args) { System.out.printf(MyChild1...

2020-03-17 23:04:04 165

原创 深入理解JVM之类加载器(一)

首先要明白的是,在Java代码中,类型(class、interface、枚举等,不是对象)的加载、连接与初始化过程都是在程序运行期间完成的。Java虚拟机与程序的生命周期在如下的几种情况下,Java虚拟机将会结束生命周期执行了System.exit()方法 程序执行结束 程序在执行过程中遇到了异常或错误而异常终止 由于操作系统出现错误而导致Java虚拟机进程终止类的加载...

2020-03-17 20:57:37 216

原创 Java将一个List赋值给另一个List的问题

最近在写代码的时候发现一个问题:我定义了两个List集合A,B,先对第一个集合A add数据进去,接着直接将A的数据赋值给B,结果后面我将集合A给clear掉,然后使用B集合的数据,结果报了数组越界异常。最后发现集合B的数据也不存在了。测试代码如下:List<String> A =new ArrayList<>();List<String&g...

2019-12-20 17:11:39 5600 1

转载 解决Ubuntu 18.04中文输入法的问题,安装搜狗拼音

首先安装fcitx一、检测是否安装fcitx首先检测是否有fcitx,因为搜狗拼音依赖fcitx> fcitx提示:程序“fcitx”尚未安装。 您可以使用以下命令安装:> sudo apt-get install fcitx-bin二、安装fcitxsudo apt-get install fcitx-bin相关的依赖库和框架都会自动安装上。sudo ap...

2019-06-14 14:34:32 907

原创 算法应用之分治法

一、分治法的基本概念 在生活中当我们遇到复杂的问题时,我们通常会将这个复杂的问题分为几个小的问题或者分为几个步骤来解决,当我们将原问题拆分成若干个小问题或者步骤过后,小问题相对原问题来讲或许会更容易解决,我们通过解决这些小问题,最终达到解决该问题的目的。 这种解决问题的思想就类似于计算机科学中的“分治法”。分治即“分而治之”,一个规模很大的问题若要直接求解起来是...

2019-04-06 22:45:15 2976

原创 WangEditor富文本编辑器图片上传踩坑之路

最近由于业务需求,需要用到富文本编辑器,找寻了好久,起初想使用百度的ueditor,但在使用的过程中实在是遇到了太多的坑,于是另外锁定了一款富文本编辑器——wangEditor。这是一款轻量级的富文本编辑器,比起百度的ueditor,这款编辑器的界面更加简单,文档也很详细。对于需求不是很高的功能来说,这款编辑器实在是不二之选。一、wangEditor的基本显示demo这个部...

2019-04-03 17:42:54 14765 13

转载 使用SpringBoot+MyBatis+MySQL实现图片上传

一、技术参数:SpringBoot 1.15.6.RELEASEMyBatis-SpringBoot 1.3.2MySQL 5.1.30数据库连接池:druidMaven 3.5.9项目pom文件:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.or...

2019-04-03 14:29:26 2422

原创 Java实现列表上移,下移操作总结

最近遇到这么一个需求,要求对列表中的数据进行自定义排序操作,思前想后,决定通过上下移动来实现此功能。实现思路:1.在数据库中对要进行排序那张表新增一个sort字段用于排序。2.每当新增一条记录时,sort的值都会在上一条的记录上进行+1。即每次新增记录时,先查出已存在的sort值最大的那条记录,然后新增记录的sort值为该记录的sort的值+1。3.列表向上移动的时候查询出当前数据...

2019-04-01 09:36:49 8475 13

原创 MySql的root密码忘记该怎么找回

Windows 下如果MySQL密码忘记了root密码导致无法登录,如下图所示,这个时候怎么办,只能重置root密码了。1.打开任务管理器查看MySql服务是否启动,如果已启动则先将其停止2.找到MySql目录下的my.ini文件3.打开该文件,找到里面的[mysqld],然后在这个下面添加skip-grant-tables,添加完后保存文件4.重新进到任务管理器将...

2019-03-20 11:38:04 75043 23

原创 IDEA去除代码底部出现的灰色波浪线

在使用idea编写代码时,有些重复的代码下面总是会出现灰色的波浪线,就像下面这样:有强迫症的我看着这样的波浪线非常不爽,那怎么去除这个波浪线呢?在此记录一下。在setting里面找到Editor——&gt;Inspections——&gt;General——&gt;Duplicated Code取消勾选箭头所指这个就行了。...

2019-01-23 11:15:58 18462 6

原创 Java常用工具方法整理集合

/** * @Author: MrZcc * @Description: * @Modified By: */public class Utils { /** * @Description:判断字符串是否为数字,支持整数,负数,小数 * @param: string 需要判断的字符串 * @return: boolean true---是数字,f...

2019-01-10 10:59:55 134

转载 Java 别再用复杂的if...else/switch了

在Java中,偶尔会遇到这样的情况:有很多条件需要判断,而且满足每个条件需要做的事情也不一样。在写代码时第一想法肯定是if...else了,可当代码写出来后,会发现很长一串的if,else if,代码很难看,如果当前的条件是最后一次才满足条件,那么程序需要去检查每一个if里的条件是否满足,这样似乎还会影响程序性能。    那么用什么来代替呢,很多人肯定可能会想到,肯定是switch了。网上有很...

2019-01-03 11:44:40 672

原创 关于在HTML页面显示时英文内容不会自动换行的解决方案

问题分析:在HTML代码中插入长串英文时出现如下情况,不会自动换行显示:解决方案:直接在标签中添加样式:style="word-break:break-all;"问题解决。...

2018-12-18 12:36:22 4403 1

原创 关于Mybatis一对一关联查询结果错误的解决方案

1.问题描述最近开发一个项目时遇到一个一对一的关联查询,两个类是这样定义的:我根据model_report_template的id来查询他俩的数据:单独SQL运行无误:可是当我测试接口的时候结果却是这样的:困扰了我半天总算解决。2.错误原因在写resultMap的时候将关联表的主键id写成了自身的主键id3.解决方案应该写为:再次测试:...

2018-12-11 18:13:17 864

转载 如何写出高质量的原创文章?

1、文章标题的选择标题的好坏将直接影响用户是否会点到文章内容页面,所以标题在写的时候要遵循以下几个原则:1)做好用户定位在撰写原创文章之前,一定要想好我们的这篇文章是给什么人群看的,他们喜欢什么属性的文章,有哪些问题需求。例如SEO教程网,定位的就是给SEO爱好者提供SEO教程,而需要SEO教程的人群一般都是小白族,也就是说我会更多的提供SEO入门教程方面的内容,用户定位就是刚入门SE...

2018-12-11 13:44:35 179

转载 jquery操作select(取值,设置选中)

jquery操作select(增加,删除,清空)  1. $("#select_id").change(function(){//code...}); //为Select添加事件,当选择其中一项时触发 2. var checkText=$("#select_id").find("option:selected").text(); //获取Select选择的 3. var checkV...

2018-12-06 17:19:02 2094

原创 List源码分析之 add 方法

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列博客。在Java编程中,常常需要集中存放多个数据,从传统意义上讲,数组是我们的一个很好的选择,前提是我们事先已经明确知道我们将要保存的对象的数量。一旦在数组初始化时指定了这个数组长度,这个数组长度就是不可变的,如果我们需要保存一个可以动态增长的数据(在编译时无法确定具体的数量), List 这个集合类是便为我们提供了相当...

2018-12-01 19:40:00 667

原创 Java代理模式实现与原理详解(二)

1 为什么要用动态代理上一次我们详细分析了静态代理模式的原理,并且用代码简单实现了一个静态代理的案例。但是我们会发现在静态代理中代理类与被代理类都需要实现同一个接口,这就说明我们的一个静态代理类只能代理一个类,并且还要事先知道我们要代理哪个类才能写代理类,如果我们有其他类还想使用代理那就必须再写一个代理类。然而在实际开发中我们是可能是有非常多的类是需要被代理的,并且事先我们可能并不知道我们要代...

2018-12-01 19:27:11 4005

原创 Java代理模式实现与原理详解(一)

关于Java中的代理,我们首先需要了解的是一种常用的设计模式——代理模式,而对于代理,可根据代理类创建的时间点,分为静态代理和动态代理。今天我们先来了解一下Java中的静态代理。1 代理模式代理模式是一种常用的设计模式,百度百科中对其定义为:为其他对象提供一个代理以控制对某个对象的访问。在某些情况下,一个对象不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用...

2018-12-01 19:22:03 3593 2

原创 JSP运行原理分析

JSP运行原理分析我们在开发Java Web的过程中,可能有过这样的疑问,Tomcat是一个Servlet运行环境(容器),所有经过Tomcat的请求都是有一个servlet来处理的。servlet是一个Java类,可是jsp不是。那jsp又是怎么在Tomcat里面运行的呢?事实上,JSP是Servlet的一种特殊形式,每个JSP页面就是一个Servlet实例——JSP页面由系统编译成Serv...

2018-11-13 15:04:22 5727 1

原创 ArrayList源码分析之 add 方法

在Java编程中,常常需要集中存放多个数据,从传统意义上讲,数组是我们的一个很好的选择,前提是我们事先已经明确知道我们将要保存的对象的数量。一旦在数组初始化时指定了这个数组长度,这个数组长度就是不可变的,如果我们需要保存一个可以动态增长的数据(在编译时无法确定具体的数量),List 这个集合类是便为我们提供了相当于动态数组的功能。这个类中add方法尤为重要。 1 目标本次源码分析的目标...

2018-11-13 13:55:24 801

原创 深入理解MVC

深入理解MVC1.问题描述最近在学习springMVC,大家应该都知道该框架是基于MVC架构的框架,我们平时也常说MVC架构,MVC模式等等。都觉得MVC非常的神秘,我们平时都在使用MVC,但却鲜有人知其所以然,那究竟什么是MVC呢?我们今天就来揭开MVC的神秘面纱。2.问题分析MVC定义:全名Model View Controller,MVC即模型(model)-视图(view)...

2018-11-13 13:46:31 1971

基于JavaEE(SpringBoot+MyBatis+Shiro)的小区物业管理系统项目源码

基于JavaEE的小区物业系统设计与实现。主要使用的技术包括:SpringBoot+Mybatis+shiro。压缩包包括项目源码和SQL文件;上传的项目源码配置好环境和数据库均可以运行,为了方便大家对于java的学习,作为毕业设计的参考也是非常合适的,欢迎大家交流!

2020-08-31

MATLAB在时间序列建模预测及程序代码

时间序列是按时间顺序排列的、随时间变化且相互关联的数据序列。分析时间序列的方法构成数据分析的一个重要领域,即时间序列分析。代码

2019-07-15

网页监控更新工具

python开发的网页监控更新工具,可以对指定的网页进行监控,只要网页内容有变化,就可以给出发生差异的详细结果。运行环境win7+python2.7.3.

2019-07-15

空空如也

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

TA关注的人

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