java解析URL中domain、端口和协议的两种方法

Java代码 收藏代码

@Test

public void parseDomain() throws IOException {

for (int i = 0; i < 10000000; i++) {

String urlAddress = “http://www.roseindia.net/jsf/JSFLoginApplication.shtml”;

URL url = new URL(urlAddress);

assertEquals(“www.roseindia.net”, url.getHost());

assertEquals(“/jsf/JSFLoginApplication.shtml”, url.getPath());

assertEquals(-1, url.getPort()); // -1 if not set

assertEquals(“http”, url.getProtocol());

}

}

@Test

public void parseDomainByStringUtils() {

for (int i = 0; i < 10000000; i++) {

String urlAddress = “http://www.roseindia.net/jsf/JSFLoginApplication.shtml”;

assertEquals(“www.roseindia.net”, StringUtils.split(urlAddress, “:/”)[1]);

assertEquals(“http”, StringUtils.split(urlAddress, “:/”)[0]);

}

}

代码可读性比较:使用URL类更优雅

性能比较:URL类解析7s, StringUtils解析使用18s

why not URL class?

java中domain什么意思_java解析URL中domain、端口和协议的两种方法相关推荐

  1. Java运行非Web的Springboot项目(测试类或启动主类两种方法)

    Java运行非Web的Springboot项目(测试类或启动主类两种方法) 前言 一.创建打开一个Springboot项目 二.运行项目 1.Test测试类运行 2.启动主类运行 三.持续运行不停止( ...

  2. 密码学——Hill体制密码中已知明文M和密文C求解密钥矩阵K的两种方法之逆矩阵求解法和待定系数求解法

    本文主要解决古典密码中的Hill体制密码在已知明文M和密文C的情况下求解密钥矩阵K的两种方法:①求逆矩阵②待定系数法. 如若不懂Hill体制的古典密码可以参照我上一篇文章密码学--几种典型的古典密码体 ...

  3. java mvc中重复提交表单,spring mvc 防止重复提交表单的两种方法,推荐第二种

    第一种方法:判断session中保存的token 比较麻烦,每次在提交表单时都必须传入上次的token.而且当一个页面使用ajax时,多个表单提交就会有问题. 注解Token代码: package c ...

  4. java form 上传文件_java通过表单进行文件上传的几种方法

    上传文件的分类: 无论什么方式上传文件,都要用post提交 方式一: 前端:表单方式上传文件 后端: 使用上传技术是apache中的Commons-fileupload.jar commons-io. ...

  5. fceux源码解析_fceux源码解析_从源代码制作deb包的两种方法以及修改已有deb包(转载)...

    1. 原理 1) deb包通常包含两部分:控制信息(DEBIAN目录).安装内容(模拟"/"目录) 2) 通过解开已有的deb包看其中内容 i. 释放安装内容到dirname目录中 ...

  6. fceux源码解析_从源代码制作deb包的两种方法以及修改已有deb包(转载)

    1. 原理 1) deb包通常包含两部分:控制信息(DEBIAN目录).安装内容(模拟"/"目录) 2) 通过解开已有的deb包看其中内容 i. 释放安装内容到dirname目录中 ...

  7. java 登录过滤_Java 过滤器实现(登录) + 拦截器(两种方法)

    以下是实现未登录不能进入页面的实现 使用了thyemeleaf+SpringBoot+过滤器实现的,过滤器的核心代码如下: @Component @WebFilter(filterName= &quo ...

  8. java数据输入的步骤_Java学习日志1.4 Scanner 数据输入的三种方法

    Scanner sc = new Scanner(System.in); /注意in 是InputStream的缩写,是字节输入流的意思. 整句话的含义就是: new 一个对象,接受从键盘输入的数据, ...

  9. php将长url转成短链接,php将URL长链接转换短链接的两种方法

    短网址(Short URL) ,顾名思义就是在形式上比较短的网址.在Web 2.0的今天,不得不说,这是一个潮流.目前已经有许多类似服务,借助短网址您可以用简短的网址替代原来冗长的网址,让使用者可以更 ...

最新文章

  1. 建立可扩展的silverlight应用框架 step-7 final
  2. python matplotlib画折线图_python使用matplotlib绘制折线图教程
  3. excel单元格调用mysql数据_Excel 使用单元格的值 查询MySQL数据库并返回数据给相应的单元格...
  4. LiveVideoStackCon 2018展现多媒体技术生态多样性
  5. MySQL出现Waiting for table metadata lock的原因以及解决方法
  6. jackson 中JsonFormat date类型字段的使用
  7. 服务器小程序servlet的使用
  8. 学习Java编程equals()和hashCode()方法
  9. 汇编语言第二课作业2.3
  10. 02_感知机_统计学习方法
  11. sql server 加密_SQL Server 2016中的新功能–始终加密
  12. 单片机 c语言 宏程序,宏程序学习的几点心得.doc
  13. ORACLE与.NET类型对应关系(转)
  14. api wke_好用的wke浏览器代码,兼容chrome
  15. sybase数据库导出mysql_sybase数据库导出表结构
  16. 登陆界面万能密码绕过
  17. mp4播放器带后台开源源码
  18. IBM将花2.5亿收购第二家以色列移动软件开发商
  19. 阿里巴巴字体图标库使用方法【前端类超详细】
  20. MATLAB regress命令

热门文章

  1. eclipse中git解决冲突
  2. android抽屉屏幕右滑,android - Android - 使滑动抽屉从左向右滑动 - 堆栈内存溢出...
  3. 实验14:访问CMOS RAM显示当前日期和时间
  4. php需要掌握什么,php专业需要掌握哪些知识
  5. 【移植Linux 3.4.2内核之四】修改内核代码支持YAFFS文件系统
  6. Servlet跳转到JSP页面后的路径问题相关解释
  7. 通过tomcat日志定位错误
  8. CSS-posiziton
  9. 从委托而起(二)认识委托
  10. 广州.NET俱乐部 VSTS活动报道