- 博客(10)
- 资源 (40)
- 收藏
- 关注
原创 Cygwin 未找到命令
Cygwin 下输入 ssh-host-config 显示未找到命令。原因是,在安装 Cygwin 没有选择与 SSH 相关的插件。解决办法重新安装 setup.exe在Select Packages界面里,Category展开net,选择如下openssh和openssl两项如果要在Eclipe上编译Hadoop,需要安装Cat
2017-10-30 18:24:56 9192
原创 GC详解及Minor GC和Full GC触发条件总结
GC,即就是Java垃圾回收机制。目前主流的JVM(HotSpot)采用的是分代收集算法。与C++不同的是,Java采用的是类似于树形结构的可达性分析法来判断对象是否还存在引用。即:从gcroot开始,把所有可以搜索得到的对象标记为存活对象。GC机制要准确理解Java的垃圾回收机制,就要从:“什么时候”,“对什么东西”,“做了什么”三个方面来具体分析。第一:“什么时候”即就是GC触发的
2017-10-25 16:06:41 4314 2
原创 JAVA POI HSSFWorkbook 导出Excel表格超大数据量解决方案
Java实现导出excel表格功能,大部分都会使用apache poi,apache poi API 地址POI之前的版本不支持大数据量处理,如果数据过多则经常报OOM错误,有时候调整JVM大小效果也不是太好。3.8版本的POI新出来了SXSSFWorkbook,可以支持大数据量的操作,只是SXSSFWorkbook只支持.xlsx格式,不支持.xls格式。3.8版本的POI对ex
2017-10-25 15:43:28 10171
原创 JVM 年轻代 老年代 持久代 GC
虚拟机中的共划分为三个代:年轻代(Young Generation)、年老点(OldGeneration)和持久代(Permanent Generation)。其中持久代主要存放的是Java类的类信息,与垃圾收集要收集的Java对象关系不大。年轻代和年老代的划分是对垃圾收集影响比较大的。年轻代:所有新生成的对象首先都是放在年轻代的。年轻代的目标就是尽可能快速的收集掉那些生命周期
2017-10-23 20:50:30 457
原创 JVM 堆内存设置原理
堆内存设置原理JVM堆内存分为2块:Permanent Space 和 Heap Space。Permanent 即 持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。Heap = { Old + NEW = {Eden, from, to} },Old 即 年老代(Old Generation),Ne
2017-10-23 20:49:03 297
原创 JVM(java 虚拟机)内存设置
一、设置JVM内存设置1. 设置JVM内存的参数有四个:-Xmx Java Heap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定;-Xms Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;-Xmn Java Heap Young区大小,不熟悉最好保留默认值;-
2017-10-23 20:45:46 691
原创 线程、多线程与线程池总结
线程:进程中负责程序执行的执行单元。一个进程中至少有一个线程。多线程:解决多任务同时执行的需求,合理使用CPU资源。多线程的运行是根据CPU切换完成,如何切换由CPU决定,因此多线程运行具有不确定性。线程池:基本思想还是一种对象池的思想,开辟一块内存空间,里面存放了众多(未死亡)的线程,池中线程执行调度由池管理器来处理。当有线程任务时,从池中取一个,执行完成后线程对象归池,这样可以避免反复创建线程对象所带来的性能开销,节省了系统的资源。http://www.jianshu.com/p/b8197dd2
2017-10-23 20:28:07 300
原创 Java 的线程池 ExecutorService 简单介绍
做java的开发,线程是经常用的。最简单的使用大家都应该清楚,如继承Thread类、实现Runnable接口。这样,是没有问题。但是当我们需要频繁的处理一些任务时候,就要多次创建线程和处理线程关闭等回收工作。 这样比较麻烦。并且如果同时不限制线程个数,很多个任务一起执行,对性能有一定影响。所以,java提供了Executor线程池来处理并发任务,并且可以支持4种模式: 1.new Cach...
2017-10-23 20:16:38 535
转载 我是一个线程
线程状态有,就绪、等待、运行。就绪是等着别人执行,等待是等待数据库执行;单独启动的线程是会被 Kill 掉的,而线程池之中的线程不会,只有在重启时才会消亡;多个线程访问共享资源,某些情况需要使用锁机制的;线程占用 CPU 太大太久产生死锁,操作系统根据算法杀死某个线程。
2017-10-23 11:36:22 325
转载 在你点击了 Google 搜索按钮之后到看到结果这不足1秒钟的时间内,它做了什么?
在你点击了 Google 搜索按钮之后到看到结果这不足1秒钟的时间内,它做了什么?互联网上的内容如何被谷歌找到?什么样的内容会被收录?想必大家一定都想知道谷歌搜索按钮背后的秘密吧。别急,开始之前我们先来看一下神秘的谷歌数据中心……谷歌的数据中心高度机密,我们所能得到的信息十分有限。我们先来看几个数据:谷歌在美国本土的数据中心有19个以上,另有17个分布在美国以外的世界各地;每个数据中心有5
2017-10-23 10:28:23 4448 2
apache-ant-1.10.1-src
2018-01-24
新浪微博-redis实践
2017-12-07
Maven最佳实践
2017-12-06
paoding-rose
2017-12-06
MVC设计模式 - 发展进程
2017-04-09
WebServiceSample
2017-03-13
mybatis传智播客课堂笔记
2016-07-28
hibernate 5.0.9.Final
2016-06-02
MyBatis 基本配置文件
2016-06-01
log4j.properties
2016-06-01
mysql-connector-java-5.0.7.rar
2016-06-01
struts-2.5-all
2016-06-01
TortoiseSVN-1.9.3.27038-x64-svn-1.9.3
2016-06-01
Maven实战_.7z
2016-05-30
struts-2.3.16.1
2016-05-29
mybatis-3-mybatis-3.4.0
2016-05-27
CSS权威指南
2016-05-26
精通CSS高级Web标准解决方案
2016-05-26
架构之美(清晰中文完整版)
2016-05-17
apache-tomcat-8.5.0-windows-x64.zip
2016-05-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人