自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(186)
  • 资源 (7)
  • 收藏
  • 关注

原创 SpringBoot+JPA+Mybatis+多数据源(MySQL/PostgreSQL)

开始公司主要使用的是Springboot+JPA后来要对接一个其他系统,然后加了一个数据库,就成了Springboot+JPA+多数据源,但是后面随着业务发现JPA有时候用着太难受,就想着加个Mybatis,然后去网上搜如何整合JPA+Mybatis,但是网上的教程都是单数据源整合的,没有发现多数据源整合的案例。想着之前整合过Mybatis+多数据源,然后就把配置文件复制一份,开始踩坑之路。一...

2020-03-13 12:19:22 1029 1

原创 数据库表设计的几个原则

前言:数据库设计在平时的工作是必不可少的,良好的表设计可以让我们查询效率更高,加快网站访问速度,提升用户体验,并且方便于我们查询数据。本篇博客就来聚焦一下,如何设计出高可复用,优良的表结构,从而在实际的工作中使我们写出更好的代码。数据库表设计的几条黄金准则:一:字段的原子性解释:保证每列的原子性,不可分解,意思表达要清楚,不能含糊,高度概括字段的含义,能用一个字段表达清楚的绝不使用第二...

2020-06-22 10:17:19 4622

原创 传值和传引用

首先,不要纠结于 Pass By Value 和 Pass By Reference 的字面上的意义,否则很容易陷入所谓的“一切传引用其实本质上是传值”这种并不能解决问题无意义论战中。更何况,要想知道Java到底是传值还是传引用,起码你要先知道传值和传引用的准确含义吧?可是如果你已经知道了这两个名字的准确含义,那么你自己就能判断Java到底是传值还是传引用。这就好像用大学的名词来解释高中的题目...

2020-06-22 10:16:50 734

原创 JVM阅读笔记

程序计数器:每个线程都需要一个独立的程序计数器Java虚拟机栈:生命周期与线程相同,每个方法在执行的同时都会创建一个栈帧(一个虚拟机栈中包含多个栈帧,对应的是一个线程中包含的多个方法),栈帧中主要存储方法(方法中又包含局部变量,对象引用(不是对象本身,可能是一个指向对象起始地址的引用指针,也可能是指向一个代表对象的句柄或其他与此对象相关的位置),returnAddress类型(指向了一条字节码...

2020-04-13 15:53:29 614

原创 Springboot+JPA(Postgresql / Mysql)多数据源配置

开始只使用一个Postgresql数据库,现在由于用到redmine自带的mysql数据源,需要使用多数据源。整理了一下配置方法。目录结构如下:首先需要修改yml文件server: servlet: context-path: /api port: 8080spring: jpa: hibernate: ddl-auto: none ...

2020-01-09 10:42:55 1237 4

原创 Java中通过Stream对list集合中对象的一些常用操作

import java.util.*;import java.util.concurrent.ConcurrentHashMap;import java.util.function.Function;import java.util.function.Predicate;import java.util.stream.Collectors;class StringAndString ...

2019-11-19 10:02:19 2897 1

原创 List用add添加数据覆盖前面的数据

一般出现这种情况是在list存储对象的时候,比如说下面的代码会输出10个9。因为对象Number实例话一次,也就是说堆中只创建了一个对象,在最后一次循环的时候n.setA(i)将对象number中的属性a修改为9,此时ns中的前9个对象(其实在堆中就是一个对象n)中的 a 也就变成了9。解决方法就是在每次add之后将对象初始化new,这样就是创建了多个对象,每个对象之间不会互相影响。cl...

2019-08-09 18:09:31 1796

转载 hashCode及HashMap中的hash()函数

原帖地址:https://www.cnblogs.com/NathanYang/p/9427456.html一、hashcode是什么要理解hashcode首先要理解hash表这个概念1. 哈希表hash表也称散列表(Hash table),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映...

2019-07-13 16:03:31 198

原创 JSP学习笔记

JSP九大对象:out、request(请求)、response(响应)、session(会议)、application(应用)。不常用的page、pageContext、exception、config(配置)。JSP内置对象get与post区别<form name=”regForm” action=”动作” method=”提交方式”></for...

2019-07-13 15:20:27 156

原创 最短路径 Dijkstral算法 和 Floyd算法

Dijkstral算法:从起点A出发,可以直接到达的点是B、D、E,lowcost={max,10,max,30,100},visit={1,0,0,0,0},lowcost从A到其他节点的距离,visit已经找过的节点找出和A相连的边中最短的,A->B边时最短的,这个时候我们可以知道A到B的最短路是10,这个时候我们需要比较是从A直接到达B、C、D、E距离短还是通过B作为中转更...

2019-07-09 14:56:58 248

原创 最小生成树 Prime算法 和 Kruskal算法

最小生成树保证一个图中的所有节点可以到达其他的任何节点,且连接这些节点的线的总和最小,此时这些节点和线组成最小生成树。如上面的图的最小生成树就是:10+11+12+8+16+19+7+16=99Prime算法:在prime算法中,先从任何一个节点A(可以是任何一个节点,对最小生成树的构造没有影响)出发,记录和节点A有连接的所有线,这部分在代码中是: ...

2019-07-08 18:26:50 1071

原创 Java 异常处理

try/catch:用来运行可能出现异常的语句,如果没有出现异常会在try块运行完之后,跳过catch块运行catch块后面的内容;如果出现异常则会在异常发生的语句停止try块的运行,跳到catch块运行。finally:无论如果都要执行的部分。就像做饭的时候,中间可能出现异常,但是无论最后把饭做成什么样子,都需要把火关了。如果try块失败了,抛出异常,流程会马上转移到catch块。当...

2019-07-06 16:10:10 190

原创 Java 垃圾回收 GC

在Java中内存空间分为两个区域:对象的生存空间堆和方法调用及变量的生存空间栈。对象放在堆中(对象中的实例变量放在对象中,也就相当于放在堆中),方法调用和局部变量放在栈中。在栈中方法会被堆在一起,栈顶上的方法就是当前正在执行的方法,当一个栈顶方法(方法A)在执行的过程中调用其他方法(方法B)时,会将调用的B放在栈顶(入栈),当方法B执行完毕后,它的堆栈块会被释放(出栈),接着执行未完成...

2019-07-06 11:51:08 192

原创 实例变量(成员变量)、局部变量、静态变量(类变量)的区别

一、实例变量1、实例变量是声明在类中,而不是方法中的。2、实例变量有默认值,可以之间使用。二、局部变量1、局部变量声明在方法中。2、局部变量没有默认值,在使用之前必须初始化。三、静态变量1、静态变量是共享的,同一个类所有的实例共享一份静态变量。2、静态变量会在类的任何静态方法执行之前就初始化。成员变量(实例变量)&局部变量区别:(1)作用域成员变量...

2019-06-30 14:23:33 2044

转载 抽象类和接口有什么区别

首先看二者的区别参数 抽象类 接口 默认的方法实现 它可以有默认的方法实现 接口完全是抽象的。它根本不存在方法的实现 实现 子类使用extends关键字来继承抽象类。如果子类不是抽象类的话,它需要提供抽象类中所有声明的方法的实现。 子类使用关键字implements来实现接口。它需要提供接口中所有声明的方法的实现 构造器 抽象类可以有构造器...

2019-06-28 17:51:06 204

原创 常用SQL语句(二)

order by: 用于根据指定的列对结果集进行排序。order by 语句默认按照升序(asc)对记录进行排序。按照降序对记录进行排序,可以使用 desc 关键字。/*查询book表中的所有信息按价格由低到高升序排列*/select * from book order by price ;/*查询book表中的所有信息按价格由高到底降序排列*/select * from b...

2019-06-28 12:19:28 655

原创 常用SQL语句(一)

创建数据库语法:create database 数据库名样例:create database test; /*创建一个名为test的数据库*/创建表语法:Create table 表名( 列名 数据类型 约束条件, 列名 数据类型 约束条件, …… 列名 数据类型 约束条件);样例:create table stude...

2019-06-27 17:56:47 165

原创 Java 集合 HashMap

Hashmap主要用哈希表(也叫散列表)实现,而哈希表的实现主要用到数组和链表(红黑树),先说哈希表。哈希表的功能主要是方便查找,大概原理就是通过一系列的计算得到一个数字作为物理存储地址,查找的时候只需要对查找元素进行hash然后去得到的地址查找元素是否存在,如果该地址有元素代表查找成功,没有代表查找的这个集合中不存在这个元素。但是哈希值通过一个设定的表达式计算出来的,在某些情况下不同元素...

2019-06-26 15:52:59 198

原创 hashCode()和equals()方法

Java对象的eqauls方法和hashCode方法是这样规定的:➀相等(相同)的对象必须具有相等的哈希码(或者散列码)。➁如果两个对象的hashCode相同,它们并不一定相同。String str1 = "hello";String str2 = "hello";System.out.println(str1.equals(str2)); //trueSystem.out.p...

2019-06-21 11:14:34 168

转载 浅谈Java中的equals和==

浅谈Java中的equals和== 当需要知道两个基本数据类型是否相等时,用 == 运算符就可以;想要知道两个引用变量是否引用到堆上的同一个对象时也可以使用 == ,但当判断两个对象是否真的相等的时候就需要使用equals()方法了。  在初学Java时,可能会经常碰到下面的代码:String str1 = new String("hello");String str2...

2019-06-21 10:24:46 158

原创 二叉排序树

二叉排序树:对于每个结点的值来说,左子树上所有结点的值都小于它,右子树上所有结点的值都大于它。对集合{62,88,58,47,35,73,51,99,37,93}构建二叉树上图的构造方式就是按顺序找位置,62做根结点,88比62大放到右子树,58比63小放左子树……对二叉排序树进行中序遍历,遍历结果一定是有序的。对上图二叉树进行中序遍历:35,37,47,51,58,62,73,8...

2019-06-20 17:42:06 1656

转载 Array和ArrayList

1)精辟阐述:可以将ArrayList想象成一种“会自动扩增容量的Array”。2)建议:基于效率和类型检验,应尽可能使用Array,无法确定数组大小时才使用ArrayList!不过当你试着解决更一般化的问题时,Array的功能就可能过于受限。对于基本类型数据,集合使用自动装箱来减少编码工作量。但是,当处理固定大小的基本数据类型的时候,这种方式相对比较慢。3)Array和...

2019-06-20 09:26:42 547

转载 Java中的String,StringBuilder,StringBuffer三者的区别

这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer > String  String最慢的原因:  String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但...

2019-06-19 17:51:12 158

转载 int和Integer的区别

int和Integer的区别1、Integer是int的包装类,int则是java的一种基本数据类型2、Integer变量必须实例化后才能使用,而int变量不需要3、Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值4、Integer的默认值是null,int的默认值是0延伸:关于Integer和int的...

2019-06-19 17:14:48 4183

原创 Java中如何跳出当前的多重嵌套循环

一、带有标签的breakstop: for (int i = 1; i <= 4; i++) { for (int j = 1; j <= 4; j++) { if (2 == j & 2 == i) { break stop; } }}System.out.println(i+" "+j);//i=2 j=2 brea...

2019-06-19 17:07:28 648 1

原创 哈夫曼树-哈夫曼编码

哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫做Huffman编码(有时也称为霍夫曼编码)。如果需要传输一段文字“BADCADFEED”,可以用二进制编码表示。这个时候数据编码后是“0...

2019-06-19 15:03:28 1777

原创 已知前序遍历序列和中序遍历序列,确定唯一的一棵二叉树和后序遍历序列

已知前序遍历序列和中序遍历序列,可以唯一确定一棵二叉树。 已知后序遍历序列和中序遍历序列,可以唯一确定一棵二叉树。 但是已知前序遍历序列和后序遍历序列,是不能确定一棵二叉树的。下面例子通过前序遍历和中序遍历确定唯一的一棵二叉树。前序遍历:EACBDGF中序遍历:ABCDEFG1、首先根据前序遍历找出根节点是E,然后根据中序遍历可以知道ABCD是E的左子树,FG是E的右子树。...

2019-06-19 10:12:54 11928 2

原创 二叉树

二叉树是n(n>=0)个结点的有限集合,二叉树中的节点最多只能有两个子结点。二叉树的特点:每个节点最多有两个子树,所以每个节点最多只能有两个子结点。 左子树和右子树是有顺序的,次序不能任意颠倒。 即使树中某个节点只有一棵子树,也需要区分它是左子树还是右子树。二叉树具有五种基本形态:空二叉树 只有一个根结点 根结点只有左子树 根结点只有右子树 根结点既有左子树又有右子...

2019-06-18 17:39:36 613

原创 栈和队列

栈:栈是限定仅在表尾进行插入和删除操作的线性表。允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom),不含任何数据元素的栈称为空栈。栈又称后进先出的线性表,简称LIFO结构。理解栈的定义需要注意:首先它是一个线性表,也就是说,栈元素具有线性关系,即前驱后继关系。只不过它是一种特殊的线性表而已。定义中说是在线性表的表尾进行插入和删除操作,这里表尾是指栈顶,而不是...

2019-06-18 11:16:11 136

原创 线性表

线性表:零个或多个数据元素的有序序列。线性表元素的个数n(n>=0)定义为线性表的长度,当n=0时,称为空表。线性表的长度是有限的,n不能无穷大。除了第一个元素没有前驱元素,最后一个元素没有后驱元素,其他每个元素都有一个前驱元素和一个后驱元素。线性表在逻辑结构上属于线性结构,有两种物理结构,分别是顺序存储结构和链式存储结构。顺序存储结构:线性表的顺序存储结构指的是用一...

2019-06-18 11:07:20 1656 1

原创 数据结构中的逻辑结构和物理结构

按照视点的不同,我们把数据结构分为逻辑结构和物理结构。一、逻辑结构:是指数据对象中数据元素之间的相互关系。逻辑结构分为以下四种:1、集合结构:集合结构中的数据元素除了同属于一个集合外,它们之间没有其他关系。2、线性结构:线性结构中的数据元素之间是一对一的关系。3、树形结构:树形结构中的数据元素之间存在一种一对多的层次关系。4、图形结构:图形结构的数据元素是多...

2019-06-18 10:56:28 9809

转载 c:forEach中varStatus的属性简介

varStatus是<c:forEach>jstl循环标签的一个属性,varStatus属性。就拿varStatus=“status”来说,事实上定义了一个status名的对象作为varStatus的绑定值。该绑定值也就是status封装了当前遍历的状态,比如,可以从该对象上查看是遍历到了第几个元素:${status.count}我们常会用c标签来遍历需要的数据,为了方便使用,va...

2019-06-17 09:27:06 2280

原创 前端用c:forEach同时遍历两个list的方法

假设从后台传到界面两个list,一个tempList、一个rainList。一个的时候没有什么特别的,但是两个的时候就需要借助varStatus这个属性。varStatus是<c:forEach>jstl循环标签的一个属性,varStatus属性。varStatus="status"事实上定义了一个status名的对象作为varStatus的绑定值。该绑定值也就是status...

2019-06-17 09:25:21 5330 3

原创 Java实现几种常见的排序算法

1、冒泡排序从前往后让相邻位置的两个数字比较,这样可以把最大的或最小的放到末尾位置,如果最大的数字是在第一个位置,那么这个数字每次比较都会往后移动一位,直到末尾位置,其他数字同理。 public void bubbleSort(int a[]) { int i, j, t; for (i = 0; i < a.length - 1; i++) { for (j ...

2019-06-10 17:42:21 213

原创 |和||的解释和区别

|:长路或||:短路或无论长路或还是短路或两边的运算单元都是布尔值都为假时,才为假任意为真,就为真区别:长路或 两侧都会被运算短路或 只要第一个是true的,第二个就不进行运算了...

2019-06-05 19:14:56 702

原创 &(长路与)和&&(短路与)的区别

&:按位与运算(长路与)&&:逻辑与运算(短路与)无论 长路与 还是 短路与两边的运算单元都是 布尔值都为真时,才为真任意为假,就为假区别:长路与 两侧都会被运算,无论左边结果如何,右边都会继续运算短路与 只要左边是false,右边就不会进行运算了大多数时候用&&,例如在验证用户登录时判定用户名不是nul...

2019-06-05 19:13:56 1760

原创 Web项目中图片上传之后,需刷新项目才能在网页上看到图片解决方法

在一个网页中添加了一个上传图片的功能,但是上传之后图片是不显示的,在eclipse上刷新一下项目,图片才会显示。如果不刷新的话,我们直接看项目下我们指定的上传图片存入的文件夹里面也是没有图片的。很明显就是一个刷新的问题,搜了半天解决方法大概就是把图片不存到项目下的文件夹里,可以在项目外面单独建一个存图片的文件夹,经过半天的操作这样的确可以实现不刷新项目,就可以看到图片。但是很多博客写的并不详细...

2019-06-04 20:10:35 6043 1

原创 Git提示 fatal: Not a git repository 错误解决方法

fatal: Not a git repository (or any of the parent directories): .git提示说没有.git这样一个目录,解决办法如下:git init然后在进行操作就可以了。

2019-05-31 16:55:13 25764 2

原创 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListenerjava.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListenerat o...

2019-05-30 20:21:50 296

原创 JavaScript实现注册时检查邮箱,名称,密码等是否符合规则

大概实现了,用户名是否存在,邮箱是否已注册,密码是否符合复杂度。//对用户名校验是否存在function checkname(){ //alert("checkname"); var f=false; //javascript所有的变量都是以var定义的 //javascript的变量属于弱类型 //获取用户输入的用户名 var name = document.getEleme...

2019-05-30 20:05:54 2878

SnakeGame贪吃蛇小游戏

Java实现贪吃蛇小游戏,功能有开始游戏,暂停游戏,游戏说明,游戏难度选择,排行榜;每次开始游戏需要输入游戏ID,在游戏界面,显示蛇的速度以及玩家的得分,在游戏结束时将玩家的ID和得分记录到排行榜中,代码绝对可用,所需的jar包也在压缩包里面,mysql表都有,只需要改下代码中的数据库账号密码。

2019-06-10

mysql-connector-java-5.1.7-bin.jar

mysql-connector-java-5.1.7-bin.jar 将此驱动导入所建项目即可

2018-08-02

迅雷极速版baiduyun链接

迅雷极速版baiduyun链接,无广告,无限速,非常简洁好用

2018-07-30

《疯狂Java讲义(第3版)》

《疯狂Java讲义(第3版)》文件太大无法上传,给出baidu链接及密码

2018-07-28

图解HTTP[上野 宣]

图解HTTP[上野 宣] 图解HTTP[上野 宣]图解HTTP[上野 宣]

2018-07-28

Java编程思想第4版

从java的基本语法到它最高级的特性,《thinking in java》都能对你有所裨益。系统讲述java的高级理论:网络编程、多线程处理、虚拟机性能……

2018-07-28

Head First Java.第二版.中文完整高清版.pdf

Head First Java.第二版.中文完整高清版,《Head First Java》是本完整的面向对象(object-oriented,OO)程序设计和Java的学习指导。此书是根据学习理论所设计的,让你可以从学习程序语言的基础开始一直到包括线程、网络与分布式程序等项目。最重要的,你会学会如何像个面向对象开发者一样去思考。.

2018-07-28

空空如也

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

TA关注的人

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