
Java
文章平均质量分 74
一大三千
一入IT深似海,且行且编码!
展开
-
java基础编程学习过程中的知识点 -- 个人总结
一、基础语法:1,一个文件中只能有一个public 修饰的class类,并且该类名和文件名相同。二、面向对象:1,类是具有同一事物的抽象;对象是这类的一个实例。2,类(对象)之间的关系:关联,继承,聚合(聚集、组合),多态,实现。3,一个方法声明为static后,这个方法不在属于某个对象,而属于整个类,就可以直接调用。4,调一个方法,原创 2014-08-25 10:26:54 · 971 阅读 · 0 评论 -
Java8新特性整理之构建流的方式(四)
流的创建方式由值创建流你可以使用静态方法Stream.of,通过显式值创建一个流。它可以接受任意数量的参数。Stream<String> stream = Stream.of("Java 8 ", "Lambdas ", "In ", "Action"); stream.map(String::toUpperCase).forEach(System.out::pr...原创 2018-02-08 13:43:24 · 465 阅读 · 0 评论 -
Java8新特性整理之流的介绍与使用(三)
流是什么官方定义:支持顺序和并行聚合操作的元素序列。这里有几个关键词,顺序、并行、聚合、元素序列。所谓顺序就是单线程顺序执行,并行就是多线程分解执行,聚合就是将顺序或并行执行的结果计算后得出最终结果,元素序列则是将数据源(数组,文件,集合等)流化后的数据结构。流与集合上面说的还是有些不明朗,下面结合Java中的集合(Collection)来进一步解释流。Java现有的集原创 2018-02-07 15:33:48 · 629 阅读 · 0 评论 -
Java8新特性整理之CompletableFuture:组合式、异步编程(七)
使用CompletableFuture构建异步应用Future 接口的局限性Future接口可以构建异步应用,但依然有其局限性。它很难直接表述多个Future 结果之间的依赖性。实际开发中,我们经常需要达成以下目的:将两个异步计算合并为一个——这两个异步计算之间相互独立,同时第二个又依赖于第一个的结果。等待 Future 集合中的所有任务都完成。仅等待 Future集合中最快...原创 2018-02-13 09:10:08 · 68418 阅读 · 15 评论 -
Java8新特性整理之Optional取代Null引用(六)
java8之前如何避免空指针异常相信大家在开发中都会碰到NullPointerException 空指针异常导致程序停止的情况。下面就来谈谈在java8之前如何避免空指针异常。一个拥有汽车及汽车保险的客户。Person.javapublic class Person { private Car car; public Car getCar() { ret...原创 2018-02-12 11:53:47 · 1264 阅读 · 0 评论 -
Java8新特性整理之方法引用(二)
方法引用语法目标引用 ::方法的名称例子截取字符串的Lambda表达式(str, i) -> str.substring(i) 等效的方法引用String::substring 方法引用让你可以重复使用现有的方法定义,并像Lambda一样传递它们.构建方法引用方法引用主要有三类: - 指向静态方法的方法引用(例如Integer的pa原创 2018-02-06 10:09:37 · 654 阅读 · 0 评论 -
Java8新特性整理之接口的默认方法(五)
默认方法默认方法由default修饰符修饰,并像类中声明的其他方法一样包含方法体。比如,你可以像下面这样在集合库中定义一个名为 Sized的接口,在其中定义一个抽象方法size,以及一个默认方法isEmpty:public interface Sized { int size(); default boolean isEmpty() { r...原创 2018-02-11 09:14:58 · 564 阅读 · 0 评论 -
Java8新特性整理之Lambda表达式(一)
前言JDK1.8是Oracle在2014年3月19日发布正式版的,到现在差不多接近四年了,最近公司新项目都使用JDK1.8来开发了。这里总结下JDK8中常用的特性,部分内容整理自《Java 8 In Action》 并加上自己的理解,如有出入欢迎批评指正(✪ω✪)Lambda表达式语法(parameters) -> expression或(parameters)原创 2018-02-05 14:12:56 · 675 阅读 · 0 评论 -
java实现手机短信验证的基本思路
整体流程:客户填入手机号,通过客户端点击获取验证码按钮,验证手机号是否有效(这只在客户端验证手机号),是则浏览器发送ajax请求后台,客户端开始倒计时60s,否则返回;服务器,验证手机号是否被注册或有效,是则调用第三方的短信通信接口并发送相关数据(包括手机号和验证码),然后回调结果,成功则将验证码存入session,失败则返回提示,否则返回。客户收到验证码后在有效时间内,填入并发送请求。服务原创 2016-09-30 23:53:39 · 36782 阅读 · 1 评论 -
ThreadLocal源码分析
环境:jdk8类定义public class ThreadLocalT> 构造方法 public ThreadLocal() { }可以看到ThreadLocal类是一个范型定义的类,实例化时可以指定实际类型。该方法实例化一个线程本地变量。initialValueinitialValue方原创 2016-05-17 14:52:48 · 799 阅读 · 0 评论 -
String类常用方法源码分析
环境:JDK8主要分析String类的一些常用的方法源码。String先看String类的定义:public final class String implements java.io.Serializable, ComparableString>, CharSequence可以看到String类被final修饰,因此不能被继承。String类还实现了原创 2016-05-05 22:01:49 · 10378 阅读 · 3 评论 -
StringBuffer、StringBuilder源码分析
环境:JDK8类定义StringBuffer: public final class StringBuffer extends AbstractStringBuilder implements java.io.Serializable, CharSequenceStringBuilder:public final class StringBu原创 2016-05-11 12:29:56 · 1206 阅读 · 0 评论 -
Java学习之抽象类和接口区别比较
抽象类(Abstract) && 接口(Interface)区别比较第一个区别(变量&常量&修饰符)新建抽象类AbstractTest:public abstract class AbstractTest { String name; public String pub_name; protected String prot_name; priva原创 2015-09-02 17:18:12 · 1093 阅读 · 0 评论 -
Java学习之自动装箱和自动拆箱源码分析
自动装箱(boxing)和自动拆箱(unboxing)首先了解下Java的四类八种基本数据类型基本类型占用空间(Byte)表示范围包装器类型boolean1true|falseBooleanchar2原创 2015-08-27 18:56:17 · 8495 阅读 · 12 评论 -
Java学习之方法重载和方法重写(覆盖)比较
方法重载和方法覆盖请带着下面两点来看文章:覆盖即重写,覆盖不等于重载,即重写不等于重载。覆盖(重写)蕴含继承性,而重载只能在本类中使用,不含继承。方法名和参数列表的比较方法覆盖中的方法名和参数首先创建基类Shape:public class Shape { public void draw() {原创 2015-08-26 22:05:15 · 4116 阅读 · 0 评论 -
Java8新特性整理之新的时间和日期API(终章)
前言Java8之前我们使用Date和Calendar这两个类处理时间,但有的特性只在某一个类有提供,比如用 于以语言无关的方式格式化和解析日期或时间的DateFormat方法就只在Date类里有。DateFormat方法也有它自己的问题。比如,它不是线程安全的。这意味着两个线程如果尝试使用同一个formatter解析日期,你可能会得到无法预期的结果。最后,Date和Calendar类...原创 2018-02-22 10:30:57 · 4815 阅读 · 0 评论