`
zh_harry
  • 浏览: 99482 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
877aca81-daac-33c8-8bf9-3a886cebc6c3
自己动手写java 框架
浏览量:27247
社区版块
存档分类
最新评论
文章列表
控制反转 英语:Inversion of control,缩写为IoC 我想很多同学都会思考过这样的一个问题,控制反转,什么地方反转了,是不是翻译的不对? 这里插一句 当年马云借着盖茨的嘴说:“互联网会改变世界。”其实是他自己说的,因为 ...
redis lua脚本出现之前redis是没有服务器端运算能力的,主要是用来存储,用做缓存用,运算是在客户端进行,这样带来了很大的带宽流量。lua出现之后这一问题得到了充分的解决,非常棒! redis lua脚本api介绍 eval  在redis服务器端执行lur脚本 evalsha 在redis 以脚本的sha1签名值在服务器端执行lua 脚本 script exists  判断脚本是否存在 script flush  释放lur脚本的缓存 script load   以sha1签名值做为key保存脚本 script kill   杀死当前执行的肢本 参考地址http://www.red ...

spring 缺陷

    博客分类:
  • JAVA
1、spring.core 功能比较多,我觉得应该再减少并集成ioc功能。这样一般项目只引用这个包就可以了,其中会依赖其他jar包,其实以spring 的能力完全可以写的。 2、spring aop有点鸡肋这个可以不用 3、spring mvc annotation全是jdk反射 通过方向名注入,所以要对方法名注解,其实可以通过方法获取到方法名(直接写代码解析.class文件就可以,还不用依赖第三方字节码jar包),省去用户手动注解的过程。而jdk的反射部分也可以优化,至少要换成cglib等字节码支持也比jdk反射要快。 4、架构思想很不错,但还是不至如人意,包的依赖还是比较严重,不够清楚 ...
public class ThreadLocalTest { ThreadLocal<String> tl = new ThreadLocal<String>(); ThreadLocal<String> t2 = new ThreadLocal<String>(); /** * @author zlz * * @time 2013-7-11上午10:14:50 * @param args */ public static void main(String[] args) { ThreadLocalTes ...
目前的JAVA 企业级开发框架,我们常用的大致包括IOC AOP MVC ORM框架 1、 IOC spring是一个非常棒的ico容器,其思想非常简单,用一个集合对象如MAP 来缓存对象(对象都是单例的),这也就是spring 所说容器内单例,它和java中的单例模式的区别在于单例模式是在当前java进程中保持单例,因为它有三个必要条件:private static 自身对象、private 构造方法、public static getInstance()方法,以保持在进程中单例,而spring只能保证在容器中单例,用户是可以手动再new出其他对象的。所以这部分如果为了简单可以不使用sprin ...
DispatcherServlet extends FrameworkServlet extends HttpServletBean extends HttpServletBean extends HttpServlet 服务方法 请求的第一个方法 /** * Exposes the DispatcherServlet-specific request attributes and delegates to {@link #doDispatch} * for the actual dispatching. */ @Override protected voi ...
软件架构包括硬件和软件部分,硬件部分主要是机房的选择,服务器部署南北同步,动静分离等。 文章主要讲软件架构 从以下几个问题分析 未涉及到的请各位补充 可读性 兼容性 扩展性 可复用性 可维护性 可读性:即思路清楚,逻辑简单,用简单的逻辑实现复杂的业务。 兼容性:对第三方框架或项目的兼容,比如spring对hibernate及ibatis的兼容 可扩展性:即对接口的灵活运用,由客户端程序实现扩展。 可复用性:分为项目内复用,多项目复用.          项目内复用,分层架构。巧用facade 模式,多项目复用,需要开发环境支持.主要涉及源代码复用,js css 资源文件复用.JSP ASPX ...
编写连接池需实现java.sql.DataSource接口, DataSource接口中定义了两个重载的getConnection方法: Connection getConnection() Connection getConnection(String username, String password) 没有close或release方法那么怎么 释放到池中呢? 所以通过动态代理实现 代码如下 public class JdbcPool implements DataSource { private static String driver; priva ...
主要类结构如上图 sqlMapClient 代理sqlMapSession 类进行数据库操作,因为这里的session意味着每次请求,而大部分web服务器是单例多线程,即每个thread的请求周期,所以这里的session是通过threadLocal保存的。通过session类可以维护在请求过程中多次数据库访问,包括statement 数据库连接及其事务,减少每次数据库请求并处理的维护成本。 sqlMapSession的sqlMapExecutorDelegate 委托对象通过sqlMapClient中注入的。sqlMapSession代理sqlMapExecutorDelegate ...
麻雀虽小,但五脏俱全 sparrow 源自中国俗语 麻雀虽小,但五脏俱全,努力打造一个全新的低耦合,0依赖的高性能java 开发基础框架。 这个框架我从11年开始写,中间重构了n遍,最原始的代码可能都找不到了,之所以坚持写, ...
Global site tag (gtag.js) - Google Analytics