SQL抽象语法树及改写场景应用 算法

SQL抽象语法树及改写场景应用

1 背景 我们平时会写各种各样或简单或复杂的sql语句,提交后就会得到我们想要的结果集。比如sql语句,”select * from t_user where user_id > 10;”,意在从表t_user中筛选出user_id大于10的所有记录。你有没有想过从一条sql到一个结果集,这中间经历了多少坎坷呢? 2 SQL引擎 从MySQL、Oracle、TiDB、CK,到Hiv...
阅读全文
一文带你了解Spring核心接口Ordered的实现及应用 Spring

一文带你了解Spring核心接口Ordered的实现及应用

最近在看框架的时候,发现了这个接口,在此进行总结,希望能够给大家帮助,同时提升自己。 order接口的大体介绍 Spring框架中有这个一个接口,名字叫Ordered,联想我们在数据库中应用的Ordered,很容易想到它的含义就是用来排序。那么问题来了,Spring中为什么要定义这样一个排序接口呢。我们知道spring框架使用了大量的策略设计模式。策略设计模式意味着我们的同一个接口,会有大量的...
阅读全文
Java事务解析(事务的基本操作+隔离的等级+事务的四大特性+事务的概念) Java 编程技术

Java事务解析(事务的基本操作+隔离的等级+事务的四大特性+事务的概念)

Java事务解析(事务的基本操作+隔离的等级+事务的四大特性+事务的概念) 什么是事务? 如果一个包含多个步骤的业务操作,这些操作被事务管理,那么这些操作要么同时成功要么同时失败 事务的四大特性(必须记住): 持久性:当事务回滚或者提交之后,数据库会持久化数据 一致性:事务操作前后,数据的总量不变 原子性:是不可分割的最小单位,不可分割,要么同时成功要么同时失败,不可分割 ...
阅读全文
数据源面试三连杀:是啥?为什么要用?怎么用? Java 编程技术

数据源面试三连杀:是啥?为什么要用?怎么用?

一、概述 在日常项目中肯定需要用到数据源,那么数据源是什么,当遇到分布式事务的场景时数据源与非分布式事务场景的数据源又有什么不同呢,在J2EE中分布式事务又是如何实现的呢,希望本文可以解答您的疑惑。 二、 数据源 2.1 数据源是什么 通俗来讲,数据源是存储数据的地方。例如,数据库是数据源,其他系统也可以是数据源。在J2EE里,数据源是代表物理数据存储系统的实际Java对象。通过这...
阅读全文
ShardingSphere 4.x Sharding-JDBC 用户手册 Java 编程技术

ShardingSphere 4.x Sharding-JDBC 用户手册

简介 Sharding-JDBC是ShardingSphere的第一个产品,也是ShardingSphere的前身。 它定位为轻量级Java框架,在Java的JDBC层提供的额外服务。它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。 适用于任何基于JDBC的ORM框架,如:JPA, Hibern...
阅读全文
红帽和 GraalVM 社区创建 GraalVM 下游发行版“Mandrel” Java 编程技术

红帽和 GraalVM 社区创建 GraalVM 下游发行版“Mandrel”

红帽和 GraalVM 社区 共同建立了新的 GraalVM 下游发行版,称为 Mandrel。红帽方面表示,该发行版本将为  Quarkus 提供支持。Quarkus 已成为红帽运行时(Red Hat Runtimes)中全面支持的一个框架。 Quarkus项目于 2019 年推出,是一个用于编写 Java 应用的云原生、容器优先框架。GraalVM 是新一代的...
阅读全文
一次年轻代GC长暂停问题的解决与思考,再学一遍JVM吧 Java 编程技术

一次年轻代GC长暂停问题的解决与思考,再学一遍JVM吧

问题描述 公司某规则引擎系统,在每次发版启动会手动预热,预热完成当流量切进来之后会偶发的出现一次长达1-2秒的年轻代GC(流量并不大,并且LB下的每一台服务都会出现该情况) 在这次长暂停之后,每一次的年轻代GC暂停时间又都恢复在20-100ms以内 2s虽然看起来不长,但是对比规则引擎每次10ms左右的响应时间来说,还是不可以接受的;并且由于该规则引擎响应超时,还会导致出单超时失败 ...
阅读全文
Java虚拟机#1——Java内存模型 Java 编程技术

Java虚拟机#1——Java内存模型

前言 在昨天我回答了一个关于Java虚拟机的问题,顺带复习了一边Java虚拟机,就打算写一篇关于内存模型的文章巩固记忆。在Java中,内存溢出异常不想C/C++那样频繁,但是一旦出现却难解决的多,需要丰厚的Java虚拟机方面的知识。身为一个Java程序员,是有必要在这方面多做积累的。本文以介绍概念与基本术语为主 运行时数据区域 Java虚拟机在执行Java程序的时候会将他所管理的内存分为若干...
阅读全文
甲骨文:史上超级伟大的 25 个 Java 应用程序 Java 编程技术

甲骨文:史上超级伟大的 25 个 Java 应用程序

从太空探索到基因组学,从反向编译器到机器人控制器,Java 都是现今世界的核心。为庆祝 Java 25 周年,甲骨文用一篇官方博文向大家介绍了 25 个优秀的 Java 应用程序。 Java 的故事始于 1991 年,当时 Sun Microsystems 试图将其在计算机工作站市场的领先地位扩展到个人电子产品市场,这是一个新市场且快速发展。不过,几乎没有人能预料到 Sun 即将创建的编程语言会...
阅读全文
Loading...