需要做一个项目管理工具,其中使用到了甘特图。发现全网甘特图解决方案比较少,于是自动动手丰衣足食。前面我用Python和Node.js前端都做过,这次仅仅是移植到Android上面。其实甘特图非常简单,开发也不难,如果我专职去做,能做出一个非常棒产品。我写这个只是消遣,玩玩,闲的蛋痛,所以不怎么上心,就搞成下面这德行吧。仅仅供大家学习,参考。那天心情好了,完善一下。屏幕布局文件
HarmonyOS实战:List拖拽位置交换的多种实现方式
IT小码哥丶
HarmonyOSlist数据结构harmonyosandroid华为
背景在最近日常工作中,遇到需要实现拖拽列表中的元素进行位置交换的需求。第一时间翻看了鸿蒙官方文档,发现官方只给Grid提供了Item交换位置的实现方式,然而List并没有提供,于是需要自己动手去实现。本篇文章详细介绍了两种不同的方式去实现List的位置交换。技术实现方式一使用列表的手势事件实现位置交换。先实现List的onItemDragStart方法。该方法表示拖拽列表元素时触发。.onItem
分类树/装袋法/随机森林算法的R语言实现
廖致君
R
原文首发于简书于[2018.06.12]本文是我自己动手用R语言写的实现分类树的代码,以及在此基础上写的袋装法(bagging)和随机森林(randomforest)的算法实现。全文的结构是:分类树基本知识predginisplitrulesplitrule_bestsplitrule_randomsplittingbuildTreepredict装袋法与随机森林基本知识baggingpredic
数据库系统概论(二十)数据库恢复技术
珹洺
#数据库系统概论数据库oracle
数据库系统概论(二十)数据库恢复技术前言一、事务的基本概念1.什么是事务?2.事务的两种"打开方式"2.1隐式事务2.2显式事务:自己动手打包操作3.事务的四大"铁律3.1原子性3.2一致性3.3隔离性3.4持久性4.为什么需要事务?二、数据库恢复概述1.为什么说数据库故障“不可避免”?1.1计算机系统自身的故障1.2人为导致的故障2.故障会对数据库造成什么影响?2.1数据库处于“不一致状态”2.
好看的文章html页面,一篇文章教你学会HTML
黄一孟
好看的文章html页面
如果你不致力于成为美工的话,那么作为开发人员,可以读懂HTML、必要时能进行简单修改即可。下面跟着我的思路,保证一篇文让你看懂HTML,当然,再看的过程中,最好自己动手试试,这样理解就更深了。Ok,下面开始:(下面的符号均为英文状态下输入)1、html基本规则我的网页………………………..………………….几乎所有的网页都是按照这个格式来的,这是一个网页必须具备的标记,每个标记都放在结束,只不过在省
自己动手开发编译器(七)递归下降的语法分析器
xfxf996
分析递归编译器编译语法开发
原文地址为:自己动手开发编译器(七)递归下降的语法分析器上回我们说到语法分析使用的上下文无关语言,以及描述上下文无关文法的产生式、产生式推导和语法分析树等概念。今天我们就来讨论实际编写语法分析器的方法。今天介绍的这种方法叫做递归下降(recursivedescent)法,这是一种适合手写语法编译器的方法,且非常简单。递归下降法对语言所用的文法有一些限制,但递归下降是现阶段主流的语法分析方法,因为它
HarmonyOS实战:List拖拽位置交换的多种实现方式
背景在最近日常工作中,遇到需要实现拖拽列表中的元素进行位置交换的需求。第一时间翻看了鸿蒙官方文档,发现官方只给Grid提供了Item交换位置的实现方式,然而List并没有提供,于是需要自己动手去实现。本篇文章详细介绍了两种不同的方式去实现List的位置交换。技术实现方式一使用列表的手势事件实现位置交换。先实现List的onItemDragStart方法。该方法表示拖拽列表元素时触发。.onItem
我自己动手写了一个MySQL自动化备份脚本,基于docker
FJSAY
mysql自动化docker
MySQL自动化备份Docker方案该方案仅需通过DockerCompose就能轻松完成部署。你可以自由配置数据库连接信息,无论是远程数据库,还是本地数据库,都能实现无缝对接。在备份频率设置上,支持按固定秒数间隔执行备份任务,比如设置INTERVAL_SECONDS=3600,即可实现每小时自动备份;若设为INTERVAL_SECONDS=86400,则能达成每日备份。备份文件管理方面,它同样表现
Vue3+TypeScript+Django Rest Framework 搭建个人博客(二):用户登录功能
zgj0607
Python博客vuedjangotypescriptpython
用户登录功能是一个信息系统必不可少的一部分,作为博客网站,同样需要管理员登录管理后台,游客注册后登录评论等大家好,我是落霞孤鹜,上一篇我们已经搭建好了前后端的框架的代码,并调通了前后端接口。从这一篇开始,进入到业务功能开发进程中。首先我们需要实现的功能是用户登录,用户登录功能虽然在系统开发中已经很成熟,但是当我们自己动手做的时候,会发现这个功能是那种典型的说起来容易,做起来复杂的功能,需要考虑和处
从0到1做一个“任务管理系统”:Spring Boot + Vue 实战教程(含源码)
jdyzzy
springbootvue.js后端
这篇来搞个实战项目——做一个「个人任务管理系统」。其实就是个“带进度条的待办事项清单”,你可以用来管理自己每天的工作任务、学习计划啥的。重点是:这个项目从前端到后端,通通自己动手,不光能练手SpringBoot、Vue3,还能学会前后端分离开发、接口对接、部署上线,技能点拉满!适合后端转全栈、前端想了解后端,或者就是想做个完整项目的你。一、系统功能简单说一下我们要做的系统,功能主要就这几块:添加任
linux递归删除空文件夹,Shell脚本实现递归删除空文件夹
槿翊
linux递归删除空文件夹
有时我们需要递归删除空文件夹,网上找了一下,没有发现比较好的Shell脚本,于是自己动手写了一个脚本#!/bin/bash#author:十年后的卢哥哥#des:deleteemptydirectoriesrecursivedeleteempty(){find${1:-.}-mindepth1-maxdepth1-typed|whileread-rdirdoif[[-z"$(find"$dir"-
Python Cookbook-7.14 利用 dtuple 实现对查询结果的灵活访问
我不会编程555
#Python学习python开发语言
任务想通过列名或列号,以一种灵活的方式来访问序列,比如访问数据库查询获得的行序列。解决方案使用已有的好代码总是比自己动手去实现要聪明。对于本节的任务,GregStein的dtuple模块提供了一个很好的解决方法:importdtupleimportmx.ODBC.Windowsasodbcflist=["Name","Num","LinkText"
关于easyexcel动态下拉选问题处理
DougLiang
excel开发语言java
前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导致的问题,也通过将下拉数据存入隐藏Sheet再引用的方式解决。直接上代码:packagecom.tlit.platform.excel.annotations;importja
LNMP、LAMP、lighttpd、spawn-fcgi、php-fpm总结
weixin_34377919
php运维前端ViewUI
2019独角兽企业重金招聘Python工程师标准>>>花了3天的时间配置了nginx+mysql+php(php-fpm)+phpmyadmin因为开始根本就没有自己动手去配置过文件,所以自己研究一天时间,在这段时间遇到很多问题,有些时候还搞不清楚fastcgi和php-fpm和lighttpd和spawn-fcgi的关系,走了不少的弯路,以下总结一下。原来很多人都用Lighttpd的Spawn-
邀请开发者共建MyBatis-Plus-Kit:一个基于MyBatis-Plus的小工具库
我是一个普通的Java后端开发者。在日常项目中使用MyBatis-Plus的过程中,总觉得可以再封装一些更通用的能力,省去一遍遍写样板代码的麻烦。于是,就自己动手尝试写了这个组件项目——MyBatis-Plus-Kit,并发布到了maven中心仓库。这个项目目前仍在持续开发中,功能还比较基础,但希望它可以慢慢变得更实用、更易用。如果你刚好也在用MyBatis-Plus,或者对开源项目感兴趣,非常欢
来摸鱼!关于我用 Cursor 写了一个电子木鱼小程序这件事
极客密码
小程序
一个周末时间,我用Cursor开发了一款电子木鱼微信小程序前言一直想用Cursor做点什么,却苦于没有灵感。笔记应用?记账工具?倒数日?这些同质化严重的应用早已泛滥成灾,做了也不过是为互联网增加一份数字垃圾。直到某个深夜,灵光一闪,欸,不如做个电子木鱼?翻遍微信小程序,搜索排名靠前的几款电子木鱼应用,发现它们如出一辙:相似的界面设计,平庸的视觉审美,还有那些无处不在的广告。既然如此,何不自己动手,
《Java SPI:像“插拔U盘”一样扩展你的程序》
山沐与山
JAVA技术小册java开发语言
博客大纲1.开场故事:从“USB接口”到SPI2.什么是SPI?一句话秒懂3.手撕JDBC:SPI的经典应用4.自己动手:实现一个“可插拔”的支付系统5.陷阱与进阶:SPI在SpringBoot中的魔改6.总结:什么时候该用SPI?1.开场故事:从“USB接口”到SPI❝想象你买了一个多功能扩展坞,插上U盘能读文件,插上键盘能打字,插上显卡还能外接显示器——而Java的SPI机制,就是代码世界的“
写一个菜鸟裹裹小程序吧
weixin_34357267
数据库后端开发工具
新手写小程序并不简单,这是我的第一次尝试学习到了很多。最近双十一过后,每天不是拿快递就是去拿快递的路上,翻开手机应用里的菜鸟裹裹查看快递是很方便的,当我在微信端搜索菜鸟裹裹小程序时,却没有发现,于是便想自己动手仿app版写一个菜鸟裹裹的小程序,对其中的快递查询物流跟踪很有兴趣。项目预览图项目效果预览项目目录结构使用的开发工具VScode和微信开发者工具平台提供:微信公众品台|小程序,在该品台注册账
excel文件合并小工具
Destiny,635
excelpython小工具渗透测试
文章目录前言一、基本思路二、编码实现三、使用测试界面如图所示功能测试前言写这个小工具的原因是因为在工作中需要将两个excel里面的数据合并一个新的文件,起初尝试通过WPS进行合并,但是奈何WPS需要收费,所以就自己动手写一个,说干就干,于是乎就有了这个用python写的小工具一、基本思路通过excel文件的路径,读取每个文件当前活跃表格的标题,创建一个新的文件“合并内容.xlsx”文件,将要合并的
自己动手写CPU
记录个人成长
linux
说明:本文根据《自动动手写CPU》一书,整理输出,对自己是一个学习记录,也分享给大家一同进步。1,理论篇1.计算机组成:处理器,输入输出,存储器2.高级编程语言->汇编指令->计算机可识别的0.1编码3.计算机架构分为复杂指令集(CISC)和精简指令集(RISC)区别是CISC每条指定对应的0,1编码串长度不一,而RISC每条指令对应的0,1编码串长度是固定的。4.架构分类4.1x86:Intel
Python小白也能玩转!手把手教你开发并部署自己的MCP Server(附完整代码+避坑指南)
AI新视界
智能体MCP人工智能python开发语言
Python小白也能玩转!手把手教你开发并部署自己的MCPServer(附完整代码+避坑指南)还在为找不到合适的协议服务器而烦恼?想自己动手开发却怕代码复杂到头秃?今天用Python+Flask实现一个MCP(MinimalCommunicationProtocol)Server,从零搭建到部署全流程拆解,代码仅50行,连注释都给你标得明明白白!一、MCPServer是什么?能干啥?MCP(自定义
golang的并发模型
u010927317
golang
1.C/C++与Go语言的“价值观”对照C的价值观摘录相信程序员:提供指针和指针运算,让C程序员天马行空的发挥自己动手,丰衣足食:提供一个很小的标准库,其余的让程序员自造保持语言的短小和简单性能优先C++价值观摘录支持多范式,不强迫程序员使用某个特定的范式不求完美,但求实用(并且立即可用)Go价值观OverallSimplicity全面的简单OrthogonalComposition正交组合Pre
HarmonyOS实战:3秒实现一个自定义轮播图
harmonyos
前言轮播图作为应用程序中最普通使用的控件被广泛应用,相信对于来发者来说并不陌生。在Android中实现一个轮播图很多选择使用第三方的插件,毕竟在有限的开发排期中自己动手去实现一个轮播图并不那么简单,需要考虑的细节很多。不过在HarmonyOS中实现一个轮播图却是十分的简单,本篇文章教你在最短的时间内快速实现一个自定义的轮播图,建议点赞收藏!实现效果需求分析支持自定义循环播放,自动播放。支持自定义播
【JVM Ⅰ】内存与垃圾回收学习笔记
界王拳十倍
Java板块JVM架构类加载子系统运行时数据区
推荐一本书:《深入理解JVM》再来一本:《自己动手写Java虚拟机》这篇文章写得是挺乱的,但还是按照理解来写了一些比较重要的东西,有很多还不能够完全理解,等到时候去二刷吧,立一个Flag【2021年6月6日】前言:JVM不关心各种语言(不管是Java还是其他语言,都可以在JVM上面运行),JVM只关心字节码文件,需要符合JVM字节码规范。11年出来了G1:包含了自动的内存管理and自动的垃圾回收功
用MiddleGenIDE工具生成hibernate的POJO(根据数据表生成POJO类)
AdyZhang
POJOeclipseHibernateMiddleGenIDE
推荐:MiddlegenIDE插件, 是一个Eclipse 插件. 用它可以直接连接到数据库, 根据表按照一定的HIBERNATE规则作出BEAN和对应的XML ,用完后你可以手动删除它加载的JAR包和XML文件! 今天开始试着使用
.9.png
Cb123456
android
“点九”是andriod平台的应用软件开发里的一种特殊的图片形式,文件扩展名为:.9.png
智能手机中有自动横屏的功能,同一幅界面会在随着手机(或平板电脑)中的方向传感器的参数不同而改变显示的方向,在界面改变方向后,界面上的图形会因为长宽的变化而产生拉伸,造成图形的失真变形。
我们都知道android平台有多种不同的分辨率,很多控件的切图文件在被放大拉伸后,边
算法的效率
天子之骄
算法效率复杂度最坏情况运行时间大O阶平均情况运行时间
算法的效率
效率是速度和空间消耗的度量。集中考虑程序的速度,也称运行时间或执行时间,用复杂度的阶(O)这一标准来衡量。空间的消耗或需求也可以用大O表示,而且它总是小于或等于时间需求。
以下是我的学习笔记:
1.求值与霍纳法则,即为秦九韶公式。
2.测定运行时间的最可靠方法是计数对运行时间有贡献的基本操作的执行次数。运行时间与这个计数成正比。
java数据结构
何必如此
java数据结构
Java 数据结构
Java工具包提供了强大的数据结构。在Java中的数据结构主要包括以下几种接口和类:
枚举(Enumeration)
位集合(BitSet)
向量(Vector)
栈(Stack)
字典(Dictionary)
哈希表(Hashtable)
属性(Properties)
以上这些类是传统遗留的,在Java2中引入了一种新的框架-集合框架(Collect
MybatisHelloWorld
3213213333332132
//测试入口TestMyBatis
package com.base.helloworld.test;
import java.io.IOException;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibat
Java|urlrewrite|URL重写|多个参数
7454103
javaxmlWeb工作
个人工作经验! 如有不当之处,敬请指点
1.0 web -info 目录下建立 urlrewrite.xml 文件 类似如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE u
达梦数据库+ibatis
darkranger
sqlmysqlibatisSQL Server
--插入数据方面
如果您需要数据库自增...
那么在插入的时候不需要指定自增列.
如果想自己指定ID列的值, 那么要设置
set identity_insert 数据库名.模式名.表名;
----然后插入数据;
example:
create table zhabei.test(
id bigint identity(1,1) primary key,
nam
XML 解析 四种方式
aijuans
android
XML现在已经成为一种通用的数据交换格式,平台的无关性使得很多场合都需要用到XML。本文将详细介绍用Java解析XML的四种方法。
XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便。对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(Document Object
spring中配置文件占位符的使用
avords
1.类
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.o
前端工程化-公共模块的依赖和常用的工作流
bee1314
webpack
题记: 一个人的项目,还有工程化的问题嘛? 我们在推进模块化和组件化的过程中,肯定会不断的沉淀出我们项目的模块和组件。对于这些沉淀出的模块和组件怎么管理?另外怎么依赖也是个问题? 你真的想这样嘛? var BreadCrumb = require(‘../../../../uikit/breadcrumb’); //真心ugly。
上司说「看你每天准时下班就知道你工作量不饱和」,该如何回应?
bijian1013
项目管理沟通IT职业规划
问题:上司说「看你每天准时下班就知道你工作量不饱和」,如何回应
正常下班时间6点,只要是6点半前下班的,上司都认为没有加班。
Eno-Bea回答,注重感受,不一定是别人的
虽然我不知道你具体从事什么工作与职业,但是我大概猜测,你是从事一项不太容易出现阶段性成果的工作
TortoiseSVN,过滤文件
征客丶
SVN
环境:
TortoiseSVN 1.8
配置:
在文件夹空白处右键
选择 TortoiseSVN -> Settings
在 Global ignote pattern 中添加要过滤的文件:
多类型用英文空格分开
*name : 过滤所有名称为 name 的文件或文件夹
*.name : 过滤所有后缀为 name 的文件或文件夹
--------
【Flume二】HDFS sink细说
bit1129
Flume
1. Flume配置
a1.sources=r1
a1.channels=c1
a1.sinks=k1
###Flume负责启动44444端口
a1.sources.r1.type=avro
a1.sources.r1.bind=0.0.0.0
a1.sources.r1.port=44444
a1.sources.r1.chan
The Eight Myths of Erlang Performance
bookjovi
erlang
erlang有一篇guide很有意思: http://www.erlang.org/doc/efficiency_guide
里面有个The Eight Myths of Erlang Performance: http://www.erlang.org/doc/efficiency_guide/myths.html
Myth: Funs are sl
java多线程网络传输文件(非同步)-2008-08-17
ljy325
java多线程socket
利用 Socket 套接字进行面向连接通信的编程。客户端读取本地文件并发送;服务器接收文件并保存到本地文件系统中。
使用说明:请将TransferClient, TransferServer, TempFile三个类编译,他们的类包是FileServer.
客户端:
修改TransferClient: serPort, serIP, filePath, blockNum,的值来符合您机器的系
读《研磨设计模式》-代码笔记-模板方法模式
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
配置心得
chenyu19891124
配置
时间就这样不知不觉的走过了一个春夏秋冬,转眼间来公司已经一年了,感觉时间过的很快,时间老人总是这样不停走,从来没停歇过。
作为一名新手的配置管理员,刚开始真的是对配置管理是一点不懂,就只听说咱们公司配置主要是负责升级,而具体该怎么做却一点都不了解。经过老员工的一点点讲解,慢慢的对配置有了初步了解,对自己所在的岗位也慢慢的了解。
做了一年的配置管理给自总结下:
1.改变
从一个以前对配置毫无
对“带条件选择的并行汇聚路由问题”的再思考
comsci
算法工作软件测试嵌入式领域模型
2008年上半年,我在设计并开发基于”JWFD流程系统“的商业化改进型引擎的时候,由于采用了新的嵌入式公式模块而导致出现“带条件选择的并行汇聚路由问题”(请参考2009-02-27博文),当时对这个问题的解决办法是采用基于拓扑结构的处理思想,对汇聚点的实际前驱分支节点通过算法预测出来,然后进行处理,简单的说就是找到造成这个汇聚模型的分支起点,对这个起始分支节点实际走的路径数进行计算,然后把这个实际
Oracle 10g 的clusterware 32位 下载地址
daizj
oracle
Oracle 10g 的clusterware 32位 下载地址
http://pan.baidu.com/share/link?shareid=531580&uk=421021908
http://pan.baidu.com/share/link?shareid=137223&uk=321552738
http://pan.baidu.com/share/l
非常好的介绍:Linux定时执行工具cron
dongwei_6688
linux
Linux经过十多年的发展,很多用户都很了解Linux了,这里介绍一下Linux下cron的理解,和大家讨论讨论。cron是一个Linux 定时执行工具,可以在无需人工干预的情况下运行作业,本文档不讲cron实现原理,主要讲一下Linux定时执行工具cron的具体使用及简单介绍。
新增调度任务推荐使用crontab -e命令添加自定义的任务(编辑的是/var/spool/cron下对应用户的cr
Yii assets目录生成及修改
dcj3sjt126com
yii
assets的作用是方便模块化,插件化的,一般来说出于安全原因不允许通过url访问protected下面的文件,但是我们又希望将module单独出来,所以需要使用发布,即将一个目录下的文件复制一份到assets下面方便通过url访问。
assets设置对应的方法位置 \framework\web\CAssetManager.php
assets配置方法 在m
mac工作软件推荐
dcj3sjt126com
mac
mac上的Terminal + bash + screen组合现在已经非常好用了,但是还是经不起iterm+zsh+tmux的冲击。在同事的强烈推荐下,趁着升级mac系统的机会,顺便也切换到iterm+zsh+tmux的环境下了。
我为什么要要iterm2
切换过来也是脑袋一热的冲动,我也调查过一些资料,看了下iterm的一些优点:
* 兼容性好,远程服务器 vi 什么的低版本能很好兼
Memcached(三)、封装Memcached和Ehcache
frank1234
memcachedehcachespring ioc
本文对Ehcache和Memcached进行了简单的封装,这样对于客户端程序无需了解ehcache和memcached的差异,仅需要配置缓存的Provider类就可以在二者之间进行切换,Provider实现类通过Spring IoC注入。
cache.xml
<?xml version="1.0" encoding="UTF-8"?>
Remove Duplicates from Sorted List II
hcx2013
remove
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.
For example,Given 1->2->3->3->4->4->5,
Spring4新特性——注解、脚本、任务、MVC等其他特性改进
jinnianshilongnian
spring4
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
MySQL安装文档
liyong0802
mysql
工作中用到的MySQL可能安装在两种操作系统中,即Windows系统和Linux系统。以Linux系统中情况居多。
安装在Windows系统时与其它Windows应用程序相同按照安装向导一直下一步就即,这里就不具体介绍,本文档只介绍Linux系统下MySQL的安装步骤。
Linux系统下安装MySQL分为三种:RPM包安装、二进制包安装和源码包安装。二
使用VS2010构建HotSpot工程
p2p2500
HotSpotOpenJDKVS2010
1. 下载OpenJDK7的源码:
http://download.java.net/openjdk/jdk7
http://download.java.net/openjdk/
2. 环境配置
▶
Oracle实用功能之分组后列合并
seandeng888
oracle分组实用功能合并
1 实例解析
由于业务需求需要对表中的数据进行分组后进行合并的处理,鉴于Oracle10g没有现成的函数实现该功能,且该功能如若用JAVA代码实现会比较复杂,因此,特将SQL语言的实现方式分享出来,希望对大家有所帮助。如下:
表test 数据如下:
ID,SUBJECTCODE,DIMCODE,VALUE
1&nbs
Java定时任务注解方式实现
tuoni
javaspringjvmxmljni
Spring 注解的定时任务,有如下两种方式:
第一种:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http
11大Java开源中文分词器的使用方法和分词效果对比
yangshangchuan
word分词器ansj分词器Stanford分词器FudanNLP分词器HanLP分词器
本文的目标有两个:
1、学会使用11大Java开源中文分词器
2、对比分析11大Java开源中文分词器的分词效果
本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那要用的人结合自己的应用场景自己来判断。
11大Java开源中文分词器,不同的分词器有不同的用法,定义的接口也不一样,我们先定义一个统一的接口:
/**
* 获取文本的所有分词结果, 对比