2019-04-30 Java数据结构之背包、队列和栈 栈 先进后出 为栈中的每一个元素定义一个结点Node,这个结点包括元素本身和下一个结点的引用,栈底结点的下一个为null。 只有一个栈顶指针 实现出栈、入栈和迭代等操作。 public class Stack<T> implements Iterable<T> { //栈顶元素 private Node<T> first; //栈长... 阅读全文…
2019-04-30 java生成验证码图片 参考文章 要求: 生成随机四位验证码 生成尺寸合适、四方形的图片 打印上验证码,画干扰线和脏点(噪点),图片扭曲 返回图片给controller,输出到客户端 util层生成图片型随机验证码 /** * @Author haien * @Description 生成图片型随机验证码 * @Date 2019/2/9 **/ public class RandomValidate... 阅读全文…
2019-04-30 Java上传图片到阿里云OSS 简介 OSS:阿里云对象存储服务(Object Storage Service),是阿里云提供的海里、安全、低成本、高可靠的云存储服务。您可以通过调用API上传和下载数据,也可以通过web控制台对数据进行简单的管路。它将数据文件以对象的形式上传到存储空间(bucket)中。开通OSS服务 登录阿里云官网,注册账号,首页点击产品,在下拉菜单点击对象存储OSS,点击立即开通,开通后创建空间,然后... 阅读全文…
2019-04-30 Java枚举类enum 简介 先看一个简单的枚举类型 public enum SeasonEnum { SPRING,SUMMER,FALL,WINTER; } enum其实和class地位一样。 枚举类默认继承java.lang.Enum而非Object类。 枚举类可以继承一个或多个接口。 上面的四个季节其实就是SeasonEnum的四个实例,自动被添加public static final修饰,默认调... 阅读全文…
2019-04-30 Java基础知识点 基本类型 byte 8位整数,-128~127 short 16位整数,-32768~32767 int 32位 long 64位,为了标识,建议跟个后缀L或l。 float 32位浮点小数,有一个后缀F/f,没有后缀的浮点数默认为double类型。 double 64位浮点小数,后缀D/d。 char 字符型 boolean 布尔型 只有很少的情况适用float,例如,需要... 阅读全文…
2019-04-30 Java获取客户ip 在开发工作中,我们常常需要获取客户端的ip。一般获取客户端ip的方法是request.getRemoteAddr(),但是在通过了Apache、squid等反向代理软件后,这样不能获取到客户端的真实ip地址了。 如果使用了反向代理软件,将http://192.168.1.110.2046的url反向代理为http://www.abc.com/,当我们访问http://www.abc.com... 阅读全文…
2019-04-30 java公有类 一个文件中只能有一个public类,除此之外可以有其他类,这些类主要用来为public类提供支持。在包之外的世界是无法看见这些类的。 如果没有public类,文件名可以与任一类名一致。 当编写一个java源文件时,此文件通常被称为编译单元。 阅读全文…
2019-04-30 Java发送短信验证码 要求 生成6位随机验证码 向第三方接口发送手机号和验证码,由第三方接口发送验证码到指定手机 将验证码和发送时间存入session,供controller层比对验证码是否正确和有效简介 发送短信需要借助第三方接口,目前提供短信服务的第三方平台有很多,首选秒嘀科技,注册即送10元约200条免费试用优惠,但需要企业认证才能发送短信。阿里云也提供短信服务,但必须充值才能使用。注册秒嘀科技 访问秒嘀科... 阅读全文…
2019-04-30 Java比较两个浮点数 类型升级 规则是低的往高转 如果运算符(通常是比较运算符)两边的数值类型不同,则会先进行类型转换: 出现double则全转换为double 出现float则全转换为float 出现long则全转换为long 否则全转换为int 混合运算时,必须先把所有的数据都转换成同一数据类型: 字符必须先转换成int型,short转换成int型,float转换成double。浮点数的二进制表示 flo... 阅读全文…