首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
java高效率计算词频
2024-08-29
效能分析——词频统计的java实现方法的第一次改进
java效能分析可以使用JProfiler 词频统计处理的文件为WarAndPeace,大小3282KB约3.3MB,输出结果到文件 在程序本身内开始和结束分别加入时间戳,差值平均为480-490ms. 结果如下: 1.统计概要 2.CPU运行曲线:程序运行高峰可以达到21.44%,原因可能的添加不同单词到map中之前对字符处理导致的,第二高峰可能是按词频序排序导致 3.内存占用情况:char数组占用较大,其原因也是读入文件进行处理必须的.String和StringBuffer,StringBu
Java精确计算小数
Java在计算浮点数的时候,由于二进制无法精确表示0.1的值(就好比十进制无法精确表示1/3一样),所以一般会对小数格式化处理. 但是如果涉及到金钱的项目,一点点误差都不能有,必须使用精确运算的时候,就可以使用BigDecimal方法计算. 但是在使用中还需要注意一个问题: //直接使用double类型数据进行运算 System.out.println(0.05+0.01); //使用BigDecimal的double参数的构造器 BigDecimal bd1 = new BigDecimal(
Java精确计算
Java精确计算 如果我们编译运行下面这个程序会看到什么? public class Test{ public static void main(String args[]){ System.out.println(0.05+0.01); System.out.println(1.0-0.42); System.out.println(4.015*100); System.out.println(123.3/100); } } 你没有看错!结果确实是 0.060000000000000005 0
java对数计算
Java对数函数的计算方法非常有问题,然而在API中却有惊人的误差.但是假如运用了以下的方法,用Java处理数字所碰到的小麻烦就可以轻而易举的解决了. Sun的J2SE提供了一个单一的Java对数方法——double java.lang.Math.log(double),这很轻易使用.请看如下代码: double x = Math.log(5); 等价于:x = ln 5 或 x = loge5,即以e为底的自然对数. 假如你想使用Java来计算机对数,算底不同的对数又该如何做呢?很遗憾,我们还
java精确计算、精确计算工具类
java精确计算 package org.aisino.erp.webservice.dzfp.util; import java.math.BigDecimal; public class MathExtend { //默认除法运算精度 private static final int DEFAULT_DIV_SCALE = 2; /** * 提供精确的加法运算. * @param v1 * @param v2 * @return 两个参数的和 */ public static double
Spark Java API 计算 Levenshtein 距离
Spark Java API 计算 Levenshtein 距离 在上一篇文章中,完成了Spark开发环境的搭建,最终的目标是对用户昵称信息做聚类分析,找出违规的昵称.聚类分析需要一个距离,用来衡量两个昵称之间的相似度.这里采用levenshtein距离.现在就来开始第一个小目标,用Spark JAVA API 计算字符串之间的Levenshtein距离. 1. 数据准备 样本数据如下: {"name":"Michael", "nick":&qu
java为啥计算时间从1970年1月1日开始
http://www.myexception.cn/program/1494616.html —————————————————————————————————————————————————————————— java为什么计算时间从1970年1月1日开始 今天在看Python API 时,看到 time 模块 : The epoch is the point where the time starts. On January 1st of that year, at 0 hours,the
java精确计算工具类
java精确计算工具类 import java.math.BigDecimal; import java.math.RoundingMode; import java.math.BigDecimal; import java.text.DecimalFormat; import org.springframework.stereotype.Component; /** * 工具类 - 运算 */ @Component public class ArithUtils { // 默认除法运算精度 p
java的英文词频算法
java实现的英文词频算法,通常是采用单词树来实现的.使用java实现词频统计,为了统计词汇出现频率,最简单的做法是再建立一个map,其中,key是单词,value代表次数.将文章从头读到尾,读到一个单词就到Map里查一下,如果查到了则次数加一,没查到则放到map中.这样虽然代码简单,但却达不到想要的效果,通过性能的测试看出性能却非常差.从时间复杂度来说map时间复杂度是0(logn),如果拿来高频词需要进行排序,即使在结构优化,但最后还是不能很大的性能提高.
java 大数计算
这几天做了几道用大数的题,发现java来做大数运算十分方便.对acmer来说是十分实用的 1.valueOf(parament); 将参数转换为制定的类型 比如 int a=3; BigInteger b=BigInteger.valueOf(a); 则b=3; String s=”12345”; BigInteger c=BigInteger.valueOf(s); 则c=12345: 2.add(); 大整数相加 BigInteger a=new BigInteger(“23”); BigI
【转】Java日期计算之Joda-Time
Joda-Time提供了一组Java类包用于处理包括ISO8601标准在内的date和time.可以利用它把JDK Date和Calendar类完全替换掉,而且仍然能够提供很好的集成. http://joda-time.sourceforge.net/ 版本:joda-time-2.1.jar 1.时间类得作成 //方法一:取系统点间 DateTime dt1 = new DateTime(); //方法二:通过java.util.Date对象生成 DateTime dt2 = new Date
java中计算两个日期之间天数的程序设计。
//用java编写出一个以下方法计算两个日期之间天数的程序设计. import java.util.regex.Matcher; import java.util.regex.Pattern; public class Demo4 { public static void main(String[] args) { try { System.out.println(相差天数("2016-11-30", "2016-5-31")); } catch (Exceptio
java 金额计算,商业计算 double不精确问题 BigDecimal,Double保留两位小数方法
解决办法================== http://blog.javaxxz.com/?p=763 一提到Java里面的商业计算,我们都知道不能用float和double,因为他们无法 进行精确计算.但是Java的设计者给编程人员提供了一个很有用的类BigDecimal,他可以完善float和double类无法进行精确计算的缺 憾.BigDecimal类位于java.maths类包下.首先我们来看下如何构造一个BigDecimal对象.它的构造函数很多,我挑最常用的两个 来演示一下:一个
Java日期计算之Joda-Time
http://rensanning.iteye.com/blog/1546652 Joda-Time提供了一组Java类包用于处理包括ISO8601标准在内的date和time.可以利用它把JDK Date和Calendar类完全替换掉,而且仍然能够提供很好的集成. http://joda-time.sourceforge.net/ 版本:joda-time-2.1.jar 1.时间类得作成 //方法一:取系统点间 DateTime dt1 = new DateTime(); //方法二:通过j
java中计算两个时间差
java计算时间差及比较时间大小 比如:现在是2004-03-26 13:31:40 过去是:2004-01-02 11:30:24 我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒 方法一: DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { Date d1 = df.parse("2004-03-26 13:31:40"); Date d2 = df.parse(&
JAVA浮点数计算精度损失底层原理与解决方案
浮点数会有精度损失这个在上大学的时候就已经被告知,但是至今完全没有想明白其中的原由,老师讲的时候也是一笔带过的,自己也没有好好琢磨.终于在工作的时候碰到了,于是google了一番. 问题: 对两个double类型的值进行运算,有时会出现结果值异常的问题.比如: 1 System.out.println(19.99+20); 2 System.out.println(1.0-0.66); 3 System.out.println(0.033*100); 4 System.out.println(1
Java生日计算年龄工具
package com.web.backend.util; import java.util.Calendar;import java.util.Date; /** * @Author: SongZS * @Description: 通过生日获取年龄计算工具 * @Date: Created in 18:23 2018/8/16 * @Modified By: */public class GetAgeByBirthdayUtil { public static int getAgeByBirt
Java实现的词频统计——Web迁移
本次将原本控制台工程迁移到了web工程上,依旧保留原本控制台的版本. 需求: 1.把程序迁移到web平台,通过用户上传TXT的方式接收文件: 2.在页面上给出链接 (如果有封皮.作者.字数.页数等信息更佳)或表格,展示经典英文小说词频统计结果: 3.支持用户自定义单词分隔符: 4.词汇范围对比(额外项). 实现: 1.迁移至web工程中,支持用户手动选择txt文件上传: 2.用户提交之后,会在后台运行词频统计函数,并且将统计结果的前10项打印到屏幕上: 3.统计结果文件Result.txt可以进
Java实现的词频统计
要求: 1.读取文件: 2.记录出现的词汇及出现频率: 3.按照频率降序排列: 4.输出结果. 概要: 1.读取的文件路径是默认的,为了方便调试,将要统计的文章.段落复制到文本中即可:2.只支持英文:3.会按照词汇出现的频率降序排列. 实现: 1.使用FileReader.BufferedReader读取文件: 2.采用StringTokenizer进行字符分割: 3.用hashmap保存统计数据: 4.自定义一个类用来实现按value排序: 5.输出结果. 默认路径文件: String fil
java直接计算一个算术题
import javax.script.ScriptEngine;import javax.script.ScriptEngineManager;import javax.script.ScriptException; public class CalculationTest { /** * @param args */ public static double count(String str){ //1+2*3-5 ScriptEngineManager manager = new Scri
java异步计算Future的使用(转)
从jdk1.5开始我们可以利用Future来跟踪异步计算的结果.在此之前主线程要想获得工作线程(异步计算线程)的结果是比较麻烦的事情,需要我们进行特殊的程序结构设计,比较繁琐而且容易出错.有了Future我们就可以设计出比较优雅的异步计算程序结构模型:根据分而治之的思想,我们可以把异步计算的线程按照职责分为3类: 1. 异步计算的发起线程(控制线程):负责异步计算任务的分解和发起,把分解好的任务交给异步计算的work线程去执行,发起异步计算后,发起线程可以获得Futrue的集合,从而可以跟踪异步
热门专题
qlistwidget 取消选中状态
如何让别人连接我的oracle数据库
C# Ftp 断点续传
node 升级第三方包的依赖包
win10老是无法连接此网络
mysql并发查询对update的影响
jquery 怎么实现单选框回显
js compose函数实现
[安洵杯 2019]easy_serialize_php
怎么判断有没有配置JDBC驱动程序导入jar包
vmguestwindowsxp网络修复工具
mybaties 返回optional
TxManager 官网
windows server2012 IIS并发数
el-image 的图片圆角
ramsey定理代码证明
PHPEXCEL将图片置于文字后
shell的配置文件
xshell记录日志所有窗口一起记录
iso电话拨打界面设置