- 浏览: 59759 次
- 性别:
- 来自: 成都
最新评论
-
lg70124752:
确实哈,现在真的不好找哦,看来JAVAEE真的没有什么竟争力, ...
JAVA四年值好多 -
rkikbs:
貌似四年好像是个砍似的。我也有同感。平时工作中,最多的不就是增 ...
JAVA四年值好多 -
qinq4312:
...
RedHat RHEL 6.1安装gcc的方法
文章列表
ERROR: ORA-01034:ORACLE not available
ORA-27101:shared memory realm does not exi
1 先看oracle的监听和oracle的服务是否都启动了。启动oracle监听:
cmd的命令行窗口下,输入lsnrctl start,回车即启动监听。
2 查看oracle的sid叫什么,比如创建数据库的时候,实例名叫“abc”,那么先手工设置一下oralce的sid,cmd命令窗口中,set ORACLE_SID=abc
3 再输入sqlplus /nolog,回车
再输入 conn / as sysdba;回车
4 再 ...
Installing Oracle 11.2.0.3 on CentOS 6.3 on VMWare Workstation 8.
Posted on November 11, 2012 by oraclejedi • Posted in ASM, Linux, Oracle, VMware • Tagged 11.2.0.3, CentOS 6, CentOS 6.3, install, raw disk, RHEL 6, udev, udev rules • 6 Comments
In this blog post, we are going to install Oracle 11 ...
hbase配置、运行错误总结
- 博客分类:
- hbase
一、执行$ hbase hbck 命令时,出现以下提示:
Invalid maximum heap size: -Xmx4096m
The specified size exceeds the maximum representable size.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
原因:jvm设置的内存过大,减小配置文件hbase-env.sh内的设置即可。例如:
export HBASE_HEAPSIZE= ...
第十二章 java内存模型与线程
1、主内存与工作内存
java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。此处的变量与java编程中所主的变量略有区别, ...
第十一章 晚期(运行期)优化
1、HotSpot同时包含解释器和编译器,HotSpot中内置了两个即时编译器Client Compiler 和 Server Compiler或简称C1和C2编译器(也叫Opto编译器)。用户可以使用-client或-server参数支强制指定虚拟机运行在Client模式还是Server模式。解释器与编译器搭配使用的方式在虚拟机中被称为“混合模式”(Mixed Mode),用户可以使用-Xint强制虚拟机运行于“解释模式”(Interpreted Mode),这时候编译器完全不介入工作,全部代码都使用解释方式执行。另外也可以使用参数-Xcomp强制虚拟机运行于“编 ...
第十章 早期(编译期)优化
1、概述
java语言的“编译期”是一段“不确定”的操作过程,因为它可能是指一个前端编译器(其实叫“编译器的前端”更准确一些)把*.java转变成*.class文件的过程;也可能是批虚拟机的后端运行期编译器(JIT编译器)把字节码转变成机器码的过程;还可能是指使用静态提前编译器(AOT编译器,Ahead Of Time Compiler)直接把*.java文件编译成本地机器代码的过程。
2、由于编译器进行了常量折叠,“a=1+2”比起直接定义“a=3”,并一会增加程序的运算量。
3、方法重载要求方法具备不再的特征签名,返回值并不包含在方法的特征签名之中,所以返回值不参 ...
第八章 虚拟机字节码执行引擎
1、栈帧(Stack Frame)是用于支持虚拟机进行方法调用和方法插的数据结构,它是虚拟机运行时数据区中的虚拟机栈(Virtual Machine Stack)的栈元素。栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址等信息。
2、Java虚拟机里面调用字节码指令的方法:
invokestatic:调用静态方法。
invokespecial:调用实例构造器<init>方法、私有方法和父类方法。
invokevirtual:调用所有的虚方法。
只有被invokstatic和invokespecial指令调用的方法,都可以在解析阶段确定唯一的调用版本,符合 ...
第七章 虚拟机类加载机制
1、类加载的时机
类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括了:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)七个阶段。其中验证、准备和解析三个部分统称为连接(Linking)。
4种必须对类进行“初始化”的情景;
1)遇到new、getstatic、putstatic或invokestatic这4笨拙字节码指令时,如果没有进行过初始化,则需要先触发其初始化。
2)使用java.lang ...
第五章 调优案例分析与实践
1、-XX:+PrintGCTimeStamps 打印GC停顿时间
第六章 类文件结构
1、Class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在Class文件之中,中间没有添加任何分配符,这使得整个Class文件中存储的内容几乎全部都是程序运行的必要数据,没有空隙存在。当遇到需要占用8位字节以上空间的数据项时,则会按照高位在前的方式分割成若干个8位字节进行存储。
Class文件只有两种数据类型:无符号数和表。无符号数属于基本的数据类型,以u1,u2,u4,u8来分别代表1个字节、2个字节、4个字节和8个字节的无符号数,无符号数可以用 ...
第四章
1、jps:虚拟机进程状况工具
-q:只输出LVMID,省略主类的名称
-m:输出虚拟机进程启动时传递给主类main()函数的参数
-l:输出主类的全名,如果进程执行的是Jar包,输出Jar路径
-v:输出虚拟机进程启动时JVM参数
2、jstat:虚拟机统 ...
UseSerialGC : 虚拟机运行在Client模式下的默认值,打开此形状后,使用Serial + Serial Old 的收集器组合进行内存回收。
UseParNewGC : 虚拟机运行在Client模式下的默认值,打开此开关后,使用Serial + Serial Old的收集器组合进行内存回收
UseParN ...
第三章
1、GC判断回收的算法
a:引用计数算法
给对像中添加一个引用计数器,每当一个地方引用它时,计数器值就加1;当引用失效时,计数器就减1;任何时刻计数器都为0的对象就是不可能再被使用的。(缺点:很难解决对象之 ...
《深入理解java虚拟机:JVM高级特性与最佳实践》周志明 一书的学习备忘记录
第一章、第二章
1、JIT(Just In Time)编译器,jdk1.2开始内置。
2、jdk1.6在64位的机器上要比在32位的机器上额外增加10%~30%的内存消耗,可以在JDK1.6 Update 14 之后增加 -XX:+UseCompressedOops
3、将堆的最小值-Xms参数与最大值-Xmx参数设置为一样即可避免自动扩展。
4、通过参数-XX:+HeapDumpOnOutOfMemoryError可以让虚拟机在出现内存溢出异常时dump出当前的内存堆转储快照。
5、-Xss参数设定栈容量,-Xos ...
JAVA_OPTS="$JAVA_OPTS -Xms768m -Xmx768m -server -XX:MaxNewSize=224m -XX:NewSize=224m -XX:SurvivorRatio=5 -XX:MaxTenuringThreshold=60",
其中的-Xms, -Xmx是最大最小堆内存,设置成一样是禁止它做自动扩展。 -server这个的含义比较广,主要有两点是和-client不同的,一是JIT的编译器不同(搞忘记是不是这个名字了,兄弟们有空自己查下),一个是默认的GC策略不同,当然还有很多,就不一一列举了。-XX:MaxNewSize和-XX:Ne ...
ClassNotFoundException 和 NoClassDefError 两个异常,是在 ClassLoader 加载
类出现问题时常常碰到的两个异常,这两个异常的区别在于前者
ClassNotFoundException 是指通过 ClassLoader 加载不到所需 要的类,而 后者
NoClassDefError 是指通过 ClassLoader 已经找到了所需要的类,但找不到该类所依
赖的其他类