修改了上次的代码,现在支持室内的多楼层情况下的最短路径搜索,还是使用A*算法,把在GraphAdjList中VNode没有利用起来的data字段作为我们存储楼层属性的位置. 实际上是我偷懒了,正常情况下VNode里应该再加一个int level属性,而data还是作为绑定用户想添加任意类型的数据的一个位置来使用,这样例如当用户想对任意节点添加String类型的描述时,声明GraphAdjList<String>即可,但现在我们的GraphAdjList只能声明为GraphAdjList<…
   PgRouting是基于开源空间数据库PostGIS用于网络分析的扩展模块,最初它被称作pgDijkstra,因为它只是利用Dijkstra算法实现最短路径搜索,之后慢慢添加了其他的路径分析算法,如A算法,双向A算法,Dijkstra算法,双向Dijkstra算法,tsp货郎担算法等,然后被更名为pgRouting.该扩展库依托PostGIS自身的gist索引,丰富的坐标系与图形类型,强大的几何处理能力,如空间查询,空间处理,线性参考等优势,能保障在较大数据级别下的网络分析效果更快更好.…
Java SE 6最引人注目的新功能之一就是内嵌了脚本支持.在默认情况下,Java SE 6只支持JavaScript,但这并不以为着Java SE 6只能支持JavaScript.在Java SE 6中提供了一些接口来定义一个脚本规范,也就是JSR223.通过实现这些接口,Java SE 6可以支持任意的脚本语言(如PHP或Ruby). 运行第一个脚本程序 在使用Java SE 6运行脚本之前,必须要知道你的Java SE 6支持什么脚本语言.在javax.script包中有很多的类,但这些类…
转自: http://www.xuebuyuan.com/1297046.html 将 Maven生成的java项目转化为支持 Eclipse IDE的项目   在前一篇文章中,我们使用maven创建了一个java 项目, 但是这个项目不能导入 Eclipse IDE, 因为它不是 Eclipse style的项目. Here’s a guide to show you how to convert the Maven generated Java project to Eclipse supp…
在谷歌, 我们总是努力做正确的事. 这意味着有时候我们会调整自己的计划. 我们深切地知道开发者社区是多少地关注 Android 能够对 Java 8 良好的支持, 并且我们正在改变自己对 Java 8 支持的方式. 我们已经决定直接将对 Java 8 的支持添加进当前的 javac 和 dx 工具集里面, 而且会过期掉 Jack 工具链. 有了这个新方向, 已经存在的那些依赖于 Java 类文件的工具和插件应该继续可以使用. 再往后的话, Java 8 语言特性将会被 Android 构建系统天…
Java对正则表达式的支持主要体现在String.Pattern.Matcher和Scanner类. 1.Pattern.Matcher 先看一个Pattern和Matcher类使用正则表达式的例子. public class PatternTest { public static void main(String [ ] args) { String testString = "abcabcabcdefabc"; String [] regexs = new String []{&q…
进程:任务 任务并发执行是一个宏观概念,微观上是串行的. 进程的调度是有OS负责的(有的系统为独占式,有的系统为共享式,根据重要性,进程有优先级). 由OS将时间分为若干个时间片. JAVA在语言级支持多线程. 分配时间的仍然是OS. package TomTexts; public class TomTexts_21 { public static void main(String args[]) { ,,,,,}; ,,,,}; try { ;i<data1.length;i++) { tr…
mybatis插入数据时报错: Cause: org.apache.ibatis.executor.ExecutorException: Error getting generated key or setting result to parameter object. Cause: java.sql.SQLException: 不支持的特性 at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFacto…
描述:使用jdbc创建连接后,使用commons-dbutils-1.6 数据库工具类,查询报错如下:java.sql.SQLException: 不支持的特性 Query: 经过测试跟踪在commons-dbutils-1.6包里面QueryRunner类中一个query方法中的getParameterMetaData()语.此操作是Oracle数据库所特有的现象,创建QueryRunner对象时需加上参数true,这样能跳过query方法中的getParameterMetaData()语句.…
美国当地时间9月25日,Oracle 官方宣布 Java 11 (18.9 LTS) 正式发布,可在生产环境中使用!这是自 Java 8 后的首个长期支持版本,非常值得大家的关注,可以通过下面的地址进行下载: https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html Java 11 版本说明 按照 Oracle 公布的支持路线图,Java 11 将会获得 Oracle 提供的长期支持…
您的浏览器没有获得Java Virtual Machine(JVM)支持.可能由于没有安装JVM或者已安装但是没有启用.请安装JVM1.5或者以上版本,如果已安装则启用它. https://www.java.com/zh_CN/download/faq/remove_olderversions.xml https://jingyan.baidu.com/article/6d704a132acd6f28db51ca9c.html https://jingyan.baidu.com/article/…
图的常用存储方式有 2 种: 邻接炬阵 链接表 邻接炬阵的优点和缺点都很明显.优点是简单.易理解,对于大部分图结构而言,都是稀疏的,使用炬阵存储空间浪费就较大. 链接表的存储相比较邻接炬阵,使用起来更方便,对于空间的使用是刚好够用原则,不会产生太多空间浪费.操作起来,也是简单. 本文将以链接表方式存储图结构,在此基础上实现无向图最短路径搜索. 1. 链接表 链接表的存储思路: 使用链接表实现图的存储时,有主表和子表概念. 主表: 用来存储图对象中的所有顶点数据. 子表: 每一个顶点自身会维护一个…
国际化的英文为Internationalization,这个也太长了,所以它又称为I18n(英文单词 internationalization的首末字符i和n,18为中间的字符数). 除了i18n还有L10n(localization),g11n(globalization),还有m17n(multilingualization),它们的区别是: i18n支持多种语言,但是同一时间只能是英文和一种选定的语言,例如英文+中文.英文+德文.英文+韩文等等: L10n(localization),支持…
前言: 程序下载文件时,有时会因为各种各样的原因下载中断,对于小文件来说影响不大,可以快速重新下载,但是下载大文件时,就会耗费很长时间,所以断点续传功能对于大文件很有必要. 文件下载的断点续传: 1.先下载临时文件,用于记录已下载大小:     2.http请求时设置Range参数       3.下载此次请求的数据: 直接上代码: package com.test.service; import java.io.File; import java.io.InputStream; import…
正则表达式的主要用途: a.在目标字符串中找出匹配正则表达式的部分 b.校验目标字符串是否符合正则表达式,例如校验邮箱地址 c.在目标字符串中替换符合正则表达式的部分为其他的字符串 Scanner类是JDK 1.5中引入的扫描类,Scanner类的构造函数可以接受一个Readable对象,具体说来可以是File.String.InputStream等. 下面是一个Scanner类配合正则表达式使用的例子,目的是找出以S.s.c.t开头的单词. package RegexTest; import…
一般数据库的编码是utf8,utf8是不支持存储表情符的,当存入的微信昵称带有表情符时就会出现乱码情况,有两种解决方法: 1.mysql数据库升级到5.5版本以上,utf8改为utf8mb4,utf8mb4的字符最多可以是4个字节,可以存储表情符,重启数据库服务器,这种方式有可能会失效; 2.在java代码里过滤掉表情符,简洁高效,下面是过滤掉表情符的工具类: import java.util.regex.Matcher; import java.util.regex.Pattern; publ…
一般数据库的编码是utf8,utf8是不支持存储表情符的,当存入的微信昵称带有表情符时就会出现乱码情况,有两种解决方法: 1.mysql数据库升级到5.5版本以上,utf8改为utf8mb4,utf8mb4的字符最多可以是4个字节,可以存储表情符,重启数据库服务器,这种方式有可能会失效; 2.在java代码里过滤掉表情符,简洁高效,下面是过滤掉表情符的工具类: import java.util.regex.Matcher; import java.util.regex.Pattern; publ…
尝试一 (现用框架的基础上改动,影响最小化) 最早使用的框架 Xhtmlrenderer,需要把HTML转换成XHTML,引入第二个框架Tidy,Tidy与2010年停止更新,github上的项目也停留在2011年,它对SVG等HTML5标签不在支持 找到源码,做了修改,让Tidy支持了SVG标签,又遇到了两一个问题,Xhtmlrenderer 不识别SVG标签,终止. 尝试二 (SVG转PDF上入手) 从SVG转PDF入手 apache的batik框架支持满足需求,但是它并没有提供HTML转P…
switch表达式后面的数据类型只能是byte,short,char,int四种整形类型,枚举类型和java.lang.String类型(从java 7才允许),不能是boolean类型. 在网上看到好多文章,说switch还支持byte,short,char,int 的包装类,首先可以肯定说switch不支持这些包装类,但是如下的代码又是正确的: public static void main(String[] args) { switch (new Integer(45)) { case 4…
做了几年的开发,今天终于鼓起勇气开通了博客园.平时都是找各种大牛,看他们的分享博客的解决BUG.从今天起,我也开始分享我学习之路.还望大家多多支持! 最近收到一个采用Axis2实现的WebService通过.net对接的需求,开始已为挺简单的一个事,常规引用调用后,测试不通过,需要验证密码.之后...开始疯狂的寻码之旅. 方案一:https://www.cnblogs.com/yf2011/p/5465558.html   本方案让我试的好苦,WSE 2.0.WSE 3.0 都是vs老版本的(本…
原文:http://www.xuebuyuan.com/641669.html 到现在为止,我们AEP平台已经发布很长一段时间了,也有很多ISV接入并上线了,就语言而言,目前主要有三类:Java..Net.Php:Java和Php的调用不存在很复杂的问题,但是.Net就要相对复杂不少, 现在已上线的ISV采用的是.Net SDK 2.0 + WSE 2.0[Web Services Enhancements],但是随着.Net 3.0和3.5的普及,我们需要支持更多的.Net接入方案: 总的来说…
Java运行时系统实现了一个用于调度线程执行的线程调度器,用于确定某一时刻由哪一个线程在CPU上运行. 在Java技术中,线程通常是抢占式的而不需要时间片分配进程(分配给每个线程相等的CPU时间的进程).抢占式调度模型就是许多线程处于可以运行状态(等待状态),但实际上只有一个线程在运行.该线程一直运行到它终止进入可运行状态(等待状态),或者另一个具有更高优先级的线程变成可运行状态.在后一种情况下,低优先级的线程被高优先级的线程抢占,高优先级的线程获得运行的机会. Java线程调度器支持不同优先级…
System类的支持和缓冲流 System类对IO的支持 在System类中,为了支持IO操作提供了三个常量: 错误输出: public static final PrintStream err; 输出到标准输出设备(显示器) public static final PrintStream out; 从标准输入(键盘)设备输入 public static final InputStream in; 错误输出 System.err 是 PrintStream 类对象,此对象专门负责进行错误信息的输…
Java 中的 String 类提供了支持正则表达式操作的方法,包括:matches(). replaceAll().replaceFirst().split().此外,Java 中可以用 Pattern 类表示正则 表达式对象,它提供了丰富的 API 进行各种正则表达式操作,请参考下面面试题 的代码. 面试题: - 如果要从字符串中截取第一个英文左括号之前的字符串,例如:北京 市(朝阳区)(西城区)(海淀区),截取结果为:北京市,那么正则表达式怎么写? import java.util.reg…
1.编写一个Serverlet并设置服务器启动是初始化该Servlet,并在初始化方法中实现对java的资源加载: DispatcherServlet.java package mypack; import java.io.IOException; import java.io.InputStream; import java.util.Properties; import javax.servlet.RequestDispatcher; import javax.servlet.Servlet…
针对网络通信的不同层次,Java提供的网络功能有四大类 InetAddress:用于标识网络上的硬件资源.(说白了就是IP地址的相关信息) URL:统一资源定位符,通过URL可以直接读取或写入网络上的数据 Sockets:使用TCP协议实现网络通信的Socket相关的类 Datagram:使用UDP协议,将数据保存在数据报中,通过网络进行通信.(通过在网络中发送数据报进而实现网络的通信) InetAddress类用于标识网络上的硬件资源,表示互联网协议(IP)协议. package zhang;…
JDK开发环境:1.8 package com.le.tool; import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.PrintWriter; import java.nio.charset.Charset; /** * java调用cm…
之前也介绍过使用yarn api来submit spark任务,通过提交接口返回applicationId的用法,具体参考<Spark2.3(四十):如何使用java通过yarn api调度spark app,并根据appId监控任务,关闭任务,获取任务日志>; 但是我更喜欢使用该篇文章中介绍的使用java来调用spark-submit.sh shell提交任务,并从spark-sbumit.sh执行界面获取applicationId的方案.使用hadoop api方式需要配置好环境,以及根据…
转载:https://blog.csdn.net/lmy86263/article/details/51724221 由于工程合作开发的需要,后台的应用要能支持跨域访问,但是在这个跨域访问“时好时坏”,我们这帮屌丝所知道的就是加上两个jar包,然后声明一下Filter,感觉很简单的有没有!!感觉自己很牛X有没有!!全是幻觉!!要不然怎么会时好时坏!!为了深入了解这个问题,决定写这篇文章总结一下. 要知道跨域请求就要先了解同源策略,那么什么是同源?什么是不同源?简单来说就是,如果两个资源,包括HT…
在Java5以前,switch(expr)中,exper只能是byte,short,char,int类型. 从Java5开始,java中引入了枚举类型,即enum类型. 从Java7开始,exper还可以是String类型. 但是long在所有版本中都是不可以的.…