协同过滤源码
‘壹’ 协同过滤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识别出来;如何写入呢?下面来说说。。。在处理数据层面,如从数据库中读取数据,生成本地文件,写代码为了方便,我们未必要1M怎么来处理,这个交给底层的驱动程序去拆分,对于我们的程序来讲我们认为它是连续写即可;我们比如想将一个1000W数据的数据库表,导出到文件;此时,你要么进行分页,oracle当然用三层包装即可,mysql用limit,不过分页每次都会新的查询,而且随着翻页,会越来越慢,其实我们想拿到一个句柄,然后向下游动,编译一部分数据(如10000行)将写文件一次(写文件细节不多说了,这个是最基本的),需要注意的时候每次buffer的数据,在用outputstream写入的时候,最好flush一下,将缓冲区清空下;接下来,执行一个没有where条件的SQL,会不会将内存撑爆?是的,这个问题我们值得去思考下,通过API发现可以对SQL进行一些操作,例如,通过:PreparedStatementstatement=connection.prepareStatement(sql),这是默认得到的预编译,还可以通过设置:PreparedStatementstatement=connection.prepareStatement(sql,ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);来设置游标的方式,以至于游标不是将数据直接cache到本地内存,然后通过设置statement.setFetchSize(200);设置游标每次遍历的大小;OK,这个其实我用过,oracle用了和没用没区别,因为oracle的jdbcAPI默认就是不会将数据cache到java的内存中的,而mysql里头设置根本无效,我上面说了一堆废话,呵呵,我只是想说,java提供的标准API也未必有效,很多时候要看厂商的实现机制,还有这个设置是很多网上说有效的,但是这纯属抄袭;对于oracle上面说了不用关心,他本身就不是cache到内存,所以java内存不会导致什么问题,如果是mysql,首先必须使用5以上的版本,然后在连接参数上加上useCursorFetch=true这个参数,至于游标大小可以通过连接参数上加上:defaultFetchSize=1000来设置,例如:jdbc:mysql://xxx.xxx.xxx.xxx:3306/abc?zeroDateTimeconvertToNull&useCursorFetch=true&defaultFetchSize=1000上次被这个问题纠结了很久(mysql的数据老导致程序内存膨胀,并行2个直接系统就宕了),还去看了很多源码才发现奇迹竟然在这里,最后经过mysql文档的确认,然后进行测试,并行多个,而且数据量都是500W以上的,都不会导致内存膨胀,GC一切正常,这个问题终于完结了。我们再聊聊其他的,数据拆分和合并,当数据文件多的时候我们想合并,当文件太大想要拆分,合并和拆分的过程也会遇到类似的问题,还好,这个在我们可控制的范围内,如果文件中的数据最终是可以组织的,那么在拆分和合并的时候,此时就不要按照数据逻辑行数来做了,因为行数最终你需要解释数据本身来判定,但是只是做拆分是没有必要的,你需要的是做二进制处理,在这个二进制处理过程,你要注意了,和平时read文件不要使用一样的方式,平时大多对一个文件读取只是用一次read操作,如果对于大文件内存肯定直接挂掉了,不用多说,你此时因该每次读取一个可控范围的数据,read方法提供了重载的offset和length的范围,这个在循环过程中自己可以计算出来,写入大文件和上面一样,不要读取到一定程序就要通过写入流flush到磁盘;其实对于小数据量的处理在现代的NIO技术的中也有用到,例如多个终端同时请求一个大文件下载,例如视频下载吧,在常规的情况下,如果用java的容器来处理,一般会发生两种情况:其一为内存溢出,因为每个请求都要加载一个文件大小的内存甚至于,因为java包装的时候会产生很多其他的内存开销,如果使用二进制会产生得少一些,而且在经过输入输出流的过程中还会经历几次内存拷贝,当然如果有你类似nginx之类的中间件,那么你可以通过send_file模式发送出去,但是如果你要用程序来处理的时候,内存除非你足够大,但是java内存再大也会有GC的时候,如果你内存真的很大,GC的时候死定了,当然这个地方也可以考虑自己通过直接内存的调用和释放来实现,不过要求剩余的物理内存也足够大才行,那么足够大是多大呢?这个不好说,要看文件本身的大小和访问的频率;其二为假如内存足够大,无限制大,那么此时的限制就是线程,传统的IO模型是线程是一个请求一个线程,这个线程从主线程从线程池中分配后,就开始工作,经过你的Context包装、Filter、拦截器、业务代码各个层次和业务逻辑、访问数据库、访问文件、渲染结果等等,其实整个过程线程都是被挂住的,所以这部分资源非常有限,而且如果是大文件操作是属于IO密集型的操作,大量的CPU时间是空余的,方法最直接当然是增加线程数来控制,当然内存足够大也有足够的空间来申请线程池,不过一般来讲一个进程的线程池一般会受到限制也不建议太多的,而在有限的系统资源下,要提高性能,我们开始有了newIO技术,也就是NIO技术,新版的里面又有了AIO技术,NIO只能算是异步IO,但是在中间读写过程仍然是阻塞的(也就是在真正的读写过程,但是不会去关心中途的响应),还未做到真正的异步IO,在监听connect的时候他是不需要很多线程参与的,有单独的线程去处理,连接也又传统的socket变成了selector,对于不需要进行数据处理的是无需分配线程处理的;而AIO通过了一种所谓的回调注册来完成,当然还需要OS的支持,当会掉的时候会去分配线程,目前还不是很成熟,性能最多和NIO吃平,不过随着技术发展,AIO必然会超越NIO,目前谷歌V8虚拟机引擎所驱动的node.js就是类似的模式,有关这种技术不是本文的说明重点;将上面两者结合起来就是要解决大文件,还要并行度,最土的方法是将文件每次请求的大小降低到一定程度,如8K(这个大小是经过测试后网络传输较为适宜的大小,本地读取文件并不需要这么小),如果再做深入一些,可以做一定程度的cache,将多个请求的一样的文件,cache在内存或分布式缓存中,你不用将整个文件cache在内存中,将近期使用的cache几秒左右即可,或你可以采用一些热点的算法来配合;类似迅雷下载的断点传送中(不过迅雷的网络协议不太一样),它在处理下载数据的时候未必是连续的,只要最终能合并即可,在服务器端可以反过来,谁正好需要这块的数据,就给它就可以;才用NIO后,可以支持很大的连接和并发,本地通过NIO做socket连接测试,100个终端同时请求一个线程的服务器,正常的WEB应用是第一个文件没有发送完成,第二个请求要么等待,要么超时,要么直接拒绝得不到连接,改成NIO后此时100个请求都能连接上服务器端,服务端只需要1个线程来处理数据就可以,将很多数据传递给这些连接请求资源,每次读取一部分数据传递出去,不过可以计算的是,在总体长连接传输过程中总体效率并不会提升,只是相对相应和所开销的内存得到量化控制,这就是技术的魅力,也许不要太多的算法,不过你得懂他。类似的数据处理还有很多,有些时候还会将就效率问题,比如在HBase的文件拆分和合并过程中,要不影响线上业务是比较难的事情,很多问题值得我们去研究场景,因为不同的场景有不同的方法去解决,但是大同小异,明白思想和方法,明白内存和体系架构,明白你所面临的是沈阳的场景,只是细节上改变可以带来惊人的效果。
‘贰’ 谁有基于用户的协同过滤 java代码吗谢谢
下载mahout源码,里面好像有协同过滤算法
‘叁’ GitHub上面有哪些经典的java框架源码
Bazel:来自Google的构建工具,可以快速、可靠地构建代码。官网
Gradle:使用Groovy(非XML)进行增量构建,可以很好地与Maven依赖管理配合工作。官网
Buck:Facebook构建工具。官网
ASM:通用底层字节码操作和分析开发库。官网
Byte Buddy:使用流式API进一步简化字节码生成。官网
Byteman:在运行时通过DSL(规则)操作字节码进行测试和故障排除。官网
Javassist:一个简化字节码编辑尝试。官网
Apache Aurora:Apache Aurora是一个Mesos框架,用于长时间运行服务和定时任务(cron job)。官网
Singularity:Singularity是一个Mesos框架,方便部署和操作。它支持Web Service、后台运行、调度作业和一次性任务。官网
Checkstyle:代码编写规范和标准静态分析工具。官网
Error Prone:将常见编程错误作为运行时错误报告。官网
FindBugs:通过字节码静态分析查找隐藏bug。官网
jQAssistant:使用基于Neo4J查询语言进行代码静态分析。官网
PMD:对源代码分析查找不良的编程习惯。官网
SonarQube:通过插件集成其它分析组件,对过去一段时间内的数据进行统计。官网
ANTLR:复杂的全功能自顶向下解析框架。官网
JavaCC:JavaCC是更加专门的轻量级工具,易于上手且支持语法超前预测。官网
config:针对JVM语言的配置库。官网
owner:减少冗余配置属性。官网
Choco:可直接使用的约束满足问题求解程序,使用了约束规划技术。官网
JaCoP:为FlatZinc语言提供了一个接口,可以执行MiniZinc模型。官网
OptaPlanner:企业规划与资源调度优化求解程序。官网
Sat4J:逻辑代数与优化问题最先进的求解程序。官网
Bamboo:Atlassian解决方案,可以很好地集成Atlassian的其他产品。可以选择开源许可,也可以购买商业版。官网
CircleCI:提供托管服务,可以免费试用。官网
Codeship:提供托管服务,提供有限的免费模式。官网
fabric8:容器集成平台。官网
Go:ThoughtWork开源解决方案。官网
Jenkins:支持基于服务器的部署服务。官网
TeamCity:JetBrain的持续集成解决方案,有免费版。官网
Travis:通常用作开源项目的托管服务。官网
Buildkite: 持续集成工具,用简单的脚本就能设置pipeline,而且能快速构建,可以免费试用。官网
uniVocity-parsers:速度最快功能最全的CSV开发库之一,同时支持TSV与固定宽度记录的读写。官网
Apache Phoenix:HBase针对低延时应用程序的高性能关系数据库层。官网
Crate:实现了数据同步、分片、缩放、复制的分布式数据存储。除此之外还可以使用基于SQL的语法跨集群查询。官网
Flyway:简单的数据库迁移工具。官网
H2:小型SQL数据库,以可以作为内存数据库使用着称。官网
HikariCP:高性能JDBC连接工具。官网
JDBI:便捷的JDBC抽象。官网
Protobuf:Google数据交换格式。官网
SBE:简单二进制编码,是最快速的消息格式之一。官网
Wire:整洁轻量级协议缓存。官网
Apache DeltaSpike:CDI扩展框架。官网
Dagger2:编译时注入框架,不需要使用反射。官网
Guice:可以匹敌Dagger的轻量级注入框架。官网
HK2:轻量级动态依赖注入框架。官网
ADT4J:针对代数数据类型的JSR-269代码生成器。官网
AspectJ:面向切面编程(AOP)的无缝扩展。官网
Auto:源代码生成器集合。官网
DCEVM:通过修改JVM在运行时支持对已加载的类进行无限次重定义。官网
HotswapAgent:支持无限次重定义运行时类与资源。官网
Immutables:类似Scala的条件类。官网
JHipster:基于Spring Boot与AngularJS应用程序的Yeoman源代码生成器。官网
JRebel:无需重新部署,可以即时重新加载代码与配置的商业软件。官网
Lombok:减少冗余的代码生成器。官网
Spring Loaded:类重载代理。官网
vert.x:多语言事件驱动应用框架。官网
Akka:用来编写分布式容错并发事件驱动应用程序的工具和运行时。官网
Apache Storm:实时计算系统。官网
Apache ZooKeeper:针对大型分布式系统的协调服务,支持分布式配置、同步和名称注册。官网
Hazelcast:高可扩展内存数据网格。官网
Hystrix:提供延迟和容错。官网
JGroups:提供可靠的消息传递和集群创建的工具。官网
Orbit:支持虚拟角色(Actor),在传统角色的基础上增加了另外一层抽象。官网
Quasar:为JVM提供轻量级线程和角色。官网
Apache Cassandra:列式数据库,可用性高且没有单点故障。官网
Apache HBase:针对大数据的Hadoop数据库。官网
Druid:实时和历史OLAP数据存储,在聚集查询和近似查询方面表现不俗。官网
Infinispan:针对缓存的高并发键值对数据存储。官网
Bintray:发布二进制文件版本控制工具。可以于Maven或Gradle一起配合使用。提供开源免费版本和几种商业收费版本。官网
Central Repository:最大的二进制组件仓库,面向开源社区提供免费服务。Apache Maven默认使用Central官网Repository,也可以在所有其他构建工具中使用。
IzPack:为跨平台部署建立创作工具(Authoring Tool)。官网
JitPack:打包GitHub仓库的便捷工具。可根据需要构建Maven、Gradle项目,发布可立即使用的组件。官网
Launch4j:将JAR包装为轻量级本机Windows可执行程序。官网
Nexus:支持代理和缓存功能的二进制管理工具。官网
packr:将JAR、资源和JVM打包成Windows、linux和Mac OS X本地发布文件。官网
Apache POI:支持OOXML规范(XLSX、DOCX、PPTX)以及OLE2规范(XLS、DOC、PPT)。官网
documents4j:使用第三方转换器进行文档格式转换,转成类似MS Word这样的格式。官网
jOpenDocument:处理OpenDocument格式(由Sun公司提出基于XML的文档格式)。官网
Cyclops:支持一元(Monad)操作和流操作工具类、comprehension(List语法)、模式匹配、trampoline等特性。官网
Fugue:Guava的函数式编程扩展。官网
Functional Java:实现了多种基础和高级编程抽象,用来辅助面向组合开发(composition-oriented development)。官网
Javaslang:一个函数式组件库,提供持久化数据类型和函数式控制结构。官网
jOOλ:旨在填补Java 8 lambda差距的扩展,提供了众多缺失的类型和一组丰富的顺序流API。官网
jMonkeyEngine:现代3D游戏开发引擎。官网
libGDX:全面的跨平台高级框架。官网
LWJGL:对OpenGL/CL/AL等技术进行抽象的健壮框架。官网
JavaFX:Swing的后继者。官网
Scene Builder:开发JavaFX应用的可视化布局工具。官网
Agrona:高性能应用中常见的数据结构和工具方法。官网
Disruptor:线程间消息传递开发库。官网
fastutil:快速紧凑的特定类型集合(Collection)。官网
GS Collections:受Smalltalk启发的集合框架。官网
HPPC:基础类型集合。官网
Javolution:实时和嵌入式系统的开发库。官网
JCTools:JDK中缺失的并发工具。官网
Koloboke:Hash set和hash map。官网
Trove:基础类型集合。官网
High-scale-bli:Cliff Click 个人开发的高性能并发库官网
Eclipse:老牌开源项目,支持多种插件和编程语言。官网
IntelliJ IDEA:支持众多JVM语言,是安卓开发者好的选择。商业版主要针对企业客户。官网
NetBeans:为多种技术提供集成化支持,包括Java SE、Java EE、数据库访问、HTML5
Imgscalr:纯Java 2D实现,简单、高效、支持硬件加速的图像缩放开发库。官网
Picasso:安卓图片下载和图片缓存开发库。官网
Thumbnailator:Thumbnailator是一个高质量Java缩略图开发库。官网
ZXing:支持多种格式的一维、二维条形码图片处理开发库。官网
im4java: 基于ImageMagick或GraphicsMagick命令行的图片处理开发库,基本上ImageMagick能够支持的图片格式和处理方式都能够处理。官网
Apache Batik:在Java应用中程序以SVG格式显示、生成及处理图像的工具集,包括SVG解析器、SVG生成器、SVG DOM等模块,可以集成使用也可以单独使用,还可以扩展自定义的SVG标签。官网
Genson:强大且易于使用的Java到JSON转换开发库。官网
Gson:谷歌官方推出的JSON处理库,支持在对象与JSON之间双向序列化,性能良好且可以实时调用。官网
Jackson:与GSON类似,在频繁使用时性能更佳。官网
LoganSquare:基于Jackson流式API,提供对JSON解析和序列化。比GSON与Jackson组合方式效果更好。官网
Fastjson:一个Java语言编写的高性能功能完善的JSON库。官网
Kyro:快速、高效、自动化的Java对象序列化和克隆库。官网
JDK 9:JDK 9的早期访问版本。官网
OpenJDK:JDK开源实现。官网
Scala:融合了面向对象和函数式编程思想的静态类型编程语言。官网
Groovy:类型可选(Optionally typed)的动态语言,支持静态类型和静态编译。目前是一个Apache孵化器项目。官网
Clojure:可看做现代版Lisp的动态类型语言。官网
Ceylon:RedHat开发的面向对象静态类型编程语言。官网
Kotlin:JetBrain针对JVM、安卓和浏览器提供的静态类型编程语言。官网
Xtend:一种静态编程语言,能够将其代码转换为简洁高效的Java代码,并基于JVM运行。官网
Apache Log4j 2:使用强大的插件和配置架构进行完全重写。官网
kibana:分析及可视化日志文件。官网
Logback:强健的日期开发库,通过Groovy提供很多有趣的选项。官网
logstash:日志文件管理工具。官网
Metrics:通过JMX或HTTP发布参数,并且支持存储到数据库。官网
SLF4J:日志抽象层,需要与具体的实现配合使用。官网
Apache Flink:快速、可靠的大规模数据处理引擎。官网
Apache Hadoop:在商用硬件集群上用来进行大规模数据存储的开源软件框架。官网
Apache Mahout:专注协同过滤、聚类和分类的可扩展算法。官网
Apache Spark:开源数据分析集群计算框架。官网
DeepDive:从非结构化数据建立结构化信息并集成到已有数据库的工具。官网
Deeplearning4j:分布式多线程深度学习开发库。官网
H2O:用作大数据统计的分析引擎。官网
Weka:用作数据挖掘的算法集合,包括从预处理到可视化的各个层次。官网
QuickML:高效机器学习库。官网、GitHub
Aeron:高效可扩展的单播、多播消息传递工具。官网
Apache ActiveMQ:实现JMS的开源消息代理(broker),可将同步通讯转为异步通讯。官网
Apache Camel:通过企业级整合模式(Enterprise Integration Pattern EIP)将不同的消息传输API整合在一起。官网
Apache Kafka:高吞吐量分布式消息系统。官网
Hermes:快速、可靠的消息代理(Broker),基于Kafka构建。官网
JBoss HornetQ:清晰、准确、模块化,可以方便嵌入的消息工具。官网
JeroMQ:ZeroMQ的纯Java实现。官网
Smack:跨平台XMPP客户端函数库。官网
Openfire:是开源的、基于XMPP、采用Java编程语言开发的实时协作服务器。 Openfire安装和使用都非常简单,并可利用Web界面进行管理。官网GitHub
Spark:是一个开源,跨平台IM客户端。它的特性支持集组聊天,电话集成和强大安全性能。如果企业内部部署IM使用Openfire+Spark是最佳的组合。官网GitHub
Tigase: 是一个轻量级的可伸缩的 Jabber/XMPP 服务器。无需其他第三方库支持,可以处理非常高的复杂和大量的用户数,可以根据需要进行水平扩展。官网
Design Patterns:实现并解释了最常见的设计模式。官网
Jimfs:内存文件系统。官网
Lanterna:类似curses的简单console文本GUI函数库。官网
LightAdmin:可插入式CRUD UI函数库,可用来快速应用开发。官网
OpenRefine:用来处理混乱数据的工具,包括清理、转换、使用Web Service进行扩展并将其关联到数据库。官网
RoboVM:Java编写原生iOS应用。官网
Quartz:强大的任务调度库.官网
AppDynamics:性能监测商业工具。官网
JavaMelody:性能监测和分析工具。官网
Kamon:Kamon用来监测在JVM上运行的应用程序。官网
New Relic:性能监测商业工具。官网
SPM:支持对JVM应用程序进行分布式事务追踪的性能监测商业工具。官网
Takipi:产品运行时错误监测及调试商业工具。官网
JNA:不使用JNI就可以使用原生开发库。此外,还为常见系统函数提供了接口。官网
Apache OpenNLP:处理类似分词等常见任务的工具。官网
CoreNLP:斯坦佛CoreNLP提供了一组基础工具,可以处理类似标签、实体名识别和情感分析这样的任务。官网
LingPipe:一组可以处理各种任务的工具集,支持POS标签、情感分析等。官网
Mallet:统计学自然语言处理、文档分类、聚类、主题建模等。官网
Async Http Client:异步HTTP和WebSocket客户端函数库。官网
Grizzly:NIO框架,在Glassfish中作为网络层使用。官网
Netty:构建高性能网络应用程序开发框架。官网
OkHttp:一个Android和Java应用的HTTP+SPDY客户端。官网
Undertow:基于NIO实现了阻塞和非阻塞API的Web服务器,在WildFly中作为网络层使用。官网
Ebean:支持快速数据访问和编码的ORM框架。官网
EclipseLink:支持许多持久化标准,JPA、JAXB、JCA和SDO。官网
Hibernate:广泛使用、强健的持久化框架。Hibernate的技术社区非常活跃。官网
MyBatis:带有存储过程或者SQL语句的耦合对象(Couples object)。官网
OrmLite:轻量级开发包,免除了其它ORM产品中的复杂性和开销。官网
Nutz:另一个SSH。官网,Github
JFinal:JAVA WEB + ORM框架。官网,Github
Apache FOP:从XSL-FO创建PDF。官网
Apache PDFBox:用来创建和操作PDF的工具集。官网
DynamicReports:JasperReports的精简版。官网
flyingsaucer:XML/XHTML和CSS 2.1渲染器。官网
iText:一个易于使用的PDF函数库,用来编程创建PDF文件。注意,用于商业用途时需要许可证。官网
JasperReports:一个复杂的报表引擎。官网
jHiccup:提供平台中JVM暂停的日志和记录。官网
JMH:JVM基准测试工具。官网
JProfiler:商业分析器。官网
LatencyUtils:测量和报告延迟的工具。官网
VisualVM:对运行中的应用程序信息提供了可视化界面。官网
YourKit Java Profiler:商业分析器。官网
Reactive Streams:异步流处理标准,支持非阻塞式反向压力(backpressure)。官网
Reactor:构建响应式快速数据(fast-data)应用程序的开发库。官网
RxJava:通过JVM可观察序列(observable sequence)构建异步和基于事件的程序。官网
Dropwizard:偏向于自己使用的Web框架。用来构建Web应用程序,使用了Jetty、Jackson、Jersey和Metrics。官网
Feign:受Retrofit、JAXRS-2.0和WebSocket启发的HTTP客户端连接器(binder)。官网
Jersey:JAX-RS参考实现。官网
RESTEasy:经过JAX-RS规范完全认证的可移植实现。官网
RestExpress:一个Java类型安全的REST客户端。官网
RestX:基于注解处理和编译时源码生成的框架。官网
Retrofit:类型安全的REST客户端。官网
Spark:受到Sinatra启发的Java REST框架。官网
Swagger:Swagger是一个规范且完整的框架,提供描述、生产、消费和可视化RESTful Web Service。官网
Blade:国人开发的一个轻量级的MVC框架. 它拥有简洁的代码,优雅的设计。官网
DataMelt:用于科学计算、数据分析及数据可视化的开发环境。官网
JGraphT:支持数学图论对象和算法的图形库。官网
JScience:用来进行科学测量和单位的一组类。官网
Apache Solr:一个完全的企业搜索引擎。为高吞吐量通信进行了优化。官网
Elasticsearch:一个分布式、支持多租户(multitenant)全文本搜索引擎。提供了RESTful Web接口和无schema的JSON文档。官网
Apache Lucene:是一个开放源代码的全文检索引擎工具包,是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。官网
Apache Shiro:执行认证、授权、加密和会话管理。官网
Bouncy Castle,涵盖了从基础的帮助函数到PGP/SMIME操作。官网:多途加密开发库。支持JCA提供者(JCA provider)
Cryptomator:在云上进行客户端跨平台透明加密。官网
Keycloak:为浏览器应用和RESTful Web Service集成SSO和IDM。目前还处于beta版本,但是看起来非常有前途。官网
PicketLink:PicketLink是一个针对Java应用进行安全和身份认证管理的大型项目(Umbrella Project)。官网
FlatBuffers:高效利用内存的序列化函数库,无需解包和解析即可高效访问序列化数据。官网
Kryo:快速、高效的对象图形序列化框架。官网
FST:提供兼容JDK的高性能对象图形序列化。官网
MessagePack:一种高效的二进制序列化格式。官网
Apache Tomcat:针对Servlet和JSP的应用服务器,健壮性好且适用性强。官网
Apache TomEE:Tomcat加Java EE。官网
Jetty:轻量级、小巧的应用服务器,通常会嵌入到项目中。官网
WebSphere Liberty:轻量级、模块化应用服务器,由IBM开发。官网
WildFly:之前被称作JBoss,由Red Hat开发。支持很多Java EE功能。官网
Apache Velocity:提供HTML页面模板、email模板和通用开源代码生成器模板。官网
FreeMarker:通用模板引擎,不需要任何重量级或自己使用的依赖关系。官网
Handlebars.java:使用Java编写的模板引擎,逻辑简单,支持语义扩展(semantic Mustache)。官网
Thymeleaf:旨在替换JSP,支持XML文件的工具。官网
Apache JMeter:功能性测试和性能评测。官网
Arquillian:集成测试和功能行测试平台,集成Java EE容器。官网
AssertJ:支持流式断言提高测试的可读性。官网
Awaitility:用来同步异步操作的DSL。官网
Cucumber:BDD测试框架。官网
Gatling:设计为易于使用、可维护的和高性能负载测试工具。官网
Hamcrest:可用来灵活创建意图(intent)表达式的匹配器。官网
JMockit:用来模拟静态、final方法等。官网
JUnit:通用测试框架。官网
Mockito:在自动化单元测试中创建测试对象,为TDD或BDD提供支持。官网
PowerMock: 支持模拟静态方法、构造函数、final类和方法、私有方法以及移除静态初始化器的模拟工具。官网
REST Assured:为REST/HTTP服务提供方便测试的Java DSL。官网
Selenide:为Selenium提供精准的周边API,用来编写稳定且可读的UI测试。官网
Selenium:为Web应用程序提供可移植软件测试框架。官网
Spock:JUnit-compatible framework featuring an expressive Groovy-derived specification language.官网兼容JUnit框架,支持衍生的Groovy范的语言。
TestNG:测试框架。官网
Truth:Google的断言和命题(proposition)框架。官网
Unitils:模块化测试函数库,支持单元测试和集成测试。官网
WireMock:Web Service测试桩(Stub)和模拟函数。官网
Apache Commons:提供各种用途的函数,比如配置、验证、集合、文件上传或XML处理等。官网
args4j:命令行参数解析器。官网
CRaSH:为运行进行提供CLI。官网
Gephi:可视化跨平台网络图形化操作程序。官网
Guava:集合、缓存、支持基本类型、并发函数库、通用注解、字符串处理、I/O等。官网
JADE:构建、调试多租户系统的框架和环境。官网
javatuples:正如名字表示的那样,提供tuple支持。尽管目前tuple的概念还有留有争议。官网
JCommander:命令行参数解析器。官网
Protégé:提供存在论(ontology)编辑器以及构建知识系统的框架。官网
Apache Nutch:可用于生产环境的高度可扩展、可伸缩的网络爬虫。官网
Crawler4j:简单的轻量级网络爬虫。官网
JSoup:刮取、解析、操作和清理HTML。官网
Apache Tapestry:基于组件的框架,使用Java创建动态、强健的、高度可扩展的Web应用程序。官网
Apache Wicket:基于组件的Web应用框架,与Tapestry类似带有状态显示GUI。官网
Google Web Toolkit:一组Web开发工具集,包含在客户端将Java代码转为JavaScript的编译器、XML解析器、RCP官网API、JUnit集成、国际化支持和GUI控件。
Grails:Groovy框架,旨在提供一个高效开发环境,使用约定而非配置、没有XML并支持混入(mixin)。官网
Ninja:Java全栈Web开发框架。非常稳固、快速和高效。官网
Pippo:小型、高度模块化的类Sinatra框架。官网
Play:使用约定而非配置,支持代码热加载并在浏览器中显示错误。官网
PrimeFaces:JSF框架,提供免费和带支持的商业版本。包括若干前端组件。官网
Ratpack:一组Java开发函数库,用于构建快速、高效、可扩展且测试完备的HTTP应用程序。官网
Spring Boot:微框架,简化了Spring新程序的开发过程。官网
Spring:旨在简化Java EE的开发过程,提供依赖注入相关组件并支持面向切面编程。官网
Vaadin:基于GWT构建的事件驱动框架。使用服务端架构,客户端使用Ajax。官网
Blade:国人开发的一个轻量级的MVC框架. 它拥有简洁的代码,优雅的设计。官网
jBPM:非常灵活的业务流程管理框架,致力于构建开发与业务分析人员之间的桥梁。官网
Activity:轻量级工作流和业务流程管理框架。官网github
字节码操作
编程方式操作字节码的开发库。
集群管理
在集群内动态管理应用程序的框架。
代码分析
测量代码指标和质量工具。
编译器生成工具
用来创建解析器、解释器或编译器的框架。
外部配置工具
支持外部配置的开发库。
约束满足问题求解程序
帮助解决约束满足问题的开发库。
持续集成
CSV解析
简化CSV数据读写的框架与开发库
数据库
简化数据库交互的相关工具。
帮实现依赖翻转范式的开发库。官网
开发流程增强工具
从最基本的层面增强开发流程。
分布式应用
用来编写分布式容错应用的开发库和框架。
分布式数据库
对应用程序而言,在分布式系统中的数据库看起来就像是只有一个数据源。
发布
以本机格式发布应用程序的工具。
文档处理工具
处理Office文档的开发库。
函数式编程
函数式编程支持库。
游戏开发
游戏开发框架。
GUI
现代图形化用户界面开发库。
高性能计算
涵盖了从集合到特定开发库的高性能计算相关工具。
IDE
简化开发的集成开发环境。
JSON
简化JSON处理的开发库。
JVM与JDK
目前的JVM和JDK实现。
基于JVM的语言
除Java外,可以用来编写JVM应用程序的编程语言。
日志
记录应用程序行为日志的开发库。
机器学习
提供具体统计算法的工具。其算法可从数据中学习。
消息传递
在客户端之间进行消息传递,确保协议独立性的工具。
杂项
未分类其它资源。
应用监控工具
监控生产环境中应用程序的工具。
原生开发库
用来进行特定平台开发的原生开发库。
自然语言处理
用来专门处理文本的函数库。
网络
网络编程函数库。
ORM
处理对象持久化的API。
用来帮助创建PDF文件的资源。
性能分析
性能分析、性能剖析及基准测试工具。
响应式开发库
用来开发响应式应用程序的开发库。
REST框架
用来创建RESTful 服务的框架。
科学计算与分析
用于科学计算和分析的函数库。
搜索引擎
文档索引引擎,用于搜索和分析。
安全
用于处理安全、认证、授权或会话管理的函数库。
序列化
用来高效处理序列化的函数库。
应用服务器
用来部署应用程序的服务器。
模板引擎
在模板中替换表达式的工具。
测试
测试内容从对象到接口,涵盖性能测试和基准测试工具。
通用工具库
通用工具类函数库。
网络爬虫
用于分析网站内容的函数库。
Web框架
用于处理Web应用程序不同层次间通讯的框架。
业务流程管理套件
流程驱动的软件系统构建。
资源
社区
‘肆’ 怎样搭建平台
亲身参与,作为主力完成了一个信息大数据分析平台。中间经历了很多问题,算是有些经验,因而作答。
整体而言,大数据平台从平台部署和数据分析过程可分为如下几步:
1、linux系统安装
一般使用开源版的Redhat系统--CentOS作为底层平台。为了提供稳定的硬件基础,在给硬盘做RAID和挂载数据存储节点的时,需要按情况配置。例如,可以选择给HDFS的namenode做RAID2以提高其稳定性,将数据存储与操作系统分别放置在不同硬盘上,以确保操作系统的正常运行。
2、分布式计算平台/组件安装
目前国内外的分布式系统的大多使用的是Hadoop系列开源系统。Hadoop的核心是HDFS,一个分布式的文件系统。在其基础上常用的组件有Yarn、Zookeeper、Hive、Hbase、Sqoop、Impala、ElasticSearch、Spark等。
先说下使用开源组件的优点:1)使用者众多,很多bug可以在网上找的答案(这往往是开发中最耗时的地方)。2)开源组件一般免费,学习和维护相对方便。3)开源组件一般会持续更新,提供必要的更新服务‘当然还需要手动做更新操作’。4)因为代码开源,若出bug可自由对源码作修改维护。
再简略讲讲各组件的功能。分布式集群的资源管理器一般用Yarn,‘全名是Yet Another Resource Negotiator’。常用的分布式数据数据‘仓’库有Hive、Hbase。Hive可以用SQL查询‘但效率略低’,Hbase可以快速‘近实时’读取行。外部数据库导入导出需要用到Sqoop。Sqoop将数据从Oracle、MySQL等传统数据库导入Hive或Hbase。Zookeeper是提供数据同步服务,Yarn和Hbase需要它的支持。Impala是对hive的一个补充,可以实现高效的SQL查询。ElasticSearch是一个分布式的搜索引擎。针对分析,目前最火的是Spark‘此处忽略其他,如基础的MapRece 和 Flink’。Spark在core上面有ML lib,Spark Streaming、Spark QL和GraphX等库,可以满足几乎所有常见数据分析需求。
值得一提的是,上面提到的组件,如何将其有机结合起来,完成某个任务,不是一个简单的工作,可能会非常耗时。
3、数据导入
前面提到,数据导入的工具是Sqoop。用它可以将数据从文件或者传统数据库导入到分布式平台‘一般主要导入到Hive,也可将数据导入到Hbase’。
4、数据分析
数据分析一般包括两个阶段:数据预处理和数据建模分析。
数据预处理是为后面的建模分析做准备,主要工作时从海量数据中提取可用特征,建立大宽表。这个过程可能会用到Hive SQL,Spark QL和Impala。
数据建模分析是针对预处理提取的特征/数据建模,得到想要的结果。如前面所提到的,这一块最好用的是Spark。常用的机器学习算法,如朴素贝叶斯、逻辑回归、决策树、神经网络、TFIDF、协同过滤等,都已经在ML lib里面,调用比较方便。
5、结果可视化及输出API
可视化一般式对结果或部分原始数据做展示。一般有两种情况,行数据展示,和列查找展示。在这里,要基于大数据平台做展示,会需要用到ElasticSearch和Hbase。Hbase提供快速‘ms级别’的行查找。 ElasticSearch可以实现列索引,提供快速列查找。
平台搭建主要问题:
1、稳定性 Stability
理论上来说,稳定性是分布式系统最大的优势,因为它可以通过多台机器做数据及程序运行备份以确保系统稳定。但也由于大数据平台部署于多台机器上,配置不合适,也可能成为最大的问题。 曾经遇到的一个问题是Hbase经常挂掉,主要原因是采购的硬盘质量较差。硬盘损坏有时会到导致Hbase同步出现问题,因而导致Hbase服务停止。由于硬盘质量较差,隔三差五会出现服务停止现象,耗费大量时间。结论:大数据平台相对于超算确实廉价,但是配置还是必须高于家用电脑的。
2、可扩展性 Scalability
如何快速扩展已有大数据平台,在其基础上扩充新的机器是云计算等领域应用的关键问题。在实际2B的应用中,有时需要增减机器来满足新的需求。如何在保留原有功能的情况下,快速扩充平台是实际应用中的常见问题。
上述是自己项目实践的总结。整个平台搭建过程耗时耗力,非一两个人可以完成。一个小团队要真正做到这些也需要耗费很长时间。
目前国内和国际上已有多家公司提供大数据平台搭建服务,国外有名的公司有Cloudera,Hortonworks,MapR等,国内也有华为、明略数据、星环等。另外有些公司如明略数据等还提供一体化的解决方案,寻求这些公司合作对 于入门级的大数据企业或没有大数据分析能力的企业来说是最好的解决途径。
对于一些本身体量较小或者目前数据量积累较少的公司,个人认为没有必要搭建这一套系统,暂时先租用AWS和阿里云就够了。对于数据量大,但数据分析需求较简单的公司,可以直接买Tableau,Splunk,HP Vertica,或者IBM DB2等软件或服务即可。
以上是我从事大数据以来的一些认识。管见所及,可能有所疏漏,欢迎补充。
‘伍’ 有什么关于 Spark 的书推荐
《大数据Spark企业级实战》本书共包括14章,每章的主要内容如下。
第一章回答了为什么大型数据处理平台都要选择SPARK
。为什么spark如此之快?星火的理论基础是什么?spark如何使用专门的技术堆栈来解决大规模数据处理的需要?第二章回答了如何从头构建Hadoop集群的问题。
如何构建基于Hadoop集群的星火集群?如何测试火星的质量?附录从spark的角度解释了Scala,并详细解释了Scala函数编程和面向对象编程。
‘陆’ 有哪些好用的开源推荐系统
1.SVDFeature主页:SVDFeature - SVDFeature 语言:C++一个feature-based协同过滤和排序工具,由上海交大Apex实验室开发,代码质量较高。在KDD Cup 2012中获得第一名,KDD Cup 2011中获得第三名,相关论文 发表在2012的JMLR中,这足以说明它的高大上。SVDFeature包含一个很灵活的Matrix Factorization推荐框架,能方便的实现SVD、SVD++等方法, 是单模型推荐算法中精度最高的一种。SVDFeature代码精炼,可以用 相对较少的内存实现较大规模的单机版矩阵分解运算。另外含有Logistic regression的model,可以很方便的用来进行ensemble。
‘柒’ mahout能不能在windows7系统下运行
如果要实现Taste算法,必备的条件是:
1) JDK,使用1.6版本。需要说明一下,因为要基于Eclipse构建,所以在设置path的值之前要先定义JAVA_HOME变量。
2) Maven,使用2.0.11版本或以上。在eclipse上安装maven插件—m2eclipse。
3)Apache Mahout,使用0.5版本。
Apache Mahout -Taste Documentation中的安装步骤:
[javascript] view plain
4. Demo
To build and run the demo, follow the instructions below, which are written for Unix-like
operating systems:
1. Obtain a of the Mahout distribution, either from SVN or as a downloaded archive.
2. Download the "1 Million MovieLens Dataset" from http://www.grouplens.org/.
3. Unpack the archive and movies.dat and ratings.dat to
trunk/taste-web/src/main/resources/org/apache/mahout/cf/taste/example/
under the Mahout distribution directory.
4. Navigate to the directory where you unpacked the Mahout distribution, and navigate
totrunk.
5. Runmvn install, which builds and installs Mahout core to your local repository
6. cd taste-web
7. cp ../examples/target/grouplens.jar ./lib
8. Edit recommender.properties and fill in therecommender.class:
recommender.class=org.apache.mahout.cf.taste.example.grouplens.GroupLe
9. mvn package
10.mvn jetty:run-war. You may need to give Maven more memory: in a bash shell,
export MAVEN_OPTS=-Xmx1024M
11.Get recommendations by accessing the web application in your browser:
http://localhost:8080/RecommenderServlet?userID=1
This will proce a simple preference-item ID list which could be consumed by a client
application. Get more useful human-readable output with the debug parameter:
http://localhost:8080/RecommenderServlet?userID=1&debug=true
Incidentally, Taste's web service interface may then be found at:
http://localhost:8080/RecommenderService.jws
Its WSDL file will be here...
http://localhost:8080/RecommenderService.jws?wsdl
... and you can even access it in your browser via a simple HTTP request:
.../RecommenderService.jws?method=recommend&userID=1&howMany=10
一、在window上安装maven
现在Java新架构的不断出现,例如Struts,Spring,Hibernate等,项目的配置文件的增多,给开发人员带来很大麻烦。在实际的开发当中,Myeclipse中的project越来越庞大,所依赖的第三方Jar包越来越多,这显得Project很臃肿,给项目管理带来了很大不便,尤其是在一些大型项目。为了解决上述问题,Apache开源组织发布了Maven,它适用于大的Java项目。
有关maven介绍见《Maven权威指南》 ,下载地址:http://www.juvenxu.com/mvn-def-guide/
安装步骤:
1、下载包,见http://maven.apache.org/download.html
2、解压缩,将其中的bin目录设置到windows Path环境变量中,maven也是依赖jdk的,先装好jdk,在环境变量里面配置好jdk。
2.1、设置JAVA_HOME(顾名其意该变量的含义就是java的安装路径),找到path,然后点编辑,path变量的含义就是系统在任何路径下都可以识别java命令,则变量值为“.;%JAVA_HOME%\bin”,
2.2、新建变量名:M2_HOME,变量值:E:\maven\apache-maven-2.2.1,注意这里不含bin的路径。2、在path后追加;%M2_HOME%\bin,注意这里到bin目录
3、测试安装是否成功:开始->运行->cmd->mvn -version
注意:当提示mvn提示不是内部命令或外部命令,是因为在设置环境变量path的时候,可能覆盖了原先设置着的变量,只要在path后面添加变量:%SystemRoot%\system32;
4、在eclipse中安装maven插件 http://she.iteye.com/blog/1217812、http://www.cnblogs.com/freeliver54/archive/2011/09/07/2169527.html
5、使用links管理eclipse插件 http://blog.csdn.net/cfyme/article/details/6099056/
二、在windows上构建Apache Mahout环境
Apache Mahout 是 Apache Software Foundation (ASF) 开发的一个全新的开源项目,其主要目标是创建一些可伸缩的机器学习算法,供开发人员在 Apache 在许可下免费使用。该项目已经发展到了它的最二个年头,目前只有一个公共发行版。Mahout 包含许多实现,包括集群、分类、CP 和进化程序。
详细内容见:
1、Apache Mahout 简介http://www.ibm.com/developerworks/cn/java/j-mahout/
2、Maven 2.0:编译、测试、部署、运行http://www.ideagrace.com/html/doc/2006/06/14/00847.html
开始构建:
1、基于 Apache Mahout 构建社会化推荐引擎http://www.ibm.com/developerworks/cn/java/j-lo-mahout/
本文是由此篇文章引申而来,所以具体就是实现了“Taste的安装于简单的Demo实现”。
2、使用mvn搭建Mahout环境 http://anqiang1900.blog.163.com/blog/static/1141888642010380255296/
简单来说就是将Mahout源码从官网上下载下来后,在dos下切换到根文件夹后执行mvn install。
3、在Eclipse中构建Mahout http://www.cnblogs.com/dlts26/archive/2011/09/13/2174889.html
就是将Mahout源码导入Eclipse从而形成Maven工程。再在mahout文件夹下执行maven install(如果上一步没做这个的话)。
三、运行Apache Mahout中的Taste Webapp例子
Taste 是 Apache Mahout 提供的一个协同过滤算法的高效实现,它是一个基于 Java 实现的可扩展的,高效的推荐引擎。
1.修改mahout-taste-webapp工程的pom.xml,添加对mahout-examples的依赖
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>mahout-examples</artifactId>
<version>0.5</version>
</dependency>
2.在mahout-taste-webapp工程的recommender.properties中添加
recommender.class=org.apache.mahout.cf.taste.example.grouplens.GroupLensRecommender
3.从http://www.grouplens.org/node/73上下载数据文件,我下载的是1M Ratings Data Set (.tar.gz)经过测试验证通过,其他数据文件请自行验证。解压以后将ratings.dat复制到mahout-taste-webapp工程的/org/apache/mahout/cf/taste/example/grouplens/下,至于为什么是这个路径?请大家去看这个类GroupLensDataModel。
4.现在准备工作基本完成了,cd到taste-web我们来运行一把
mvn jetty:run-war
5.访问一下http://localhost:8080/RecommenderServlet?userID=1就能看到效果,这个servlet还支持其他参数请参看RecommenderServlet的javadoc说明
详细内容见http://seanhe.iteye.com/blog/1124682
四、遇到的问题
1、在Eclipse中配置Maven时遇到的问题
启动eclipse的时候会提示warning:找不到jdk啥的,解决办法:
在eclipse.ini文件中加入如下两行(vm指向javaw.exe的位置,或者直接到bin那里也可以):
-vm
D:\Development\Java\jdk1.5.0_16\bin\javaw.exe(注意这两行加到-startup与-launcher.library之间)
2、在windows上构建mahout环境时出现的问题:
2.1 在mahout目录下,运行"mvn install"时,遇到以下错误
Cannot run program "chmod": CreateProcess error=2
chmod是linux命令,此错误是由于 Cygwin + Hadoop 跑在 Windows 上出现的。
也就是说如果当前在windows下进行mahout编译,一定要确保正确安装了Cygwin(按照下面的教程装上Cygwin便可,后面hadoop的配置可以不用全部完成!)
这里用几个比较好的教材,讲解如何在windows下安装Hadoop Cluster(
http://ebiquity.umbc.e/Tutorials/Hadoop/00%20-%20Intro.html
http://hayesdavis.net/2008/06/14/running-hadoop-on-windows/)
下载 hadoop-0.19.1在 http://archive.apache.org/dist/hadoop/core/hadoop-0.19.1/
2.2在Cygwin中运行命令ssh localhost连接不成功时出现Connection closed by ::1错误
Cygwin,耗时近xxxx个小时,查遍中文外文文献,终于将此题目解决。问题描述:在Win7下Cygwin中,使用sshlocalhost命令, 出现Connectionclosedby127.0.0.1的问题。解决方案:1、开端——运行——services.msc2、右键 CYGWINsshd——属性——登录选项卡——选择“此账户”——浏览——高级——立即查找——选择你的账户名(必须为治理员权限)——输进密码(必须 要有,空密码不承受,且和电脑登录密码相同)——确定。3、重启CYGWINsshd效劳即可。这样就以你的账户的名义启动了这个效劳。而后sshlocalhost成功。这样 做的一个缺点可能是你要给电脑设个密码
详见:http://blog.sina.com.cn/s/blog_4abbf0ae0100r8hh.html
3、运行Taste Webapp时遇到的问题
在Eclipse中配置好mahout后,就可以在mahout中运行taste-webapp算法了。
文中1,2步骤由于前面已经配置好,就直接从第3步开始配置mahout-taste-webapp中的内容。
出现的问题:
在浏览器栏输入http://localhost:8080/RecommenderServlet?userID=1后出现错误:
HTTP ERROR: 404
Problem accessing /RecommenderServlet. Reason:
Not Found
Powered by Jetty://
仔细查看第7步mvn jetty:run-war时,发现其中出现错误:
WARN::FAILED taste-recommender: java.lang.OutOfMemoryError: Java heap space
表明出现maven工程内存溢出。
解决办法:
Windows环境中
在Maven安装目录中找到文件%M2_HOME%\bin\mvn.bat ,这就是启动Maven的脚本文件,在该文件中你能看到有一行注释为:
@REM set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE...
它的意思是你可以设置一些Maven参数,我们就在注释下面加入一行:
set MAVEN_OPTS=-Xmx1024M
或者,在执行mvn jetty:run-war命令之前,执行
F:\mahout-distribution-0.5\taste-web>set MAVEN_OPTS=-Xmx1024M
我们看到,配置的Maven选项生效了,OutOfMemoryError也能得以相应的解决。
‘捌’ 基于java jsp asp php vb安卓系统毕业设计与实现论文源码下载
及时送上了计算机毕业设计相关资源 合意的换请采纳一下,大家顺遍点下赞吧
在线考试制卷系统(任务书,论文,源码)
net小型证券术语解释及翻译系统的设计与开发(源码,论文)
原创vf员工培训管理系统(任务书,论文)
asp科研信息管理系统(任务书,开题,论文,源码)
android小型企业工资管理系统(源码,论文)
asp出租车管理系统(任务书,论文,源码)
vb.net实验室计算机的ip地址自动设置程序——服务器端(任务书,论文,源码)
rsa可视化算法程序的实现与研究(任务书,论文)
j2ee数控加工技术教学素材资源库的构建(任务书,论文,源码)
eims系统-oa子系统的设计与开发(任务书,开题,论文,源码)
jsp网上购书(任务书,论文)
vb图书管理系统(任务书,论文)
vc户籍管理系统(任务书,论文,源码)
php基于bs结构的工艺品销售系统的实现(源码,论文)
net模块化动态电子商务网站的开发(任务书,论文,源码)
pb电信人事管理系统设计(任务书,论文)
vb成本费用计算系统(源码,论文)
jsp出租车管理系统(任务书,开题,论文,源码)
asp.net求职招聘网站设计(源码,论文)
vb.net机房监控系统(全套)
vf学生办证管理系统(任务书,开题,论文,源码)
jsp基于网络超市商品销售管理系统(任务书,论文,源码)
jsp团员管理
asp.net一个动态文学网站
vf基于jme平台的掌上网络商店-服务器端的开发
c#报警系统
net(vc)办公自动化管理系统
jsp计算机等级考试查询系统jdbc
vb.net商品配送中心库存仿真软件设计
jsp网络购物
net在线英语自学系统——知识库管理的设计
jsp企业进销存管理系统
php某公司进销存信息管理系统
pb干部档案管理系统
delphi学生信息管理系统毕业设计
asp学生信息管理系统
asj2eetoc电子商务网站
delphi图书管理系统(毕业程序翻译%通过)
jsp网上商城系统
jsp客户关系管理系统
jsp企业人事管理系统
c#办公管理系统
jsp搜索引擎的研究与实现
jsp网络房产信息超市
php会员管理系统
j2ee基于usbkey的文件加密工具—-客户端的实现
net网上图书订阅系统的设计
php网站流量统计
asp.net团员管理
android文件传输
delphi并行接口器件功能演示的可视化设计学位
php房屋租赁管理信息系统jdbc
数据采集电路pcb的设计与制作
androidsmart系统-考试监控及阅卷模块的设计与开发
java流动资金贷款业务系统
asp电脑配机
vf物流管理系统--仓储管理子系统的实现
简化的cpu逻辑功能的仿真实现
net网上教材管理系统
net高校学生宿舍管理系统
vc药品公司进销售存管理系统
基于des加密算法的word加密插件的实现
asp.net基于asp.net的房产中介系统
c#简单图片转化
asp基于asp的反垃圾邮件管理系统的设计
delphi航空客运订票系统
c#windows简单防火墙设计与实现
j2ee车间调度系统
php《信息论与编码》在线考试系统
vb.net基于角色访问控制的oa系统
asp某小型数字图书馆
vb图形识别和编辑
pb电脑公司财务管理系统
asp网上购书
android光盘信息管理系统
php新闻网程序
php购物系统
vb.net考试系统vb.net
java学生管理系统
基于apriori算法的关联规则挖掘系统
vf布匹出口管理系统
c#会计电算化系统——财务管理子系统
php毕业生信息管理系统
pb酒店客房餐饮管理系统
vf库存管理
asp.net药品销售数据管理系统
asp.net网上论坛
基于linux的远程控制技术服务端实现
php网络商城
文件压缩与解压缩实践
asp学生管理系统
php科研项目网上申报管理系统
vb.net图片文件中的信息隐藏和还原的设计
asp销售供应链管理系统的设计与开发
asp基于asp技术的猎头公司管理软件的设计和实现——内部事务部分
网络求职招聘系统
neterp系统(毕业设计
php基于web的商场管理系统
vb电脑公司财务管理系统
delphi客户管理系统
net图书馆管理信息系统
java超市商品管理系统
pb在线考试
java原创库存管理系统可执行程序
c语言文件系统设计
基于webservice的数据库同步系统
vb.net考勤管理系统vb.net
vb简单几何图形的识别和编辑系统
net某公司员工管理系统
vf酒店客房管理系统
vf商场管理系统
vb.net开发在windows下的串口异步通信程序
asp一个小型搜索引擎
j2ee高速公路票据管理系统
vb小区物业管理系统
php酒店房间预约系统设计
asp《信息论与编码》在线考试系统
vf宿舍管理系统
android基于局域网的文件传输系统
asp学生网上选课系统
php校园学生信息在线管理系统
asp基于web的商场管理系统
net基于web的订餐系统
jsp仓储管理系统
简易网络存储系统
javaftp客户端
jsp公交查询系统
java人才管理系统
net企业投资价值分析系统
asp基于bbs的bbs系统设计(structmy)好
android通用图书馆管理系统
asp网上选课系统
最新asp网上论坛
vc网络爬虫程序
net考勤系统(net)
net交通信息网上查询系统
美食网站
pb企业物料需求计划管理系统
delphi公交车查询系统delphi源
asp.net网络招聘系统
asp视频点播系统
vf学生学籍管理
android毕业管理系统
简易网络存储系统
vb.net一种基于cc模式的网上购物系统
asp.net网络文件管理系统
asp.net学生信息管理系统
j2ee城市公交查询系统
j2ee人机接口设备—示波器的仿真实现
jsp网络商城
net基于bs的图书销售管理系统
net基于net的公司网站
j2ee汽车零件销售管理系统
vf图片文件中的信息隐藏和还原的设计
vf医药管理系统
net技术的猎头公司管理软件——内部事务部分
最新net高校学生宿舍管理系统
vb局域网抓包软件
asp.net企业物流平台
asp.net学生排课管理系统
vb.net网络数据包捕获工具
android企业考勤
c#在线考试
j2eealendar的跨平台系统的设计
vf书店辅助进书系统
asp仓库即时查询系统
asp作业提交与批改系统
vb开发在windows下的串口异步通信程序
javaac自动组卷系统
asp网上体育用品商店
jsp华夏文化交流平台
delphi采购管理
php校园新闻发布管理系统
vb.net成绩管理系统vb.net
delphi五子棋游戏(网络版)的设计与开发
最新net网上图书订阅系统的设计
vb教学辅助系统vb
android试题库自动组卷系统
vc试题库自动组卷系统(vc)cym
asp.net基于bs的家教交流平台的实现
vf学生成绩管理系统vf
asp.net楼宇专业网站毕业设计
net多语种网络硬盘系统的设计
vf考试系统vf
端口信息工具
vf物业管理
net公交车管理系统的实现与设计
pb基于半打开的端口扫描技术及其实现
j2ee水费管理系统
vf用遗传算法解决车辆优化调度问题任务书
jsp办公自动化管理系统
jsp基于android的在线购物系统
asp.net车辆调度管理系统
pb线程插入木马
delphi基于delphi的串口通信服务的开发
asp药店管理系统
jsp实验室设备管理系统
kasumi算法的研究与j2ee实现
net基于.net的城市公交查询系统
jsp基于web的subversion用户管理系统phb
delphivbd租赁管理系统
linux下的网络层加密解密的实现
android药品公司进销售存管理系统
asp服装销售系统
j2ee电信人事管理系统设计
jsp员工信息管理系统
android考勤管理系统android
vf基于.net的网上购物系统
vb.net财务管理系统
vc题库管理系统
delphi基于webcam的人脸检测技术
php在线学习系统
最新php团员管理
vb原创图书管理系统)毕业设计
net某企业信息管理系统
asvbtoc电子商务网站
vf火车站售票管理系统
asp科研信息管理系统
net某企业信息管理系统
vb基于usbkey的文件加密工具—-客户端的实现
net基于.net企业订单管理系统的开发
net房地产评估系统
net作业在线提交系统
vc多线程与线程安全实践-基于http协议的断点续传
vf地税局工资管理系统
delphi科研管理系统
delphi烟花爆竹经销管理系统
面向internet上的cscw的共享白板
php网络招聘系统
php网上求职与招聘系统
vb.net机房监控系统
asp.net考试报名信息处理系统
j2ee医院病房管理系统
基于进程和通信隐藏的木马设计与实现
net息加密与隐藏工具
c#汽车销售系统
jsp原创教师信息管理系统
android简易web服务器研究
asp科研项目网上申报管理系统
asp基于asp的论坛
php计算机组成原理教学网站
android超市销售系统
c#网络流量监控及分析工具
delphi电子邮件客户端软件
android排课系统程序
jsp网上拍卖平台系统)
j2ee某百货店pos积分管理系统-积分添加和通票回收
j2ee教务管理系统j2ee
vf银行代扣代发工资系统
php学生学籍管理系统
基于webservice的异构数据库检索系统的设计
android长途汽车信息管理系统
net系办办公自动化系统
c#网络计时管理系统
net网络商店销售管理系统
原创net高校学生宿舍管理系统
asp网络教学评判系统
net客户关系管理系统的实现
c语言遗传算法在求解tsp问题毕业
asp.net网上教学资源共享系统
基于icmp模拟网络控制软件的开发——控制管理模块
vb车间调度系统
net动态口令认证的网上选课系统
asp.net图书馆管理系统
asp企业公告及资料发布系统
pb原创图书管理系统)毕业设计
vf基于cs结构的企业人事管理系统
网络嗅探器
jsp网上书店售书系统
asp.net网上选课系统
asp酒店客房管理系统
asp.net自动排课系统
net信息安全研究所设备管理系统
最新net基于bs的图书销售管理系统
java药品销售系统
java简单小游戏设计
jsp基于web的旅游网站建设
android库存管理
php淘宝店主交易管理系统
net频点播系统
pb大型机房学生上机管理系统
jsp基于bs结构的工厂设备管理系统的设计与开发
web的入侵防御系统
最新php基于bbs的bbs系统设计(structmy)好
asp教师信息管理系统
net课件发布系统
j2ee在线英语自学系统——课程及自测管理的设计
asp网上二手商品交易管理系统
原创asp.net购物系统
pb小说租阅管理系统
人机接口设备—开关类部件的仿真实现
net校园新闻发布系统
php基于linux的远程管理系统客户端的实现
php在线exam
delphi物质管理系统
vb.net电信人事管理系统设计
android试题库自动组卷系统(android)cym
j2ee学生档案管理
net基于.net的内部邮件系统实现
asp.net学科建设
asp某公司进销存信息管理系统
java企业投资价值分析系统
java大随机数生成器算法的研究与实现
jsp某高校工资管理系统
vb在线英语自学系统——课程及自测管理的设计
net某店pos积分管理系统-清除履历表、日志表、月购买额
asp会员管理系统
原创美食网站
vs家庭理财系统
局域网监听系统
vc房屋租凭管理系统
jsp在线二手交易系统
vb.net模拟器件测试平台的设计与开发
原创net考勤系统(net)
java酒店管理信息系统
原创网络求职招聘系统
vf高校教务排课系统
c#rsa密码体制的实现
端口扫描与检测技术的实现
delphi猜数游戏的设计与开发
php宿舍管理系统设计
j2eeac自动组卷系统
原创php网络购物
android物质管理系统
php实验室设备管理系统
asp求职招聘网站设计
androidsc结构服装专卖店
net电子购物商城系统
java自动排课系统
java职员信息管理系统
vb书店辅助进书系统
android教师管理系统
jsp基于bs模式的中小企业人事管理系统
vc物质管理系统
最新简易网络存储系统
android并行接口器件功能演示的可视化设计学位
原创基于des加密算法的word加密插件的实现
net频点播系统
asp.net网络旅游信息系统
原创asp计算机组成原理教学网站
jsp车辆调度管理系统
asp.net基于bs的工艺品展示系统
基于纠错码的容错技术的研究——x码
asp电子商务系统
pb原创库存管理系统可执行程序
c#企业往来账务管理系统
vc超市售货管理系统
原创net网上图书订阅系统的设计
android人事管理系统
原创php在线学习系统
vf桌面日历系统
java商业汇票(支票管理)
asp聊天室
java计科教务管理系统
vb.net物业管理系统
asp公共课平时成绩查询系统asp
最新asp会员管理系统
vc书店管理系统
win平台下的pe文件病毒的研究及实现
j2ee电子邮件客户端软件
asp.net基于asp.net的学生信息管理系统
vf企业人事工资管理系统
vbrsa密码体制的实现
java基于bs方式的即时通讯软件
vf煤气站管理系统dpac
pb多媒体教学控制系统-网络通讯平台的设计
delphi酒店管理系统
jsp基于bs结构的工厂设备管理系统的设计与开发
jsp企业人力资源管理系统的设计
java课程设计医药管理系统(java)应要求源文件代码打包上传
j2ee实验室仪器管理系统
pb网吧管理系统
pb车队综合业务管理系统
最新php网络商城
c#大随机数生成器算法的研究与实现
asp基于bs结构的二手交易系统
javad的网络三维技术
最新net考勤系统(net)
jsp基于web的信息处理系统
net小型门户网自助建站系统
社区论坛
asp公交查询系统
java文档资料管理系统
php红旗汽车修理厂物资流通管理系统
校园网络工程综合布线方案
vc高校缴费系统
php格式化系统——前台
原创asp网上选课系统
最新asp校园学生信息在线管理系统
android基于特征的入侵检测系统
vb人事管理系统
vb.net图书管理系统
java简易web服务器研究
jsp基于jsp学生成绩管理系统软件的开发
net模块化动态电子商务网站的开发
delphi中大迅通合同统计系统
linux下的简单网络管理控制系统的设计与开发
vf航空售票模拟系统
vb通用销售管理系统
c#教学信息管理系统毕业
vc企业投资价值分析系统
j2ee基于bs方式的即时通讯软件
asp.net科研信息管理系统
vb.net软件项目开发管理系统vb.net
android可视化图像处理系统
c#高校题库管理系统附原代码程序万字
net基于.net电子相册的开发
pb商品配送中心库存仿真软件设计
android成本费用计算系统
asp.net旅游信息管理系统
j2ee宿舍管理系统
vb.net气象信息服务系统
net基于tcp协议的简单即时通信软件
原创vb职员信息管理系统
php小型企业网上订单系统
android人事管理
vb.net汽车销售系统
最新美食网站
最新简化的cpu逻辑功能的仿真实现
vb光盘信息管理系统
深水蓝文学网站
vb列车时刻查询决策系统
vc毕业管理系统
android商品交易系统
delphi列车时刻查询决策系统课程设计
java图书管理系统带
java基于jee的公交查询系统
net《数据库原理及应用技术》课程指导平台的开发
原创net某企业信息管理系统
delphi局域网的语音通信
vc家庭财务管理系统
android人脸识别系统设计.
php软件信息发布系统
社区论坛
net网上办公系统——公文流程管理设计与实现
原创delphi学生档案管理
delphi干部档案管理系统
asp基于bs的人才交流网站
asp.net酒店房间预约系统
java网络流量监控及分析工具
asp在线教学质量评价系统
php网络购物
快速加密解密芯片中kasumi算法的实现
asp.net网络购物系统
最新php科研项目网上申报管理系统
j2ee打字系统
基于ajaxlucene构建搜索引擎的设计和实现
pb超市配送运输管理系统
vf医疗纠纷检索系统
pb图书管理系统(毕业程序翻译%通过)
原创美食网站
vb网络在线考试系统原码
vb.net邮件收发系统的设计
jsp科研处管理信息系统
vcaccti电话语音应答系统
vc用遗传算法解决车辆优化调度问题任务书
delphi多媒体教学控制系统-网络通讯平台的设计
vc试卷生成系统
java气象信息服务系统
asp局域网文件共享及检索系统的设计与开发
php音乐网站
c内存映射文件在进程共享中的应用研究
php基于web的办公自动化管理系统可执行
php基于网络环境的库存管理系统
jsp在线直销商城
vb排课管理系统
最新简易网络存储系统
jsp基于jsp的网上考试系统_
第二代木马的研究与实现
vb.netjpeg编码优化
java基于java的五子棋游戏软件的设计与开发
java绩效评价系统
vc仓库管理系统
j2ee图书馆书库管理系统
php学生成绩查询
java基于windows入侵检测系统的研究与设计——检测模块设计
android象棋程序
vf网吧计费系统
c#smart系统-考试监控及阅卷模块的设计与开发
android某医疗部门总务信息管理系统
vb.net图书馆全开架借阅管理系统
vf电子通讯录(带系统托盘)
android指纹识别系统
android设备保养管理系统
android基于局域网的信息收发系统
android办公用品管理系统
pb企业考勤管理系统
pb药品公司进销售存管理系统
c#光盘管理系统
php服装销售系统
原创asp.net网上选课系统
net仪器设备管理系统设计与实现
j2ee基于特征的入侵检测系统
最新net基于net的公司网站
vb教学设备管理系统
net(java)办公自动化管理系统
c#企业人事管理系统
asp.net校友录server
android邮政编码系统
最新asjavatoc电子商务网站
原创基于icmp模拟网络控制软件的开发——控制管理模块
asp计算机组成原理教学网站
j2ee考试分析评价系统
net基于bs的计算机等级考试系统
端口扫描与检测技术的实现
vb.net题库管理系统
原创php基于php的论坛
文学网站
php网上体育用品商店
asp网上书店
php博客网站
php施甸县旅游咨询网
原创net客户关系管理系统的实现
vf木马检测工具的实现
vb社区人口资源管理系统设计与实现
vbd的网络三维技术
基于net教学辅助系统设计与实现
c局域网即时聊天程序
delphi象棋程序
jsp基于网络超市商品销售管理系统
c#计算机机房管理系统
asp网络教学平台
asp图书馆管理系统
pbsmart系统-公共资源模块的设计与开发--代码
asp助学贷款管理系统
j2ee学生档案管理系统
php网上购物系统答辩
net门诊就诊系统
php某小型数字图书馆
asp.net网上家电销售管理系统
asp.net网上商城系统
net中小企业oa系统
vb.net房屋销售管理信息系统
最新面向internet上的cscw的共享白板
php同学录系统
iptables图形管理工具
asjavatoc电子商务网站
vc考试系统vc
最新asvftoc电子商务网站
实验室计算机的ip地址自动设置程序——客户端
asp.net网络教学评判系统
asp.net基于asp.net的笔记本销售网站
php药品销售数据管理系统
android自动出题题库系统
原创j2ee电脑公司财务管理系统
数据库连接池的研究与实现
jsp课程设计
java上机考试系统
原创基于net教学辅助系统设计与实现
php科研信息管理系统
eims系统-oa子系统的设计与开发
net基于.net的工资绩效管理系统的开发
pb基于工作流引擎的系统框架设计开发
asp.net网上日记本
c#员工管理系统
基于rsa的数字签名
php企业人力资源管理系统的设计
原创asp《信息论与编码》在线考试系统
j2ee扫雷游戏的设计与开发
jsp网上考试系统
vb学生管理系统
c#基于c#的飞行模拟游戏的设计及实现
php求职招聘网站设计
jsp科研处管理信息系统
net基于svg的自动站雨量分析系统
asp.net文章在线发布系统
vb流动资金贷款业务系统
net网络考试系统.net
jsp聊天室
vb.net基于vb.net的两个通用安全模块
net小型证券术语解释及翻译系统的设计与开发
android电脑销售系统
j2ee自动点歌系统
net小型酒店管理系统的设计
vf办公自动化系统
java商业汇票(支票管理)
asp.net课程设计
pb银行设备管理
jsp企业网站设计
网络数据包的协议分析程序的设计开发
java网络多人聊天系统
android停车场管理系统
_基于.net的驾校理论考试模拟系统
jsp基于bs结构的工艺品销售系统的实现
asp.net格式化系统——前台
asp个人网站
c#兼职中介管理系统
jsp基于jsp的人事管理系统
最新基于des加密算法的word加密插件的实现
asp.net网络实验教学网站
asp网络招聘系统
vb.net煤气站管理系统dpac
asp仓储管理系统
android图书销售信息系统
asp.netcd销售管理系统
php学生信息管理系统
android图像处理工具
pb学生办证管理系统
j2ee党员管理系统
asp.net机房自由上机收费管理软件
vf网络计时管理系统
java基于java的五子棋游戏软件的设计与开发
c#中介管理系统
php酒店客房管理系统
c#图书馆管理系统
pb科研项目管理系统
jsp学生管理
jsp学生考试成绩分析(带饼状态图,柱状图)
asp课程设计
asp.netc语言试题生成与考试系统
vb.net教学信息管理系统
vb局域网的数据包监听及数据分析
vb高校题库管理系统附原代码程序万字
php视频点播系统
vb企业档案管理系统简单版
vb学生宿舍管理系统
net房地产管理系统
c#物业管理
vb音像店管理系统
javasmart系统-公共资源模块的设计与开发--代码
java基于ftp协议的文件访问系统
最新基于des加密算法的word加密插件的实现
vf绩效评价系统
asp操作系统课程教学网站
pb旅游资源及线路管理系统
vb.net计科教务管理系统
最新php客户关系管理系统
j2ee病房管理系统
php原创交友网设计
最新net频点播系统
php基于php学生成绩管理系统软件的开发
最新neterp系统(毕业设计
原创vc基于bs方式的即时通讯软件
基于lotus的故障报修系统
vf超市配送运输管理系统
vb.net试卷生成系统
原创文件压缩与解压缩实践
php教师档案管理系统
原创jsp《信息论与编码》在线考试系统
android网络数据包捕获工具
jsp药品销售数据管理系统
asp在线学习系统
j2ee考勤管理系统j2ee
asp网络商城
c局域网即时聊天程序
c#健身中心会员管理系统
vf客房管理信息系统
java基于采集
netxx职业中学图书管理系统的设计
基于caché的实验室资源管理系统的设计
最新基于net教学辅助系统设计与实现
vb.net学生管理系统
c内存映射文件在进程共享中的应用研究
vf中国象棋游戏
vbsmart系统-题库及试卷管理模块的设计与开发
win平台下的pe文件病毒的研究及实现
net基于手机短信平台聊天程序
jsp网上图书销售系统
原创web的入侵防御系统
vc干部档案管理系统
最新web的入侵防御系统
vf基于misty算法的加密软件的实现
vb.net数据结构辅助教学
php个人日志系统
asp.net论坛程序设计(万字功能强大)
asp网页设计辅导系统
最新net动态口令认证的网上选课系统
net基于.net电子相册的开发
j2ee学生信息管理系统万字
pb网上交易系统pb
vf超市进销存管理系统vf报稿
asp留言板
c#模拟atm机系统软件的设计与开发c#
asp交友录
pb车辆
‘玖’ FILTERKINGS是什么意思
FILTERKINGS的意思是过滤,滤除。
filtering (音标:英['fɪltərɪŋ]美['fɪltɚɪŋ] )
常用短语及术语有:
filtering algorithm[计]滤波算法;筛选算法。
collaborative filtering协同过滤;协作筛选。
filtering material过滤材料。
术语和例句:
image filtering像滤波;滤像
wiener filtering维纳滤波
1、The best prevention for cholera is to boil or filter water, and eat only well-cooked food.
预防霍乱最好的方法是把水煮沸或过滤,并且只吃煮熟的食物。
2、Light filtered into my kitchen through the soft, green shade of the honey locust tree.
光线透过皂荚树柔和的绿荫照进了我的厨房。
‘拾’ 求高手提供matlab基于用户的协同过滤推荐算法的源代码,将不胜感激!!!
自己写吧,我毕论也是做推荐算法的。现在正在写基于用户的协同过滤。已基本完工。
是否可以解决您的问题?