精华内容
下载资源
问答
  • java 常用工具

    2011-07-30 19:47:06
    java常用工具 java常用工具
  • java常用工具

    2016-12-31 15:32:16
    jstat java性能统计工具 jstack java线程堆栈工具 jmap java内存映像工具 jps java进程查看 jinfo java配置信息工具 jhat java堆快照分析工具 jconsole 可视化java工具 jvisualvm 可视化java工具 jstatd java统计...

    相关资料


    jps 简介

    列出所有java进程

    jps [ options ] [ hostid ] 

    options

    -q 仅输出VM标识符,不包括class name,jar name,arguments in main method 
    -m 输出main method的参数 
    -l 输出完全的包名,应用主类名,jar的完全路径名 
    -v 输出jvm参数 
    -V 输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件 
    -Joption 传递参数到vm,例如:-J-Xms48m

    hostid

    [protocol:][[//]hostname][:port][/servername]

    Examples

    jps rmi:10.*.*.*:2020   #  查看远程机器的java进程id(需要远程开启jstatd进程)
    jps -lmv                #  本地java进程的详细信息

    jinfo 简介

    jinfo可以输出并修改运行时的java 进程的opts。用处比较简单,用于输出JAVA系统参数及命令行参数。一般不支持修改,jdk8废弃改命令。

    jinfo [ option ] pid
    jinfo [ option ] executable core
    jinfo [ option ] [server-id@]remote-hostname-or-IP 

    Options

    no option  打印命令行参数和系统属性
    -flags  打印命令行参数
    -sysprops  打印系统属性
    -h  帮助

    jstatd 简介

    虚拟机的监控的守护进程,主要用于监控JVM的创建与终止,并提供一个接口允许远程监控工具(jps|jstat|jstack…)依附到在本地主机上运行的JVM。

    Options

    -nr 当一个存在的RMI Registry没有找到时,不尝试创建一个内部的RMI Registry
    -p port 端口号,默认为1099
    -n rminame 默认为JStatRemoteHost;如果多个jstatd服务开始在同一台主机上,rminame唯一确定一个jstatd服务
    -J jvm选项

    Usages

    • 通过策略文件(jstatd.all.policy),允许jstatd服务器在没有任何安全例外的情况下运行。该策略没有授权所有权限给所有代码库那么自由,但却比授予最小的权限来运行jstatd服务器更自由.个人建议要及时关闭,有风险。
    grant codebase "file:${java.home}/../lib/tools.jar" {  
       permission java.security.AllPermission;  
    };
    
    • 基于策略文件,启动jstatd,同时启动RMI日志(一般没必要就不要开启了)
    nohup rmiregistry 2020&jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.logCalls=true -p 2020  &

    jstat 简介

    jvm监控统计工具,包括gc信息,类编译信息等。

    jstat [ generalOption | outputOptions vmid [interval[s|ms] [count]] ]

    vmid

    [protocol:][//]lvmid[@hostname[:port]/servername]

    options

    -class类加载情况的统计
    Loaded加载了的类的数量
    Bytes加载了的类的大小,单为Kb
    Unloaded卸载了的类的数量
    Bytes卸载了的类的大小,单为Kb
    Time花在类的加载及卸载的时间
    -compilerHotSpot中即时编译器编译情况的统计
    Compiled编译任务执行的次数
    Failed编译任务执行失败的次数
    Invalid编译任务非法执行的次数
    Time执行编译花费的时间
    FailedType最后一次编译失败的编译类型
    FailedMethod最后一次编译失败的类名及方法名
    -gcJVM中堆的垃圾收集情况的统计
    S0C新生代中Survivor space中S0当前容量的大小(KB)
    S1C新生代中Survivor space中S1当前容量的大小(KB)
    S0U新生代中Survivor space中S0容量使用的大小(KB)
    S1U新生代中Survivor space中S1容量使用的大小(KB)
    ECEden space当前容量的大小(KB)
    EUEden space容量使用的大小(KB)
    OCOld space当前容量的大小(KB)
    OUOld space使用容量的大小(KB)
    PCPermanent space当前容量的大小(KB)
    PUPermanent space使用容量的大小(KB)
    YGC从应用程序启动到采样时发生 Young GC 的次数
    YGCT从应用程序启动到采样时 Young GC 所用的时间(秒)
    FGC从应用程序启动到采样时发生 Full GC 的次数
    FGCT从应用程序启动到采样时 Full GC 所用的时间(秒)
    GCTT从应用程序启动到采样时用于垃圾回收的总时间(单位秒),它的值等于YGC+FGC
    -gccapacity新生代、老生代及持久代的存储容量情况
    NGCMN新生代的最小容量大小(KB)
    NGCMX新生代的最大容量大小(KB)
    NGC当前新生代的容量大小(KB)
    S0C当前新生代中survivor space 0的容量大小(KB)
    S1C当前新生代中survivor space 1的容量大小(KB)
    ECEden space当前容量的大小(KB)
    OGCMN老生代的最小容量大小(KB)
    OGCMX老生代的最大容量大小(KB)
    OGC当前老生代的容量大小(KB)
    OC当前老生代的空间容量大小(KB)
    PGCMN持久代的最小容量大小(KB)
    PGCMX持久代的最大容量大小(KB)
    PGC当前持久代的容量大小(KB)
    PC当前持久代的空间容量大小(KB)
    YGC从应用程序启动到采样时发生 Young GC 的次数
    FGC从应用程序启动到采样时发生 Full GC 的次数
    -gccause这个选项用于查看垃圾收集的统计情况(这个和-gcutil选项一样),如果有发生垃圾收集,它还会显示最后一次及当前正在发生垃圾收集的原因,它比-gcutil会多出最后一次垃圾收集原因以及当前正在发生的垃圾收集的原因。用于查看垃圾收集的统计情况,包括最近发生垃圾的原因
    LGCC最后一次垃圾收集的原因,可能为“unknown GCCause”、“System.gc()”等
    GCC当前垃圾收集的原因
    -gcutil新生代、老生代及持代垃圾收集的情况
    S0Heap上的 Survivor space 0 区已使用空间的百分比
    S1Heap上的 Survivor space 1 区已使用空间的百分比
    EHeap上的 Eden space 区已使用空间的百分比
    OHeap上的 Old space 区已使用空间的百分比
    PPerm space 区已使用空间的百分比
    YGC从应用程序启动到采样时发生 Young GC 的次数
    YGCT从应用程序启动到采样时 Young GC 所用的时间(单位秒)
    FGC从应用程序启动到采样时发生 Full GC 的次数
    FGCT从应用程序启动到采样时 Full GC 所用的时间(单位秒)
    GCT从应用程序启动到采样时用于垃圾回收的总时间(单位秒),它的值等于YGC+FGC
    -printcompilationHotSpot编译方法的统计
    Compiled编译任务执行的次数
    Size方法的字节码所占的字节数
    Type编译类型
    Method指定确定被编译方法的类名及方法名,类名中用“/”而不是“.”做为命名分隔符,方法名是被指定的类中的方法,这两个字段的格式是由HotSpot中的“-XX:+PrintComplation”选项确定的。
    -JjavaOption 用于将给定的javaOption传给java应用程序加载器,例如,“-J-Xms48m”将把启动内存设置为48M。如果想查看可以传递哪些选项到应用程序加载器中,可以相看如下的文档
    Linux and Solaris:http://docs.oracle.com/javase/1.5.0/docs/tooldocs/solaris/java.html
    Windows:http://docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/java.html
    -t n 用于在输出内容的第一列显示时间戳,这个时间戳代表的时JVM开始启动到现在的时间
    -h n用于指定每隔几行就输出列头,如果不指定,默认是只在第一行出现列头

    Examples

    jstat -gc rmi:pid@10.*.*.*:2020   #  查看远程机器 指定pid的gc 信息
    jstat -class  pid         #  本地java进程[pid]的类加载情况的统计

    Reference


    jstack 简介

    jstack用于打印出给定的Java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项”-J-d64”,Windows的jstack使用方式只支持以下的这种方式:jstack [-l] pid

    如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。另外,jstack工具还可以附属到正在运行的java程序中,看到当时运行的java程序的java stack和native stack的信息, 如果现在运行的java程序呈现hung的状态,jstack是非常有用的。

    jstack [ option ] pid                    #(Usually)
    jstack [ option ] executable core
    jstack [ option ] [server-id@]remote-hostname-or-IP

    Option

    -F          #当’jstack [-l] pid’没有相应的时候强制打印栈信息
    
    -l          #长列表. 打印关于锁的附加信息,例如属于java.util.concurrent的ownable synchronizers列表.
    
    -m          #打印java和native c/c++框架的所有栈信息.
    
    -h|-help    #打印帮助信息

    jstack内容详解

     线程被阻塞可能是由于下面五方面的原因:
    
      1.调用sleep(毫秒数),使线程进入睡眠状态。在规定时间内,这个线程是不会运行的。
      2.用suspend()暂停了线程的执行。除非收到resume()消息,否则不会返回“可运行”状态。(已废弃)
      3.用wait()暂停了线程的执行。除非线程收到notify()notifyAll()消息,否则不会变成“可运行”状态。
      4.线程正在等候一些IO操作完成。
      5.线程试图调用另一个对象的“同步”方法,但那个对象处于锁定状态,暂时无法使用。
    
      所涉及到的两种池:
    
      Wait pool 等待池
    
      Lock pool 锁池
    • jstack 几种线程状态介绍
    Runnable                #包括runnable和running两种状态
    Wait on condition       #线程等待IOsleep
    Waiting for monitor entry #对象在Lockpool中 
    in Object.wait()        #对象在wait pool 中需要notify才能进入锁池,并最终获得锁进入Runnable状态

    jstack分析几种常见问题

    io异常

    • 当jstack dump 的线程中存在大量的 wait on condition ,观察堆栈是不是网络IO 导致的,结合系统指令 netstat 观察是不是已经超过带宽的上限。
    • lsof -p $pid 观察当前进程的io请况
    • iostat 观察系统总体的io情况

    死锁

    jstack 会自动识别并表示死锁。

    热锁

    热锁,也往往是导致系统性能瓶颈的主要因素。其表现特征为,由于多个线程对临界区,或者锁的竞争,可能出现:

    • 频繁的线程的上下文切换:从操作系统对线程的调度来看,当 线程在等待资源而阻塞的时候,操作系统会将之切换出来,放到等待的队列,当线程获得资源之后,调度算法会将这个线程切换进去,放到执行队列中。
    • 大量的系统调用:因为线程的上下文切换,以及热锁的竞争,或 者临界区的频繁的进出,都可能导致大量的系统调用。
    • 大部分 CPU开销用在 “系统态 ”:线程上下文切换,和系统调用,都会导致 CPU在 “系统态 ”运行,换而言之,虽然系统很忙碌,但是 CPU用在 “用户态 ”的比例较小,应用程序得不到充分的 CPU资源。
    • 随着 CPU数目的增多,系统的性能反而下降。因为 CPU数目多,同 时运行的线程就越多,可能就会造成更频繁的线程上下文切换和系统态的 CPU开销,从而导致更糟糕的性能。

    结合系统指令top -p $pid; shift +h ;以及具体堆栈分析定位系统态的cpu占用过高的具体原因。

    cpu过高

    • 结合系统指令定位具体的进程中某个导致进程cpu过高的线程pid。
    • printf(“%x\n”) $pid 转换十六进制;对应堆栈中的nid(nid 是实际的本地系统的进程id,tid 是虚拟机中的进程id)。
    • 通过堆栈信息,分析该线程pid的具体信息。

    程序效率低,执行慢

    分析是否存在死锁,热锁。分析WAITING,BLOCK,状态的线程。观察是不是IO导致的,网络IO,带宽问题,还是网络断开导致的空等待,还是线程sleep,waitpool中的对象是不是忘记唤醒,lockpool的对象是不是永远获取不到锁,TIMED_WAIT设置的时间是否合理,或者磁盘IO导致的,具体问题结合堆栈信息和系统状态进行分析。(vmstat,iostat,netstat,uptime,top。lsof等指令根据需要配合使用。)


    jmap 简介

    打印出某个java进程内存的,所有‘对象’的情况。64位机器上,需要指定选项”-J-d64”。

    jmap [ option ] pid                    #(Usually)
    jmap [ option ] executable core
    jmap [ option ] [server-id@]remote-hostname-or-IP

    Options

    -dump:[live,]format=b,file=<filename> #使用hprof二进制形式,输出jvm的heap内容到文件。live子选项是可选的,假如指定live选项,那么只输出活的对象到文件. 
    -finalizerinfo                        #打印正等候回收的对象的信息.
    -heap                                 #打印heap的概要信息,GC使用的算法,heap的配置及wise heap的使用情况.
    -histo[:live]                         #打印每个class的实例数目,内存占用,类全名信息. VM的内部类名字开头会加上前缀”*”. 如果live子参数加上后,只统计活的对象数量. 
    -permstat                             #打印classload和jvm heap长久层的信息. 包含每个classloader的名字,活泼性,地址,父classloader和加载的class数量. 另外,内部String的数量和占用内存数也会打印出来. 
    -F                                    #强迫在pid没有相应的时候使用-dump或者-histo参数. 在这个模式下,live子参数无效. 
    -h | -help                            #打印辅助信息 
    -J                                    #传递参数给jmap启动的jvm. 

    Example

    jmap  -dump:format=b,file=tomcat.bin 9142
    jmap  -histo:live $cpid

    jhat 简介

    用来分析Java堆的命令,可以将堆中的对象以html的形式显示出来,包括对象的数量,大小等等,并支持对象查询语言.


    jdb简介

    java debug 工具,一般使用IDE,debug更快捷,无界面程序可以使用该工具调试。

    命令行调试

    jdb调试命令

    JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y"
    jdb -attach 127.0.0.1:8787

    jconsole简介

    JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行。
    Usages jconsole


    jvisualvm 简介

    jconsole的升级版。

    Usages jvisualvm


    常见问题

    sun.jvm.hotspot.debugger.DebuggerException 异常

    出现场景
    - jinfo pid
    - jstack -F
    - jmap -heap

    Solve

    sudo vim /etc/sysctl.d/10-ptrace.conf 
    修改 kernel.yama.ptrace_scope = 0 
    sudo /sbin/sysctl -e -p  /etc/sysctl.d/10-ptrace.conf 重新加载该调整信息,无需重启,永久有效
    echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope 当前有效,重启后无效,建议使用后恢复本来的设置,ubuntu从11.04后修改了该默认设置,应该是出于安全考虑,线上环境,更应该谨慎使用。
    

    sun.jvm.hotspot.runtime.VMVersionMismatchException

    工具和pid的jvm不一致导致的,使用启动当前pid的java命令所在的文件夹下的工具指令。
    展开全文
  • 主要为大家详细介绍了java常用工具类中的数字工具类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • Java常用工具类汇总

    万次阅读 2021-03-04 16:03:15
    Java常用工具类汇总 时间工具类,根据本月时间获取上月一号零点零时零分零秒 java实现阿拉伯数字转换成中文数字显示 SpringBoot使用注解(@value)动态读取properties(yml)文件中配置信息 时间工具类,根据本月时间...
    展开全文
  • 整理的若干java常用工具类,整理的若干java常用工具类,整理的若干java常用工具
  • Java常用工具分享

    2020-02-29 10:34:01
    Java常用工具分享,在现如今的互联网时代里,Java无疑是一种极为流行的开发语言,无论是程序界还是整个互联网行业势必带来很大的影响。不管是人才需求还是薪资水平上,Java的发展前景都是很乐观的。关于Java的一些...

    Java常用工具分享,在现如今的互联网时代里,Java无疑是一种极为流行的开发语言,无论是程序界还是整个互联网行业势必带来很大的影响。不管是人才需求还是薪资水平上,Java的发展前景都是很乐观的。关于Java的一些常用的工具,也是需要我们不断去掌握和了解的。下面一起来了解下Java的4大常用工具吧!

    1、ServiceLoader-加载服务(获取接口的所有实现)

    Java开发人员常常希望将使用和创建组件的内容区分开来,这通常是依靠创建一个描述组件动作的接口,并使用某种中介创建组件实例来完成的。

    2、SCanner

    有无数Java工具能帮助您构建解析器,很多函数语言已成功构建解析器函数库(解析器选择器)。但如果要解析的是逗号分隔值文件,或空格分隔文本文件,又怎么办呢?大多数工具用在此处就过于隆重了,而String.split()又不够。(对于正则表达式,请记住一句老话:“您有一个问题,用正则表达式解决。那您就有两个问题了。”)

    3、Timer

    Java.util.Timer和TimerTask类提供了方便、相对简单的方法可在定期或一次性延迟的基础上执行任务:

    4、StAX-解析XML文件

    当XML头一次出现在很多Java开发人员面前时,有两种基本的解析XML文件的方法。SAX解析器实际是由程序员对事件调用一系列回调方法的大型状态机。DOM解析器将整个XML文档加入内存,并切割成离散的对象,它们连接在一起形成一个树。该树描述了文档的整个XMLInfoset表示法。这两个解析器都有缺点:SAX太低级,无法使用,DOM代价太大,尤其对于大的XML文件—整个树成了一个庞然大物。

    幸运的是,Java开发人员找到第三种方法来解析XML文件,经由对文档建模成“节点”,它们可以从文档流中一次取出一个,检查,然后处理或丢弃。这些“节点”的“流”提供了SAX和DOM的中间地带,名为“StreamingAPIforXML”,或者叫做StAX。

    展开全文
  • JAVA常用工具

    万次阅读 多人点赞 2018-09-11 22:28:32
    JAVA常用工具类(根据GITHUB代码统计) 从Google你能搜索到大量的关于Struts,Spring,Hibernate,iBatis等比较大的框架的资料,但是很少有人去关注一些小的工具包,但是当你真正知道了这些包的用处之后,你会发现它能很...

    JAVA常用工具类(根据GITHUB代码统计)

    从Google你能搜索到大量的关于Struts,Spring,Hibernate,iBatis等比较大的框架的资料,但是很少有人去关注一些小的工具包,但是当你真正知道了这些包的用处之后,你会发现它能很大程度的帮你节省时间,能很方便的实现你的需求。当然,没有这些包,你也能实现你的需求,但是你需要时间。

    目录
    - 第一部分:常用的16个工具类
    - 第二部分:常用的测试库(链接及用法)
    - 第三部分:java开发常用工具类(正则校验)

    第一部分:常用的16个工具类

    一、org.apache.commons.io.IOUtils

    1、closeQuietly 关闭一个IO流、socket、或者selector且不抛出异常。通常放在finally块。

    2、toString 转换IO流、Uri、byte[]为String。

    3、copy IO流数据复制,从输入流写到输出流中,最大支持2GB。

    4、toByteArray 从输入流、URI获取byte[]。

    5、write 把字节、字符等写入输出流。

    6、toInputStream 把字符转换为输入流。

    7、readLines 从输入流中读取多行数据,返回List

    8、copyLarge 同copy,支持2GB以上数据的复制。

    9、lineIterator 从输入流返回一个迭代器,

    10、根据参数要求读取的数据量,全部读取,如果数据不够,则失败。

    二、org.apache.commons.io.FileUtils

    1、deleteDirectory 删除文件夹

    2、readFileToString 以字符形式读取文件内容。

    3、deleteQueitly 删除文件或文件夹且不会抛出异常。

    4、copyFile 复制文件

    5、writeStringToFile 把字符写到目标文件,如果文件不存在,则创建。

    6、forceMkdir 强制创建文件夹,如果该文件夹父级目录不存在,则创建父级。

    7、write 把字符写到指定文件中

    8、listFiles 列举某个目录下的文件(根据过滤器)

    9、copyDirectory 复制文件夹

    10、forceDelete 强制删除文件

    三、org.apache.commons.lang.StringUtils

    1、isBlank 字符串是否为空 (trim后判断)

    2、isEmpty 字符串是否为空 (不trim并判断)

    3、equals 字符串是否相等

    4、join 合并数组为单一字符串,可传分隔符

    5、split 分割字符串

    6、EMPTY 空字符串

    7、trimToNull trim后为空字符串则转换为null

    8、replace 替换字符串

    四、org.apache.http.util.EntityUtils

    1、toString 把Entity转换为字符串

    2、consume 确保Entity中的内容全部被消费。可以看到源码里又一次消费了Entity的内容,假如用户没有消费,那调用Entity时候将会把它消费掉。

    3、toByteArray 把Entity转换为字节流

    4、consumeQuietly 和consume一样,但不抛异常

    5、getContentCharset 获取内容的编码

    五、org.apache.commons.lang3.StringUtils

    1、isBlank 字符串是否为空 (trim后判断)

    2、isEmpty 字符串是否为空 (不trim并判断)

    3、equals 字符串是否相等

    4、join 合并数组为单一字符串,可传分隔符

    5、split 分割字符串

    6、EMPTY 空字符串

    7、replace 替换字符串

    9、capitalize 首字符大写

    六、org.apache.commons.io.FilenameUtils

    1、getExtension 返回文件后缀名

    2、getBaseName 返回文件名,不包含后缀名

    3、getName 返回文件全名

    4、concat 按命令行风格组合文件路径(详见方法注释)

    5、removeExtension 删除后缀名

    6、normalize 使路径正常化

    7、wildcardMatch 匹配通配符

    8、seperatorToUnix 路径分隔符改成unix系统格式的,即/

    9、getFullPath 获取文件路径,不包括文件名

    10、isExtension 检查文件后缀名是不是传入参数(List)中的一个

    七、org.springframework.util.StringUtils

    1、hasText 检查字符串中是否包含文本

    2、hasLength 检测字符串是否长度大于0

    3、isEmpty 检测字符串是否为空(若传入为对象,则判断对象是否为null)

    4、commaDelimitedStringToArray 逗号分隔的String转换为数组

    5、collectionToDelimitedString 把集合转为CSV格式字符串

    6、replace 替换字符串

    7、delimitedListToStringArray 相当于split

    8、uncapitalize 首字母小写

    9、collectionToDelimitedCommaString 把集合转为CSV格式字符串

    10、tokenizeToStringArray 和split基本一样,但能自动去掉空白的单词

    八、org.apache.commons.lang.ArrayUtils

    1、contains 是否包含某字符串

    2、addAll 添加所有

    3、clone 克隆一个数组

    4、isEmpty 是否空数组

    5、add 向数组添加元素

    6、subarray 截取数组

    7、indexOf 查找下标

    8、isEquals 比较数组是否相等

    9、toObject 基础类型数据数组转换为对应的Object数组

    九、org.apache.commons.lang.StringEscapeUtils

    支持编码转换

    escapeXml unEscapeXml。

    此外,还支持html、java、JavaScript、sql、csv等

    十、org.apache.http.client.utils.URLEncodedUtils

    1、format 格式化参数,返回一个HTTP POST或者HTTP PUT可用 application/x-www-form-urlencoded字符串

    2、parse 把String或者URI等转换为List

    十一、org.apache.commons.codec.digest.DigestUtils

    1、md5Hex MD5加密,返回32位

    2、sha1Hex SHA-1加密

    3、sha256Hex SHA-256加密

    4、sha512Hex SHA-512加密

    5、md5 MD5加密,返回16位

    十二、org.apache.commons.collections.CollectionUtils

    1、isEmpty 是否为空

    2、select 根据条件筛选集合元素

    3、transform 根据指定方法处理集合元素,类似List的map()。

    4、filter 过滤元素,雷瑟List的filter()

    5、find 基本和select一样

    6、collect 和transform 差不多一样,但是返回新数组

    7、forAllDo 调用每个元素的指定方法。

    8、isEqualCollection 判断两个集合是否一致

    十三、org.apache.commons.lang3.ArrayUtils

    1、contains 是否包含某字符串

    2、addAll 添加所有

    3、clone 克隆一个数组

    4、isEmpty 是否空数组

    5、add 向数组添加元素

    6、subarray 截取数组

    7、indexOf 查找下标

    8、isEquals 比较数组是否相等

    9、toObject 基础类型数据数组转换为对应的Object数组

    十四、org.apache.commons.beanutils.PropertyUtils

    1、getProperty 获取对象属性值

    2、setProperty 设置对象属性值

    3、getPropertyDiscriptor 获取属性描述器

    4、isReadable 检查属性是否可访问

    5、copyProperties 复制属性值,从一个对象到另一个对象

    6、getPropertyDiscriptors 获取所有属性描述器

    7、isWriteable 检查属性是否可写

    8、getPropertyType 获取对象属性类型

    十五、org.apache.commons.lang3.StringEscapeUtils

    支持编码转换

    escapeJson unEscapeJson。

    此外,还支持html、java、JavaScript、sql、csv、xml等

    十六、org.apache.commons.beanutils.BeanUtils

    1、copyPeoperties 复制属性值,从一个对象到另一个对象

    2、getProperty 获取对象属性值

    3、setProperty 设置对象属性值

    4、populate 根据Map给属性复制

    5、copyPeoperty 复制单个值,从一个对象到另一个对象。

    6、cloneBean 克隆


    第二部分:常用的测试库(链接及用法)

    以下提供一些类库的测试,希望对大家有用:


    第三部分:java开发常用工具类(正则校验)

    原文链接https://www.cnblogs.com/ITzhangda/p/9146452.html

    java正则表达式的匹配包括:邮箱,手机,姓名,昵称,身份证号,银行卡号等;
    生成6位随机数;
    对url中字符串进行编码和解码;
    获取客户端ip地址;
    获取系统当前时间;

    生成32位编码不含横线;

    生成MD5编码;

    通过身份证获取性别;

    通过身份证获取生日;

    手机号中间4位替换成星号;

    邮箱地址加星号;

    生成随机密码;

    展开全文
  • java常用工具类汇总

    2013-12-16 10:38:20
    java常用工具类汇总 一个java工具类,包含 关于 字符串 文件 数组 数学 的 常用工具类。 有 相关的 API文档。 内容包括: 1.工具类的API说明文档 2.编译好的Jar文件
  • java常用工具类和Hutool常用的工具类整理 1.java常用工具类 1.1 Scanner类 /** * Scanner 类 */ @Test public void testScanner() { Scanner scanner = new Scanner(System.in); System.out.println("请...
  • 好程序员Java教程分享Java常用工具,在现如今的互联网时代里,Java无疑是一种极为流行的开发语言,无论是程序界还是整个互联网行业势必带来很大的影响。不管是人才需求还是薪资水平上,Java的发展前景都是很乐观的。...
  • Java 常用工具类集合

    2016-05-06 18:41:07
    Java 常用工具
  • java常用工具类整理

    2016-06-12 16:23:56
    java常用工具类 整理
  • java常用工具类 正则表达式 matches() 替换功能 分组 字符串排序 这里会不断的产生垃圾 ...
  • JAVA常用工具类源码

    2018-08-10 17:14:13
    ... 下载地址:&gt;...点击下载Java常用工具类.7z&lt;&lt; 转载来自:www.ctfile.cn ├─27个java常用的工具类 │ Base64.java │ Base64DecodingException.java │ CConst.java │ ...
  • java常用工具

    2014-11-24 17:23:38
    java常用工具集   来源 http://rensanning.iteye.com/blog/1553076
  • 工作5年精心整理_Java常用工具类源码 收集了java项目开中常用的工具操作类,方法非常全,可应用在大部份java 项目中。 提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档...
  • java常用工具类封装util.rarjava常用工具类封装util.rarjava常用工具类封装util.rarjava常用工具类封装util.rar
  • JAVA常用工具类汇总

    万次阅读 多人点赞 2019-08-06 16:05:46
    一、字符串工具类 org.apache.commons.lang.StringUtils pom文件: <!-- https://mvnrepository.com/artifact/org.apache.commons/org.apache.commons.lang --> <dependency> <groupId>org.apache...
  • Java常用工具

    2019-01-11 10:26:34
    记录几个常用java工具类 package cn.sh.ideal.web.util; import cn.sh.ideal.system.entity.SystemConfig; import cn.sh.ideal.system.service.ISystemConfigService; import com.google.common.collect.Lists;...
  • java 常用工具

    2018-03-14 18:27:05
    Apache Commons包估计是Java中使用最广发的工具包了,很多框架都依赖于这组工具包中的一部分,它提供了我们常用的一些编程需要,但是JDK没能提供的机能,最大化的减少重复代码的编写。 org.apache.commons.lang3 为...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,328
精华内容 8,131
关键字:

java常用工具

java 订阅