- 博客(200)
- 收藏
- 关注
原创 再说注解
当今的各种框架:Hibernate、Struts、Spring等,包括EJB,现在都支持注解形式,注解相比XML配置而言确实更为简洁,本文注解 从形式上看,注解是类似注释,它为代码提供了一种新的标识方式,可以在编译器先定义、使用,等到运行时再去解析这些注解对应的含义。在JDK1.5中引入,现在的JDK已经把注解的地位提升到和二进制码相同,当然如果你稍微关注过注解,你应该知道注解解析过
2014-08-16 08:25:58 1891 11
原创 再说JNDI
说到JNDI,即熟悉又陌生,熟悉在经常使用,如EJB3.0中的@EJB注入,底层实现即是JNDI的方式;喜闻乐见的:Context ctx=new InitialContext();Object obj=(Object)ctx.lookup("java:obj");更是最常用的方式。说它陌生,是因为,对于JNDI,我们仅限于基本的使用,本文就是带领大家进入JNDI分析阶段。JNDI作用
2014-08-16 08:24:04 2284 5
原创 再说Servlet
概述 Servlet也是JavaEE的一种规范,位于javax.servlet下,Servlet规范还包含Filter。该包下分为两部分:servlet有关和http有关。 为什么会有两部分?设计该规范时认为Servlet是一种服务模型,不应与协议耦合,因此就抽象出了一个 javax.servlet,同时提供一套基于HTTP协议上的Servlet扩展,当然就现在看,还没有基于其
2014-08-07 15:10:47 1649 3
原创 再说JDBC
上篇文章《再说Java EE》说明了一下什么是规范,有什么作用,这篇文章来细说一下JDBC。JDBC JDBC(Java Database Connection)也是Java EE中的一个规范,所谓规范是一组接口,如JDBC接口包含在java.sql及javax.sql包中,其中java.sql属于JavaSE,javax.sql属于JavaEE,部分如下图:
2014-08-01 15:22:38 2034 11
原创 再说Java EE
说到JavaEE(以前叫J2EE)是什么,你可能回答:JavaEE是一组规范,这么说是没错,但是自己不觉得这个答案很大、很空么?什么又是规范?规范能组成应用么?能在JVM中跑起来么?要理解这些,先得从什么是规范说起。规范 因为Java开源,任何开发者都能写代码,然后提供给其他人使用,以数据库访问为例,现在有MySQL、Oracle两家数据库厂商,各自用java写自己的数据库访
2014-07-31 21:36:17 1739 9
原创 敏捷开发与饥饿营销
饥饿营销 先来扯扯饥饿营销的事,当下能接触到的最火的饥饿营销就是小米手机:它定好一个时间,大家拉好你们的小伙伴们:一个两个怕是不够,得多叫些,然后不吃饭的不吃饭、不睡觉的不睡觉,坐在电脑前专门等着“抢购”按钮的enable属性变为true,然后用最高的apm去抢,抢到的觉得自己很幸运,捡了个大便宜;抢不到的觉得运气不好,下次再来,再多叫些小伙伴。 反正我是不喜欢饥饿营
2013-12-30 23:41:19 1974 23
原创 Emotion英语——感知
英语学习断断续续也快两年了,以前也蜻蜓点水地写过几篇总结,但是因为思考的少,只能得到一些表面的收获。从今年三月初到现在,口语阶段已经有三个月,感触较多,所以写这篇博客对这段时间英语学习的一个整体总结。Emotion与语言学习 Emotion意为情绪、情感,是对事物的一种内在感受,也是对事物最直接的直觉、印象。此处所说的Emotion并非是狭隘的喜怒哀乐,而是对一种事物本身产生的情感:
2013-06-21 21:36:18 3333 11
转载 Java的垃圾回收
引言 Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewarray等指令建立,但是它们不需要程序代码来显式地释放。一般来说,堆的是由垃圾回收来负责的,尽管JVM规范并不要求特殊的垃圾回收技术,甚至根本就不需要垃圾回收,但是由于内存的
2015-10-30 10:39:12 2664 4
转载 Java内存泄露的理解与解决
Java内存管理机制在C++ 语言中,如果需要动态分配一块内存,程序员需要负责这块内存的整个生命周期。从申请分配、到使用、再到最后的释放。这样的过程非常灵活,但是却十分繁琐,程序员很容易由于疏忽而忘记释放内存,从而导致内存的泄露。Java语言对内存管理做了自己的优化,这就是垃圾回收机制。Java的几乎所有内存对象都是在堆内存上分配(基本数据类型除外),然后由GC(garbage colle
2015-07-23 16:58:43 2742 2
转载 synchronized 与 Lock 的异同
最近在做一个监控系统,该系统主要包括对数据实时分析和存储两个部分,由于并发量比较高,所以不可避免的使用到了一些并发的知识。为了实现这些要求,后台使用一个队列作为缓存,对于请求只管往缓存里写数据。同时启动一个线程监听该队列,检测到数据,立即请求调度线程,对数据进行处理。 具体的使用方案就是使用同步保证数据的正常,使用线程池提高效率。 同步的实现当然是采用锁了,java中使用锁的两个基本工具是
2015-07-21 15:02:48 4149 2
转载 ConcurrentHashMap原理分析
最近在分析Mybatis源码,其中有很多集合类使用的是ConcurrentHashMap,即可进行并发读写的HashMap,发现好文一篇,分享给大家.一.Java并发基础 当一个对象或变量可以被多个线程共享的时候,就有可能使得程序的逻辑出现问题。 在一个对象中有一个变量i=0,有两个线程A,B都想对i加1,这个时候便有问题显现出来,关键就是对i加1的这个过程不是原子操作。要想
2015-06-29 17:30:28 2702 3
原创 RESTful APIs
介绍说RESTful之前,先说说其它的问题。网站定位?CS软件,我们称之为软件,不涉及到RPC时,对数据和业务都是用面向对象的方式处理,那么网站算不算软件?面向对象?Java语言本身是面向对象的,经过Hibernate、Mybatis等ORM框架,数据操作也是面向对象的,还有什么没有被OO?不觉得http://ip:host/deleteUserByCidAndName?cid=xx&name
2015-05-13 18:12:06 4012 3
转载 MySQL server has gone away 问题的解决方法
mysql出现ERROR : (2006, 'MySQL server has gone away') 的问题意思就是指client和MySQL server之间的链接断开了。 造成这样的原因一般是sql操作的时间过长,或者是传送的数据太大(例如使用insert ... values的语句过长, 这种情况可以通过修改max_allowed_packed的配置参数来避免,也可以在程序中将数据分
2015-04-17 09:24:03 6339 8
转载 如何更好地学习dubbo源代码
Dubbo的官方首页在这里:http://code.alibabatech.com/wiki/display/dubbo/Home 很荣幸,作为这样一款业界使用率和好评率出众的RPC框架的维护者,今天这个文章主要是想帮助那些热爱开源的同学,更好的来研究dubbo的源代码。一、Dubbo整体架构 1、Dubbo与Spring的整合 Dubbo在使用上可以做到非常简单,不管是
2015-04-16 18:37:16 4208 5
转载 MySQL的语句执行顺序
MySQL的语句一共分为11步,如下图所标注的那样,最先执行的总是FROM操作,最后执行的是LIMIT操作。其中每一个操作都会产生一张虚拟的表,这个虚拟的表作为一个处理的输入,只是这些虚拟的表对用户来说是透明的,但是只有最后一个虚拟的表才会被作为结果返回。如果没有在语句中指定某一个子句,那么将会跳过相应的步骤。 下面我们来具体分析一下查询处理的每一个阶段:FORM:
2015-04-03 11:08:03 2577 6
转载 MyBatis 入门到精通(一) 了解MyBatis获取SqlSession
初识 MyBatis是一款一流的支持自定义SQL、存储过程和高级映射的持久化框架。MyBatis几乎消除了所有的JDBC代码,也基本不需要手工去设置参数和获取检索结果。MyBatis能够使用简单的XML格式或者注解进行来配置,能够映射基本数据元素、Map接口和POJOs(普通java对象)到数据库中的记录。简介 每个MyBatis应用程序主要都是使用SqlS
2015-01-26 17:16:26 2850 6
转载 前端工程与性能优化
每个参与过开发企业级web应用的前端工程师或许都曾思考过前端性能优化方面的问题。我们有雅虎14条性能优化原则,还有两本很经典的性能优化指导书:《高性能网站建设指南》、《高性能网站建设进阶指南》。经验丰富的工程师对于前端性能优化方法耳濡目染,基本都能一一列举出来。这些性能优化原则大概是在7年前提出的,对于web性能优化至今都有非常重要的指导意义。 然而,对于构建大型we
2015-01-20 11:31:20 2875 4
转载 浏览器内部工作原理
英文原文:How Browsers Work: Behind the Scenes of Modern Web Browsers一、介绍 浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工作原理,我们将看到,从你在地址栏输入google.com到你看到google主页过程中都发生了什么。 将讨论的浏览器 今天,有五种主流浏览器——IE、Firefox、Safari、
2015-01-12 11:01:58 2861 4
转载 Code Review工具Jupiter的使用
Jupiter里,代码评审(code review)分为4个流程Configuration(配置):review发起者设置“Review ID”,指定要评审的代码,参与代码评审的人员,要讨论的问题等等。Individual review(个人评审):每个人独自审查代码,把可能出现问题的代码加入checklistTeam review(团队评审):大家在一起讨论之前检查出的问题代码,并决定如
2015-01-04 18:59:52 5884 8
原创 Quartz Cron
如果想要使用定时任务如Quartz,则必须了解其Cron表达式。与正则表达式规定字符串格式类似,Cron以一种十分简洁的方式,定义了时间间隔的规则:在哪个时刻,或者,隔了多长时间。如果使用过类似谷歌日历等事件管理的软件,你会发现Cron实际上更像谷歌日历中事件触发规则的抽象表达。CronTrigger CronTriggers往往比SimpleTrigger更有用,而非Simpl
2014-12-22 23:59:23 3060 7
转载 memcached基础
memcached是什么?memcached 是以LiveJournal 旗下Danga Interactive 公司的Brad Fitzpatric 为首开发的一款软件。现在已成为 mixi、 hatena、 Facebook、 Vox、LiveJournal等众多服务中 提高Web应用扩展性的重要因素。许多Web应用都将数据保存到RDBMS中,应用服务器从中读取数据并在
2014-10-08 22:17:49 2862 7
原创 Java集合中对象排序
Java API针对集合类型排序提供了两种支持:java.util.Collections.sort(java.util.List)java.util.Collections.sort(java.util.List, java.util.Comparator) 第一个方法要求所排序的元素类必须实现java.lang.Comparable接口;第二个方法要求实现一个java.u
2014-10-08 21:54:19 3932 7
转载 Hibernate对比MyBatis
最近做了一个Hibernate与MyBatis的对比总结,希望大家指出不对之处。第一章 Hibernate与MyBatisHibernate 是当前最流行的O/R mapping框架,它出身于sf.net,现在已经成为Jboss的一部分。 Mybatis 是另外一种优秀的O/R mapping框架。目前属于apache的一个子项目。MyBatis 参考资料官网:http://w
2014-10-08 21:53:13 1416 7
转载 设计模式六大原则
目录:设计模式六大原则(1):单一职责原则设计模式六大原则(2):里氏替换原则设计模式六大原则(3):依赖倒置原则设计模式六大原则(4):接口隔离原则设计模式六大原则(5):迪米特法则设计模式六大原则(6):开闭原则设计模式六大原则(1):单一职责原则定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 问题
2014-08-09 22:01:45 1329 6
原创 Git基础
这次开发要使用Git代替SVN,借机学习了一二,跟大家分享一下。Git简介 一句话总结的说,Git是一个开源的分布式版本控制系统,由Linux内核开发人员开发,现已用来管理android等多个大型项目。 设计目标:快速操作简单设计并行开发(上千个)完全分布式能力超强(类似Linux内核管理)和SVN 提到版本管理系统,自然会想到SVN,如果
2014-06-14 10:30:11 1478 11
原创 Android——碎片Fragment
为了让界面可以在平板上更好地展示,Android在3.0版本引入了Fragment(碎片)功能,它非常类似于Activity,可以像 Activity一样包含布局。Fragment通常是嵌套在Activity中使用的,现在想象这种场景:有两个 Fragment,Fragment 1包含了一个ListView,每行显示一本书的标题。Fragment 2包含了TextView和 ImageView,来
2014-05-18 22:10:26 1234 16
原创 Android出现appcompat_v7的问题
问题描述:使用eclipse创建一个Android项目时,发现project列表中会多创建出一个appcompat_v7项目,再创建一个Android项目时,又会再多出一个appcompat_v7_2,如果再次创建,会以此类推地创建出appcompat_v7_x格式的“多余项目”出来(此情况在ADT升级为22.6.x版本后出现,22.3.x前的版本不会有)查明原因:ADT在22.3
2014-05-18 21:54:43 1703 14
原创 JBPM工作流
初次接触工作流是在OA中,现在再为简略的总结一下,这篇文章要说的是JBPM宏观结构、简单实例、扩展使用三部分。JBPM Java Business Process Management,覆盖了业务流程管理、工作流、服务协作等领域,并且是一个开源的、灵活的、易扩展的流程语言框架。 简单的说,JBPM是一个框架,结合hibernate、数据库、流程图、描述语言等,专门处理与
2014-04-27 22:25:42 1516 19
原创 Emotion英语——Point
在最开始的一篇博客《Emotion英语——感知》中提到,语言最主要的作用是交流,那么今天就来分析一下交流。先来说说交流是什么?咬文嚼字的说,像流一样交换,当然这个流是语言,既然是交换说明是你来我往,分析一下日常生活,汉语交流情况下也一下样,最多的情况就是“问--答--问”的模式,这就提到问答。问答 这是因为对what/where/how/who/when的迟钝,我们很容易就学会如
2014-04-11 20:07:12 1676 16
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人