java FILE
2020-7-21 杨静
Java中File类的使用','一、File类常用API介绍内容见代码和注释package com.liuyanzhao;import java.io.File;import java.io.IOException;/* * * @author WellsLiu * */public class Test { public static void main(String[] args)&nb...相对路径
2020-7-21 杨静
java中ImageIcon路径问题','一、问题ImageIcon icon = new ImageIcon(\"logo.jpg\");执行结果是icon无法显示 二、解决类中有如下调用:ImageIcon icon = new ImageIcon(\"1.jpg\"); 很自然地认为当前类文件和图片在同一路径下即可。其实所谓的相对路径起点是工程的根目录,即project。这行代码执行时在project目录下查找名为a.gif的文件,结果当然是找不到。要得到工程的相对路径可通过System.getProperty(\"user.dir\")得到。对图片和对文件的查找应该...linux常用命令
2020-7-21 杨静
linux命令大全','系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /proc/mem...java虚拟机参数说明
2020-7-21 杨静
java虚拟机参数说明','A 内存管理参数
DisableExplicitGC 默认关闭 忽略来自System.gc()方法触发的垃圾收集
ExplicitGCInvokesConcurrent 默认关闭 当收到System.gc()方法提交的来机收集申请时,使用CMS收集器进行收集
UseSerialGC Client模式的虚拟机默认开启,其他模式关闭 虚拟机运行在Client模式下的默认值,打开此开关后,使用Serial + Serial Old的收集器组合进行内存回收
UseParNewGC 默认关闭 打开此开关后,使用ParNew + Serial Old的收集器组合进行内存回收
UseConcMarkSweepGC 默认关闭 打开此开关后,使用ParNew + CMS + Serial Old的收集器组合进行内存回收.如果CMS收集器出现Concurrent Mode Failure,则Serial Old收集器将作为后备收集器
UseParallelGC Server模式的虚拟机默认开启,其他模式关闭 虚拟机运行在Server模式下的默认值,打开此开关后,使用Parallel Scavenge + Serial Old的收集器组合进行内存回收
UseParallelOldGC 默认关闭 打开此开关后,使用Parallel Scavenge + Parallel Old的收集器组合进行内存回收
SurvivorRatio 默认为8 新生代中Eden区域与Survivor区域的容量比
PretenureSizeThreshold 无默认值 直接晋升到老年代的对象大小,设置这个参数后,大于这个参数的对象将直接在老年代分配
MaxTenuringThreshold 默认值为15 晋升到老年代的对象年龄,每个对象在坚持过一次Minor GC之后,年龄就+1,当超过这个参数值时就进入老年代
UseAdaptiveSizePolicy 默认开启 动态调整java堆中各个区域的大小及进入老年代的年龄
HandlePromotionFailure jdk1.5及以前是默认关闭,jdk1.6默认开启 是否允许分配担保失败,即老年代的剩余空间不足以应付新生代的整个Eden和Survivor区的所有对象都存活的极端情况
ParallelGCThreads 少于或等于8个CPU时默认值为CPU数量值,多于8个CPU时比CPU数量值小 设置并行GC时进行内存回收的线程数
GCTimeRatio 默认值99 GC时间占总时间的比率.仅在使用Parallel Scavenge收集器时生效
MaxGCPauseMills 无默认值 设置GC最大停顿时间.仅在使用Parallel Scavenge收集器时生效
CMSInitiatingOccupancyFraction 默认值68 设置CMS收集器在老年代空间被使用多少后触发垃圾收集
UseCMSCompactAtFullCollection 默认开启 设置CMS收集器在完成垃圾收集后是否要进行一次内存碎片整理
CMSFullGCsBeforeCompaction 无默认值 设置CMS收集器在进行若干次垃圾收集后再启动一次内存碎片整理
ScavengeBeforeFullGC 默认开启 在Full GC发生之前触发一次Minor GC
UseGCOverheadLimit 默认开启 禁止GC过程无限制的执行,如果过于频繁,就直接发生OutOfMemory
UseTLAB Server模式默认开启 优先在本地线程缓冲区中分配对象,避免分配内存时的锁定过程
MaxHeapFreeRatio 默认值70 当Xmx值比Xms值大时,堆可以动态收缩和扩展,这个参数控制当堆空闲大于指定比率时自动收缩
MinHeapFreeRatio 默认值40 当Xmx值比Xms值大时,堆可以动态收缩和扩展,这个参数控制当堆空闲小于指定比率时自动收缩
MaxPermSize 大部分情况下默认值是64MB 永久代的最大值
B 即时编译参数
CompileThreshold Client模式下默认值1500,Server模式下默认值10000 触发即时编译的阈值
OnStackReplacePercentage Client模式下默认值933,Server模式下140 OSR比率,它是OSR即时编译阈值计算公司的一个参数,用于代替BackEdgeThreshold参数控制回边计数器的实际溢出阈值
ReservedCodeCacheSize 大部分情况下默认值32MB 即时编译器编译的代码缓存使得最大值
C 类型加载参数
UseSplitVerifier 默认开启 使用依赖StackMapTable信息的类型检查代替数据流分析,以加快字节码校验速度
FailOverToOldVerifier 默认开启 当类型校验失败时,是否允许回到老的类型推到校验方式进行校验,如果开启则允许
RelaxAccessControlCheck 默认开启 在校验阶段放松对类型访问性的限制
D 多线程相关参数
UseSpinning jdk1.6默认开启,jdk1.5默认关闭 开启自旋锁以免线程频繁的挂起和唤醒
PreBolckSpin 默认值10 使用自旋锁时默认的自旋次数
UseThreadPriorities 默认开启 使用本地线程优先级
UseBiasedLocking 默认开启 是否使用偏向锁,如果开启则使用
UseFastAccessorMethods 默认开启 当频繁反射执行某个方法时,生成字节码来加快反射的执行速度
E 性能参数
AggressiveOpts jdk1.6默认开启,jdk1.5默认关闭 使用激进的优化特征,这些特征一般是具备正面和负面双重影响的,需要根据具体应用特点分析才能判定是否对性能有好处
UseLargePage 默认开启 如果可能,使用大内存分页,这项特性需要操作系统的支持
LargePageSizeInBytes 默认值4MB 使用指定大小的内存分页,这项特性需要操作系统的支持
StringCache 默认开启 是否使用字符串缓存,开启则使用
F 调试参数
HeapDumpOnOutOfMemoryError 默认关闭 在发生内存溢出异常时是否生成堆转储快照,关闭则不生成
OnOutOfMemoryError 无默认值 当虚拟机抛出内存溢出异常时,执行指令的命令
OnError 无默认值 当虚拟机抛出ERROR异常时,执行指令的命令
PrintClassHistogram 默认关闭 使用[ctrl]-
NIO|AIO
2020-7-21 杨静
NIO 与 AIO','NIO1. NIO会将数据准备好后,再交由应用进行处理,数据的读取/写入过程依然在应用线程中完成,只是将等待的时间剥离到单独的线程中去。\r\n2. Selector可以复用,节省数据准备时间AIO\r\nAIO的特点:\r\n1. 读完了再通知我\r\n2. 不会加快IO,只是在读完后进行通知\r\n3. 使用回调函数,进行业务处理在NIO的基础上,看AIO,区别在于AIO是等读写过程完成后再去调用回调函数。\r\nNIO是同步非阻塞的\r\nAIO是异步非阻塞的\r\n由于NIO的读写过程依然在应用线程里完成,所以对于那些读写过程时间长的,NIO就不太适合。\r\n...