![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java应用
文章平均质量分 74
骑蜗牛追梦者
这个作者很懒,什么都没留下…
展开
-
如何写爬虫
1.爬虫定义:通过自动化程序模拟客户端访问服务器的过程,进行页面数据采集。2.爬虫的作用:利用程序自动收集感兴趣的变化的数据,可以对信息进行分析和监控3.爬虫的原理:使用网络通信协议来模拟客户端访问服务器的过程4.如何写爬虫: 1)理解http协议的含义以及格式: 该协议定义了超文本通信的具体格式,即客户端和服务器进行通信的格式。 http协议分为request,respons原创 2017-09-04 20:40:45 · 1296 阅读 · 0 评论 -
selenium(三)之webDriver与浏览器版本问题
引言: 由于selenium通过webDriver来实现自动化测试的过程。但目前浏览器版本更新过快,导致selenium使用的webDriver程序由于版本与浏览器不一致产生的各种问题。1.最常用的chrome最新数据更新到2017-7-21,以下为对应各版本信息。 chrome driver版本 chrome浏览器 v2.31 v58-60 v2.30 v58-60 v原创 2017-09-08 11:31:02 · 7678 阅读 · 1 评论 -
FastJson实现复杂对象序列化与反序列化
一.认识FastJsonfastjson是目前java语言中最快的json库,比自称最快的jackson速度要快,第三方独立测试结果说明比gson快大约6倍JSON帮助类 这个可以做一个实例研究代码,也可以作为一个工具类 去调用。 FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,Fastjson是一个Java语言编写的高性能功能完善的JSON库。F原创 2017-03-15 11:41:05 · 26606 阅读 · 1 评论 -
jackson实现简单对象的序列化,反序列化
在项目开发中,设计到远程通信时,我们往往需要将当前对象序列化之后进行远程传输。其中jackson可以将java类型转化为json字符串进行传输,并可以在远程完成json字符串还原为相应对象的操作。一. jackson简介1.定义:JSON的全称是JavaScript Object Notation,是一种轻量级的数据交换格式。 JSON与 XML具有相同的特性,例如易于人编写和阅读,易原创 2017-03-13 22:53:22 · 8475 阅读 · 0 评论 -
java原生序列接口
我们都知道java中实现序列化和反序列化,一般只需要实现接口Serializable即可。一.序列化,反序列化1.定义:序列化:将数据分解成字节流,以便存储在文件中或在网络上传输。反序列化;就是打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。恢复数据要求有恢复数据的对象实例。2java中序列化特点:如果某个类能够被序列化,其子类也可以被原创 2017-03-14 20:27:47 · 632 阅读 · 0 评论 -
JSoup解析html常见问题
之前写了一个关于抓所以取某个网站用户信息的程序,大量的用到了关于JSoup解析html的知识。并且其中也遇到了一些问题,这类问题在我们以后的开发过程中可能还有机会遇到,所以今天在这里对这块做个总结。一.Jsoup如何根据url获得对应的网页Document文档1.常见写法 doc=Jsoup.parse(new URL(url),4000);//参数2是连接超时设置,一旦超时原创 2016-07-13 09:50:47 · 2593 阅读 · 0 评论 -
制作java程序安装包
将java变成安装包一般需要以下几步: + 1) 将java程序打包成jar格式 + 2) 将jar格式制作成exe + 3) 将exe制成安装包 下面我们一步步介绍各个步骤用到的工具以及注意点1.将java程序打包成jar包 eclipse自带的打包工具是无法将我们程序中引用的第三方包加入进去,我们需要将这些第三方包分别写入manife原创 2017-09-12 22:02:40 · 7864 阅读 · 0 评论 -
HMM模型的理解
这是我看过的一篇比较详细的介绍隐形马尔科夫链的文章,来自于知乎。今天正好看到了,记录下,以防自己以后需要用到。马尔科夫链模型理解原创 2017-04-11 16:56:41 · 545 阅读 · 0 评论 -
图算法系列之最短路算法Dijkstra(Java)
引言假如你有一张地图,地图上给出了每一对相邻城市的距离,从一个地点到另外一个地点,如何找到一条最短的路? 最短路算法要解决的就是这类问题。今年的华为精英挑战赛codeCraft中关于部署大数据下网络服务器部署问题就需要使用最短路算法,因为求最小流最大费用算法时, 最核心的就是找出最短路,可见最短路算法的应用之广泛。一.定义:给定一个有(无)向图,每一条边有一个权值 w,给定一个起始原创 2017-04-08 22:06:15 · 8495 阅读 · 2 评论 -
eclipse高版本4.5安装Fat Jar
1.Fat jar用途 我们都知道默认的eclipse下打包jar时,是无法连同外部引用包一起打包的。所以一般我们可以自己编写MINIFEST.MF文件来手动将需要的jar包加入进来,但是这样对于引用大量第三方jar包太麻烦,所以我们可以用Fat jar这个第三方插件来解决该问题 2.Fat jar安装存在的问题 由于FatJar 在Eclipse 4.3及以下安装都是不存在问题的。但在最新的原创 2017-08-11 13:59:28 · 4081 阅读 · 0 评论 -
强大的正则表达式
正则表达式作为一种模式匹配和查找的工具,极大的便利了我们对数据的处理转载 2016-07-01 12:29:51 · 550 阅读 · 0 评论 -
java之socket服务框架
我们知道socket通信是分服务端和客户端两种,如何设计一个好的通信框架呢。本文从实战角度构建一个适合中小型项目开发的socket服务框架。这里需要具有一定的java基础,比如线程知识,socket通信基础。1.服务端设计与实现这里我们将服务器端与客户端通信模型为per-connection per-thread,即一个连接一个线程。不过我们这里进行了部分优化,即建立线程池来管理这些服务线程。1)...原创 2017-03-20 13:47:40 · 9143 阅读 · 3 评论 -
基于字典的中文分词算法RMM
引言:目前针对中文分词一般有基于字典,基于统计(HMM等),基于规则的分词方法,然而其中基于字典的中文分词是最基础,同时也是最高效的方式,但分词精度取决与字典的规模。 一.基于字典的中文算法简介 1.定义:按照一定策略将带分析的汉字串与一个大机器字典中的词条进行匹配,若在词典中找到某个字符串,则匹配成功.所以也称为机械匹配。 按照扫描方向的不同:正向匹配和逆向匹配 按照长度不同:最长匹配和最原创 2017-03-06 22:54:00 · 1838 阅读 · 0 评论 -
基于字典的中文分词算法RMM,MM实现
引言:目前针对中文分词一般有基于字典,基于统计(HMM等),基于规则的分词方法,然而其中基于字典的中文分词是最基础,同时也是最高效的方式,但分词精度取决与字典的规模。**一.基于字典的中文算法简介**1.定义:按照一定策略将带分析的汉字串与一个大机器字典中的词条进行匹配,若在词典中找到某个字符串,则匹配成功.所以也称为机械匹配。按照扫描方向的不同:正向匹配和逆向匹配按照长度不同:最长匹配和原创 2017-03-07 11:29:02 · 6053 阅读 · 0 评论 -
模拟退火算法应用(Java)
引言:我们在前面将动态规划的挖金矿问题中, 使用了建模的方式来解题。我们解题时使用的是穷举解空间的方式来解,但是当问题规模很大时,穷举法无法在段时间内求出最优解,此时我们可以找出一个平衡的局部解。1.题目描述有一个国家,所有的国民都非常老实憨厚,某天他们在自己的国家发现了十座金矿,并且这十座金矿在地图上排成一条直线,国王知道这个消息后非常高兴,他希望能够把这些金子都挖出来造福国原创 2017-03-25 17:13:02 · 7477 阅读 · 0 评论 -
java如何调用外部程序
引言;有时候有些项目需求,直接使用java编写比较麻烦,所有我们可能使用其他语言编写的程序来实现。那么我们如何在java中调用外部程序,幸好java为我们提供了这样的功能。一.调用外部程序接口方法1.Process p=Runtime.getRuntime.exec("cmd")(最常用)方法2.Process p=new ProcessBuilder(cmd).start原创 2017-03-15 20:50:36 · 4686 阅读 · 0 评论 -
java中addShutdownHook钩子程序用途
通过我们的程序中运行完之后都会进行一些清理工作,比如关闭数据库资源,同步等操作。这时我们的钩子函数addShutdownHook有了用武之地。1.钩子程序执行时机:当程序正常退出,系统调用 System.exit方法或虚拟机被关闭时才会执行添加的shutdownHook线程。其中shutdownHook是一个已初始化但并不有启动的线程,当jvm关闭的时候,会执行系统中已经设置的所有通过方法原创 2017-03-15 21:08:38 · 6424 阅读 · 0 评论 -
动态规划之挖金矿(背包问题)
1.题目描述有一个国家,所有的国民都非常老实憨厚,某天他们在自己的国家发现了十座金矿,并且这十座金矿在地图上排成一条直线,国王知道这个消息后非常高兴,他希望能够把这些金子都挖出来造福国民,首先他把这些金矿按照在地图上的位置从西至东进行编号,依次为0、1、2、3、4、5、6、7、8、9,然后他命令他的手下去对每一座金矿进行勘测,以便知道挖取每一座金矿需要多少人力以及每座金矿能够挖原创 2017-03-25 10:38:26 · 3581 阅读 · 0 评论 -
图算法之求两点之间的所有路径(java)
1.给定图如下:2.求0到3之间可达的所有路径这里问题就是关于搜索遍历的问题,但其中需要注意到不能产生回路或环算法描述如下:3.java代码实现1)图结构点表public class Vertex {//存放点信息public int data;//与该点临接的第一个边节点public Edge firstEdge;}边表(代表与点相连的点的集合)原创 2017-03-26 17:29:17 · 14748 阅读 · 3 评论 -
H指数计算
H指数定义: H指数是用来综合衡量学者发表论文的数量和质量的指标。 若某学者共发表N篇论文,H指数是指存在h篇论文至少每篇有h引用量,剩下的N-h篇中,每篇都不超过h引用量。一.排序法复杂度 时间 O(NlogN) 空间 O(1)思路先将数组排序,我们就可以知道对于某个引用数,有多少文献的引用数大于这个数。对于引用数citations[i],大于该引用数文献的数量是citations.leng原创 2017-10-16 21:52:09 · 12717 阅读 · 1 评论