摘要:
发布-订阅消息模式
一、订阅杂志
我们很多人都订过杂志,其过程很简单。只要告诉邮局我们所要订的杂志名、投递的地址,付了钱就OK。出版社定期会将出版的杂志交给邮局,邮局会根据订阅的列表,将杂志送达消费者手中。这样我们就可以看到每一期精彩的杂志了。
仔细思考一下订杂志的过程,我们会发现这样几个特点:1、消费者订杂... 阅读原文
2017-11-20 15:40:03 阅读(750) 评论(0)
摘要:
前言
本篇将结合JDK1.6的TreeMap源码,来一起探索红-黑树的奥秘。红黑树是解决二叉搜索树的非平衡问题。
当插入(或者删除)一个新节点时,为了使树保持平衡,必须遵循一定的规则,这个规则就是红-黑规则: 1) 每个节点不是红色的就是黑色的 2) 根总是黑色的 3) 如果节点是红色的,则它的子节点必须是黑色的... 阅读原文
2017-11-20 13:41:04 阅读(762) 评论(0)
摘要:
Joinpoint 连接点
Pointcut 切入点
Advice 通知/增强
举例:
Aspact 切面
比如给add()增加日志功能的过程即称为切面
还有几个术语知道就可以,不常用
Introduction (引入)使用动态的方法在原有属性基础上 添加新属性的操作
阅读原文
2017-11-20 12:02:04 阅读(779) 评论(0)
摘要:
前言:
之前写Java服务端处理POST请求时遇到了请求体转换成字符流所用编码来源的疑惑,在doPost方法里通过request.getReader()获取的BufferedReader对象内部的
Reader用的是什么编码将字节流转换成字符流的呢?又是在哪里设置呢和什么时候生效的呢?通过查找资料,我了解到通... 阅读原文
2017-11-20 10:24:01 阅读(849) 评论(0)
摘要:
前言:
最近接手了一个项目,大概过了下需求,然后打开项目准备开搞的时候发现一个问题,这个项目是提供rest服务的一个web项目,其中很多关键的查询都调用这个项目,之前的开发人员为了监控每个方法的执行时间,在方法开始和结束写了很多logger.info("耗时:"+time)这种代码。很... 阅读原文
2017-11-20 09:49:01 阅读(743) 评论(0)
摘要:
javac 概述
javac 是jdk bin目录下的一个脚本。 用于编译 java程序的源代码,但是 其实现的本质 是基于 jdk 标准类库中的 javac类库实现,所以java的编译器实质上是一个 java程序。
javac脚本 仅是一个便于启动以及传递参数的脚本文件,其内部依旧运行了 jav... 阅读原文
2017-11-20 09:35:01 阅读(780) 评论(0)
摘要:
package cn.ch.w;
public abstract class A {
public abstract void fun();
}
package cn.ch.w;
public class B extends A{
public void fun(){
... 阅读原文
2017-11-20 07:59:02 阅读(757) 评论(0)
摘要:
Whats Mybatis
持久层框架, 替代MVC层中DAO,因为DAO 层的需求就是 :能与数据库交互的对象、 能执行SQL语句。
不同于JDBC的connection,MyBatis 中有个SqlSession ,什么是SqlSession,以及它的作用是什么:
◆
1 向SQL语句传入... 阅读原文
2017-11-20 07:17:02 阅读(803) 评论(0)
摘要:
在struts2中有很多种跳转方式如下是在struts-default.xml截取的一段源码,常用的跳转有 转发:dispatcher、重定向:redirect、转发到Action:chain、重定向到Action:redirectAction
1 <package name="struts-defaul... 阅读原文
2017-11-20 06:28:02 阅读(762) 评论(0)
摘要:
前言
在搭建完集群环境后,不得不考虑的一个问题就是用户访问产生的session如何处理。如果不做任何处理的话,用户将出现频繁登录的现象,比如集群中存在A、B两台服务器,用户在第一次访问网站时,Nginx通过其负载均衡机制将用户请求转发到A服务器,这时A服务器就会给用户创建一个Session。当用户第二次发送请求时,N... 阅读原文
2017-11-20 06:03:06 阅读(808) 评论(0)