- 博客(20)
- 收藏
- 关注
原创 JVM_6玩转类加载与类加载器
类的生命周期7个阶段 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个**生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、 初始化(Initialization)、使用(Using)和卸载(Unloading)**7 个阶段。 其中验证、准备、解析 3 个部分统称为连接(L
2020-07-31 16:02:04 186
原创 JVM_5class文件结构及深入字节码指令
JVM的无关性查看字节码指令工具Sublime 查看 16 进制的编辑器javap javap 是 JDK 自带的反解析工具。 它的作用是将 .class 字节码文件解析成可读的文件格式。 在使用 javap 时我一般会添加 -v 参数,尽量多打印一些信息。同时,我也会使用 -p 参数,打印一些私有的字段和方法。jclasslib idea插件cl
2020-07-31 14:55:26 245
原创 JVM_1入门
java文件的执行流程Java 文件->编译器>字节码->JVM->机器码。hotspotJVM内存分类法(1)JVM 内存主要分为堆、程序计数器、方法区、虚拟机栈和本地方法栈等。(2)线程私有区域:一个线程拥有单独的一份内存区域。(虚拟机栈、本地方发栈、程序计数器)线程共享区域:被所有线程共享,且只有一份。 (方法区、堆)直接内存: 这个虽然不是运行时数据区的一部分,但是会被频繁使用。你可以理解成没有被虚拟机化的操作系统上的其他内存。虚拟机栈大小默认1M,不同
2020-07-31 13:59:23 138
原创 JVM_2对象和引用
JVM 中对象的创建过程 java8JVM参数_官方文档 类加载就是把 class 加载到 JVM 的运行时数据区的过程1)检查加载 首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用(符号引用 :符号引用以一组符号来描述所引用的目标),并且检查类是否已经被加载、 解析和初始化过。2)分配内存 接下来虚拟
2020-07-31 13:59:19 200
原创 JVM_3垃圾回收机制及算法
什么是 GC ?Java 与 C++等语言最大的技术区别:自动化的垃圾回收机制(GC)为什么要了解 GC 和内存分配策略1、面试需要2、GC 对应用的性能是有影响的;3、写代码有好处栈:栈中的生命周期是跟随线程,所以一般不需要关注堆:堆中的对象是垃圾回收的重点方法区/元空间:这一块也会发生垃圾回收,不过这块的效率比较低,一般不是我们关注的重点分代回收理论当前商业虚拟机的垃圾回收器,大多遵循“分代收集”的理论来进行设计,这个理论大体上是这么
2020-07-31 13:59:15 170
原创 JVM_4垃圾回收器总结,Hotspot中的实现
并行:垃圾收集的多线程的同时进行。并发:垃圾收集的多线程和应用的多线程同时进行。注:吞吐量=运行用户代码时间/(运行用户代码时间+ 垃圾收集时间) 垃圾收集时间= 垃圾回收频率 * 单次垃圾回收时间三色标记三色标记最大的好处是可以异步执行,从而可以以中断时间极少的代价或者完全没有中断来进行整个 GC。黑色:根对象,或者该对象与它的子对象都被扫描过。灰色:对本身被扫描,但是还没扫描完该对象的子对象。白色:未被扫描对象,如果扫描完所有对象之后,最终为白色的为不可达对象,既垃圾对象。三色标记的..
2020-07-31 13:59:07 289
原创 Mysql优化进阶2
Mysql高级进阶21. MySql中常用工具1.1 mysql该mysql不是指mysql服务,而是指mysql的客户端工具。语法 :mysql [options] [database]1.1.1 连接选项参数 : -u, --user=name 指定用户名 -p, --password[=name] 指定密码 -h, --host=name 指定服务器IP或域名...
2020-02-27 19:43:47 351
原创 Mysql优化进阶1
Mysql高级进阶1. 应用优化前面章节,我们介绍了很多数据库的优化措施。但是在实际生产环境中,由于数据库本身的性能局限,就必须要对前台的应用进行一些优化,来降低数据库的访问压力。1.1 使用连接池对于访问数据库来说,建立连接的代价是比较昂贵的,因为我们频繁的创建关闭连接,是比较耗费资源的,我们有必要建立 数据库连接池,以提高访问的性能。1.2 减少对MySQL的访问1.2.1 避免对...
2020-02-27 19:42:31 457
原创 mysql_技能10_索引优化准备
show [session|global] status 提供服务器状态信息。show [session|global] status 可以根据需要加上参数“session”或者“global”来显示 session级(当前连接)的计结果和 global 级(自数据库上次启动至今)的统计结果。如果不写,默认使用参数是“session”。下面的命令显示了当前 session 中所有统计参数的值:...
2020-02-27 19:31:12 100
原创 mysql_技能9_触发器
create trigger trigger_namebefore/after insert/update/deleteon tbl_name[ for each row ] – 行级触发器begintrigger_stmt ;end;– 删除触发器– 如果没有指定 schema_name,默认为当前数据库drop trigger [schema_name.]trigger_na...
2020-02-27 19:29:48 123
原创 mysql_技能8_储存函数
– 储存函数CREATE FUNCTION function_name([param type … ]) RETURNS typeBEGIN … END;create function count_city(countryId int) returns intbegindeclare cnum int ;select count(*) into cnum from city where...
2020-02-27 19:29:11 89
原创 mysql_技能5_索引的使用
验证索引是否生效提升查询效率避免索引失效1).全值匹配 ,对索引中所有列都指定具体值。2). 最左前缀法则:如果索引了多列,要遵守最左前缀法则。指的是查询从索引的最左前列开始,并且不跳过索引中的列。3). 索引列上进行运算操作, 索引失效。4). 字符串不加单引号,造成索引失效。由于,在查询是,没有对字符串加单引号,MySQL的查询优化器,会自动的进行类型转换,造成索引失效。5). ...
2020-02-27 19:25:57 164
原创 mysql_技能7_游标
– 游标/光标– 声明光标:DECLARE cursor_name CURSOR FOR select_statement ;– OPEN 光标:OPEN cursor_name ;– FETCH 光标:FETCH cursor_name INTO var_name [, var_name] …– CLOSE 光标:CLOSE cursor_name ;– 查询emp表中数据, ...
2020-02-27 19:24:48 88
原创 mysql_技能6_储存过程
delimiter $ 结束符号,navicat无作用– 储存过程CREATE PROCEDURE procedure_name ([proc_parameter[,…]])BEGIN– SQL语句END ;call sp_name ;drop procedure [IF EXISTS] sp_name ;– 示例– 定义一个局部变量,该变量的作用范围只能在 BEGIN…END ...
2020-02-27 19:24:17 144
原创 mysql_技能4_索引
– 语法CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX indexname [USING indextype] ON tbl_name(indexcolname,…)create …index indexName… on table_name(column1,column2,…)show index from city;create index city_na...
2020-02-27 19:23:13 85
原创 mysql_技能3_引擎
Connection Pool : 连接池组件Management Services & Utilities : 管理服务和工具组件SQL Interface : SQL接口组件Parser : 查询分析器组件Optimizer : 优化器组件Caches & Buffers : 缓冲池组件Pluggable Storage Engines : 存储引擎File Sy...
2020-02-27 19:22:39 177
原创 mysql_技能2_视图
#语法CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]VIEW viewname [(columnlist)]AS select_statement[WITH [CASCADED | LOCAL] CHECK OPTION]WITH [CASCADED级联 | LOCAL本地] CHECK OPTION 决...
2020-02-27 19:21:46 124
原创 mysql_技能1
##本单元目标一、为什么要学习数据库二、数据库的相关概念DBMS、DB、SQL三、数据库存储数据的特点四、初始MySQLMySQL产品的介绍MySQL产品的安装 ★MySQL服务的启动和停止 ★MySQL服务的登录和退出 ★MySQL的常见命令和语法规范五、DQL语言的学习 ★基础查询 ★条件查询 ★ 排...
2020-02-17 17:38:55 155
原创 数据库事务的总结,理解为主
<h2>一、数据库事务的概念</h2> 用一句话简单的说明:数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作(对数据库的相关增删改查的操作),要么完全地执行,要么完全地不执行。二、数据库事务的四大特性 数据库的四...
2020-02-17 17:38:43 224
转载 mysql数据库 优化
数据库优化sql语句优化索引优化加缓存读写分离分区分布式数据库(垂直切分)水平切分www.walekan.com/kj/kjpp/1459MyISAM和InnoDB的区别:1. InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个...
2020-02-17 17:37:53 93
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人