存档

‘Java’ 分类的存档

布隆过滤器

2019年5月25日 admin 没有评论

布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。 如果想要判断一个元素是不是在一个集合里,一般想到的是将所有元素保存起来,然后通过比较确定。链表,树等等数据结构都是这种思路. 但是随着集合中元素的增加,我们需要的存储空间越来越大,检索速度也越来越慢(O(n),O(logn))。不过世界上还有一种叫作散列表(又叫哈希表,Hash table)的数据结构。它可以通过一个Hash函数将一个元素映射成一个位阵列(Bit array)中的一个点。这样一来,我

分类: Java 标签:

类图

2019年5月25日 admin 没有评论

类图(Class diagram)由许多(静态)说明性的模型元素(例如类、包和它们之间的关系,这些元素和它们的内容互相连接)组成。类图可以组织在(并且属于)包中,仅显示特定包中的相关内容。 类图(Class diagram)是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。 类图(Class diagram)最基本的元素是类或者接口。 类 接口 协作 关系 同其他的图一样,类图也可以包含注解和限制。 类图中也可以包含包和子系统,这两者用来将元素的分组。有时候你也可以将类的实例放到类图中。 注:组件图和分布图和类图类似,虽然他们不包含类而是分别包含组件和节点。 为系统词汇建模型 为系统的词汇建模实际上是从词汇

分类: Java 标签:

基于规则的中文地址分词与匹配方法

2019年4月19日 admin 没有评论

研究背景及意义 随着地理信息系统(GIS)的不断发展和其在各行业的广泛应用,人们对信息共享 的要求也越来越迫切。例如在城市管网、交通导航、工商管理、公共卫生、灾害管理等 领域,地理信息系统作为信息共享的平台,其应用越来越广泛。城市各行业的数据库都 保存着大量和地理位置有关的非空间数据。但是这些行业建设的 GIS 系统并没有足够的 空间位置数据进行支撑,因为地址数据并不能够批量、准确地转化为空间化的信息。这 些数据大多都没有空间位置坐标,无法对应到电子地图上,也就无法进行空间分析和管 理决策。 地址匹配技术正是这一问题的解决方法。地址匹配技术就是把自然语言描述的地理 位置信息转换成地理坐标的过程。通过

分类: Java 标签:

Java实现正向最大匹配算法的分词算法

2019年4月18日 admin 没有评论

package com.demo; import java.io.*; import java.util.ArrayList; /** * 正向最大匹配算法的分词算法. */ public class MM { String Maxlen; ArrayList<String> dict; String s; String subs; String result = ""; public MM() { dict = new ArrayList<String>(); dict.add("山西"); dict.add("大同"); dict.add("云冈"); dict.add("校西街"); dict.add("小区"); } //最大正向匹配算法 public String MMwork(int len, String sen) { while (sen.length() !

分类: Java 标签: ,

try-with-resource语法糖

2019年4月16日 admin 没有评论

JDK7及其之后的资源关闭方式 public static void main(String[] args) { FileInputStream inputStream = null; try { inputStream = new FileInputStream(new File("test")); System.out.println(inputStream.read()); } catch (IOException e) { throw new RuntimeException(e.getMessage(), e); } finally { if (inputStream != null) { try { inputStream.close(); } catch (IOException e) { throw new RuntimeException(e.getMessage(), e); } } } } public static void main(String[]

分类: Java 标签:

Java 关键词 transient

2019年1月18日 admin 没有评论

java语言的关键字,变量修饰符,如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。换句话来说就是,用transient关键字标记的成员变量不参与序列化过程。 Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。当一个对象被序列化的时候,transient型变量的值不包括在序列化的表示中,然而非transient型的变量是被包括进去的。 敏感信息不要被序列化!在编码中,建议使用 transient 关键字将其保护起来。 反序列化中,建议在 readObject 中实现与对

分类: Java 标签:

idea 最常用快捷键

2018年11月26日 admin 没有评论

最常用快捷键 sout 输出语句 psvm 输出main方法 fori 输出for语句 iter 输出foreach语句 Ctrl+Shift+U 大小写转换 Ctrl+Shift+N 可以快速打开文件 Ctrl+Shift+T 生成测试用例 Ctrl+Shift+Enter 补全一切符号 Alt+Shift+Up and Alt+Shift+Down 上下移动当前行 Ctrl+Alt+B 查看抽象方法的实现 Ctrl+Alt+Space 类名提示 Ctrl+Alt+L 格式化代码 Ctrl+Alt+O 优化导包 Ctrl+E 显示最近编辑的文件列表 Ctrl+F12 显示当前文件的结构 Ctrl+P 显示参数信息 Ctrl+Y 删除整行 Ctrl+O 重写父类的方法 Ctrl+I 重写接口的方法 Ctrl+D 复制当前行 Ctrl+H 查看类的继承体系 Ctrl+N 可以快速打开类 Alt+句点 代码提示 Alt+Enter 智能修复

分类: Java 标签:

bootstrap table ajax请求超时时间设置

2018年10月29日 admin 没有评论

bootstrap table可以设置超时时间:ajaxOptions 这个设置是依赖于jquery的ajax的设置: Additional options for submit ajax request. List of values: http://api.jquery.com/jQuery.ajax. jquery里的默认超时时间没有设置,因此为0,但是前端页面确实有超时请求的处理现象,其实是浏览器在控制着请求的超时,并且每个浏览器都超时时长都不一样。 timeout Type: Number Set a timeout (in milliseconds) for the request. A value of 0 means there will be no timeout. This will override any global timeout set with $.ajaxSetup(). The timeout period starts at the point the $.ajax call is made; if several other requests are in p

分类: Java 标签:

正则表达式

2018年10月24日 admin 没有评论

[0-9]+ 匹配数字的 (i_9 + i_787)/i_78987 – i_78965 匹配字符串和数字组合的

分类: Java 标签:

面向对象编程的原则

2018年9月18日 admin 没有评论

进行面向对象编程,掌握基本的设计原则是必须的,我今天介绍最通用的部分,也就是所谓的S.O.L.I.D 原则。 单一职责(Single Responsibility),类或者对象最好是只有单一职责,在程序设计中如果发现某个类承担着多种义务,可以考虑进行拆分。 开关原则(Open-Close, Open for extension, close for modification),设计要对扩展开放,对修改关闭。换句话说,程序设计应保证平滑的扩展性,尽量避免因为新增同类功能而修改已有实现,这样可以少产出些回归(regression)问题。 里氏替换(Liskov Substitution),这是面向对象的基本要素之一,进行继承关系抽象时,凡是可以用父类或者基类的地方,都可以用子类替换。 接口分离(Interface Segre

分类: Java 标签: