Guava集

    最近学了一段时间的Guava,感觉是个不错的工具,在原有的JDK基础上封装、修饰了许多集合、工具以及开发中经常会用到的数据结构等等,使用起来真的有很大的帮助,因此想在这里分享记录下学习的内容,方便后续回顾。     学习内容来源于并发编程网站,有一些内容直接粘贴自这里,还有些自己所写。由...

2018-10-14 13:09:16

阅读数 47

评论数 0

Java 注解

    Java在JDK5之后引入了"注解"的概念,实际上就是为了起到简化代码、易于理解的作用,并且通过注解也可以在编译时期发现一些代码格式的错误,更方便的进行开发。 注:这里只是简单记录下 Java 注解的相关概念,未详细讨论。且不涉及 Java 8 新加入的...

2019-03-16 16:26:57

阅读数 20

评论数 0

Quartz 任务调度

    Quartz是一个完全由java编写的开源作业调度框架。为在 Java 应用程序中进行作业调度提供了简单却强大的机制。多用在轮询、定时任务处理等。相对于JDK 自带的Timer 有着更强大的功能。     使用Quartz需要在quartz.jar官网下载相应的jar包(访问可能比较慢) ...

2019-03-02 13:26:49

阅读数 61

评论数 0

代理模式(Proxy)

设计模式         代理模式:为其他对象提供一种代理以控制对这个对象的访问。在某些情...

2018-12-01 21:46:49

阅读数 32

评论数 0

Guava(十二)

【散列】     散列码也可称作哈希函数,即我们在存储数据时,数据和关键字是按照一定的规律存放,以便在查找时能按照这样的规律高效...

2018-11-24 17:11:41

阅读数 66

评论数 0

Guava(十一)

【数学运算】     Guava 对于数学运算进行了专门的封装,对运算溢出、性能以及可读性等方面做了精心的设计。来看看吧: Guava Math主要处理三种整数类型:int、long和BigInteger。这三种类型的运算工具类分别叫做IntMath、LongMath和BigIntegerMa...

2018-11-11 11:59:58

阅读数 96

评论数 0

Guava(十)

【缓存】     缓存在很多场景下都是相当有用的。例如,计算或检索一个值的代价很高,并且对同样的输入需要不止一次获取值的时候,就应当考虑使用缓存。Guava Cache与ConcurrentMap很相似,但也不完全一样。最基本的区别是ConcurrentMap会一直保存所有添加的元素,直到显式地...

2018-11-03 12:18:11

阅读数 37

评论数 0

Guava(九)

【区间】     第二章 提到的RangeSet中有用到 Range区间工具,现在就这里详细了解下。Range就是指所谓的区间,仅支持传入所有实现 Comparable接口的类型,但支持多种区间的定义、计算等操作。 一、构建区间 由于 Range的构造器被声明为私有类型,因此初始化实例都是通...

2018-10-27 16:51:08

阅读数 40

评论数 0

Guava(八)

【原生类型】     Java原生类型就是指8中基本类型:byte、short、int、long、float、double、char和boolean。     原生类型不能当作对象或泛型的类型参数使用,就意味着许多通用方法都不能应用于它们。Guava提供了若干通用工具,包括原生类型数组与集合A...

2018-10-21 22:37:02

阅读数 46

评论数 0

Guava(七)

【并发编程】     并发编程是一个难题,但是一个强大而简单的抽象可以显著的简化并发的编写。出于这样的考虑,Guava 定义了 ListenableFuture 接口并继承了JDK concurrent包下的 Future 接口。Guava强烈建议在代码中多使用 ListenableFuture...

2018-10-13 17:07:45

阅读数 167

评论数 0

Guava(六)

【字符串处理】 一、Joiner 连接器     Joiner用于将字符串序列通过指定的分隔符连接起来,另外通过一些属性的设置可以让字符串的连接变的更简单。 String join = Joiner.on(",").skipNulls()....

2018-09-23 15:56:23

阅读数 51

评论数 0

Guava(五)

【函数式编程】     Guava推出的函数式编程起到简化代码的作用。但过度使用会造成代码的冗长、混乱、可读性差等缺点。此外,还可以了解下Java8中的函数式编程,但仅限于JDK8及以上的版本。 一、Function 函数     Function&lt...

2018-09-15 10:17:16

阅读数 62

评论数 0

Guava(四)

【强大的集合工具】     之前的章节中不少次提到了Lists集合工具,通过 Lists.newArrayList(E… elements) 可以很方便的构建ArrayList集合去使用。除了List,Guava对所有的集合类型都有对应的封装,包括JDK没有的新集合类型,并且构造器支持多种类型...

2018-09-08 16:06:55

阅读数 85

评论数 0

Guava(三)

【不可变集合】     不可变集合就是在初始化时定义好数据,在之后的使用过程中不能再修改的集合。Guava对所有的JDK集合类型和新集合类型都封装了对应的不可变集合。但需要注意的是,所有Guava不可变集合的实现都不接受null值。 一、为什么使用不可变集合 Guava给出了使用原因...

2018-09-01 21:36:05

阅读数 45

评论数 0

Guava(二)

【新集合类型】     Guava在现有的JDK集合中有新增了Multiset、Multimap、BiMap、Table、ClassToInstanceMap、RangeSet、RangeMap等新集合。这些新集合能够跟JDK集合框架共存,并遵循JDK接口契约。所有新集合的构造器都进行了私有化...

2018-08-26 20:42:33

阅读数 85

评论数 0

Guava(一)

【基本工具】 一、Optional     针对Java开发中null的问题,guava设计了Optional类。虽然util包下也有自带的Optional类,但是Guava对其做了更好的处理。Optional 用来表示可能为null的T类型的引用,两个实现类Present(存在)和Abs...

2018-08-12 18:22:19

阅读数 577

评论数 0

Java生成图形验证码

    验证码是一种区分用户是计算机还是人的公共全自动程序。可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试的操作。     图形验证码是最传统的一种的验证码形式,都是由后台进行生成绘制的,生成过程要考虑到机器识别的可能性,因此...

2018-08-04 11:49:29

阅读数 323

评论数 0

Eclipse配置Maven+Git

最近开发配置了Maven和Git工具,在这里记录分享下。 Maven配置 maven的配置包可以在 maven-3.0.5 中下载。下载好后,直接解压到指定的位置,就可以进行配置啦。 1. 首先跟配置Java的环境变量相似,打开计算机的”环境变量”配置”MAVEN_HOME”,变量值为mav...

2018-07-21 14:08:06

阅读数 323

评论数 0

Eclipse配置tomcat服务器(带资源)

手动配置tomcat到eclipse。 tomcat的压缩包资源可以去这里下载。(win32和win64都有) 1、 打开eclipse–>Window–>Preferences,按下图步骤选择: 2、 博主给的资源是tomcat7.0版的,所以这里选择配置7.0版的tomc...

2017-12-28 20:30:42

阅读数 4228

评论数 2

Java网络编程

一、网络通信IP地址: 1. IP网络中每台主机都必须有一个惟一的IP地址; 2. IP地址是一个逻辑地址; 3. 因特网上的IP地址具有全球唯一性; 4. 32位,4个字节,常用点分十进制的格式表示,例如:192.168.0.16。协议: 1. 为进行网络中的数据交换(通信)而建立的规...

2017-12-23 13:38:39

阅读数 91

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭