2016年3月1日
摘要: 如果一个类要实现一个接口,则必须覆写此接口中的全部抽象方法,那么如果一个接口中定义的抽象方法过多,但是在子类中又用不到那么多抽象方法,肯定很麻烦。此时就需要一个中间的过渡,但是此过渡类又不希望被直接使用,所以将此过渡类定义成抽象类最合适,即一个接口首先被一个抽象类先实现(此抽象类即适配器类),并在此 阅读全文
posted @ 2016-03-01 14:43 Moriatry 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 子类被接口实例化后,调用被子类覆写过的方法,但是存在一个问题: 主方法实际上相当于一个客户端,如果此时需要更换一个子类,则必须修改主方法。 JVM原理:所有的程序只认JVM,每个JVM会根据所在的操作系统不同自动进行设置。 即程序--JVM--操作系统。 所以我们可以类似地,在接口和具体子类间加入一 阅读全文
posted @ 2016-03-01 14:42 Moriatry 阅读(117) 评论(0) 推荐(0) 编辑
摘要: HTTP Basic Authentication很容易让攻击者监听并获取用户名密码。使用Base64来encode用户名密码也只是为将用户名和口令中的不兼容字符转换为均与HTTP协议兼容的字符集。 最好的方式是直接给服务端加SSL,请求由HTTP变成HTTPS请求。 SSL协议的优势在于它是 与  阅读全文
posted @ 2016-03-01 14:40 Moriatry 阅读(492) 评论(0) 推荐(0) 编辑
摘要: spring的核心是ioc, 即控制反转(依赖注入) ioc: 我们拿数据存储为例: 1. 实现数据存储的一般思路:定义一个Database类进行数据库的操作,定义一个business业务逻辑类,调用database类及方法。 实现如下: public class Database{ //向数据库中 阅读全文
posted @ 2016-03-01 14:39 Moriatry 阅读(200) 评论(0) 推荐(0) 编辑
  2016年2月19日
摘要: 1.首先看对ArrayList的定义: public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable 从ArrayList<E>可 阅读全文
posted @ 2016-02-19 11:23 Moriatry 阅读(174) 评论(0) 推荐(0) 编辑
  2016年2月11日
摘要: 1 F5:下一步,可以进入下一个函数栈 2 F6:当前函数的下一步,不会进入其他的函数。 3 F8:下一个断点。 4 也可以通过选中一个变量或者表达式,按ctrl+shift+i 来查看内容。或者添加监视的方式,查看。 5 可以通过快捷键F2,来查看一个函数方法的javadoc,即说明 6 快捷键F 阅读全文
posted @ 2016-02-11 12:04 Moriatry 阅读(160) 评论(0) 推荐(0) 编辑
  2016年2月5日
摘要: 不可变对象(immutable objects) 那么什么是immutable objects?什么又是mutable Objects呢? immutable Objects就是那些一旦被创建,它们的状态就不能被改变的Objects,每次对他们的改变都是产生了新的immutable的对象,而muta 阅读全文
posted @ 2016-02-05 22:53 Moriatry 阅读(378) 评论(0) 推荐(0) 编辑
  2016年1月25日
摘要: 类的使用顺序:类的装载 -> 链接(验证 -> 准备 -> 解析) -> 初始化 -> 对象实例化https://github.com/Moriadry/useful-things/tree/master/src/Class/T.javaclass T implements Cloneable{ ... 阅读全文
posted @ 2016-01-25 11:58 Moriatry 阅读(253) 评论(0) 推荐(0) 编辑
  2016年1月22日
摘要: JAVA启动后,是经过JVM各级ClassLoader来加载各个类到内存。为了更加了解加载过程,我通过分析和写了一个简单的ClassLoader来粗浅的分析它的原理。JVM的ClassLoader分三层,分别为Bootstrap ClassLoader,Extension ClassLoader,S... 阅读全文
posted @ 2016-01-22 11:30 Moriatry 阅读(413) 评论(0) 推荐(0) 编辑
  2016年1月20日
摘要: 如果你定义了一个单实例的java bean,它有若干属性,但是有一个属性不是线程安全的,比如说HashMap。并且碰巧你并不需要在不同的线程中共享这个属性,也就是说这个属性不存在跨线程的意义。那么你不要sychronize这么复杂的东西,ThreadLocal将是你不错的选择。package Th... 阅读全文
posted @ 2016-01-20 17:06 Moriatry 阅读(127) 评论(0) 推荐(0) 编辑