Java 性能调优工具

Java 性能调优工具

目录 Linux 命令工具topsarvmstatiostatpidstatWindows 工具任务管理器,perfmon,Process ExplorerpslistJDK 命令行工具jpsjstatjinfojmapjhatjstackjstatdhprofJConsoleVisual VMMATMAT OQLJProfile目录Linux 命令工具 Linux平台是使用最为广泛的服务平台之一 ...

/

Java 并发数据结构

[TOC]因为Java提供了一些非线程安全的数据结构如HashMap,ArrayList,HashSet等。所有在多线程环境中需要使用支持并发访问操作的数据结构。 并发ListVector,CopyOnWriteArrayList 是线程安全的List。ArrayList是线程不安全的。如果一定要使用,需要:Collections.synchronizedList(List list)进行包装。C ...

/

FFmpeg 源码编译安装流程

FFmpeg 对于图像,语音,视频,流媒体可以说是一个难得的利器。而且对众多平台都有支持,了解到了有格式工厂,优酷桌面版都有使用到了FFmpeg 进行视频的转码。(想想当初在网吧的日子 )安装过程的一些简单记录,环境为Ubuntu 14.04 默认安装时提示 not found yasm可以使用 —disable-yasm 或者sudo apt-get install yasm 1.根据实际情 ...

/

mysql 远程访问数据库

--回收所有权限 REVOKE ALL PRIVILEGES,GRANT OPTION FROM 'dbname'@'%'; --开启允许所有IP使用123的密码访问数据库 GRANT ALL PRIVILEGES ON dbname.* TO 'dbname'@'%' IDENTIFIED BY '123' WITH GRANT OPTION; --马上生效 FLUSH PRIVILEGES; ...

/

quartz 文档中提到的一些表达式的语法

相比crontab的表达式这个多了一个秒级别的控制,通常一般是周期性的比较常用,比如每5分钟,每天凌晨5点之类的 表达式 说明 0 0 12 * * ? 将会在每天的12pm触发 0 15 10 ? * * 将会在每天的10:15am触发 0 15 10 * * ? 将会在每天的10:15am触发 ...

/

HashSet contains 方法解读

顾名思义 HashSet 就是使用Hash算法实现的Set了. 那么在Java这边是如何实现的? 通过查看源码可以发现在Set里面可以看到一个每次new HashSet的时候都有生成一个 HashMap 然而我们在使用 hashSet.add() 的时候也在往 map里面存数据 而对应value是使用了同一个 new Object()。contains方法不一定需要遍历Set 查看HashMap ...

/

读取文件的方式在Java7

在Java7使用Nio对文件的操作变得更加容易了使用java.nio.file.Files 可以大大的减少代码量,而且在使用过程不需要在finally 进行关闭流的操作了。 这里就使用readAllBytes(Paths),readAllLines(Paths path,Chatset sc)大家体会下 public static void main(String[] args) { ...

/

Jrebel 热部署代码,提高开发效率

Jrebel 热部署代码,提高开发效率

Jrebel 帮助你不重启webserver 就能重新部署代码。 JDK 处填写的内容-Xmx256m -noverify -javaagent:E:\JRebel\jrebel.jar -Drebel.struts2_plugin=true -Drebel.spring_plugin=true -Drebel.ibatis_plugin=true 这个可以一样的用到不同的java项 ...

/

git 提交了一些敏感信息,如何进行彻底删除

如果自己一个不小心的提交了一些敏感的信息到git上面,而自己的项目有可能被其他人看到,如果查看历史记录还是能看到自己提交那些文件。 那么如何彻底从历史记录中的删除这些文件呢? 可以通过下面的命令进行删除,比如删除 db.properties 文件 git filter-branch --index-filter 'git rm --cached --ignore-unmatch db.proper ...

/