文章分类 -  java基础

[JDK核心API教程]java.lang 包
摘要:一、Java API 简介 Java 的核心 API 是非常庞大的,这给开发者来说带来了很大的方便。所谓的 API 就是一些已经写好、可直接调用的类库。Java 里有非常庞大的 API,其中有一些类库是我们必须得掌握的,只有熟练掌握了 Java 一些核心的 API,我们才能更好的使用 Java。 & 阅读全文

posted @ 2018-05-29 10:58 腾飞的鹰 阅读(249) 评论(0) 推荐(0)

linux下JVM参数-XX:+HeapDumpOnOutOfMemoryError 设置
摘要:1、配置方法 在JAVA_OPTIONS变量中增加 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${目录}。 例如:export JAVA_OPTS="-Xms2048M -Xmx2048M -Xmn682M -XX:MaxPermSize=96 阅读全文

posted @ 2018-05-29 10:31 腾飞的鹰 阅读(4941) 评论(0) 推荐(0)

JVM系列:jinfo命令
摘要:在JDK bundle中隐藏着一个精悍的小工具——jinfo。作为一个命令行工具,jinfo用于收集正在运行的Java进程的配置信息。jinfo吸引眼球的地方在于,它能通过-flag选项动态修改指定的Java进程中的某些JVM flag的值。虽然这样的flag数量有限,但它们偶尔能够帮助到你。 1、 阅读全文

posted @ 2018-05-29 10:06 腾飞的鹰 阅读(630) 评论(0) 推荐(0)

JVM系列:jmap命令(Java Memory Map)
摘要:1、介绍 打印出某个java进程(使用pid)内存内的所有‘对象’的情况(如:产生那些对象,及其数量)。 可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。使用方法 jmap -histo pid。如果连用SHELL jmap -histo pid>a.log可以将其保 阅读全文

posted @ 2018-05-29 09:35 腾飞的鹰 阅读(219) 评论(0) 推荐(0)

JVM系列:gc参数设置与分析
摘要:原文: http://hi.baidu.com/i1see1you/item/295c1dc81f91ab55bdef69e5 gc日志分析工具: http://qa.blog.163.com/blog/static/19014700220128199421589/ Java GC 日志图解: ht 阅读全文

posted @ 2018-05-28 18:34 腾飞的鹰 阅读(1087) 评论(0) 推荐(0)

jvm的GC日志分析
摘要:JVM的GC日志的主要参数包括如下几个: -XX:+PrintGC 输出GC日志 -XX:+PrintGCDetails 输出GC的详细日志 -XX:+PrintGCTimeStamps 输出GC的时间戳(以基准时间的形式) -XX:+PrintGCDateStamps 输出GC的时间戳(以日期的形 阅读全文

posted @ 2018-05-28 18:29 腾飞的鹰 阅读(2078) 评论(0) 推荐(0)

JVM系列:使用visualvm 远程监控 JVM
摘要:1. 测试环境 Red Hat 4.8.5-11 (查看操作系统命令: cat /proc/version) 2. 在服务器上安装 jdk 3. 在服务器上配置 jstatd 的 security policy 文件 jstatd是一个监控 JVM 从创建到销毁过程中资源占用情况并提供远程监控接口的 阅读全文

posted @ 2018-05-28 17:03 腾飞的鹰 阅读(210) 评论(0) 推荐(0)

jhat命令(Java Heap Analyse Tool)
摘要:Jhat用于对JAVA heap进行离线分析的工具,他可以对不同虚拟机中导出的heap信息文件进行分析,如LINUX上导出的文件可以拿到WINDOWS上进行分析,可以查找诸如内存方面的问题,使用方式可以查看这篇文章: http://blog.csdn.net/gtuu0123/archive/201 阅读全文

posted @ 2018-05-28 16:46 腾飞的鹰 阅读(65) 评论(0) 推荐(0)

jps命令(Java Virtual Machine Process Status Tool)
摘要:1、介绍 用来查看基于HotSpot的JVM里面中,所有具有访问权限的Java进程的具体状态, 包括进程ID,进程启动的路径及启动参数等等,与unix上的ps类似,只不过jps是用来显示java进程,可以把jps理解为ps的一个子集。 使用jps时,如果没有指定hostid,它只会显示本地环境中所有 阅读全文

posted @ 2018-05-28 16:43 腾飞的鹰 阅读(1646) 评论(0) 推荐(0)

JVM系列:jstat命令(Java Virtual Machine Statistics Monitoring Tool)
摘要:1、介绍 Jstat用于监控基于HotSpot的JVM,对其堆的使用情况进行实时的命令行的统计,使用jstat我们可以对指定的JVM做如下监控: - 类的加载及卸载情况 - 查看新生代、老生代及持久代的容量及使用情况 - 查看新生代、老生代及持久代的垃圾收集情况,包括垃圾回收的次数及垃圾回收所占用的 阅读全文

posted @ 2018-05-28 16:00 腾飞的鹰 阅读(631) 评论(0) 推荐(0)

jvm基础学习
摘要:1、jvm虚拟机内存模型 程序计数器:是线程的私有空间,每个线程都有一个独立的程序计数器,用于记录下一指令。 java虚拟机栈:和线程创建的时候一起创建的,也是线程的私有空间,它保存了线程的局部变量、执行结果、调用和返回的情况。 在虚拟机栈中会返回栈溢出的错误,如果一个线程的栈太深会返回此错误。 如 阅读全文

posted @ 2018-05-28 13:41 腾飞的鹰 阅读(159) 评论(0) 推荐(0)

Runtime类中的freeMemory,totalMemory,maxMemory区别
摘要:这3个方法可以获取虚拟机中的内存分配情况,所以也反映一个程序的内存情况 1.maxMemory()这个方法返回的是java虚拟机(这个进程)能构从操纵系统那里挖到的最大的内存 2.totalMemory:程序运行的过程中,内存总是慢慢的从操纵系统那里挖的,基本上是用多少挖多少,直 挖到maxMemory()为止,所以totalMemory()是慢慢增大的 3.freeMemory:挖过来而... 阅读全文

posted @ 2018-05-24 13:58 腾飞的鹰 阅读(1441) 评论(0) 推荐(0)

JAVA启动参数大全之三:非Stable参数
摘要:前面我们提到用-XX作为前缀的参数列表在jvm中可能是不健壮的,SUN也不推荐使用,后续可能会在没有通知的情况下就直接取消了;但是由于这些参数中的确有很多是对我们很有用的,比如我们经常会见到的-XX:PermSize、-XX:MaxPermSize等等; 下面我们将就Java HotSpot VM中 阅读全文

posted @ 2018-05-24 11:26 腾飞的鹰 阅读(269) 评论(0) 推荐(0)

JAVA启动参数大全之二:非标准参数
摘要:非标准参数又称为扩展参数,其列表如下: -Xint 设置jvm以解释模式运行,所有的字节码将被直接执行,而不会编译成本地码。 -Xbatch 关闭后台代码编译,强制在前台编译,编译完成之后才能进行代码执行; 默认情况下,jvm在后台进行编译,若没有编译完成,则前台运行代码时以解释模式运行。 -Xbootclasspath:bootclasspath 让jvm从指定路径(可以是分号... 阅读全文

posted @ 2018-05-24 11:23 腾飞的鹰 阅读(487) 评论(0) 推荐(0)

JAVA启动参数大全之一:标准参数
摘要:前段时间系统升级时遭遇了OOM,具体解决过程见 遭遇OutOfMemoryError; 为了巩固对于java启动各项参数的认识,决定将所有参数列举出来,并一一解释,以便后查; java启动参数共分为三类; 其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容; 其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容; ... 阅读全文

posted @ 2018-05-24 11:22 腾飞的鹰 阅读(1774) 评论(0) 推荐(0)

JSON字符串转换为Map
摘要:本文是利用阿里巴巴封装的FastJSON来转换json字符串的。例子如下: 阅读全文

posted @ 2018-05-16 11:23 腾飞的鹰 阅读(167) 评论(0) 推荐(0)

java处理json的工具类(map和json的之间的转换)
摘要:Json字符串示例: 遇到这样的格式的Json字符串,我们可以将其解析成一个bean,同时我们也可以直接将其解析为Map。 解析成Map比较简单,我们直接来看看解析方法。 第一种方法: 说明: 这种方法比较暴力直接,我们直接将得到的JSONObject赋值给map即可,连强制类型转换都不需要。(个人 阅读全文

posted @ 2018-05-16 11:20 腾飞的鹰 阅读(791) 评论(0) 推荐(0)

ClassLoader.getSystemResourceAsStream和X.class.getResourceAsStream的区别
摘要:1、StreamTest.class.getResourceAsStream()在没有写“/”时默认获取当前类文件的资源。 2、ClassLoader.getSystemResourceAsStream()在没有写“/”时获取的是根目录下的资源文件。 阅读全文

posted @ 2018-04-17 10:50 腾飞的鹰 阅读(814) 评论(0) 推荐(0)

java 泛型详解
摘要:1. 概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。 什么是泛型?为什么要使用泛型? 泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法 阅读全文

posted @ 2018-04-03 13:56 腾飞的鹰 阅读(493) 评论(0) 推荐(0)

Java四种引用包括强引用,软引用,弱引用,虚引用
摘要:1.强引用(StrongReference) 强引用就是指在程序代码之中普遍存在的,比如下面这段代码中的object和str都是强引用: 只要某个对象有强引用与之关联,JVM必定不会回收这个对象,即使在内存不足的情况下,JVM宁愿抛出OutOfMemory错误也不会回收这种对象。比如下面这段代码: 阅读全文

posted @ 2018-04-03 10:32 腾飞的鹰 阅读(205) 评论(0) 推荐(0)

导航