使用arthas trace命令查看代码各方法响应时间
arthas trace 命令查看代码各方法响应时间
问题来了:
如何在线上系统运行的情况下定位问题代码?
如何避免修改原代码来定位问题代码?
最基本的定位方法是:定位到卡顿的接口,通过在各个方法请求前与请求后打印时间戳来计算各方法的响应时间。
这个基本方法有什么问题呢?
如果开发人员无权获取生产环境怎么重现。
如果调用方法很多的情况下,通过响应时间戳定位效率太低。
Arthas 工具
Arthas 官网
Arthas 是阿里巴巴开源的一款 Java 诊断工具。Arthas 除了解决我们上述定位接口卡顿问题,还能解决以下问题[1]:
这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
我改的代码为什...
Druid快速引入以及配置
Druid Spring Boot Starter 用于帮助你在 Spring Boot 项目中轻松集成 Druid 数据库连接池和监控。
引入依赖
vte-dal 模块下的 pom.xml 下加入以下依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.23</version>
</dependency>
增加 Druid 配置
application-dev.properties 增加监...
【LeetCode200】岛屿数量
岛屿数量
给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。
岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。
此外,你可以假设该网格的四条边均被水包围。
示例 1:
输入:grid = [
["1","1","1","1","0"],
["1","1","0","1","0"],
["1","1","0","0","0"],
["0","0","0","0","0"]
]
输出:1
示例 2:
输入:grid = [
["1","1","0","0","0"],
["1","1","0","0","0"],
["0","0","1","0","0"],
["0","0","0","1","1"]
]
...
Windows下启动、重启、停止nginx
在Windows下操作nginx,需要打开cmd 进入到nginx的安装目录下
1.启动nginx:
start nginx 或 nginx.exe
2.停止nginx
(stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息)
nginx.exe -s stop 或 nginx.exe -s quit
3.检查 重启:
nginx -t 修改nginx配置后执行检查配置是否正确
nginx -s reload 重启
MySQL GROUP BY 的问题
拿 employee 示例数据库为例,当进行如下操作时会报错。
mysql> SELECT * FROM employees GROUP BY gender;
ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'employees.employees.emp_no' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
...
mysql 查看视图异常
使用Navict 进行视图操作的时候提示权限异常,需要手动进行操作添加权限
解决办法:
权限问题,授权 给 root 所有sql 权限
mysql> grant all privileges on *.* to root@"%" identified by ".";
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
java中的常量池
JVM常量池主要分为Class文件常量池、运行时常量池,全局字符串常量池,以及基本类型包装类对象常量池。
1、Class文件常量池
class文件是一组以字节为单位的二进制数据流,在java代码的编译期间,我们编写的java文件就被编译为.class文件格式的二进制数据存放在磁盘中,其中就包括class文件常量池。 class文件中存在常量池(非运行时常量池),其在编译阶段就已经确定,jvm规范对class文件结构有着严格的规范,必须符合此规范的class文件才能被jvm任何和装载。为了方便说明,我们写个简单的类
<code>class JavaBean{
private int value = 1;
public String s = "abc";
...
共计 77 篇文章,10 页。