草庐IT

读Java性能权威指南(第2版)笔记06_数据库性能JPA&SpringData

1. JPA1.1. 性能直接受底层JDBC驱动性能的影响1.2. 性能提升是通过改变实体类的字节码来实现的1.2.1. 在类加载到JAR文件或者由JVM运行之前增强字节码的方法1.2.1.1. 在编译过程中完成的1.2.1.2. 在实体类编译完成后,它们会被传递给一个特定实现的后置处理器1.2.1.3. 该后置处理器会“增强”字节码,产生一个修改过的类文件,其中包含所需的优化1.2.2. 在类被加载到JVM时动态增强字节码的方法1.2.2.1. 在JVM中运行一个代理,当类被加载时,代理会收到通知并介入类加载的过程,在字节码定义类之前对其进行修改1.2.2.2. 代理是在应用程序的命令行上指

读Java性能权威指南(第2版)笔记06_数据库性能JPA&SpringData

1. JPA1.1. 性能直接受底层JDBC驱动性能的影响1.2. 性能提升是通过改变实体类的字节码来实现的1.2.1. 在类加载到JAR文件或者由JVM运行之前增强字节码的方法1.2.1.1. 在编译过程中完成的1.2.1.2. 在实体类编译完成后,它们会被传递给一个特定实现的后置处理器1.2.1.3. 该后置处理器会“增强”字节码,产生一个修改过的类文件,其中包含所需的优化1.2.2. 在类被加载到JVM时动态增强字节码的方法1.2.2.1. 在JVM中运行一个代理,当类被加载时,代理会收到通知并介入类加载的过程,在字节码定义类之前对其进行修改1.2.2.2. 代理是在应用程序的命令行上指

day 06 字符串

字符串字符串概述(个人理解字符串就是把一串字符连接在一起,而且他的值类型是常量,所以不能改变,返回值只能返回一个新的字符串)字符串也是一个数据结构(串),将同样的内容串在一块。因为在对应的js里面字符串属于一个值类型(值类型是常量常量是不能变)。字符串是不能改变的。结合昨天提到的数据结构里面串也是一个存储结构,作为存储结构增删改查的方法(字符串的增删改查不能针对于本身而是返回一个新的字符串)字符串的声明1.值类型赋值varstr="helloworld" 2.以new关键词声明(引用了对应的值的地址)(用new声明就会开辟一个新空间)varstr=newString("abc");//引用了空

day 06 字符串

字符串字符串概述(个人理解字符串就是把一串字符连接在一起,而且他的值类型是常量,所以不能改变,返回值只能返回一个新的字符串)字符串也是一个数据结构(串),将同样的内容串在一块。因为在对应的js里面字符串属于一个值类型(值类型是常量常量是不能变)。字符串是不能改变的。结合昨天提到的数据结构里面串也是一个存储结构,作为存储结构增删改查的方法(字符串的增删改查不能针对于本身而是返回一个新的字符串)字符串的声明1.值类型赋值varstr="helloworld" 2.以new关键词声明(引用了对应的值的地址)(用new声明就会开辟一个新空间)varstr=newString("abc");//引用了空

day06-动态SQL语句

动态SQL语句1.基本介绍官方文档mybatis–MyBatis3|动态SQL为什么需要动态SQL?动态SQL是MyBatis的强大特性之一使用JDBC或其他类似的框架,根据不同条件拼接SQL语句非常麻烦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号等SQL映射语句中的强大动态SQL语言可以很好地解决这个问题基本介绍在一个实际的项目中,sql语句往往是比较复杂的为了满足更加复杂的业务需求,MyBatis的设计者,提供了动态生成SQL的功能动态SQL的必要性这里有一些需求:查询Monster时,如果程序员输入的age不大于0,sql语句就不要带age条件;更新记录时

day06-动态SQL语句

动态SQL语句1.基本介绍官方文档mybatis–MyBatis3|动态SQL为什么需要动态SQL?动态SQL是MyBatis的强大特性之一使用JDBC或其他类似的框架,根据不同条件拼接SQL语句非常麻烦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号等SQL映射语句中的强大动态SQL语言可以很好地解决这个问题基本介绍在一个实际的项目中,sql语句往往是比较复杂的为了满足更加复杂的业务需求,MyBatis的设计者,提供了动态生成SQL的功能动态SQL的必要性这里有一些需求:查询Monster时,如果程序员输入的age不大于0,sql语句就不要带age条件;更新记录时

Linux查看系统硬件信息(2021.06.22)

Linux查看系统硬件信息(2021.06.22)目录Linux查看系统硬件信息(2021.06.22)1.CPU2.内存3.硬盘4.网卡5.显卡6.BIOS7.内核版本8.系统版本1.CPU#查看cpu的统计信息$lscpuArchitecture:x86_64CPUop-mode(s):32-bit,64-bitByteOrder:LittleEndianCPU(s):64On-lineCPU(s)list:0-63Thread(s)percore:2Core(s)persocket:16Socket(s):2NUMAnode(s):2VendorID:GenuineIntelCPUfam

Linux查看系统硬件信息(2021.06.22)

Linux查看系统硬件信息(2021.06.22)目录Linux查看系统硬件信息(2021.06.22)1.CPU2.内存3.硬盘4.网卡5.显卡6.BIOS7.内核版本8.系统版本1.CPU#查看cpu的统计信息$lscpuArchitecture:x86_64CPUop-mode(s):32-bit,64-bitByteOrder:LittleEndianCPU(s):64On-lineCPU(s)list:0-63Thread(s)percore:2Core(s)persocket:16Socket(s):2NUMAnode(s):2VendorID:GenuineIntelCPUfam

day06-多表查询02

多表查询024.表复制自我复制数据(蠕虫复制)有时,为了对某个sql语句进行效率测试,我们需要海量数据时,可以用此法为表创建海量数据--为了对某个sql语句进行效率测试,我们需要海量数据时,可以用此法为表创建海量数据CREATETABLEmy_tab01( idINT, `name`VARCHAR(32), salDOUBLE, jobVARCHAR(32), deptnoINT ) DESCmy_tab01SELECT*FROMmy_tab01--演示如何自我复制--1.先把emp表的记录复制到my_tab01INSERTINTOmy_tab01 (id,`name`,sal,job,dep

day06-多表查询02

多表查询024.表复制自我复制数据(蠕虫复制)有时,为了对某个sql语句进行效率测试,我们需要海量数据时,可以用此法为表创建海量数据--为了对某个sql语句进行效率测试,我们需要海量数据时,可以用此法为表创建海量数据CREATETABLEmy_tab01( idINT, `name`VARCHAR(32), salDOUBLE, jobVARCHAR(32), deptnoINT ) DESCmy_tab01SELECT*FROMmy_tab01--演示如何自我复制--1.先把emp表的记录复制到my_tab01INSERTINTOmy_tab01 (id,`name`,sal,job,dep