- 博客(21)
- 资源 (3)
- 收藏
- 关注
原创 hadoop的选型
hadoop其实常用的有3个版本: Apache Hadoop CDH:Cloudera Distributed Hadoop HDP:Hortoworks Data Platform 他们的区别在于,Apache Hadoop它里面的框架只是解决了单个框架的问题,如果你要将hadoop、hive、hbase综合起来使用的话,会有很多jar包冲突的问题,不建...
2018-05-06 11:14:24
285
原创 JVM调优总结(八)-典型配置举例2
常见配置汇总 堆设置 -Xms:初始堆大小 -Xmx:最大堆大小 -XX:NewSize=n:设置年轻代大小 -XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4 -XX:SurvivorRatio=n:年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:3,表示Eden:Su...
2018-04-29 12:47:11
133
原创 JVM调优总结(七)-典型配置举例1
以下配置主要针对分代垃圾回收算法而言。 堆大小设置年轻代的设置很关键JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。在WindowsServer 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java...
2018-04-29 12:46:45
163
转载 JVM调优总结(六)-分代垃圾回收详述2
分代垃圾回收流程示意 选择合适的垃圾收集算法串行收集器 用单线程处理所有垃圾回收工作,因为无需多线程交互,所以效率比较高。但是,也无法使用多处理器的优势,所以此收集器适合单处理器机器。当然,此收集器也可以用在小数据量(100M左右)情况下的多处理器机器上。可以使用-XX:+UseSerialGC打开。 并行收集器 对年轻代进行并行垃圾回收,因此可以减少垃圾回收时间。一般在多线程多处理器机器...
2018-04-29 12:23:04
122
转载 JVM调优总结(五)-分代垃圾回收详述1
为什么要分代 分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。 在Java程序运行的过程中,会产生大量的对象,其中有些对象是与业务信息相关,比如Http请求中的Session对象、线程、Socket连接,这类对象跟业务直接挂钩,因此生命周期比较长。但是还有一些对象,主要是程序运行过程中生成的临时变量...
2018-04-29 12:14:21
123
原创 JVM调优总结(四)-垃圾回收面临的问题
如何区分垃圾 上面说到的“引用计数”法,通过统计控制生成对象和删除对象时的引用数来判断。垃圾回收程序收集计数为0的对象即可。但是这种方法无法解决循环引用。所以,后来实现的垃圾判断算法中,都是从程序运行的根节点出发,遍历整个对象引用,查找存活的对象。那么在这种方式的实现中,垃圾回收从哪儿开始的呢?即,从哪儿开始查找哪些对象是正在被当前系统使用的。上面分析的堆和栈的区别,其中栈是真正进行程序执行...
2018-04-29 12:12:03
111
原创 JVM调优总结(三)-基本垃圾回收算法
可以从不同的的角度去划分垃圾回收算法:按照基本回收策略分引用计数(Reference Counting):比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。 标记-清除(Mark-Sweep): 此算法执行分两阶段。第一阶段从引用根节点开始标记所有被引用的对象,第二阶段遍历整个堆,把...
2018-04-29 12:09:49
98
原创 BufferedOutputStream研究
在写文件的时候,调用write方法,有时候我们会像这样直接调用write方法.bos.write(buffer);同样我们看看底层: public void write(byte b[]) throws IOException { write(b, 0, b.length); }如果我们的缓冲区设置为了8192,但是实际的文件比如只有'123'3个字符.那么我们最后写...
2018-04-29 11:50:38
179
原创 BufferedInputStream研究
在看别人视屏和一些论坛时,发现很多人对于BufferedInputStream调用read(byte b[])方法,和FileInputStream的read(byte b[])方法比较时,都有如下的说辞:或者但其实我们看BufferedInputStream的源码,BufferedInputStream其实只有read(byte b[], int off, int len)和read()两个方法...
2018-04-29 09:57:39
669
1
转载 JVM调优总结(二)
Java对象的大小 基本数据的类型的大小是固定的,这里就不多说了。对于非基本类型的Java对象,其大小就值得商榷。 在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个没有任何属性的对象的大小。看下面语句:Objectob = new Object(); 这样在程序中完成了一个Java对象的生命,但是它所占的空间为:4byte+8byte。4byte是上面部...
2018-04-28 21:19:04
95
转载 JVM调优总结(一)
数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。基本类型包括:byte,short,int,long,char,float,double,Boolean,returnAddress引用类型包括:类类型...
2018-04-28 21:18:08
124
转载 JVM内存管理:深入Java内存区域与OOM
Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。 概述:对于从事C、C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的皇帝又是执行最基础工作的劳动人民——拥有每一个对象的“所有权”,又担负着每一个对象生命开始到终结的维护责任。 对于Java程序员来说,不需要在为每一个new操作去写配对的delete/free,不容易出现内...
2018-04-28 21:09:01
151
转载 慢慢琢磨JVM(二)
JVM相关问题问:堆和栈有什么区别答:堆是存放对象的,但是对象内的临时变量是存在栈内存中,如例子中的methodVar是在运行期存放到栈中的。栈是跟随线程的,有线程就有栈,堆是跟随JVM的,有JVM就有堆内存。 问:堆内存中到底存在着什么东西?答:对象,包括对象变量以及对象方法。 问:类变量和实例变量有什么区别?答:静态变量是类变量,非静态变量是实例变量,直白的说,有static修饰的变量是静态变...
2018-04-28 20:48:59
128
转载 慢慢琢磨JVM(一)
1 JVM简介JVM是我们Javaer的最基本功底了,刚开始学Java的时候,一般都是从“Hello World”开始的,然后会写个复杂点class,然后再找一些开源框架,比如Spring,Hibernate等等,再然后就开发企业级的应用,比如网站、企业内部应用、实时交易系统等等,直到某一天突然发现做的系统咋就这么慢呢,而且时不时还来个内存溢出什么的,今天是交易系统报了StackOverflowE...
2018-04-28 20:46:27
104
原创 JAVA面试资料整理(JavaWeb)
1、 理解javax.servlet.http.HttpSessionHttpSession是Java平台对session机制的实现规范,因为它仅仅是个接口,具体到每个web应用服务器的提供商,除了对规范支持之外,仍然会有一些规范里没有规定的细微差异。这里我们以BEA的Weblogic Server8.1作为例子来演示。首先,Weblogic Server提供了一系列的参数来控制它的HttpSes...
2018-04-28 16:07:54
208
原创 JAVA面试资料整理(java编程规范)
前言:编码规范对于开发人员来说是非常重要的,有以下几个原因: 1.一个软件的生命周期中,80%的花费在于维护 2.几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护 3.编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码 4.如果你将源码作为产品发布,就需要确任它是否被很好的打包并且清晰无误,一如你已构建的其它任何产品 5.为来自不同的项目组或个人提供标准的代码格式...
2018-04-28 15:43:05
718
原创 JAVA面试资料整理(db2相关)
1、 db2查看数据库参数的命令db2 get dbm cfg 2、 db2错误日志记在哪个文件diag.log 3、 db2 sqlcode (参考)-102 54002 字符串常量太长 -103 42604 无效数学文字 -104 42601 SQL语句中遇到非法符号 -113 42602 遇到无效字符 -119 42803 HAVING语句中的列的列表与GROUP BY语...
2018-04-28 15:35:02
716
原创 JAVA面试资料整理(WebSphere相关)
1、 was异常时需要查看哪些日志文件SystemErr.log : 系统出错日志,路径:{was_install}/profiles/{profilename}/logs/{servername}/SystemOut.log : 系统中所有活动的日志,路径:{was_install}/profiles/{profilename}/logs/{servername}/其他日志文件:startSer...
2018-04-28 15:27:57
772
原创 关于换行符的设定
背景: 关于“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别。在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的东东,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。于是,研制人员想了个办法...
2018-04-28 14:58:05
461
原创 java-io读写研究(一)
写在前面的话:本文主要是研究io读写底层的相关原理,由于本人不是计算机专业的程序员,所以编写本文的目的更多的是想将表面的java API和计算机底层的相关知识联系起来。如果只是想快速使用java API,不建议阅读本文. 我们以读取文件为例,开始我们的底层研究。我们现在随便打开的一个文件,其中包含的任意一段文字,其实都是字节序列。简单来说,比如我们的txt里面有“ABC”...
2018-04-27 14:20:15
182
原创 写给自己的博客
我一直是一个不太爱分享的人,上优快云更多也是浏览别人的博客,虽说看了几年优快云上大神写的博客,应该说肚子里应该有点料了,但是自己知自己事。每次上来,大概都是因为工作上遇到打击了,相当于打了一针鸡血,就上来看两天,然后就去玩游戏看电影去了。自己还下了一大推的pdf,虽说确实都看了,但自己从来也没有想过去复习一下,也没有想过怎么实际去用,这么去学习,可想而知,也就是骗骗自己,懂一些皮...
2018-04-20 17:02:57
332
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人