{{ v.name }}
{{ v.cls }}类
{{ v.price }} ¥{{ v.price }}
1要做html转义时请使用spring的org.springframework.web.util.htmlutils.htmlescape()2aspectj语法:一个包及子包下所有的xxxservice接口的所有方法@pointcut("execution(*com.abc.*service.*(..))")
3
26这个区别不是很大,最主要的区别就是mybatis简化了编码的过程,不需要去写dao的实现类,直接写一个dao的借口,再写一个xml配置文件,整个mybatis就配置好了,也就是数据库就连接好了,然后再service里面调用dao就可以了,但是ibatis则不可以,必须要写dao的实现类,在写个什么returngetsqlmapclienttemplate().queryforlist()神马的,所以说mybatis是ibatis的升级版本,也就是在这里,不用写dao的实现类,还有些区别就是xml里面的sql语句的写法有些小变化,但是不大27熟悉linux的使用,能够在linux上做基本的程序部署,熟悉linux基本命令28具有分销、零售、物流、电商相关的项目经验。29有zookeeper、activemq、dubbo等开源软件使用经验者优先。30熟悉html、javascript、jquery、ajax、css等。31具备系统架构设计能力32掌握缓存、nosql等技术,有相关集群经验优先33【mqtt协议,专门为移动设备设计的,低流量、低耗电等】36generationspace(永久保存区域)、heapspace(堆区域)、javastacks(java栈)class.find(...)就是从【永久区】查找的permanentgenerationspace性的内存溢出,表明永久区不够存放要加载的class了,需要增加永久区的大小,设置xx:permsize和xx:maxpermsize参数的大小37详解finalize函数finalize是位于object类的一个方法,该方法的访问修饰符为protected,由于所有类为object的子类,因此用户类很容易访问到这个方法。由于,finalize函数没有自动实现链式调用,我们必须手动的实现,因此finalize函数的最后一个语句通常是super.finalize()。通过这种方式,我们可以实现从下到上实现finalize的调用,即先释放自己的资源,然后再释放父类的资源。根据java语言规范,jvm保证调用finalize函数之前,这个对象是不可达的,但是jvm不保证这个函数一定会被调用。另外,规范还保证finalize函数最多运行一次。【很多java初学者会认为这个方法类似与c++中的析构函数,将很多对象、资源的释放都放在这一函数里面。】其实,这不是一种很好的方式。原因有三:其一,gc为了能够支持finalize函数,要对覆盖这个函数的对象作很多附加的工作。其二,在finalize运行完成之后,该对象可能变成可达的,gc还要再检查一次该对象是否是可达的。因此,使用finalize会降低gc的运行性能。其三,由于gc调用finalize的时间是不确定的,因此通过这种方式释放资源也是不确定的。通常,finalize用于一些不容易控制、并且非常重要资源的释放,例如一些i/o的操作,数据的连接。这些资源的释放对整个应用程序是非常关键的。在这种情况下,程序员应该以通过程序本身管理(包括释放)这些资源为主,以finalize函数释放资源方式为辅,形成一种双保险的管理机制,而不应该仅仅依靠finalize来释放资源。38很多浏览器都限制一个站点最多保存20个cookie39浏览器缓存,反向代理缓存,页面缓存,局部页面缓存,对象缓存等等都是缓存应用的场景。40单db_[读取压力太大了]_>__master+salves读写分离,分摊读取数据的压力_[master负载太高]_>__垂直分区(也就是所谓的分库,比如将商品信息,用户信息,交易信息分别存储到不同的数据库中,同时还可以针对商品信息的库采用master,salve模式)_>___按照功能拆分的数据库写压力被分担到了不同的server上面__>__水平分区(这就是俗话说的分表,或者说sharding).41【粗】监控系统网络流量是多少,内存利用率是多少,io,cpu的负载是多少,服务的访问压力是多少,服务的响应时间是多少42【细】监控某个url的访问量多少,每个页面的pv是多少,页面每天占用的带宽是多少,页面渲染时间是多少,静态资源比如图片每天占用的带宽是多少43单个cookie的value能存多大的值呢?各浏览器的cookie每一个name=value的value值大概在4k;所以4k并不是一个域名下所有的cookie共享的,而是一个name的大小;大多数浏览器只允许每个站点存储20个cookie44replication与sharding的区别-replication用户扩展数据库系统的读性能-sharding用于扩展数据库系统的写性能
应用无状态(淘宝session框架)有效使用缓存(tair)应用拆分(hsf)数据库拆分(tddl)异步通信(notify)非结构化数据存储(tfs,nosql)监控、预警系统配置统一管理
ok,那么下一步我们说说异步能给系统带来什么样子的好处。首先我们想想,假如系统有a和b两个子系统构成,假如a和b是同步通信的话,那么要想使得系统整体伸缩性提高必须同时对a和b进行伸缩,这就影响了对整个系统进行scaleout.其次,同步调用还会影响到可用性,从数学推理的角度来说,a同步调用b,如果a可用,那么b可用,逆否命题就是如果b不可用,那么a也不可用,这将大大影响到系统可用性,再次,系统之间异步通信以后可以大大提高系统的响应时间,使得每个请求的响应时间变短,从而提高用户体验,因此异步在提高了系统的伸缩性以及可用性的同时,也大大的增强了请求的响应时间(当然了,请求的总体处理时间也许不会变少)。
下面我们就以淘宝的业务来看看异步在淘宝的具体应用。交易系统会与很多其它的业务系统交互,如果在一次交易过程中采用同步调用的话,这就要求要向交易成功,必须依赖的所有系统都可用,而如果采用异步通信以后,交易系统借助于消息中间件notify和其它的系统进行了解耦,这样以来当其它的系统不可用的时候,也不会影响到某此交易,从而提高了系统的可用性。
主要是产品开发、线上推广、线下活动、还有融资/合作这样最重要还是要寻找到用户需求和快速产品开发
【spring对ibatis的支持】spring通过dao模式,提供了对ibatis的良好支持。sqlmapclient:是ibatis中的主要接口,通过xml配置文件可以让spring容器来管理sqlmapclient对象的创建,spring提供了sqlmapclientfactorybean来生成该对象。sqlmapclientfactorybean:sqlmapclientfactorybean是由spring所提供的,用来生成sqlmapclient对象的一个工厂类。当使用spring配置文件将sqlmapclientfactorybean作为一个sqlmapclient的实现类进行注入时,spring容器将根据接口里的定义来调用其getobject方法,最终返回一个sqlmapclient接口的实现类。sqlmapclientfactorybean生成的对象拥有两个重要属性,configlocation属性用来确定sqlmap-config.xml,datasource属性用来确定数据源。sqlmapclientdaosupport:spring提供的数据库操作类,应用程序的持久层dao则可以继承这个类。sqlmapclientdaosupport需要spring为其注入sqlmapclient接口的实现对象,来确定使用何种数据源和使用何种sqlmap-config.xml。
框架..【ibatis框架】ibatis源码学习(一)整体设计和核心流程http://www.iteye.com/topic/1121467ibatis源码学习(三)参数和结果的映射原理http://www.iteye.com/topic/1121782深入分析ibatis框架之系统架构与映射原理https://www.ibm.com/developerworks/cn/java/j-lo-ibatis-principle/读ibatis源码—为什么说sqlmapclient是线程安全的http://www.iteye.com/topic/560566ibatis_2.3源码中insert&update&query垂直浅析http://www.iteye.com/topic/832157ibatis2.3源码之数据源&连接池浅析http://www.iteye.com/topic/712662ibatis插入数据返回id的方法http://my.oschina.net/zimingforever/blog/81092
【mybatis框架】深入理解mybatis原理专栏http://blog.csdn.net/column/details/mybatis-principle.html《深入理解mybatis原理》mybatis初始化机制详解http://blog.csdn.net/luanlouis/article/details/37744073mybatis整体预览(一)http://blog.csdn.net/jdream314/article/details/7462441mybatis整体预览(二)http://blog.csdn.net/jdream314/article/details/7473001mybatis应用系列http://www.blogjava.net/davidjefiny/category/54063.html通过源码分析mybatis的缓存http://www.cnblogs.com/fangjian0423/p/mybatis-cache.html
mybatis源码分析(1)——sqlsessionfactory实例的产生过程http://www.cnblogs.com/hzhuxin/p/3349836.htmlmybatis源码分析(2)——事务概述http://www.cnblogs.com/hzhuxin/p/3352758.html
使用springprofile和mybatis进行多个数据源(h2和mysql)的切换http://www.tuicool.com/articles/mnnjfe使用freemarker编写mybatis的mapper.xml自动生成工具http://my.oschina.net/541996928/blog/128912mybatis-paginatorhttps://github.com/miemiedev/mybatis-paginator
【spring框架】spring源码解读——spring容器初始化1http://blog.csdn.net/chenxuegui1234/article/details/18739495spring框架的设计理念与设计模式分析https://www.ibm.com/developerworks/cn/java/j-lo-spring-principle/http://imaginecup.iteye.com/category/122523springmvc中使用interceptor拦截器http://haohaoxuexi.iteye.com/blog/1750680运用spring注解实现netty服务器端udp应用程序http://blog.csdn.net/tanrenzong1986/article/details/6404256springaop在项目中的一些巧妙使用(一)---方法执行时间记录http://calatustela.iteye.com/blog/1910025扩展springmvc的方法级拦截器http://www.oschina.net/code/snippet_84328_14106springmvc学习总结http://www.tuicool.com/kans/919944126springtransaction分析事务属性http://blog.csdn.net/partner4java/article/details/7015331关于《扩展springmvc的方法级拦截器》的应用例子http://www.oschina.net/code/snippet_84328_15188
【concurrent包源码分析】concurrent.atomic包源码分析http://blog.csdn.net/ajian005/article/details/18894149
spring+netty+haproxyhttp://www.blogjava.net/liuguly/archive/2014/05/21/413900.html
executor框架分析(核心的地方要多次研究)http://blog.csdn.net/ajian005/article/details/18894855
hashmap源码分析(基于jdk1.6)http://blog.csdn.net/ajian005/article/details/18277703
大型网站技术架构》读书笔记系列http://www.cnblogs.com/edisonchou/p/3773828.html
java的动态编译cglib/asm比较http://www.cnblogs.com/zc22/archive/2010/06/20/1761165.html
autumn,自己开发仿springioc/aop集成开发框架http://my.oschina.net/cose/blog/73919
json.stringify语法实例讲解http://www.jb51.net/article/29893.htm【其他博文可学习】jetty嵌入式web容器攻略http://www.cnblogs.com/gao241/p/3501578.html
设计模式&&数据结构http://www.blogjava.net/liuguly/category/45964.html
jvm调优总结-xms-xmx-xmn-xsshttp://leilinhai.blog.sohu.com/175599682.htmljava虚拟机原理图解http://blog.csdn.net/column/details/jvm-principle.html借hsdb来探索hotspotvm的运行时数据http://rednaxelafx.iteye.com/blog/1847971
mysqlmysql5.1参考手册之--查询高速缓冲http://blog.chinaunix.net/uid-346158-id-2130929.html一次linux下mysql服务优化http://blog.path8.net/archives/5902.htmlmysql数据库优化总结http://www.cnblogs.com/villion/archive/2009/07/23/1893765.html访问执行速度过慢分析之mysql慢语句分析http://www.itzhai.com/access-speed-too-slow-mysql-statement-analysis.html
java线程池线程池数据结构与线程构造方法http://www.blogjava.net/xylz/archive/2011/01/18/343183.html[java基础要义]hashmap的设计原理和实现分析http://blog.csdn.net/luanlouis/article/details/41576373
chat&socket.ionode.js和socket.io实现chathttp://www.cnblogs.com/wancy86/archive/2013/04/28/socket-io_chat.htmlhttp://socket.io/get-started/chat/