- 博客(438)
- 问答 (13)
- 收藏
- 关注
原创 Spring Boot项目多数据源事务不生效的问题
1.问题场景描述在方法中操作数据库,向表中插入一条数据;然后抛出RuntimeException,发现事务没有回滚,插入的数据依然提交到了数据库中。2.问题查找及分析过程2.1 首先查看项目中是否配置了事务项目中确实做了事务相关的配置:spring.transaction.expression=execution(* xxxxxxx*Impl.*(..))那么这个配置是否生效呢?我们在执行insert后面手动抛出一个RuntimeException,看到如下的报错信息,说明异常确实抛
2021-10-15 20:00:00
5565
原创 问题求解释:volatile修饰数组,能保证数组元素的可见性吗?
好多文章说,volatile修饰数组,能保证引用的可见性,不能保证数组元素的可见性,我做了个实验:public class T03_VolatileArray { static volatile int[] arr=new int[]{1,2,3,4}; public static void main(String[] args) { Thread t1=new Thread(()->{ System.out.println("t1 st
2021-02-23 09:57:43
580
1
原创 3台虚拟机搭建kafka集群
系统:centOS7kafka安装包版本:kafka_2.11-0.11.0.0.tgz1.在opt目录下创建module目录,2.将kafka解压到module目录下:tar -zxvf kafka_2.11-0.11.0.0.tgz -C /opt/module3.在解压后的kafka根目录下创建logs目录4.vim编辑模式下修改config目录下的server.properties配置文件修改配置文件的broker.id,第一台取值为0,第二台取值为1,第三台取值
2020-11-09 20:12:35
824
原创 3台虚拟机搭建zookeeper集群
系统:centOS7zookeeper安装包版本:zookeeper-3.4.14.tar.gz1.解压下载好的zookeeper安装包:tar -zxvf zookeeper-3.4.142.进入zookeeper配置目录conf,复制zoo_sample.cfg配置文件cp zoo_sample.cfg zoo.cfg3.修改zoo.cfg配置文件:首先再zookeeper根目录下创建data文件夹在新建的data目录下创建myid文件,touch myi
2020-11-06 22:41:10
474
原创 二叉排序树(二叉链表实现)
二叉排序树(二叉查找树)的定义:二叉排序树或者是一棵空树,或者是一棵具有以下性质的二叉树:(1)若它的左子树不为空,则左子树上所有结点的值均小于根结点的值;(2)若它的又子树 不为空,则右子树上所有结点的值均大于根结点的值;(3)它的左、右子树都是二叉排序树。二叉排序树的定义是递归的。由此可得到二叉排序树的一个重要性质:中序遍历一棵二叉排序树可得到有序递增序列。二叉排序树结点数据结构的定义(包括关键字项和其他数据项)://每个结点数据域的数据类型 typedef struct
2020-06-06 22:05:00
5051
1
原创 折半查找-C语言实现
折半查找要求表中数据是有序的。折半查找的循环条件是low<=high而不是low<high,为low=high时,查找区间还有最后 一 个结点, 还要进 一 步比较。//折半查找 int SearchBin(SqList &L, int key){ int low=1; int high=L.length; while(low<=high){ int mid=(low+high)/2; if(key==L.elem[mid]){ return mid
2020-06-06 16:40:22
2485
原创 连通图的广度优先搜索实现-邻接表表示图
广度优先搜索过程:(1)从图中的某和顶点v出发,访问v。(2)依次访问v的各个未曾访问过的邻接点。(3)从这些邻接点出发依次访问它们的邻接点,并使“先被访问的顶点的邻接点”先于“后被访问的顶点的邻接点”被访问。重复步骤(3),直到图中所有已被访问的顶点的邻接点都被访问到。算法步骤:(1)从图中某个顶点v出发,访问v;置visited[v]为true,v入队;(2)只要队列非空,重复下述操作:第一:队头顶点u出队;第二:一次检查u的所有邻接点w,如果visited[w]=fal
2020-06-01 22:32:11
811
原创 连通图的广度优先搜索实现-邻接矩阵表示图
广度优先搜索过程:(1)从图中的某和顶点v出发,访问v。(2)依次访问v的各个未曾访问过的邻接点。(3)从这些邻接点出发依次访问它们的邻接点,并使“先被访问的顶点的邻接点”先于“后被访问的顶点的邻接点”被访问。重复步骤(3),直到图中所有已被访问的顶点的邻接点都被访问到。算法步骤:(1)从图中某个顶点v出发,访问v;置visited[v]为true,v入队;(2)只要队列非空,重复下述操作:第一:队头顶点u出队;第二:一次检查u的所有邻接点w,如果visited[w]=fal
2020-06-01 20:45:46
1254
原创 图的深度优先搜索-递归
图的深度优先搜索的过程:(1)从图的某个顶点V出发,访问V.(2)找出刚访问过的顶点的第一个未被访问的邻接点,访问该顶点。以该顶点为新顶点,重复此步骤,直到刚顶点没有未bedi被访问的邻接点为止。(3)返回前一个访问过的且仍有未被访问的邻接点的顶点,找出该din顶点的下一个未被访问的邻接点,访问该顶点。(4)重复步骤(2)和(3),直到图中所有的顶点都被访问过,搜索结束。例如,上图的深度遍历过程如下:(1)从a顶点出发,访问a。(2)从a出发,访问第一个未被访问的邻接
2020-05-31 17:34:59
2245
原创 使用邻接表创建无向图和有向图
图的邻接表表示法:邻接表(Adjacency List) 是图的 一 种链式存储结构。在邻接表中,对图中每个顶点V建立一个单链表,把与 V相邻接的顶点放在这个链表中。邻接表中每个单链表的第一个结点存放有关顶点的信息, 把这 一 结点看成链表的表头, 其余结点存放有关边的信息, 这样邻接表便由两部分组成:表头结点表和边表。(1) 表头结点表:由所有表头结点以顺序结构的形式存储, 以便可以随机访问任 一 顶点的边链表。表头结点包括数据域 (data) 和链域 (firstarc) 两部分。其中, 数据域
2020-05-24 19:58:36
14274
3
原创 采用邻接矩阵法创建无向图和有向图
#include<stdio.h>#include<stack> #include <iostream>#define MAXSIZE 100#define MaxInt 32767 //表示最大值,即正无穷大 #define MVNum 100 //定义最大顶点数 using namespace std;typedef char VerTexType;//假设顶点数据类型为字符型typedef int ArcType;//假设边的权值为整型type.
2020-05-24 12:06:33
9828
原创 哈弗曼树(顺序表实现)
带权路径最小的二叉树称为哈弗曼树。哈弗曼树是一棵二叉树。由于哈弗曼树中没有度为1的结点,所以有n个叶子结点的哈弗曼树有2n-1个结点,可以存储在大小为2n-1的一维数组中。每个结点要包含结点的权重、双亲结点的信息、孩子结点的信息。wight parent lchild rchild 哈弗曼树的结点形...
2020-05-23 11:21:09
825
原创 使用二叉链表实现二叉树的基本操作
#include<stdio.h>#include<stack> #define MAXSIZE 100using namespace std;int count1=0;int count2=0;typedef struct BiNode{ char data;//数据域 struct BiNode *lchild, *rchild;//左右子树指针 }BiTNode, *BiTree;//先序遍历创建二叉链,输入:ABC##DE#G##F### (#表.
2020-05-17 17:31:35
7845
原创 二叉树的二叉链表示
#include<stdio.h>#include<stack> #define MAXSIZE 100using namespace std;//---------二叉树的二叉链存储表示---------- typedef struct BiTNode{ char data;//节点数据域 struct BiTNode *lchild, *rchild;//左右孩子指针 }BiTNode, *BiTree;//----------------------.
2020-05-17 10:56:59
1949
原创 带头结点的单链表的递归遍历
思想:定义一个指针p,使其指向链表的首原结点,在递归过程中p不断指向后继结点,指导p为空结束递归。算法步骤:1.如果p为null,递归结束返回;2.否则输出p->data,p指向后继jied结点继续递归。#include<stdio.h>typedef struct LNode{ int data; struct LNode *next;}L...
2020-05-03 15:31:18
2590
2
原创 Oracle中使用start with...connect by prior实现递归查询
Oracle中使用start with...connect by prior实现递归查询:今天碰到一个问题,需要插叙某个机构的各级上级机构号,例如:假设数据是这样的:机构号br_id 上级机构号par_br_id1067 10051005 10021002 9909问题就是,如何使用sql查询机构1067的各级上级机构,即将1005,...
2019-09-16 20:47:57
292
原创 9.Redis配置文件
参数说明redis.conf 配置项说明如下:1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no2. 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定 pidfile /var/run/redis.pid3. 指定Redis监听端口,默...
2019-09-16 09:51:03
152
原创 8.Redis有序集合zset
1.Zset是在set的基础上加上一个sorce值,set的结构是k1 v1 v2 v3,Zset的结构是k1 sorce1 v1 sorce2 v2。Zset是有序set集合,其排序那就是按照sorce值进行排序的。2.Zset常用命令:zadd:向Zset中添加元素zadd key-name sorce value --向Zset中添加一个元素zadd key-name sorce...
2019-09-05 21:13:40
467
原创 7.Redis Hash(哈希)
概要:Redis的hash数据类型是key-value模式,其中value是一个键值对。常用命令:hset key field value:向key中添加元素,元素的键为field值为value;若field存在,将覆盖原有值示例:hset myHash name zhangsan:向myHash中添加元素,键为name值为zhangsanhget key field:取出key中键f...
2019-09-01 17:33:16
174
原创 6.Redis集合(Set)
特点:单key多value,value不允许重复。常用命令:1.sadd/smembers/scardsadd key member [member ...]:向set和中添加元素,自动去掉重复的元素smembers key:获取key中的所有元素sismember key member:判断key中是否存在member,存在返回1,不存在返回0scard key:获取ke...
2019-09-01 17:15:51
175
原创 5.Redis列表(List)
特点:单值多value常用命令:1.lpush/rpush/lrange2.lpop/rpop3.ltrim key 开始index 结束index,截取指定范围内的之后再赋值给key。4.lset key index value将list中index位置的key值改为value5.linsert key before/after 值1 值2:在值1的前...
2019-09-01 16:37:42
119
原创 4.Redis字符串(String)
1.set/get/del/append/strlendel key的名字:删除keyappend key的名字 字符串:key后面拼上指定的字符串strlen:获取字符串长度2.当字符串是纯数字时,使用incr/decr/incrby/decrby进行加减操作,一定要是数字才能加减。incr key名字 :使key的值增加1decr key的名字:使key的值减1...
2019-09-01 14:26:54
126
原创 解决Redis报错之:MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist o
现象:使用redis的append命令的时候报这个错;原因:redis快照被强制关闭,导致数据不能持久化;解决:将stop-writes-on-bgsave-error设置为no命令:config set stop-writes-on-bgsave-error no...
2019-08-31 16:23:04
194
原创 3.Redis键(key)
1.keys * :查询当前库里所有的key。2.exists key的名字:判断当前库里key是否存在。3.move key db:将key从当前库中移动到指定的库中,移动后key在当前库中将不存在。例如move k3 2 将k3移动到2号库。4.ttl key:查看key还有多长时间过期,-1表示永不过期,-2表示已过期。5.expire key 秒钟:给指定的key设置过...
2019-08-31 15:38:31
163
原创 2.Redis启动后的杂项基础知识
本篇讲述Redis启动之后,除了基本操作命令和数据类型等之外的其他基础知识。1.redis默认有16个数据库,默认使用0号库,类似数组,库号的下标从0开始。2.redis使用select命令切换数据库,例如select 1 切换到1号库下。select 15 切换到16号库下,select 17 则会超出下标界限,因为redis默认只有16个库。3.dbsize查看当前库key的数...
2019-08-31 11:19:05
138
原创 1.Redis的启动和关闭
第一:启动redis首先创建myredis目录,赋值原生的redis配置文件redis.conf到该目录下,修改配置文件,将图中标的地方改为yes找到redis安装目录,进入src目录下:/redis/redis-3.0.0/src执行命令,启动redis:./redis-server /myredis/redis.conf,我们使用复制并修改后的配置文件启动redis。执...
2019-08-28 21:04:42
283
原创 Ubuntu16.04启动nginx
我在Ubuntu16.04版本的Linux系统上安装nginx后,启动报错:解决方法如下:1.首先在 /var/run/目录下查看没有发现名为nginx的目录:2.在 /var/run/目录下新建文件夹 命名为nginx3.然后执行以下命令:4.然后修改配置文件然后 :wq 保存退出。5.在/usr/local/nginx/目录下建立logs文件夹6.把/var/run/nginx/nginx....
2018-06-10 16:04:36
14349
原创 引用Dubbo时报错Multiple annotations found at this line: - cvc-complex-type.2.4.c:
Multiple annotations found at this line: - cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'dubbo:application'. - schema_reference.4: Failed t...
2018-05-27 13:06:13
2422
原创 SSM后台代码获取页面表单字段值的一个注意点
SSM框架的自动绑定机制利用前台标签的name属性和POJO中的成员名一致进行绑定。例如:POJOpublic class User{private String tlrNo;private String password;........}页面表单:<form action="${path }/user/login" method="POST" id="myform"> <i...
2018-04-15 15:57:23
2026
原创 Java中Integer类的自动装箱和自动拆箱
所谓自动装箱,就是把基本数据类型用他们对应的引用类型包装起来,使他们可以具有对象的特质。例如我们可以把int类型包装成Integer类型的,把double类型的包装成Double类型的。所谓拆箱,就是进行与自动装箱相反的操作。自动装箱的过程:当需要一种类型的对象时,这种基本数据类型就自动封装到与它对应的包装类中。自动拆箱的过程:当需要一种
2017-07-13 16:42:39
4286
2
原创 JSP页面中实现网页访问量的统计
要想实现保存访问量数据,不能使用session,因为session是属于同一个会话的,关闭浏览器后,数据就没有了。因此可以使用application对象实现,因为application是属于同一个浏览器下的,只要是使用同一个浏览器访问,就可以保存数据。但是要想永久保存访问量数据,可以将数据保存在文件中,例如txt文件。因此使用session对象+application对象+txt文件下面是
2017-04-17 13:41:58
11859
3
原创 Pointcut is malformed: Pointcut is not well-formed: expecting 'name pattern' at character position 5
注意:空格
2017-03-31 19:10:34
1414
原创 org.hibernate.InvalidMappingException: Could not parse mapping document from resource com/atguigu/hi
原因是由两个 .hbm.xml文件名字相同,但是在不同的包里,也会无法解析.删除其中一个就行了.
2017-03-25 15:42:09
1220
原创 第一次使用hibernate写的helloworld
今天第一次使用hibernate谢了个小程序:使用hibernate创建数据表,并插入数据,但是报了个异常:org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): com.atguigu.hibernate.hellow
2017-03-23 22:11:43
404
原创 Property 'items' not found on type com.bookstore.domain.ShoppingCart 一个错误
这段代码报了上面的异常:Property 'items' not found on type com.bookstore.domain.ShoppingCart 但是同样的EL表达式操作同一个类的字段就没问题:${sessionScope.ShoppingCart.bookNumber }${item.book.title }${item.book.price }$
2017-03-16 16:08:53
1731
1
原创 java.sql.SQLException: Cannot create com.bookstore.domain.TradeItem 异常
java.sql.SQLException: Cannot create com.bookstore.domain.TradeItem:报这个异常原因是没有给 TradeItem 类提供无参的构造器,事实上要提供无参和有参的两个构造器。
2017-03-15 13:03:16
1568
原创 普通for循环和增强for循环处理数组元素的一个差别
@Test public void test3(){ String[] str =new String[]{"AA","BB","MM"}; for(int i=0;i<str.length;i++){ str[i]=i+"";//此处将新的值赋值给str[i] } for(int i=0;i<str.length;i++){ System.out.print
2017-01-22 21:27:05
1941
原创 输出1-10000之间的质数
package com.atguigu.java1;public class TestPimeNumber { public static void main(String args[]){ l:for(int i=2;i<=10000;i++){ for(int j=2;j<=Math.sqrt(i);j++){ if(i%j==0){ continue l;
2017-01-02 20:46:36
3403
原创 输入年月日,判断改天是今年的第几天
从键盘分别输入年、月、日,判断这一天是当年的第几天。public class Test { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("输入year:"); int year = scanner.nextInt();
2017-01-02 12:04:24
3721
原创 《数据结构》创建二叉树
输入节点值得时候要注意!!!要按照abc##de#g##f###的格式输入。/*二叉树 */#include//使用二叉链表存储二叉树 typedef struct BiTNode{ char data; struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;//先序遍历的顺序简历二叉链表 void CreateBiTree
2016-06-21 23:17:47
3293
空空如也
redis的value类型为list时,ltrim命令
2021-03-25
为什么输入就出现错误??
2016-03-27
为什么不能运行,第一次写servlet
2016-03-23
为什么没有输出任何东西
2016-03-23
为什么按照注释覅的那样写,输出的结果不对??
2016-03-23
哪里有问题?求解答,数据结构算法的问题
2016-03-13
这段代码有什么错误,为什么输入后就不能运行了??
2016-03-06
为什么两个的结果误差那么大??
2015-10-24
最小生成树问题,求大神解答???
2015-06-01
这道题用哈希怎么解决??求解
2015-05-29
我想的太简单了,当然不对,谁能给个思路
2015-01-17
poj1064那道题,我的代码怎么老是不通过?
2015-01-13
这个程序怎么老是有警告,不能运行!!
2014-08-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人