深圳福田java培训机构,网站软件开发编程语言有哪些
【java入门】java数据量较大如何处理
众所周知,java在处理数据量比较大的时候,加载到内存必然会导致内存溢出,而在一些数据处理中我们不得不去处理海量数据,在做数据处理中,我们常见的手段是分解,压缩,并行,临时文件等方法。
例如,我们要将数据库(不论是什么数据库)的数据导出到一个文件,一般是excel或文本格式的csv;对于excel来讲,对于poi和jxl的接口,你很多时候没有办法去控制内存什么时候向磁盘写入,很恶心,而且这些api在内存构造的对象大小将比数据原有的大小要大很多倍数,所以你不得不去拆excel,还好,poi开始意识到这个问题,在3.8.4的版本后,开始提供cache的行数,提供了sxssfworkbook的接口,可以设置在内存中的行数,不过可惜的是,他当你超过这个行数,每添加一行,它就将相对行数前面的一行写入磁盘(如你设置2000行的话,当你写第20001行的时候,他会将第壹行写入磁盘),其实这个时候他些的临时文件,以至于不消耗内存,不过这样你会发现,刷磁盘的频率会非常高,我们的确不想这样,因为我们想让他达到一个范围一次性将数据刷如磁盘。
比如一次刷1m之类的做法,可惜现在还没有这种api,很痛苦,我自己做过测试,通过写小的excel比使用目前提供刷磁盘的api来写大文件,效率要高一些,而且这样如果访问的人稍微多一些磁盘io可能会扛不住,因为io资源是非常有限的,所以还是拆文件才是上策;而当我们写csv,也就是文本类型的文件,我们很多时候是可以自己控制的,不过你不要用csv自己提供的api,也是不太可控的,csv本身就是文本文件,你按照文本格式写入即可被csv识别出来
【java分享】java程序员必读的5本书-深圳达内教育
以下推荐的几本书籍都是针对java有壹定基础的并且想提高java编程能力的伙伴儿。如果你想学习java基础,可以观看视频:深圳java培训
1.《深入理解java虛擬机:jvm高级特性与蕞佳实践》
如果你不满足于做一个只会写if…else…的java程序员,而是希望更进一步,那 么java虛擬机是你必学的一门技术。《深入理解java虛擬机:jvm高级特性与蕞佳实践》作者是周志明,这本书可以说是国内写得蕞好的有关java虚 拟机的书籍。
2.《java并发编程实战》
这本书常常被列入java程序员必读十大书籍排行榜前几位,里面对java方方面面的理论知识体系都讲解得非常清楚和透彻。
3.《java多线程编程核心技术》
这本书的作者高洪岩。想要学习多线程的朋友,这本书大力推荐的。本书关于线程安全、synchronized、 reentrant、timer等等都用详细的代码进行了讲解,而且每个大知识点下的多个小知识点都会详细讲解到,非常有实践价值。
有兴趣的朋友们,相信只要你们跟着这本书里面的代码敲、运行、思考,三步走,对于多线程的使用与理解壹定会进几大步。不过这本书的缺点就是对于java并发包下的一些类像countdownlatch、semphore、cyclicbarrier、future、 callable等都没有讲到,重点的cas和aqs也没有触及,重点类的实现原理也没有提。当然,这很深入了,在学习了这本书之后如果能再去对这些知识 进行一些学习、研究的话,你壹定会慢慢成长为一个很厉害的多线程高手。
4.《深入分析java web技术内幕》
这本书我用一个字概括就是:全。真的非常全,http、dns、cdn、静态化、jetty、tomcat、servlet、spring、 mybatis等等,什么都有,涉及知识面非常广,但又不像专门精讲某个知识点的书籍一样讲得非常深入,感觉这本书就是尽量去用短的篇幅讲清楚一些 java web使用到的技术的内幕,让读者对这些知识点的技术内幕有一个理性的认识。不过,尽管每个知识点的篇幅都不多,但是重点都基本讲到了,是一本让人真正有收获的书。
深圳市龙华区达内职业技能培训学校
15919897756