`
文章列表
Java中线程执行的任务接口java.lang.Runnable 要求不抛出Checked异常, public interface Runnable { public abstract void run(); } 那么如果 run() 方法中抛出了RuntimeException,将会怎么处理了? 通常java.lang.Thread对象运行设置一个默认的异常 ...
 序列号在页面最下   安装后,从外观到使用都需要简单配置下(Configure -> Settings):   1. 外观(选择Darcula theme,为了避免中文变成“方框”,还需要更改默认字体):   2. 字体   3.光标位置、高亮配置     user name:JavaDeveloper serial number:92547-KY2BB-QZ0S1-PEZCV-HUT8Q-6RYY4
instanceof运算符 只被用于对象引用变量,检查左边的被测试对象 是不是 右边类或接口的 实例化。如果被测对象是null值,则测试结果总是false。 形象地:自身实例或子类实例 instanceof 自身类  返回true 例: String s=new String("javaisland");       System.out.println(s instanceof String); //true Class类的isInstance(Object obj)方法,obj是被测试的对象,如果obj是调用这个方法的class或接口 的实例,则返回true。这个 ...
如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单。如果你不熟悉这个术语,那么“正则表达式”(Regular Expression)就是一个字符构成的串,它定义了一个用来 ...
jdk1.5开始支持泛型,所以我们有时需要把泛型里定义的对象的类型拿到 比如现在我定义了三个类Account, AccountItem和Product类。 Account聚合AccountItem,AccountItem聚合Prodcut。 都是用List<AccountItem>和List<Product>来表示的 我要实现一个功能,需要动态的传入一个Class的类型,然后反射到启动的List,根据List里定义的泛型,知道其中List的具体对象。 这个需求主要是由于现在的Json-lib还不支持深度的List的unmarshall,而只支持数组的方式。其实这里就是 ...
实现FTP文件上传与下载可以通过以下两种种方式实现(不知道还有没有其他方式),分别为:1、通过JDK自带的API实现;2、通过Apache提供的API是实现。 第一种方式 查看源码
  Spring mvc中log4j的配置与使用 如果使用spring插件创建一个spring template project,它会默认带log4j,只要改下log4j的配置就可以使用了,如果自己创建的project,就要加载下log4f的包了,使用步骤如下   1.pom.xml加入log4j的依赖包   [html] view plaincopyprint? <!-- Logging -->           <dependency>               <groupId>org.slf4j</gr ...

Ehcache缓存配置

Ehcache缓存配置   简介   Cache的配置很灵活,官方提供的Cache配置方式有好几种。你可以通过声明配置、在xml中配置、在程序里配置或者调用构造方法时传入不同的参数。  
以前研究过输出excel表格的方法,找到一种快捷的报表输出方式,就是直接将html表格页面,直接更改输出方式为excel。 jsp代码这样更改:   String fileName = "test.xls"; response.setContentType("application/x-octetstream;charset=UTF-8"); response.setHeader("Content-disposition","attachment;filename=" + fileName + "& ...
使用Memory Analyzer tool(MAT)分析内存泄漏(转) 前言 在使用Memory Analyzer tool(MAT)分析内存泄漏(一)中,我介绍了内存泄漏的前因后果。在本文中,将介绍MAT如何根据heap dump分析泄漏根源。由于测试范例可能过于简单,很容易找出问题,但我期待借此举一反三。 一开始不得不说说ClassLoader,本质上,它的工作就是把磁盘上的类文件读入内存,然后调用 java.lang.ClassLoader.defineClass方法告诉系统把内存镜像处理成合法的字节码。Java提供了抽象类 ClassLoader,所有用户自定义类装载器都实例化自C ...
线上内存溢出问题排查<实践篇>  转 一、概述 之前写过 《性能的一些常用的命令与注意点》、《java jvm内存结构(回顾)》、 《 JVM内存回收机制及回收器-一目了然》 等篇文章,今天写下实践吧,比较简单。 也正好前几天出现一个内存的问题。 二、线上准备数据
java性能的一些常用的命令与注意点   一、常见的命令 查看jvm内存的大致情况 jstat -gctuil 9623 查看跑的比较忙线程: 看进程的线程信息,显示当前线程的一个cpu等利用率的情况:top -Hp 28340 查看线程栈:jstack 28340>temp 其中的线程号为16进制。  转化为16机制:printf "%x\n" 28340 查看JVm中堆中对象的详细占用情况,输出的内容按照代销排序: 导出整个JVM的堆的简要信息: jmap -histo 9623>maplist 或者 jmap -dump: ...
  JConsole 远程监控Tomcat服务   1、概述   JConsole是一个基于JMX的GUI工具,用于连接正在运行的JVM,不过此JVM需要使用可管理的模式启动。如果要把一个应用以可管理的形式启动,可以在启动是设置com.sun.management.jmxremote。JConsole能够提供被监控虚拟机的内存、线程、类的加载以及MBean等信息,从而能够对服务器的运行情况进行实时监控。       其实在 JDK 5 中已经新加入了这个功能了. 现在的 JDK 已经内置了对 VM 的监控功能. JDK 6 中这个工具变的更加好用了. 关于 JDK 5 中 ...

JVM调优

    博客分类:
  • jvm
JVM调优   JVM       不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略, 调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为 复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各 个机器上的配置不同(主要cup个数,内存不同),所以使用的GC种类也会不同(如何选择见GC种

Java性能调优笔记

    博客分类:
  • jvm
Java性能调优笔记 调优步骤:衡量系统现状、设定调优目标、寻找性能瓶颈、性能调优、衡量是否到达目标(如果未到达目标,需重新寻找性能瓶颈)、性能调优结束。 寻找性能瓶颈 性能瓶颈的表象:资源消耗过多、外部处理系统的性能不足、资源消耗不多但程序的响应速度却仍达不到要求。 资源消耗:CPU、文件IO、网络IO、内存。 外部处理系统的性能不足:所调用的其他系统提供的功能或数据库操作的响应速度不够。 资源消耗不多但程序的响应速度却仍达不到要求:程序代码运行效率不够高、未充分使用资源、程序结构不合理。 CPU消耗分析 CPU主要用于中断、内核、用户进程的任务处理,优先级为中断>内核>用户 ...
Global site tag (gtag.js) - Google Analytics