Oracle中使用Order By排序时顺序问题 记录一下工作中遇到的问题,虽然说用Oracle的人比较少,但是遇到问题了还是得记录下~问题在SQL语句查询中,我们常常要根据某个字段排序来进行查询。如果是MySQL之类的数据库,简单的写一条分页查询语句:select * from table ORDER BY LIST_ORDER按照上面的语句,我们就能从table这个表中取出数据并且按照LIST_ORDER字段升序排序(默认升序)。如果我们再加上分页操作,我们就可以根据根据页数和大小来控制返回的数据量了:SELECT * FROM (SEL
简单的Service实例 简单的Service实例实体类@Datapublic class OmsOrder implements Serializable { @ApiModelProperty(value = "订单id") private Long id; private Long memberId; private Long couponId; @ApiModelProperty(value = "订单编号") private String orderSn;
MyBatis-Plus代码生成器 MyBatis-Plus代码生成器package com.example.demo;import com.baomidou.mybatisplus.annotation.DbType;import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.generator.AutoGenerator;import com.baomidou.mybatisplus.generator.config.Dat
排序算法(未完工) 排序算法冒泡public class bubble { public void bubbleSort (int[] arr) { if (arr.length < 2) { return; } // 外层循环代表循环 (冒泡) 次数 // 每完成一次冒泡就会有一个最小的数浮到数列顶端 for (int i = 0; i < arr.length - 1; i++) {
JVM系列——Java内存区域 JVM系列——Java内存区域对JVM学习而言,Java内存区域的学习可谓是入门的第一步,如何快速准确的了解到相关知识,构建起一个知识框架,是一个十分重要的问题。接下来,将会以提问的方式来带领大家逐步了解Java内存区域。另外,本文基于JDK1.8进行讲解。——————————————————————分 隔 线——————————————————————————1、运行时数据区是什么?里面有什么内容?虚拟机在执行 Java 程序的过程中会把它所管理的内存划分为若干不同的数据区,这些区域有各自的用途
SpringBoot启动流程 SpringBoot启动流程本文基于SpringBoot2.1.4书写。从哪里入手?如果你有这样的疑问,说明你对SpringBoot的了解确实不够。既然是研究SpringBoot的启动流程,我们当然得要从SpringBoot的启动类入手啊!就是标注着@SpringBootApplication注解并且有着main()方法的类:@SpringBootApplicationpublic class OrderApplication { public static void main(Strin
SpringBoot自动配置原理 SpringBoot自动配置原理什么是自动配置?在学习SSM开发项目时,我们需要自己引入spring、springMVC以及mybatis的依赖,并且需要使用配置文件或者java config来进行配置,比如配置视图解析器等等组件。但springboot 为我们提供了一种便利的开发方式:自动配置,我们只需要引入特定的starter即可,其它需要的组件springboot会自动帮我们加入到容器中,这就是自动配置。SpringBoot是怎么实现自动配置的?本文基于SpringBoot2.1.4书写。查
分布式事务——Seata 2PC 分布式事务——Seata 2PCSeata介绍2019 年 1 月,阿里巴巴中间件团队发起了开源项目 Fescar(Fast & EaSy Commit And Rollback),和社区一起共建开源分布式事务解决方案。Fescar 的愿景是让分布式事务的使用像本地事务的使用一样,简单和高效,并逐步解决开发者们遇到的分布式事务方面的所有难题。Fescar 开源后,蚂蚁金服加入 Fescar 社区参与共建,并在 Fescar 0.4.0 版本中贡献了 TCC 模式。为了打造更中立、更开放、生态
分布式事务 分布式事务事务?严格意义上的事务执行需要遵循ACID原则(尽管也是很难完全遵循,不然为什么会有四种隔离级别呢?)原子性(Atomicity),可以理解为一个事务内的所有操作要么都执行,要么都不执行。一致性(Consistency),可以理解为数据是满足完整性约束的,也就是不会存在中间状态的数据,比如你账上有400,我账上有100,你给我打200块,此时你账上的钱应该是200,我账上的钱应该是300,不会存在我账上钱加了,你账上钱没扣的中间状态。隔离性(Isolation),指的是多个事务并发执行
JVM双亲委派模型 JVM双亲委派模型什么是类加载器?在谈到双亲委派模型之前,必须要先说明什么是类加载器。对类加载器有个基本认识之后,才能对双亲委派模型有一个更加深入的了解。加载指的是将类的class文件读入到内存,并为之创建一个java.lang.Class对象,也就是说,当程序中使用任何类时,系统都会为之建立一个java.lang.Class对象。两个类相等,需要类本身相等,并且使用同一个类加载器进行加载。这是因为每一个类加载器都拥有一个独立的类名称空间。类加载器有三个类别:**启动类加载器(Bootstra
Spring循环依赖 Spring循环依赖什么是Spring循环依赖?这个很好理解,就是多个bean之间相互依赖,形成了一个闭环。比如:A依赖于B、B依赖于C、C依赖于A。代码中表示:public class A{ B b;}public class B{ C c;}public class C{ A a;}如何解决循环依赖?Spring为了解决这个问题,引入了一个三级缓存。这里我们假设一个场景进行讲解:ServiceA、ServiceB相互依赖。Spring容器依次创建
简单的用栈实现队列 简单的用栈实现队列队列是一种先进先出的数据结构,栈是一种先进后出的数据结构,形象一点就是这样:在面试中常常会问到这样一个问题:怎么使用栈来实现一个队列?如何用队列来实现一个栈?前者问的较多,后者问的较少,但掌握得多也不是坏事嘛,接下来我们就来解析下这两个问题。用栈实现队列首先,队列的 API 如下:class MyQueue { /** 添加元素到队尾 */ public void push(int x); /** 删除队头的元素并返回 */ public
LRU和LFU算法 LRU和LFU算法LRU算法LRU 的全称是 Least Recently Used,也就是说我们认为最近使用过的数据应该是「有用的」,很久都没用过的数据应该是无用的,内存满了就优先删那些很久没用过的数据。LRU 缓存算法的核心数据结构就是哈希链表LinkedHashMap,双向链表和哈希表的结合体。使用该数据结构,就可以确保get 和 put 方法都是 O(1) 的时间复杂度。、力扣第 146 题「LRU缓存机制」就是让你设计数据结构。在使用LinkedHashMap实现LRU算法前,我们先手
HashMap攻略要点 HashMap攻略要点本文以JDK1.8为基础,JDK1.7仅做简略提及。HashMap的底层结构和原理?JDK 1.7 中 HashMap 的底层数据结构是数组 + 链表,使用 Entry 类存储 Key 和 Value;JDK 1.8 中 HashMap 的底层数据结构是数组 + 链表/红黑树,使用 Node 类存储 Key 和 Value。如何解决哈希冲突?因为哈希冲突是不可避免的,很有可能两个元素计算得出的 index 是相同的,那么如何解决哈希冲突呢?拉链法。也就是把 hash 后值相
商城接入微信支付 商城接入微信支付微信支付产品如上图所示,接入微信支付的方法有很多,我们可以按需接入。本次我们选择Native支付进行开发,也就是最常见的购物车下单后,商家给出一个二维码,用户微信扫码付款的流程。微信支付业务流程Native支付方法开发指引:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_5&index=3本次研究Native支付方法,其他方法大同小异。下图是微信支付官方给出来的微信支付业务流程:业务流程说明:(
Elasticsearch安装 Elasticsearch 安装docker镜像下载docker pull elasticsearch:5.6.8安装es容器docker run -di --name=elasticsearch -p 9200:9200 -p 9300:9300 elasticsearch:5.6.8开启远程连接docker exec -it elasticsearch /bin/bash由于docker容器里面没有vi命令,所以需要先安装vimapt-get updateapt-get inst
HTML简要解析 HTML基础标签HTML 标题标题(Heading)是通过 <h1> - <h6> 等标签进行定义的。<h1>This is a heading</h1><h2>This is a heading</h2><h3>This is a heading</h3>HTML 水平线<hr />标签在 HTML 页面中创建水平线。hr 元素可用于分隔内容。<p>This is