首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏DawnSql

    H2 存储内核解析

    它是H2的默认存储引擎,支持SQL、JDBC、事务、MVCC等。但也可以直接在应用程序中使用,而不使用JDBC或SQL。 不同于文件头,数据块 header和 foot 的数据,页面数据是存储为字节数组的,其中包含长整型(8个字节)、整型(4个字节)、短整型(2个字节)和可变大小的整型和长整型(1到5/10个字节)。 的存储内核了,这个还是比较简单,容易掌握和扩展的。 说明一点:有些朋友有疑问,为什么 DawnSql 选择 h2 的存储内核,而不是去重新做一个?这里主要是为了高用性!h2 作为成熟的数据库存储内核,已经在实际的项目中应用了多年,它是经得起考验的。 如果新做存储内核,可能会给使用者带来高可用性上面的顾虑,所以我们再三权衡后选择更稳定可用性更高的方案。当然随着 DawnSql 的发展和根据企业方的要求,我们也可以对其进行修改和重构!

    91870编辑于 2023-03-31
  • 来自专栏DawnSql

    H2存储内核分析一

    开篇说明 现在做数据库一般都才有 C/C++ 获取其它编译型的语言,为什么会选择 h2 这种基于 java 的语言?会不会影响效率? 现在大多数,涉及到存储内核的文章或者讲义,要么是一堆原理,要么就是玩具版本例子,根本无法应用到实际的工程上面去,就像马保国的闪电五连鞭一样。 我们选择 h2 的一个重要原因就是,学习完后,可以直接应用到工程上。行不行直接在擂台上比一下就知道了。 图片 4、MVMap 查询的过程 图片 说明一点:有些朋友有疑问,为什么 DawnSQL 选择 h2 的存储内核,而不是去重新做一个?这里主要是为了高用性! h2 作为成熟的数据库存储内核,已经在实际的项目中应用了多年,它是经得起考验的。如果新做存储内核,可能会给使用者带来高可用性上面的顾虑,所以我们再三权衡后选择更稳定可用性更高的方案。

    73450编辑于 2023-03-31
  • 来自专栏全栈程序员必看

    debian10更新内核_debian升级内核

    我的内核升级是从2.6.32.5到2.6.38.2。 开始这几部分是跟着下面这个文章做的: http://blog.csdn.net/ctbinzi/article/details/6006931 先安装好所需软件,以及下载最新内核: #apt-get #cd linux-2.6.36 为了节省时间,请执行以下命令从现有内核中获得配置 #make oldconfig 执行完此条命令后,会根据新老内核的差异情况,询问你一些问题,如果不确定的话请都是用默认 以上步骤完成后,执行内核配置程序 #make menuconfig(这里会出现问题就是不知道menuconfig的操作。但是一般的就不用管。 debian卸载旧内核: debian卸载旧内核要先看看有哪些旧的内核,用命令: dpkg –get-selections |grep linux 如果你的内核是以

    3.3K30编辑于 2022-11-02
  • 来自专栏用户1337634的专栏

    Spring Boot With H2

    在一些快速项目项目中,会使用H2作为数据库 引入jar包 使用mybatis作为ORM pom.xml <dependency> <groupId>org.mybatis.spring.boot version>2.1.4</version> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2 SELECT * FROM person WHERE id=#{id}") Person selectById(int id); } 配置文件 resources/application.yml H2 不需要用户名和密码 spring: datasource: url: jdbc:h2:mem:testdb #配置数据库URL driver-class-name: org.h2.Driver 的SQL语法跟MySQL有一点出入,需要检查一下,另外就是不能漏掉建表语句后面的分号";" 参考 Spring Boot With H2 Database

    60830发布于 2021-02-04
  • 来自专栏常见问题分享

    宝塔关闭h2

    背景:腾讯云CDN回源不支持Upgrade:h2,但是宝塔新版本极速安装默认开启了Upgrade:h2,现在教大家如何关闭Upgrade:h2(实际上这个功能目前还没有听说那个业务必须要使用h2) 1、 先测试是否开启h2 0[1].png 2、 打开apache配置文件方法,通过宝塔ssl终端或者登陆服务器操作(其实功能差不多),这里以宝塔举例,通过宝塔终端操作,点击宝塔终端输入"vim /www/ 行配置文件,默认是在154~157行 (vim 展示行数可以输入":set nu") <IfModule http2_module> ProtocolsHonorOrder On Protocols h2 image.png 4、 保存退:wq 出然后重启apache,"service httpd restart" image.png 5、测试是否关闭成功 从截图中可以看到,返回里已经没有Upgrade:h2

    1.5K71发布于 2019-10-18
  • 来自专栏全栈程序员必看

    java h2 数据库_Java H2数据库

    介绍 H2是Java编写的一款内嵌式数据库,支持内存和文件两种方式存储数据。 SpringBoot整合 pom.xml org.springframework.boot spring-boot-starter-data-jpa com.h2database h2 runtime application.yml spring: datasource: # url: jdbc:h2:mem:testdb url: jdbc:h2:file:. /src/main/resources/data.sql driver-class-name: org.h2.Driver username: sa password: password h2: # web

    92020编辑于 2022-11-04
  • 来自专栏菩提树下的杨过

    H2 Database入门

    name="user" value="sa" /> 10 <property name="password" value="sa" /> 11 /value> 7 </list> 8 </property> 9 <property name="mappingLocations"> 10 <bean 9 class="com.github.miemiedev.mybatis.paginator.OffsetLimitInterceptor"> 10 for (TOrder o : orders) { 8 System.out.println(o.getClientname()); 9 } 10 ((ClassPathXmlApplicationContext) ctx).close(); 11 12 } 上面演示了mybatis结合H2的使用示例 四、控制台界面 H2

    1.5K50发布于 2018-01-19
  • 来自专栏Ryan Miao

    H2 数据库

    于是查看了embedded datasource : h2 h2: 依赖: <dependency> <groupId>com.h2database</groupId> <artifactId >h2</artifactId> </dependency> h2: 驱动名称: org.h2.Driver h2: jdbc url: 内存模式: jdbc:h2:mem:test embedded: jdbc:h2:file:. /db/springboot 最关键的是,file要指定绝对路径,即不能jdbc:h2:file:db/springboot这样说报错,说没指定具体位置。 会生成一个文件  project/db/springboot.mv.db h2:创建表: DROP TABLE IF EXISTS `country`; CREATE TABLE `country` (

    1.1K60发布于 2018-03-13
  • 来自专栏Howl同学的学习笔记

    H2 数据库

    H2 H2 是标准 SQL 的关系型数据库,由 java 编写,整个 H2 是一个 jar 包(大约 2.5MB),其开源且使用 JDBC API 进行调用。 模式、存储与兼容 H2 支持嵌入、服务器、混合的运行模式,以及在内存或持久性的数据存储方式,还有兼容各类数据库 2.1 模式 嵌入模式:应用程序和数据库在同一个 JVM 中,这是最快和最简单的连接模式。 ,但仍有一些差异(MySQL 文本默认不区分大小写,而 H2 是区分大小写的),H2 可模拟特定数据库的行为,但这种模仿是有限的,普通情况下可正常使用(下面举例 MySQL) 兼容 MySQL : 在数据库 >h2</artifactId> <version>1.4.197</version> </dependency> <! /持久化到本项目根目录 # mem:test 存放到内存中 url: jdbc:h2:.

    1.6K30编辑于 2022-09-07
  • 来自专栏全栈程序员必看

    h2数据库的使用_h2数据库查看数据

    h2dh​​​​​​​Archive Downloads 1 h2数据库的下载地址 2. H2软件包目录结构 h2  |—bin  | |—h2-1.1.116.jar  //H2数据库的jar包(驱动也在里面)  | |—h2.bat  //Windows控制台启动脚本  | |—h2.sh  //Linux控制台启动脚本  | |—h2w.bat  //Windows控制台启动脚本(不带黑屏窗口)  |—docs  //H2数据库的帮助文档(内有H2 |—src  //H2数据库的源代码  |—build.bat  //windows构建脚本  |—build.sh  //linux构建脚本 3. windows下启动软件 我们可以进入到h2的bin level: com.baomidou.mybatisplus.samples.quickstart: debug 5 github地址 GitHub – Yong-Wang-Brave/h2

    1.2K20编辑于 2022-11-07
  • 来自专栏全栈程序员必看

    h2数据库使用(h2数据库生成的文件)

    h2数据库进入shell java -cp .. /lib/h2-1.4.200.jar org.h2.tools.Shell Welcome to H2 Shell 1.4.200 (2019-10-14) Exit with Ctrl+C [Enter ] jdbc:h2:~/test URL jdbc:h2:/usr/local/db/xxx-xxx [Enter] org.h2.Driver Driver [Enter]

    1.1K10编辑于 2022-07-28
  • 来自专栏安全的矛与盾

    windows10内核态提权方法汇总

    前言 近期由于某些项目的原因,突然激发了我对windows内核提权原理的兴趣。 于是就想研究一下,在拿到一个内核态任意代码执行漏洞后,到底有多少种方法常用的方法还能在windows 10上成功提权,针对这些不同的提权方法到底有没有一个比较通用的拦截方案? ,学习三种还能够在windows 10 上成功提权的方法,并写出相对应的shellcode。 环境的准备 为了进行内核态的shellcode测试,那首先就需要先有一个内核态的任意代码执行漏洞。最简单的思路就是写一个驱动,它能够从用户态读取shellcode过来,然后在内核中当作代码执行。 因为token指针只是内核内存中的数据,对于在内核模式中执行的代码来说,将其更改为指向不同的token以赋予该进程一个不同的权限集,这是非常容易的事情。

    2.1K30编辑于 2023-02-27
  • 来自专栏全栈程序员必看

    10_linux内核定时器实验

    一、linux时间管理和内核定时器简介 1、内核时间管理简介 1)宏HZ ​ 硬件定时器产生的周期性中断,中断频率就是系统频率(拍率)。 系统拍率可以设置,单位是HZ,可在编译内核时通过图形化界面设置,设置路径如下:Kernel Features -> Timer frequency([=y]) ​ 配置完以后,可在内核源码根目录下的 . 1)timer_list 结构体 ​ 使用内核定时器,不需要设置寄存器,内核提供了定时器结构体和 API 函数。 3、linux 内核短延时函数 ​ Linux内核提供了毫秒、微秒和纳秒延时函数,这三个函数如表: 函数 描述 void ndelay(unsigned long nsecs) 纳秒延时函数 void imx6ul-evk 中添加 pinctrl 节点: gpioled: ledgrp { fsl,pins = < MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0x10b0

    2.6K30编辑于 2022-09-13
  • 来自专栏芋道源码1024

    基于 Nginx 实现 10万+ 并发,Linux 内核优化

    来源:http://t.cn/EyQTMwG 由于默认的Linux内核参数考虑的是最通用场景,这明显不符合用于支持高并发访问的Web服务器的定义,所以需要修改Linux内核参数,是的Nginx可以拥有更高的性能 ; 在优化内核时,可以做的事情很多,不过,我们通常会根据业务特点来进行调整,当Nginx作为静态web内容服务器、反向代理或者提供压缩服务器的服务器时,期内核参数的调整都是不同的,这里针对最通用的、使Nginx 支持更多并发请求的TCP网络参数做简单的配置; 首先,你需要修改/etc/sysctl.conf来更改内核参数。 TIME_WAIT状态的链接存在; ner.ipv4.tcp_keepalive_time = 600 #当keepalive启动时,TCP发送keepalive消息的频度;默认是2小时,将其设置为10 net.core.rmem_max = 12582912 #表示内核套接字接受缓存区较大大小。 net.core.wmem_max = 12582912 #表示内核套接字发送缓存区较大大小。

    3.3K30发布于 2018-12-25
  • 来自专栏快乐阿超

    调试h2数据库

    ——《宿命》 在apache-shenyu中也默认用h2数据库作为默认数据库,方便开发、演示、学习、轻量化部署等 但是我们知道h2数据库是基于内存的嵌入式数据库,如何让其在运行动态执行sql呢? console进行: h2-console | 阿超 今天我们换一种方式,直接使用客户端工具连接,默认的url肯定是连不上的: spring: datasource: url: jdbc:h2 DB_CLOSE_DELAY=-1;MODE=MySQL; username: sa password: sa driver-class-name: org.h2.Driver 因为这里是h2 :mem:路径,即便换成file也是不允许两个连接的 我们换成tcp连接,再指定一下目录 spring: datasource: url: jdbc:h2:tcp://localhost/$ server started and connection is open."); System.out.println("URL: jdbc:h2:" + server.getURL

    44210编辑于 2024-08-23
  • 来自专栏全栈程序员必看

    java h2 数据库_H2数据库介绍「建议收藏」

    一、H2数据库简介 1、H2数据库是一个开源的关系型数据库。 web的数据库管理界面 二、在Java中操作H2数据库 1、以嵌入式(本地)连接方式连接H2数据库 这种连接方式默认情况下只允许有一个客户端连接到H2数据库,有客户端连接到H2数据库之后, 此时数据库文件就会被锁定 连接语法:jdbc:h2:[file:][] 例如: jdbc:h2:~/test //连接位于用户目录下的test数据库 jdbc:h2:file:/data/sample jdbc:h2:file: 时连接到H2数据库 连接语法:jdbc:h2:tcp://[:]/[] 范例:jdbc:h2:tcp://localhost/~/test 3、H2数据库的内存模式 (1)、H2数据库被称为内存数据库 jdbc:h2:C:/H2/abc”; /** * 使用TCP/IP的服务器模式(远程连接)方式连接H2数据库(推荐) */ private static final String JDBC_URL =

    1.2K30编辑于 2022-11-04
  • 来自专栏全栈程序员必看

    H2数据库入门_H2数据库越来越大

    大家好,又见面了,我是你们的朋友全栈君 一、H2简介   1、H2是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。    (二)连接方式   1、以嵌入式(本地)连接方式连接H2数据库   这种连接方式默认情况下只允许有一个客户端连接到H2数据库,有客户端连接到H2数据库之后,此时数据库文件就会被锁定,那么其他客户端就无法再连接了 :h2:file:/data/sample     jdbc:h2:file:E:/H2/gacl(Windows only)   2、使用TCP/IP的服务器模式(远程连接)方式连接H2数据库(推荐 H2数据库的内存模式   (1)、H2数据库被称为内存数据库,因为它支持在内存中创建数据库和表。    H2数据库(推荐) */ // private static final String JDBC_URL = "jdbc:h2:tcp://10.35.14.122/C:/H2/user"; private

    1.4K40编辑于 2022-11-04
  • 来自专栏全栈程序员必看

    H2数据库教程_h2数据库编辑数据库

    启动和使用H2控制台 H2控制台应用程序允许您使用浏览器访问数据库。这可以是H2数据库,也可以是支持JDBC API的其他数据库。 根据您的平台和环境,有多种方法可以启动H2控制台: OS 开始 视窗 单击[开始],[所有程序],[H2]和[H2控制台(命令行)] 系统托盘中将添加一个图标: 如果没有显示窗口和系统托盘图标,则可能是 特殊H2控制台语法 H2控制台支持一些内置命令。这些在H2控制台中解释,因此它们适用于任何数据库。内置命令需要位于语句的开头(在任何备注之前),否则它们不会被正确解析。 @prof_start; @sleep 10; @prof_stop; 睡几秒钟。用于分析在另一个会话中运行的长时间运行的查询或操作(但在同一进程中)。 H2数据库与HSQLDB和PostgreSQL兼容。要利用H2特定功能,请使用H2Platform。

    6.6K30编辑于 2022-11-04
  • 来自专栏全栈程序员必看

    java h2数据库_JAVA 项目中使用 H2 数据库

    JAVA 项目中使用 H2 数据库 发布时间:2018-06-08 15:43, 浏览次数:823 , 标签: JAVA 为什么要使用H2数据库 H2数据库是可以嵌入到JAVA项目中的,因为只需要导入一个 使用WEB控制台管理H2数据库 建表、建数据的话,可以通过H2自带的WEB控制台来做(当然H2也提供命令行的方式) WEB控制台可以通过命令行来启动,但为了方便,可以从H2官网上下载一个安装包,运行里面的 H2\bin目录这是H2安装完以后bin目录下的内容,运行h2w.bat打开web控制台 H2 web控制台Login画面 点Connect 之后的玩法就跟其他数据库差不多了,可以点击下面的Sample H2 控制台 关于H2 数据库的连接方式 连接H2数据库有以下方式 * 服务式 (Server) * 嵌入式(Embedded) * 内存(Memory) 还没太仔细研究,到目前的理解: 嵌入式的话,就是这个 * 服务式 (Server) jdbc:h2:tcp://localhost/~/test * 嵌入式(Embedded) jdbc:h2:~/test * 内存式(Memory) jdbc:h2:tcp

    83310编辑于 2022-09-27
  • 驱动开发:Win10内核枚举SSDT表基址

    三年前面朝黄土背朝天的我,写了一篇如何在Windows 7系统下枚举内核SSDT表的文章《驱动开发:内核读取SSDT表基址》三年过去了我还是个单身狗,开个玩笑,微软的Windows 10系统已经覆盖了大多数个人 看一款闭源ARK工具的枚举效果:图片直接步入正题,首先SSDT表中文为系统服务描述符表,SSDT表的作用是把应用层与内核层联系起来起到桥梁的作用,枚举SSDT表也是反内核工具最基本的功能,通常在64位系统中要想找到 图片那么如果将这个过程通过代码的方式来实现,我们还需要使用《驱动开发:内核枚举IoTimer定时器》中所使用的特征码定位技术,如下我们查找这段特征。 ,qword ptr ds:[rdi+r10] | 4D:631C82 | movsxd r11,dword ptr ds:[r10+rax*4] ,qword ptr ds:[rdi+r10] |4D:631C82 | movsxd r11,dword ptr ds:[r10+rax*4]

    89620编辑于 2022-11-18
领券