2016年3月1日
摘要: 代理设计指由一个代理主题来操作真实主题,真实主题执行具体的业务操作,而代理主题负责其他相关业务的处理。好像代理上网一样,客户通过网络代理连接网络,由代理服务器完成用户权限和访问限制等与上网操作相关的操作。 只需要定义一个上网的接口,代理主题和真实主题都同时实现该接口,然后再由代理操作真实主题即可。 阅读全文
posted @ 2016-03-01 14:43 Moriatry 阅读(174) 评论(0) 推荐(0)
摘要: 子类被接口实例化后,调用被子类覆写过的方法,但是存在一个问题: 主方法实际上相当于一个客户端,如果此时需要更换一个子类,则必须修改主方法。 JVM原理:所有的程序只认JVM,每个JVM会根据所在的操作系统不同自动进行设置。 即程序--JVM--操作系统。 所以我们可以类似地,在接口和具体子类间加入一 阅读全文
posted @ 2016-03-01 14:42 Moriatry 阅读(124) 评论(0) 推荐(0)
摘要: HTTP Basic Authentication很容易让攻击者监听并获取用户名密码。使用Base64来encode用户名密码也只是为将用户名和口令中的不兼容字符转换为均与HTTP协议兼容的字符集。 最好的方式是直接给服务端加SSL,请求由HTTP变成HTTPS请求。 SSL协议的优势在于它是 与  阅读全文
posted @ 2016-03-01 14:40 Moriatry 阅读(524) 评论(0) 推荐(0)
摘要: spring的核心是ioc, 即控制反转(依赖注入) ioc: 我们拿数据存储为例: 1. 实现数据存储的一般思路:定义一个Database类进行数据库的操作,定义一个business业务逻辑类,调用database类及方法。 实现如下: public class Database{ //向数据库中 阅读全文
posted @ 2016-03-01 14:39 Moriatry 阅读(208) 评论(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 阅读(179) 评论(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 阅读(167) 评论(0) 推荐(0)
  2016年2月5日
摘要: 不可变对象(immutable objects) 那么什么是immutable objects?什么又是mutable Objects呢? immutable Objects就是那些一旦被创建,它们的状态就不能被改变的Objects,每次对他们的改变都是产生了新的immutable的对象,而muta 阅读全文
posted @ 2016-02-05 22:53 Moriatry 阅读(385) 评论(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 阅读(263) 评论(0) 推荐(0)
  2016年1月22日
摘要: JAVA启动后,是经过JVM各级ClassLoader来加载各个类到内存。为了更加了解加载过程,我通过分析和写了一个简单的ClassLoader来粗浅的分析它的原理。JVM的ClassLoader分三层,分别为Bootstrap ClassLoader,Extension ClassLoader,S... 阅读全文
posted @ 2016-01-22 11:30 Moriatry 阅读(426) 评论(0) 推荐(0)
  2016年1月20日
摘要: 如果你定义了一个单实例的java bean,它有若干属性,但是有一个属性不是线程安全的,比如说HashMap。并且碰巧你并不需要在不同的线程中共享这个属性,也就是说这个属性不存在跨线程的意义。那么你不要sychronize这么复杂的东西,ThreadLocal将是你不错的选择。package Th... 阅读全文
posted @ 2016-01-20 17:06 Moriatry 阅读(131) 评论(0) 推荐(0)