自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 问答 (7)
  • 收藏
  • 关注

原创 Oracle VM Virtual安装centos7及网络设置

版本:VirtualBox 6.0.24CentOS-7-x86_64-DVD-2009.iso步骤1.安装虚拟机具体的过程不多说了,可以直接在360软件管家上搜索virtualBOX、安装。2.下载centos镜像文件官网地址:hhttp://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/下载到自己的电脑上就可以。3.安装centos7新建:名称随便写,自己好区分就行,下面的类型选择Linux,版本red Hat就可以:然后就

2021-10-23 16:21:41 766

原创 使用TableLogic注解碰到的问题随笔

使用TableLogic注解碰到的问题使用QueryWrapper作为查询条件时,拼接的sql语句自动包含:where del_flag = 0。但是我希望查询结果包含删除记录。为了避免影响其它接口,就没有去操作实体类上的@TableLogic注解。后面的解决方式是:不使用QueryWrapper,自己写mapper.xml文件了。动态sql中包含...

2021-07-27 22:56:58 2924

原创 win10系统安装Nacos

刚开始接触Nacos,在电脑上启动Nacos的时候,总是失败,这里做一个简单的小结。1.下载安装Nacos压缩包下载地址,下载安装包,如下:这里下载ZIP格式的压缩包就好了,下载下来以后解压到指定位置。这里注意:第一个坑:解压后的压缩包所在路径不要有中文或者空格,否则无法正常启动。比如:E:\软件安装包\nacos,又或者:D:\Program Files (x86)\nacos,都是无法启动的。最好放在全英文的路径下。第二个坑:在解压完成后,进入bin目录下。如果直接双击startup.cm

2021-07-12 22:15:04 725

原创 git checkout、reset、commit命令

HEAD和masterHEAD:HEAD可以指向分支名也可以指向具体的提交点(commit),当HEAD指向具体的提交点的时候,处于分离状态(Detached HEAD)。我们姑且把HEAD指向分支名的状态称为绑定的状态。无论HEAD是指向分支还是提交点,最终来说,HEAD还是指向某一个提交点。处于绑定状态的HEAD,只是多了分支名这一个媒介而已。既然HEAD指向某一提交点,那么HEAD的作用是什么?答案是:标记当前工作区是在哪一个提交的基础上进行操作的。master:分支名,它指向某一个具体的提

2021-03-11 12:00:53 1141

原创 关于使用if和while包裹wait方法

结论:在需要先判断条件,再使用wait方法的情况下,使用while。原因是:线程使用wait放弃锁后,线程会停在wait方法的位置,等到线程被notify唤醒,并重新获得锁,线程会继续执行后面的操作。如果使用if语句块,线程重新获取锁并执行完if块中的语句后,不会再判断一次if条件,而是直接执行if外的语句,从而引起错误的执行流程。错误示例代码:/** * Author: Aipande * Description:生产者消费者模型 * Date-Of-Create:2020/10/22-8:45

2020-10-22 11:00:03 873 1

原创 Synchronized关键字小结

代码示例://同步类public class SynDemo { //非静态同步方法1 synchronized public void method01(){ for(int i=0;i<10;i++){ System.out.println("非静态同步方法A:"+i); } } //非静态同步方法2 synchronized public void method02(){ for(int i=0;i<10;i++){ //休眠100ms t

2020-10-12 10:49:55 89

原创 实现线程共享数据的方式

说明:这里以new Thread(Runnable target)的方式创建线程。希望读者首先了解静态代理以及线程的几种创建方式。思路:Thread类使用new Thread(Runnable target)的方式创建线程对象时,使用的是静态代理的模式,线程执行时,最终会使用target.run()方法,因此想要实现数据的共享,只要保证run方法中的数据是与其它线程共享即可,我们知道run方法是是无参的,因此只能将共享数据放在target对象中,比如作为成员变量,方便run方法调用。这样一来,保证targ

2020-09-27 17:11:36 1447

原创 I/O流

I/O概述I/O是Input/Output的缩写,表示输入输出。对于内存来说,从内存中取出数据写入到磁盘中的操作是输出,也就是写。从磁盘中读取数据到内存中是输入的操作,也就是读。I/O流根据操作数据的最小单位,分为字符流和字节流。又可以根据是否直接对文件资源进行读写操作,分为节点流和处理流。下面以java.io包为基础,学习I/O流的内容。1. 继承结构2.类的概述2.1 File类File类是对文件和目录的抽象。它可以用来表示一个文件或路径。I/O流操作目标就是系统中的文件。** *

2020-07-08 14:47:51 129

原创 基本数据类型及其包装类

主要内容:分析数值型自动拆装箱过程中的常量池问题。1. 基本数据类型及包装类型基本数据类型长度(单位:字节)取值范围包装类型byte1-2^7 – 2^7-1Byteshort2-2^15 – 2^15-1Shortint4-2^31 – 2^31-1Integerlong8-2^63 – 2^63-1Longfloat43.402823e+38 ~ 1.401298e-45Floatdouble

2020-07-06 21:58:47 155

原创 c3p0报:A ResourcePool could not acquire a resource from its primary factory or source

如题:出现该问题的原因。1.数据库配置信息有误,连库四要素,检查是否有问题。<property name="driverClass" value="com.mysql.jdbc.Driver"/><property name="jdbcUrl" value="jdbc:mysql://localhost:3306/my?serverTimezone=GMT%2B8"/><property name="user" value="root"/><propert

2020-06-16 21:13:29 1035

原创 String类的常用方法及问题

1.String类特点:1.可以不使用new创建对象。2.String对象一旦创建,就不可以被修改。原因是底层被private final 修饰的字符数组value,final保证value不会指向堆中的其它对象,private保证字符数组的值不会被外部修改。注意:String类对象,不管调用什么方法,对象本身都不会改变,只是有时会返回一个新的字符串对象。1.1 常用方法创建String类对象:public static void main(String[] args) throws Unsup

2020-06-06 10:49:42 218

原创 Math类的常用方法

Math类的常用方法最近在刷LeetCode的时候,发现有很多和算术相关的题目,可以使用Math类处理,所以小结一下,加深印象。1.取近似值1.1四舍五入** int/long Math.round(float/double d);**(推荐使用)描述:如果入参是float,返回int类型,如果入参是double,返回long类型。public static void main(String[] args) { float f1 = 1.34f; double f2 = 1.5; d

2020-06-01 11:06:31 2494

原创 线性结构--队列

1.队列(queue)理解队列,可以参考实际生活中的排队,排队的人只能从队尾加入,从队首出队,这也是队列的特点。即只能从队尾添加元素,从队首删除元素,这也是常说的先进先出(First In First Out)。模拟...

2020-05-28 16:00:36 596

原创 线性结构--栈

1.栈栈是线性结构中的一种,它的特点是:先进后出(First In Last Out),入栈(也称为压栈)时只能从栈尾进入,出栈(弹栈)只能从栈尾开始出。

2020-05-28 09:52:32 721

原创 数据结构之逻辑结构

1.逻辑结构前面讲过数据结构可以分为存储结构和逻辑结构,一般情况下,我们讨论的最多的都是逻辑结构,下面介绍有哪些常用的逻辑结构。1.1 线程结构1.1.1数组1.1.2

2020-05-27 16:00:09 1680

原创 递归-汉诺塔问题和斐波那契数列

1.递归递归简单来讲就是方法内部调用方法本身,它有如下要求:1.必须要有临界条件,也就是递归必须要有出口,不能无限制的向深层调用方法,否则会栈溢出。2.汉诺塔问题问题:有三根柱子:A,B,C。A柱子上有3个盘子,分别是1,2,3,如何使用最少的移动次数,将3个盘子从柱子A移动到柱子C?规则:1.每次只能移动一个盘子。2.大的盘子不能放在小盘子上面。使用递归解决汉诺塔问题原理:无论汉诺塔有多少层,都将其看做2层:最底层和上面的层。如果塔只有1层,那么直接将第一层移动到目标位置即可,如果塔

2020-05-27 14:56:29 659

原创 交换排序(冒泡排序和快速排序)的代码实现

1.冒泡排序/*冒泡排序:冒泡排序是将数组中的每相邻的两个元素进行比较,大的的元素往右移。每一次循环过后,都会将最大值转移到数组的最后位置。*/class MaoPaoTest { public static void main(String[] args) { int[] a1 = {12,2,8,21,34,55,878,32,2,1,4,6,3,90,41,42,32}; //需要比较N-1次 for(int i = 1;i<a1.length;i++){ f

2020-05-25 14:46:59 382 1

原创 插入排序(直接插入排序、希尔排序)的代码实现

1.直接插入排序/*模拟插入排序逻辑:取数组中的每一个元素,将该元素与前一个元素进行比较,如果当前元素比前一个元素小,就与前一个元素交换位置,并继续同前面的元素进行比较,直到不小于前一个元素时,停止比较*/class InsertSortDemo { public static void main(String[] args) { int [] arr1 = {8,2,4,3,7,9,1,7,11}; insertSort(arr1); for (int i:arr1) {

2020-05-25 14:35:02 348

原创 数据结构之存储结构

1.数据结构数据结构是计算机存储、组织数据的方式。它描绘的是数据与数据之间的关系。数据结构又可以分为存储结构和逻辑结构,我们常讨论的树、栈等都是逻辑结构。1.1存储结构存储结构是指数据在计算机内存中保存的方式。分为以下两种:顺序存储:在内存中的一段连续地址上保存数据,数据间的逻辑关系和物理关系相同。特点是:地址连续,相对链式结构更加节省空间,因为链式结构有一个专门的指针域保存下一个数据的内存地址。同时,查询和修改快,但是不适合插入和删除,因为会涉及到数据的移动。链式存储:数据在内存中的地址不连续,

2020-05-20 16:43:27 2190

原创 树结构--二叉查找树

节点类//排序二叉树的节点public class TreeNode { //节点的值 public int value; //左节点 private TreeNode leftNode; //右节点 private TreeNode rightNode; public TreeNode(int value){ this.value = value; } publ...

2020-04-29 10:30:59 104

原创 关于JVM的知识的小结

1.JVM(Java虚拟机)关于Java虚拟机的作用在这里不多说,只是说它的特点:**不跨平台:**正是因为JVM的不跨平台特性,使得JAVA的跨平台性得以实现(某前辈说的)。所以JDK针对不同操作系统也有不同的版本,因为不同的操作系统需要使用不同的JVM。JVM是一类虚拟机的总称,JVM有很多种类:HotSpot(绝对主流,也是Oracle/Sun JDK所用的。)、J9、JRockit等...

2020-04-22 09:19:39 93

原创 MySQL数据库,表设计小结

1.任何在业务过程中可修改的属性都不能作为主键。2.主键建议使用整数型、自动递增的。

2020-01-06 09:23:08 147 1

原创 MySQL8.018 ZIP安装小结

下载mysql安装包下载链接点击download下载后,获得mysql-8.0.18-winx64.zip文件。安装1.将压缩文件解压到安装文件夹,比如:D:\Program Files (x86)\MySQL\mysql-8.0.18-winx642.在解压的文件夹中添加新的文件夹data用于存放数据库的数据,新建my.ini文件保存mysql的配置信息。my.ini文件中的内容...

2019-12-03 10:06:47 164

原创 Spring框架学习小结--IOC

1.什么是IOC?IOC(Inversion of control)字面意思控制反转。控制:指控制对象的创建、赋值\依赖关系的管理。反转:指将对象的创建、赋值的权利,由程序转交给Spring容器。IOC是一种思想,用于指导如何创建、管理和使用对象。控制反转就是将对象的创建交给了Spring,而达到解耦合的目的。也可以说对象的控制权由使用者转交给了Spring。2.什么是依赖注入DI?...

2019-10-21 15:31:03 108

原创 VisualSVN server和tortoiseSvn的安装和使用

安装包下载服务端:VisualSVN server:https://www.visualsvn.com/visualsvn/download/客户端:tortoiseSvn(小龟龟):https://tortoisesvn.net/downloads.html客户的汉化包:https://osdn.net/projects/tortoisesvn/storage/,包括各个版本的语言包,...

2019-10-10 16:30:18 454

原创 Spring框架-资源下载路径

spring框架的资源下载比较麻烦,直接给出下载路径:https://repo.spring.io/libs-release-local/org/springframework/spring/

2019-10-08 16:19:24 211

原创 List集合:针对不同实现类的效率测试

直接上代码:package com.collection;import java.util.ArrayList;import java.util.LinkedList;import java.util.List;import java.util.Stack;import java.util.Vector;/** * * @ClassName: ListTest02 * @...

2019-08-06 11:26:41 87

原创 Mysql数据库:先分组再取最新的一条记录的实现方法(亲测可用)

例子表结构:要求先根据type进行分组,再取每组中时间最新的一条。sql语句:SELECT m1.* FROM test01 m1 LEFT JOIN test01 m2 ON (m1.Type = m2.Type and m1.DateOfOperation < m2.DateOfOperation) WHERE m2.ID is NULL查询结果:逻辑分析:第一步:...

2019-07-24 15:41:36 502

原创 存储过程中参数名和表字段名相同的问题

今天写了一个简单的存储过程,用于修改表字段的值,如下:IN enterpriseid int ,IN total intBEGIN #用于修改指定企业的消息总条数 UPDATE website_sys_enterprise SET MessageTotal = MessageTotal+`total` WHERE EnterpriseID = `enterpriseid`;END...

2019-07-12 16:50:18 1938 2

原创 用sql语句给Mysql数据库的表、过程、自定义函数、事件添加注释

工具Navicat for Mysql、Mysql数据库给表添加注释Sql语句结构:Alter table 表名 comment “注释内容”ALTER TABLE `sys_users-test` COMMENT '测试添加表注释';给表添加注释Sql语句结构:Alter table 表名 comment “注释内容”ALTER TABLE `sys_users-test` ...

2019-07-08 10:29:00 726

原创 Dos窗口编译和运行java程序

编译编译做的事情就是检查代码是否符合语法,并生成.class(字节码)文件。操作:1.桌面新建文件夹,存放java源文件。2.在地址栏输入cmd,回车。(在文件夹地址栏输入cmd,DOS窗口会默认跳转到当前文件夹所在的目录下。)3.Dos窗口输入javac,鼠标左键将源文件拖到javac命令后,回车即可。运行操作:1.编译完成后,找到.class文件所在的文件夹,在地址栏输入cm...

2019-07-01 11:44:46 414

原创 面向对象三大特性--封装的个人理解

封装问题1:什么是封装?通俗来讲,封装是指对事物进行包装,使其内部细节不可见,同时需要提供对外的访问途径,用于使用该事物。例如单片机的芯片,对芯片进行封装,可以保护芯片的内部电路,同时,芯片必须提供引脚,供外部电路进行访问、操作。类比到java中的封装,java语言中的封装针对的对象是类,对类的封装实际上是:1.私有化类的属性,使其不能被外部直接访问。2.对外提供公共的访问方法。问题2...

2019-06-25 17:21:31 196

原创 支付宝扫码支付-PC版(沙箱环境)

前言因项目需求,最近开发了PC段支付宝扫码支付的功能,使用的是沙箱环境。

2019-05-31 17:27:57 1555

原创 数据库连接池C3P0和DBCP的使用

学习小结,欢迎指正,不喜勿喷。C3P0的使用:步骤:1.准备C3P0所需的jar包(本人使用的是:c3p0-0.9.5.2.jar、mchange-commons-java-0.2.12.jar)。2.准备数据库驱动(本人使用:mysql-connector-java-5.1.46.jar)。3.新建web项目。4.将所需jar包放在lib目录下。5.在src下添加数据库连接池的...

2019-05-08 16:48:43 230

原创 JAVA连接Mysql数据库

备注:学习小结,不喜勿喷。要素:1.数据库驱动:即数据库供应商针对JAVA语言开发的数据库驱动程序,注意驱动的版本要和数据库的版本相适应。2.数据库访问路径:访问之前需要知道你的数据库放在哪。3.访问账号:数据库连接账号。4.密码:数据库连接密码。连接步骤:1.加载驱动。2.建立连接,获取数据库连接对象。3.创建会话。4.定义SQL语句。5.执行SQL语句。6.获取结果集。...

2019-05-07 13:41:14 200

空空如也

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

TA关注的人

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