0%

Java是编译型还是解释型语言

关于这个问题我想表达一下自己的看法:Java 的源代码,通过Javac编译成为字节码,然后在运行时通过Java 虚拟机内嵌的解释器将字节码转换成为最终的机器码。但是常见的 JVM,比如我们大多数情况使用的 Oracle JDK 提供的 Hotspot JVM,都提供了 JIT(Just-In-Time)编译器,也就是通常所说的动态编译器,JIT 能够在运行时将热点代码编译成机器码,这种情况下部分热点代码就属于编译执行,而不是解释执行了。

锁的理解

锁是计算机协调多个进程或线程并发访问某一资源的机制。

在数据库中,除传统的计算资源(如CPU、RAM、l/O等) 的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一一个重要因素。从这个角度来说锁对数据库而言显得尤其重要,也更加复杂。

全局查询日志

全局查询日志用于保存所有的sql执行记录,该功能主要用于测试环境,在生产环境中永远不要开启该功能。

Show Profile是mysql提供的可以用来分析当前会话中sql语句执行的资源消耗情况的工具,可用于sql调优的测量。默认情况下处于关闭状态,并保存最近15次的运行结果。 通过show profiles查看sql语句的耗时时间,然后通过show profile命令对耗时时间长的sql语句进行诊断 。注意show profile诊断结果中出现相关字段的含义,判断是否需要优化sql语句

putty这个软件是个轻量且好用的ssh工具,Xshell、Xftp这些需要收费,有学生家庭版但是要申请,而且有一定的期限的,不是很方便。putty这个工具倒是不错,可是每次登陆需要输入密码,于是下面挤在一个无需登录密码的方式,那就是SSH密钥登录, 这种方式需要生成一组对应的公钥和密钥,然后把公钥放到Linux,私钥提供给putty。putty仍然不知道你的密码,而是通过与服务器核对密钥而核实身份。

慢查询日志 什么是慢查询日志 MySQL的慢查询日志是 MySQL提供的一种日志记录,它用来记录在 MySQL 中响应时间超过阀值的语句,具体指运行时间超过l

如何在MySQL的docker容器中安装vim以及其他的工具?

先进入MySQL容器:

docker exec -it <mysql容器id> bash

配置网易的镜像源

性能常见分析步骤

1、慢查询的开启并捕获

2、explain+慢 SQL 分析

3、show profile 查询 SQL 在 MySQL 服务器里面的执行细节和生命周期情况

4、SQL数据库服务器的参数调优。