java效能分析可以使用JProfiler 词频统计处理的文件为WarAndPeace,大小3282KB约3.3MB,输出结果到文件 在程序本身内开始和结束分别加入时间戳,差值平均为480-490ms. 结果如下: 1.统计概要 2.CPU运行曲线:程序运行高峰可以达到21.44%,原因可能的添加不同单词到map中之前对字符处理导致的,第二高峰可能是按词频序排序导致 3.内存占用情况:char数组占用较大,其原因也是读入文件进行处理必须的.String和StringBuffer,StringBu…
需求概要 原需求 1.读取文件,文件内包可含英文字符,及常见标点,空格级换行符. 2.统计英文单词在本文件的出现次数 3.将统计结果排序 4.显示排序结果 新需求: 1.小文件输入. 为表明程序能跑 2.支持命令行输入英文作品的文件名 3. 支持命令行输入存储有英文作品文件的目录名,批量统计. 4. 从控制台读入英文单篇作品 程序输入: 1.控制台输入文本 2.英文文本文件 3.英文目录,目录下包含单个或多个英文文本文件 程序输出: 1.英文单词在本文件或控制台输入中的出现的次数,按出现次数排序…
需求概要 1.读取文件,文件内包可含英文字符,及常见标点,空格级换行符. 2.统计英文单词在本文件的出现次数 3.将统计结果排序 4.显示排序结果 分析 1.读取文件可使用BufferedReader类按行读取 2.针对读入行根据分隔符拆分出单词,使用java.util工具提供的Map记录单词和其出现次数的信息,HashMap和TreeMap均可,如果排序结果按字母序可选用TreeMap,本例选择用HashMap. 3.将Map中存储的键值对,存入List中,List中的元素为二维字符串数组,并…
<构建之法:现代软件工程>中第2章对效能分析进行了介绍,基于的工具是VSTS.由于我教授的学生中只有部分同学选修了C#,若采用书中例子讲解,学生可能理解起来比较困难.不过所有这些学生都学习过Python,因此我就基于书中对效能分析的介绍,结合Python效能分析工具的文档以及互联网上的博客,准备了一份关于效能分析的讲座,内容如下. 什么是效能分析? 这部分的讲解和书中类似.不过有两个问题: 为什么是效能不是效率,两者之间究竟有什么区别?这是学生提出的问题.个人觉得二者之间的差别不大. 效能分析…
前言 我不知道C#什么情况,不过C++里面,什么参数都不传时,argc=1,argv里面是当前程序名.当你传入dir时,argc=2,当你传入-e dir时,argc=3. 这个文章十分适合有一点C语言基础,然后想自己独立完成这个作业的童鞋.预计只有一点点C语言基础的童鞋只需要5个小时左右就能搞定~ 如果有帮助请点赞..还有哦..blog里肯定不能给出代码的是吧,blog里面不能!!!~ 分析词频统计这个题目,主要需要实现3个部分: 递归的查找一个文件夹下面符合规则的文件. 对于每一个合法文件,…
1) 博客开头给出自己的基本信息,格式建议如下: 学号2017****7128 姓名:肖文秀 词频统计及其效能分析仓库:https://gitee.com/aichenxi/word_frequency1 2) 程序分析,对程序中的四个函数做简要说明.要求附上每一段代码及对应的说明. process_file作用:打开文件,读取文件到缓冲区,关闭文件 # 读文件到缓冲区 def process_file(file_name): try: # 打开文件 file_read=open(file_na…
在邹老师的效能分析的建议下对上次写过的词频统计的程序进行分析改进. 效能分析:个人很浅显的认为就是程序的运行效率,代码的执行效率 1.VS 提供了自带的分析工具:performance tool (性能分析) 先看一下VS工具的自己介绍:诊断应该程序的性能问题.识别应用程序中最常见的高开销方法. performance tool包含四个方面的内容: 采用了CPU采样对词频统计程序进行了分析. 2.第一次分析结果 *发现String.Concat占用超过九成.找到对应的程序位置如下: 找到原因 S…
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/jiq408694711/article/details/34181439 前面已经在我的Ubuntu单机上面搭建好了伪分布模式的HBase环境,当中包含了Hadoop的执行环境. 详见我的这篇博文:http://blog.csdn.net/jiyiqinlovexx/article/details/29208703 我的目的主要是学习HBase,下一步打算学习的是将HBase作为Hadoop作业的…
本周根据杨老师的spec对英语文章词频统计进行了改进 1.需求分析: 对英文文章中的英文单词进行词频统计并按照有大到小的顺序输出, 2.算法思想: (1)构建一个类用于存放英文单词及其出现的次数 class WordAndNum{ public String word; public int num; } (2)从txt中获取字符串 BufferedReader in=new BufferedReader(new FileReader("D:\\test.txt")); String…
词频统计效能测试 使用性能分析工具分析结果如下 :…
Java split方法源码分析 public String[] split(CharSequence input [, int limit]) { int index = 0; // 指针 boolean matchLimited = limit > 0; // 是否限制匹配个数 ArrayList<String> matchList = new ArrayList<String>(); // 匹配结果队列 Matcher m = matcher(input); // 待切…
要想完成一个中文词频统计功能,首先必须使用一个中文分词器,这里使用的是中科院的.下载地址是http://ictclas.nlpir.org/downloads,由于本人电脑系统是win32位的,因此下载的是 NLPIR-JNI-发布包.zip,解压之后导入myeclipse,这里我并没有使用该项目自带的Test,而是根据该网站上提供的API进行开发.首先要做的是改写nlpir.properties中的dll_or_so_path属性,要改成项目中的NLPIR_JNI.dll的绝对路径.下面贴出我…
需求概要: 1.把程序迁移到web平台,通过用户上传TXT的方式接收文件. 2.用户直接输入要统计的文本,服务器返回结果 3.在页面上给出链接 (如果有封皮.作者.字数.页数等信息更佳)或表格,展示经典英文小说词频统计结果: 4.支持用户自定义单词分隔符: 5.词汇范围对比(额外项). 分析和设计: 1.创建web工程,利用servlet上传文件的技术实现用户向服务器上传文件.页面设置表单类型为enctype="multipart/form-data",创建文件上传文本框<inp…
测试项目 博客文章地址:[http://www.cnblogs.com/jx8zjs/p/5862269.html] 工程地址:https://coding.net/u/jx8zjs/p/wordCount/git ssh://git@git.coding.net:jx8zjs/wordCount.git 测试用例: 1. My English is very very pool 2.地址 [http://www.gutenberg.org/files/2600/2600-0.txt] 待测单元…
这个问题好多文章都讲过了,在此本人补充一下,加深理解,有不足之处请指教. 相信做java开发同学们都知道,调用方法传递参数时,不论是基本类还是引用类型, java都是值传递,不存在引用传递(称引用传递,只是便于理解,不过看到我下面的例子,就要注意了). 先看这里例子:预期输出结果是什么? public class Test4{    /**     * @param args     */    public static void main(String[] args)    {       …
本次将原本控制台工程迁移到了web工程上,依旧保留原本控制台的版本. 需求: 1.把程序迁移到web平台,通过用户上传TXT的方式接收文件: 2.在页面上给出链接 (如果有封皮.作者.字数.页数等信息更佳)或表格,展示经典英文小说词频统计结果: 3.支持用户自定义单词分隔符: 4.词汇范围对比(额外项). 实现: 1.迁移至web工程中,支持用户手动选择txt文件上传: 2.用户提交之后,会在后台运行词频统计函数,并且将统计结果的前10项打印到屏幕上: 3.统计结果文件Result.txt可以进…
本次改进是在原有功能需求及代码基础上额外做的修改,保证了原有的基础需求之外添加了新需求的功能. 功能: 1. 小文件输入——从控制台由用户输入到文件中,再对文件进行统计: 2.支持命令行输入英文作品的文件名: 3.支持命令行输入存储有英文作品文件的目录名,批量统计: 4.从控制台读入英文单篇作品,重定向输入流. 实现: 1.判断输入方式,如果从命令行传递参数则直接对文件进行统计:如果未传递参数,其方式同控制台相同,由用户从标准输入流输入到文件,再对文件进行词频统计.这里如果传入文件路径时会对其是…
github地址 :https://github.com/NSDie/personal-project 一.计划表 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 · Estimate · 估计这个任务需要多少时间 400 690 Development 开发 · Analysis · 需求分析 (包括学习新技术) 20 15 · Design Spec · 生成设计文档 20 0 · Design Re…
前面分析统计了金庸名著<倚天屠龙记>中人物按照出现次数并排序 https://www.cnblogs.com/becks/p/11421214.html 然后使用pyecharts,统计B站某视频弹幕内容,并绘制成词云显示 https://www.cnblogs.com/becks/p/14743080.html 这次,就用分析统计下<三国演义>这部书里各角色出现的频率,并绘制成词云显示,看看谁是绝对的主角吧 首先,我们需要把这部书里出现的人物都枚举出来,毕竟只统计角色信息,不需要…
昨日有个中文词频统计的需求, 百度一番后, 发现一大堆标题党文章, 讲的与内容严重不符, 这里就简单记录下自己实现的流程吧! 与英文单词的词频统计不同, 中文的难点在于如何分词, 不过好在有许多优秀的现成库供调用,这里就使用了 ansj_seg 插件. 首先添加依赖: 下载jar 访问 http://maven.nlpcn.org/org/ansj/ 最好下载最新版 ansj_seg/ 同时下载nlp-lang.jar 需要和ansj_seg 配套..配套关系可以看jar包中的maven依赖,一…
一.预计工程设计时间 明确要求: 15min: 查阅资料: 1h: 学习C++基础知识与特性: 4-5h: 主函数编写及输入输出部分: 0.5h: 文件的遍历: 1h: 编写两种模式的词频统计函数: 1.5h: 单词排序部分: 0.5h: 程序调试与测试: 1-2h: 程序优化:2h: 预计总共时间:12-13h: 二.实际工程完成时间 明确要求: 15min: 查阅资料: 1.5h: 学习C++基础知识与特性: 7h: 主函数编写及输入输出部分: 0.5h: 文件的遍历: 0.5h: 编写两种…
截止日期 2018年3月29日23:59 要求 1. 对源文件(*.txt,*.cpp,*.h,*.cs,*.html,*.js,*.java,*.py,*.php等,文件夹内的所有文件)统计字符数.单词数.行数.词频,统计结果以指定格式输出到默认文件中,以及其他扩展功能,并能够快速地处理多个文件. 2. 使用性能测试工具进行分析,找到性能的瓶颈并改进 3. 对代码进行质量分析,消除所有警告 http://msdn.microsoft.com/en-us/library/dd264897.asp…
词频统计: 对每个功能预计时间: 功能 预计(min) 实际(min) 数据流读入 20 40 正则规范字符串 15 20 排序 30 45 输出 20 30 其他   25 词频统计psp 日期 类型 任务 开始时间 结束时间 被打断时间 实际 计划 9.11 分析需求 看词频统计spec 10:30 10:50 5 15 10 9.12 具体设计 设计词频分析流程包括 (读入文件流.去掉文章中非单词.按词频value降序排列.输出) 10:00 11:00 10 50 40 9.12 具体编…
上了一天的课,现在终于可以静下来更新我的博客了.       越来越发现,写博客是一种享受.来看看这次小林老师的“作战任务”.                词频统计 单词: 包含有4个或4个以上的字母 单词由分隔符分开 如果一个字符串包含_非_字母数字,则不是单词 单词大小写不敏感,例如 “file”.“FILE”和“File”可以看作同一个单词 单词必须是字母开头,“file123”是单词,“123file”不是单词                 简单理一下思路:            …
原需求 1.读取文件,文件内包可含英文字符,及常见标点,空格级换行符. 2.统计英文单词在本文件的出现次数 3.将统计结果排序 4.显示排序结果 新需求: 1.小文件输入. 为表明程序能跑 2.支持命令行输入英文作品的文件名 3. 支持命令行输入存储有英文作品文件的目录名,批量统计 4. 从控制台读入英文单篇作品,重定向输出 代码实现: 在原代码的基础上稍做了修改,使之可以批量读取文件夹下的所有文件,所以加了一个mode来判断是单个文件输入还是文件夹输入,来不及整理程序,所以现在程序有点丑.这次…
解决问题的方案 Hadoop上的中文分词与词频统计实践 首先来推荐相关材料:http://xiaoxia.org/2011/12/18/map-reduce-program-of-rmm-word-count-on-hadoop/.小虾的这个统计武侠小说人名热度的段子很有意思,照虎画猫来实践一下. 与其不同的地方有: 0)其使用Hadoop Streaming,这里使用MapReduce框架. 1)不同的中文分词方法,这里使用IKAnalyzer,主页在http://code.google.co…
自定义Mapper实现 import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Mapper; import java.io.IOException; /** * KEYIN: Map任务读取数据的key类型,offset,是每行数据起始位置的偏移量,…
1.词频统计 (1)词频分析是对文章中重要词汇出现的次数进行统计与分析,是文本 挖掘的重要手段.它是文献计量学中传统的和具有代表性的一种内容分析方法,基本原理是通过词出现频次多少的变化,来确定热点及其变化趋势. (2)安装jieba库 安装说明代码对 Python 2/3 均兼容 全自动安装:easy_install jieba 或者 pip install jieba / pip3 install jieba半自动安装:先下载 http://pypi.python.org/pypi/jieba…
一.前言 作业具体要求见[https://edu.cnblogs.com/campus/nenu/SWE2017FALL/homework/922].一开始用JAVA写了个词频统计,然而没想出输入格式怎么解决,于9/17日晚将JAVA程序改成用C#程序写.9/17晚上八点~9/18下午四点前做的工作,主要都是做技术原型,分析题中哪些是自己不确定或不会完成的地方.到了下午五点左右就开始真正完成满足题目要求的各项功能.代码地址[https://git.coding.net/Dawnfox/wf.gi…
c# 使用数组进行词频统计 1.先考虑要是使用的数据结构: Array在在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单,但是数组存在一些不足的地方.在数组的两个数据间插入数据是很麻烦的,而且在声明数组的时候必须指定数组的长度,数组的长度过长,会造成内存浪费,过段会造成数据溢出的错误.如果在声明数组时我们不清楚数组的长度,就会变得很麻烦. ArrayList对象的大小是按照其中存储的数据来动态扩充与收缩的.所以,在声明ArrayList对象时并不需要指定它的长度.但是Ar…