- 博客(15)
- 收藏
- 关注
原创 liquibase执行存储过程
项目场景:项目场景:如题问题描述:我们都知道创建存储过程需要delimiter $$ end $$ ,但是在liquibase中这样写会报错原因分析:原因是因为liquibase在执行存储过程的创建时已经内置了delimiter,因此我们不需要在声明了,解决方案:在changeset的sqlfile中添加endDelimiter="//"...
2021-03-23 15:29:49 1190
原创 liquibase多源配置使用
项目场景:因为项目使用liquibase管理数据库版本,现在添加了新的数据源,liquibase也需要添加配置问题描述:网上关于如何配置使用liquibase的文章很多,但是配置多个liquibase的基本找不到,最后还是在官方文档给出了解决方案:https://www.docs4dev.com/docs/zh/spring-boot/2.1.1.RELEASE/reference原因分析:多添加一个配置很简单,在使用@bean的时候需要注意主数据源的bean需要加上@primar.
2021-03-22 15:21:06 1598
原创 深入JMM与volatile
深入Java线程内存模型与Volatile---------------深刻理解jmm是高效进行并发编程的基础关于线程与进程之间的关系就不用我们过多来介绍了,在一个进程里,我们经常会遇到多个线程共享同一变量的情况。在JMM里的做法是这样的,将栈空间的共享变量拷贝一份到具体的线程中(见下图,网图,清晰度感人)然后执行。这就引出一个问题,线程A对共享变量的修改该如何通知其他的线程?—————...
2020-04-20 22:17:29 182 1
原创 LinkedHashMap遍历的注意事项
LinkedHashMap的两种遍历方式1. iterator LinkedHashMap<Integer,Integer>map=new LinkedHashMap<Integer,Integer>(); //添加数据省略 Iterator it=map.entrySet().iterator(); while(it.hasNext()){ //it.nex...
2020-04-20 12:40:57 1561
原创 MySQL存储引擎
MySQL存储引擎MyISAM当我们创建一张使用myisam存储引擎的表时(假设表叫test),我们可以从数据库的存储目录中发现多了以下三个文件:test.frm、test.MYD、test.MYI,我们可以从字面理解。frm,即frame,存储了表结构的信息;MYD,即myisam data,存储了该表的数据信息; MYI,即myisam index,我们的索引就位于这个文件InnoDB...
2020-04-19 18:22:51 84
原创 数据库索引原理
什么是索引在数据库中,索引是一种已经排好序的数据结构数据结构二叉树红黑树哈希表B树对比搜索二叉树:将索引排序成一个搜索二叉树,每个节点的值指向对应表记录的磁盘地址。优缺点速度快,时间复杂度可以达到Ologn当索引是自增的主键时,搜索二叉树将退化为单链表,因此存在局限性红黑树:在插入数据时,如果单边过长,会自动的平衡(自旋),相当于优化的搜索二叉树优...
2020-04-19 11:01:25 109
原创 GC与内存分配
垃圾收集(Garbage Collection, GC)众所周知,Java的内存管理由虚拟机自动完成,那么这背后的原理到底是什么,今天就来简单了解一下。在此之前,我们要先知道Java的内存区域有哪些部分组成虚拟机数据区Java虚拟机管理的几个运行时数据区如下图所示:对于每个部分的功能这里不详细展开。简单来说:方法区方法区是线程共享的内存区域,用于存储已被虚拟机加载各种数据资源如类...
2020-03-29 15:19:55 207
原创 mybatis多表查询
多表查询在操作数据库中经常要进行多表查询,这时我们就需要在.xml中编写resultmap,以下是一个示例:<resultMap id="productMap" type="com.xxx.xxx.entity.Product"> <id column="p_id" property="pId"/> <result column="last_edit...
2020-03-20 21:44:57 75
原创 开发问题小结
开发时遇到的问题修改js、html代码无反应更新数据库报错未完待续。。。。。。。修改js、html代码无反应在web开发中,经常通过启动tomcat服务器对项目进行调试,有的时候需要修改一些js\html的代码,这时候重启server并通过浏览器访问我们的项目,发现刚刚做出的改动并没有更新,这其实是因为浏览器自己的缓存机制导致的,因此我们需要清除一下浏览器的缓存。当然,这种方法很低效重复。...
2020-03-14 21:58:23 91
原创 配置SSM的一些坑
准备工具jdk8、 eclipse、tomcat8.5、maven3.3.9、mysql5.5配置过程1、 创建maven项目 首先通过eclipse创建maven project,并选择maven-archetype-webapp,创建完成后会出现几个小错误,一个是HttpServlet这个父类在Java Buil...
2020-02-12 17:17:00 225
原创 mysql密码修改
关于修改Windows系统下mysql密码的方法,记录一下首先结束mysql.exe进程!!然后以管理员身份打开cmd,cd到mysql/bin目录下直接输入这段话:mysqld --skip-grant-tables此时这个窗口就不能用了,(因为你输入什么都没反应)再打开一个cmd,这次直接输入mysql,不用密码就可以登陆了,然后修改密码到这里如果不想麻烦的话,直接输入下面这段话:...
2019-08-19 16:58:18 88
原创 数学建模之lingo使用
数学建模之lingo使用矩阵的表示矩阵的乘法01约束对矩阵某一行或列的约束总结前几天是第一次数学建模练习,以前老师在课上也演示过lingo的使用,当时觉得很简单,也没有课下进行过练习,结果自己开始用的时候才发现没那么简单。下面记录下一些自己用到的方法矩阵的表示sets:col/1…60/;row/1…5/;link(col,row):x,c;endsets矩阵的乘法@sum(li...
2019-03-31 14:34:27 1553
原创 通信组件——Intent简单使用(二)(获取Activity返回值)
上次示例中,通过使用startActivity(Intent)方法启动Activity后,启动后的两个Activity之间相互独立,没有任何的关联,在很多情况下,后启动的Activity是为了让用户对特定信息进行选择,在关闭这个Activity后,用户的选择信息需要返回给未关闭的那个Activity按照Activity启动的先后顺序,先启动的称为父Activity,后启动的称为子A...
2018-06-10 15:14:07 2007 1
原创 组件通信——Intent简单使用(一)
学习了Android中一个很重要的组件——IntentIntent 是一个动作的完整描述,包含了动作的产生组件、接收组件和传递的数据信息一、启动Activity两种方法(显式与隐式)显:Intent intent = new Intent( IntentDemo.this , ActivityToStart.class) ;startActivity (intent);具体步骤:1、创建工程2...
2018-06-06 15:41:33 663
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人