在做IE正方面的东西,用的是GATE框架,处理中文文本,中文处理不同于英文,因为中文最大的特点就是每个字之间没有间隔,而英文每个词之间都有间隔,GATE是谢菲尔德大学开发的开源框架,老外麽,主要处理人家的英文,因而用到中文就要首先进行分词。
不谈分词和GATE如何处理文本,谈一下经过GATE处理完后的文本的处理,由于是分割过的文本,因而有必要进行把分割后的文本进行合并,也就是去掉空格。
不能简单进行替换,因为会把文本开始的两个空格删除,这样看的很不舒服。因而到文本中进行全文的查找,找到一个空格就去点一个空格,ok 万事大吉。可是运行的程序多了,发现处理的越来越慢,把程序down掉,重新运行,速度就跟上来了。开始没怎么在意,以为是机子的问题呢,后来老大过来看成果,运行一下,半天没出结果。老大说这种速度是不行的,需要改良程序,打开任务管理器,发现分析一个几百k的文本,程序会耗掉20M的内存,JVM 来不及回收。老大给我说了一句很有道理的话:程序员要有程序员的修养。“周星驰说演员要有演员的修养,程序员也要有程序员的修养。”
程序员不应该写这样烂程序,要对自己负责。查找一下原因,原来在用StringBuilder 去除空格的时候,JAVA的处理是再复制一个原先的文本(去掉那个空格的文本),一篇文档中有数千个空格,那么这个文档要被复制数千遍,JVM 只能回收少部分,因而耗费内存过大。是因为调用的系统函数处理的原因,如何该进呢?
一个大卡车转弯是很难的,但小型车可以来个漂移转个弯,相当的easy 。用到程序中也一样,把文档分成若干小部分,一次处理一小部分的文档,那么ok ,复制也只是复制一小部分,这样JVM可以来得及回收,耗费的内存大大减小。
分享到:
相关推荐
在IT行业的深度探讨中,《程序员修养》这一主题涵盖了程序员个人成长、系统设计、代码质量以及持续学习等多个关键方面。从给定的文件信息来看,虽然原文的表达方式较为杂乱,但通过提炼与分析,我们可以总结出以下...
一忌:轻易言败,没有自信 <br> 没有永不放弃精神的程序员,只是一个有程序员名号的假程序员。一个真正的程序员,知道在程序设计的过程中,可能会遇到不计其数的困难和问题,可能有极多的挫折和失败,而成功只有...
这里我们为大家分享许鹏的源码阅读经验、C程序员的修养以及Spark和Storm源码走读博文。对许鹏的第一印象来源于其Bolg的粗读,最早时候更准确说应该是博文的粗略统计——1年零6个月完成55篇以上的博文,基本每篇都...
学习资料
"程序员的自我修养—链接、装载与库" 在计算机科学中,链接、装载和库是三个紧密相连的概念,它们都是程序员需要掌握的重要知识点。下面,我们将详细解释这些知识点。 一、链接 链接(Linking)是指将多个目标...
### 一个程序员的自我修养(编程修养) #### 1. 代码规范的重要性 - **背景**:在软件开发过程中,编写高质量、易于维护的代码至关重要。这不仅能够提高工作效率,还能减少错误的发生。 - **意义**:良好的编码...
《程序员的自我修养》是一本深受开发者喜爱的书籍,它深入浅出地讲解了软件开发中的许多关键概念。第十三章“MiniCRT实现代码”聚焦于C语言运行库(C Runtime Library,简称CRT),这是每个C程序运行的基础。C运行库...
### 程序员的自我修养——运行库 #### 入口函数与程序初始化 在传统的认知中,人们普遍认为程序是从`main`函数开始执行的。然而实际上,`main`函数并非真正的入口函数,而是在一系列初始化操作之后才被调用的一个...
Java程序员的基本修养.pdf Java程序员的基本修养.pdf
这是衡量一个程序员修养的重要标准。代码的可读性尤其重要,因为它是代码长期维护的基础。 **编程修养的具体实践**: - **版权和版本**:为代码添加版权和版本信息,方便跟踪代码的来源和历史。 - **缩进和格式**...
### 一个创业公司程序员的自我修养 #### 一、引言 随着互联网行业的快速发展,越来越多的人选择加入创业公司,特别是作为技术核心的程序员们。在这样的环境中,如何快速适应并成长成为了每个程序员面临的挑战。本文...
《疯狂 java 程序员的基本修养》归纳了java学习者、工作者在学习、工作过程中最欠缺的技术短板,本书把java编程中的重点、要点、难点、常见陷阱收集在一起,旨在帮助读者重点突破这些看似“司空见惯”的基本功。
代码的稳定性、可读性、规范性、易维护性和专业性是评判一个程序员修养高低的重要标准。 #### 编程修养的重要性 忽视编程修养的程序员,往往编写出缺乏注释、格式混乱、命名随意的代码,这不仅降低了代码的可读性...
《疯狂Java程序员的基本修养》随书光盘的内容涵盖了成为一名优秀Java程序员所需掌握的诸多关键知识点。这份资源旨在帮助开发者全面提升其在Java领域的专业素养,包括但不限于编程基础、面向对象设计原则、异常处理、...
5. **高质量的代码**:代码应当稳定、易读、规范、易维护且专业,这是程序员修养的直接体现。高质量的代码能够减少后期维护的成本,提高软件的可靠性。 书中作者指出,缺乏注释、不规范的缩进和命名,以及胡乱编写...
这是评判程序员修养的重要标准。 在C语言编程中,具体到编程修养的体现可以分为以下几个方面: - **版权和版本**:为每一个文件和函数添加版权和版本信息,以便追踪和管理。 - **缩进与格式**:保持一致的缩进、...
5. **代码质量**:高质量的代码是程序员修养的直接体现,包括稳定性、可读性、规范性、可维护性和专业性。良好的代码风格能提升代码的可读性和团队协作效率。 在C/C++编程中,以下具体实践有助于提升编程修养: - ...