通过Enum 表达式取值
摘要:疑问,常量为什么要用Enum 定义,而不用final 来定义一个成员变量或者在Interface 中定义常量 先来了解什么是Enum 类:Enum类是java.lang包中一个类,他是Java语言中所有枚举类型的公共基类。 一、定义: public abstract class Enum<E ext
阅读全文
posted @
2018-06-26 10:17
HelloVoyager
阅读(801)
推荐(0)
Java 之Filter 应用实例--UrlWriterFilter 仿urlrewrite 用来支持二级域名重写
摘要:一、背景 之前的文章介绍了用Java 做301重定向,即使用Url Rewrite 进行URL 重写来实现网站的伪静态。现在产品这边又多了一个需求,需要网站支持二级域名跳转,比如访问abc.baidu.com 能够跳转到 www.baidu.com/abc。这个功能其实和301 重定向原理是一样的,
阅读全文
posted @
2018-06-25 15:10
HelloVoyager
阅读(513)
推荐(0)
百度熊掌号历史数据提交
摘要:一、背景 SEO 为了让百度搜索引擎收录更多的文章,需要将历史数据的文章链接进行提交。SEO 那边已经申请熊掌号,这边需要调用熊掌号提供的接口进行操作(详情可查看熊掌号搜索资源平台)。 二、代码实现 通过执行定时任务的方式,每天定时提交前一天的数据至熊掌号 三、结果: 声明:本文版权归作者和博客园共
阅读全文
posted @
2018-06-25 14:29
HelloVoyager
阅读(1070)
推荐(0)
Java 泛型初识
摘要:什么是泛型? 一个泛型类(generic class)就是有一个或多个类型变量的类。 又叫做参数化类型,将类型当做参数传递给一个类或者方法 为什么要使用泛型程序设计? 泛型程序设计意味着编写的代码可以被很多不同类型的对象所重用。泛型可以看作是普通的工厂 泛型类声明 什么是泛型? 一个泛型类(gene
阅读全文
posted @
2018-06-20 08:56
HelloVoyager
阅读(165)
推荐(0)
Java 设计模式之装饰模式
摘要:一、概念 装饰模式(Decorator)又称包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能(动态地给一个对象添加一些额外的职责),是继承的一种替代方案(比生成子类更为灵活)。 UML 类图: 在装饰模式中的角色有: ● 抽象构件(Component)角色:给出一个抽象接口,以
阅读全文
posted @
2018-06-19 17:00
HelloVoyager
阅读(193)
推荐(0)
深入理解Java 虚拟机 之垃圾收集器与内存分配策略
摘要:一、概述 1. 哪些内存需要回收? 2. 什么时候回收? 3. 如何回收? 我们只有在程序处于运行期间才能知道会创建哪些对象,这部分内存的分配和回收都是动态的,垃圾收集器所关注的是这部分内存。 二、对象“存活还是死去” 垃圾回收之前首先得确定对象是“存活”还是“死亡” 1. 引用计数算法 给对象添加
阅读全文
posted @
2018-06-14 17:11
HelloVoyager
阅读(240)
推荐(0)
(转)MySQL字段类型
摘要:MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 数值类型 字符串 字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。 char和varchar: 1.
阅读全文
posted @
2018-06-14 14:11
HelloVoyager
阅读(625)
推荐(0)
Eclipse 远程调试
摘要:CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=6666,server=y,suspend=n" 2. 防火墙配置,由于服务器防火墙默认屏蔽所有端口号,因此需要把新的端口号添加到防火墙配置中,防火墙配置详情见 笔记 linux
阅读全文
posted @
2018-06-13 09:07
HelloVoyager
阅读(154)
推荐(0)
深入理解Java 虚拟机 之自动内存管理
摘要:Java 内存区域与内存溢出异常 Java 虚拟机在执行Java 程序的过程中慧把它所管理的内存划分为若干个不同的数据区域。如下图所示: (1).程序计数器:较小的内存空间,可以看作时当前线程所执行的字节码的行号指示器。(是唯一一个不会OOM 的区域) (2).Java 虚拟栈:存储局部变量、操作数
阅读全文
posted @
2018-06-10 23:15
HelloVoyager
阅读(210)
推荐(0)
Java 设计模式之适配器模式
摘要:前言 港版的iphone 充电器的插头(需求方Target)很大,不能在国内的插口(适配者Adaptee)上使用,这时候需要加一个插头转换器(适配器Adapter),来做中间转换工作。引出,适配器模式。 适配器模式可以将一个类的接口和另一个类的接口匹配起来,而无须修改原来的适配者接口和抽象目标类接口
阅读全文
posted @
2018-06-09 09:04
HelloVoyager
阅读(967)
推荐(0)
Java 设计模式之代理模式
摘要:代理模式:为其他对象提供一种代理以控制对这个对象的访问 一、静态代理: UML 图 1. 抽象角色,基于面向对象的思想,首先定义一个俱乐部接口,它有一个实现球员需求的方法。 public interface IClub { public void getSalary(String salary);
阅读全文
posted @
2018-06-08 15:15
HelloVoyager
阅读(244)
推荐(0)
Java 设计模式之观察者模式
摘要:一、概述 观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象
阅读全文
posted @
2018-06-08 11:00
HelloVoyager
阅读(408)
推荐(0)
JavaWeb 三大器--Listener、Filter 和Interceptor 总结
摘要:说明:web.xml的加载顺序是:【Context-Param】->【Listener】->【Filter】->【Servlet】,而同个类型之间的实际程序调用的时候的顺序是根据对应的Mapping的顺序进行调用。 详细介绍:web.xml加载顺序与web.xml常用节点解析 一、背景 这段时间因为
阅读全文
posted @
2018-06-07 22:56
HelloVoyager
阅读(14019)
推荐(8)
由Java中List和ArrayList 引发的思考,什么是面向接口编程?
摘要:一、已经知道的内容如下: 什么是构造函数? Java 构造函数,也叫构造方法,是Java 类中的一种特殊方法,方法名与类名相同,一般用来初始化成员变量,当要生成一个类的对象(实例)的时候就会调用构造函数,如果类中没有显示声明类的构造方法,Java 会自动生成一个默认的不带参数的空构造函数。(接口类和
阅读全文
posted @
2018-06-06 10:37
HelloVoyager
阅读(262)
推荐(0)
Java 之Filter 应用实例--强大的UrlRewriteFilter
摘要:一、背景 公司的门户资讯网站的需求:对所有的静态页面做301 重定向(seo 提出的),例如:输入abc.com 能够重定向到 www.abc.com,输入abc.com/news 能够重定向到www.abc.com/news。 二、301 重定向简介 1. 首先要明白什么是重定向? 提到重定向我第
阅读全文
posted @
2018-06-06 10:30
HelloVoyager
阅读(5309)
推荐(2)
深入理解abstract class和interface
摘要:理解抽象类 abstract class和interface在Java语言中都是用来进行抽象类(本文中的抽象类并非从abstract class翻译而来,它表示的是一个抽象体,而abstract class为Java语言中用于定义抽象类的一种方法,请读者注意区分)定义的,那么什么是抽象类,使用抽象类
阅读全文
posted @
2018-06-05 12:23
HelloVoyager
阅读(128)
推荐(0)
Java 之Interceptor--Servlet 中action 过不去的坎
摘要:一、背景 需求是这样的:在表格中添加一个创建时间栏目,显示每条数据详细的创建时间,如图 本来这是一个很简单的需求,只需要在bootstrap 的column 中添加创建时间字段就可以,当然我也这么实现了,本以为没什么问题,但是测试妹子说删除功能不行了???不会吧,我就加一个字段而已,怎么删除不行了呢
阅读全文
posted @
2018-06-05 11:15
HelloVoyager
阅读(1178)
推荐(0)
通过GitHub Desktop 上传代码到github 远程仓库
摘要:之前了解过用gitshell 上传代码到repository,但是觉得这玩意用起来太复杂了,还好github 推出了一个GitHub Desktop 的应用,简单点说这就是一个可视化的git,没有复杂的命令语句,完全可视化操作。 这里演示一下,怎么把本地代码上传到远程仓库 一、首先电脑上需要安装Gi
阅读全文
posted @
2018-06-04 22:59
HelloVoyager
阅读(1736)
推荐(0)
Java之Listener--时刻监控着Servlet 的一举一动
摘要:一、背景 每次启动tomcat 时,console 控制台会输出各种信息,其中看到这两条信息 [xxx 2018-06-04 15:52:13,772](DEBUG) - xxx.xxx.basic.listener.StartUpListener - (StartUpListener.java:5
阅读全文
posted @
2018-06-04 18:24
HelloVoyager
阅读(1432)
推荐(0)
Java之Filter --Servlet技术中最实用的技术
摘要:一、背景: 项目需要一个做二级域的功能,大概是通过二级域跳转访问服务器对应的目录文件,类似于访问当 abc.baidu.com/index.html,实际上访问的是根目录下面abc/index.html。当时的实现思路有两个: ①利用nginx 服务器 做URL重写(rewrite) ②利用Filt
阅读全文
posted @
2018-06-04 15:34
HelloVoyager
阅读(360)
推荐(0)