- 博客(107)
- 资源 (1)
- 收藏
- 关注
转载 Spring实现AOP的4种方式
Spring实现AOP的4种方式 先了解AOP的相关术语:1.通知(Advice):通知定义了切面是什么以及何时使用。描述了切面要完成的工作和何时需要执行这个工作。2.连接点(Joinpoint):程序能够应用通知的一个“时机”,这些“时机”就是连接点,例如方法被调用时、异常被抛出时等等。3.切入点(Pointcut)通知定义了切面要发生的“故事”和时间,那
2017-04-30 23:27:31 930
转载 Spring学习总结——Spring实现AOP的多种方式
目录一、基于XML配置的Spring AOP二、使用注解配置AOP三、AspectJ切点函数四、AspectJ通知注解五、零配置实现Spring IoC与AOP六、示例下载AOP(Aspect Oriented Programming)面向切面编程,通过预编译方式和运行期动态代理实现程序功能的横向多模块统一控制的一种技术。AOP是OOP的补充,是spring框架中的一个重要内容
2017-04-30 23:25:40 994
转载 Spring AOP详细介绍
AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待,Struts2的拦截器设计就是基于AOP的思想,是个比较经典的例子。一 AOP的基本概念(1)Aspect(切面):通常是一个类,里面可以定义切入点和通知(2)JointPoint(连接点):程序执行过程中明确的点,一般是方法的调用(3)Advice(通知):AOP在特定
2017-04-30 23:23:54 866
转载 Spring AOP详解
一.前言 在以前的项目中,很少去关注spring aop的具体实现与理论,只是简单了解了一下什么是aop具体怎么用,看到了一篇博文写得还不错,就转载来学习一下,博文地址:http://www.cnblogs.com/xrq730/p/4919025.htmlAOPAOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Obje
2017-04-30 23:21:37 780
转载 聊聊clean code
clean code,顾名思义就是整洁的代码,或者说清晰、漂亮的代码,相信大多数工程师都希望自己能写出这样的代码。也许这是个千人千面的话题,每个工程师都有自己的理解。比如我,从一个天天被骂代码写得烂的人,逐渐学习成长,到现在也能写的出“人模人样”的代码来了。这期间算是积累了一点经验心得,想和大家分享,抛砖引玉。本文主要针对面向对象编程的clean code来阐述,面向过程代码的思路
2017-04-23 21:12:54 1226
转载 美团点评前端无痕埋点实践
构建一个数据平台,大体上包括数据采集、数据上报、数据存储、数据计算以及数据可视化展示等几个重要的环节。其中,数据采集与上报是整个流程中重要的一环,只有确保前端数据生产的全面、准确、及时,最终产生的数据结果才是可靠的、有价值的。为了解决前端埋点的准确性、及时性、开发效率等问题,业内各家公司从不同角度,提出了多种技术方案,这些方案大体上可以归为三类:第一类是代码埋点,即在需要埋
2017-04-23 21:11:36 3890
转载 美团点评SQL优化工具SQLAdvisor开源
介绍在数据库运维过程中,优化 SQL 是 DBA 团队的日常任务。例行 SQL 优化,不仅可以提升程序性能,还能够降低线上故障的概率。目前常用的 SQL 优化方式包括但不限于:业务层优化、SQL逻辑优化、索引优化等。其中索引优化通常通过调整索引或新增索引从而达到 SQL 优化的目的。索引优化往往可以在短时间内产生非常巨大的效果。如果能够将索引优化转化成工具化、标准化的流程,减少人工
2017-04-23 21:10:51 1330
转载 缓存那些事
本文已发表于《程序员》杂志2017年第3期,下面的版本又经过进一步的修订。前言一般而言,现在互联网应用(网站或App)的整体流程,可以概括如图1所示,用户请求从界面(浏览器或App界面)到网络转发、应用服务再到存储(数据库或文件系统),然后返回到界面呈现内容。随着互联网的普及,内容信息越来越复杂,用户数和访问量越来越大,我们的应用需要支撑更多的并发量,同时我们的应用服务器和
2017-04-23 21:04:30 1560
转载 数据库的锁机制
Table of Contents数据库中乐观锁与悲观锁的概念锁( locking )悲观锁( Pessimistic Locking )乐观锁( Optimistic Locking )数据库中乐观锁与悲观锁的概念锁( locking )业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算处理中,我们希望针
2017-04-23 20:57:25 931
转载 Innodb中的事务隔离级别和锁的关系
前言:我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力。所以对于加锁的处理,可以说就是数据库对于事务处理的精髓所在。这里通过分析MySQL中InnoDB引擎的加锁机制,来抛砖引玉,让读者更好的理解,在事务处理中数据库到底做了什么。#一次封
2017-04-23 20:56:25 997
转载 数据库锁
前言数据库大并发操作要考虑死锁和锁的性能问题。看到网上大多语焉不详(尤其更新锁),所以这里做个简明解释,为下面描述方便,这里用T1代表一个数据库执行请求,T2代表另一个请求,也可以理解为T1为一个线程,T2 为另一个线程。T3,T4以此类推。下面以SQL Server(2005)为例。2 锁的种类共享锁(Shared lock)。例1:----------
2017-04-23 20:55:07 857
转载 MySQL中的锁(表锁、行锁)
锁是计算机协调多个进程或纯线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所在有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。 概述 相对其他数据库而言,MySQL的锁机制比较
2017-04-23 20:54:11 818
转载 并发编程(四):也谈谈数据库的锁机制
首先声明,本次文章基本上都是从其他人的文章中或者论坛的回复中整理而来。我把我认为的关键点提取出来供自己学习。所有的引用都附在文后,在这里也就不一一表谢了。第二个声明,我对于Internel DB并没有研究过,所使用的也是简单的写写SQL,截止到现在最多的一个经验也就是SQL的性能调优,具体点就是通过Postgresql的执行计划,来调整优化SQL语句完成在特定场景下的数据库调优。对于锁,由于数
2017-04-23 20:52:42 3188
转载 Java中Object.equals与String.equals的区别
基础知识Java的存储空间:寄存器、栈、堆、静态存储区、常量存储区(常量池)、其他存储位置。此处重点介绍堆和常量存储区:堆:存储new的对象;常量池:用来存储final static、String的常量。Object.equals与String.equals的区别Object.equals(==):比较内存地址;String.equals: 比较内容即可
2017-04-23 20:20:10 1938
转载 echarts散点图使用
1.散点图中找最优记录"Content-Type" content="text/html; charset=utf-8"/> "utf-8" /> "stylesheet" href="style/style.css"> "js/echarts.common.min.js">
2017-04-23 17:12:58 7222
转载 Echarts柱状图,饼状图,折线图案例
在使用Echarts之前需要做的工作是引入Echarts所需的js:JavaScript" src="${scriptsPath}/echarts/echarts.min.js" charset="utf-8">定义要在那个div区域显示图形: 下面的id就是是上面div的iddistributionDiagram:func
2017-04-23 17:09:58 1923
转载 Bootstrap模板代码+页面自适应页面的案例代码
[html] view plain copy print?> html lang="en"> head> meta charset="utf-8"> meta http-equiv="X-UA-Compatible" content="IE=edge"> meta name="viewport" conten
2017-04-23 17:08:29 4432 1
转载 Hibernate开发中常见错误总结
org.hibernate.MappingException: Unknown entity: cn.itcast.hibernate717.helloworld.Personhibernate框架根本不知道Person这个持久化类的存在Caused by: Java.sql.SQLException: Field 'id' doesn't have a default value
2017-04-23 17:07:01 1423
转载 一台电脑上同启动两个Tomcat的方式,windows/Linux配置
安装两个jdk,一个JDK路径在:C:\ProgramFiles (x86)\Java\jdk1.7.0_25,另外一个JDK的路径在E:\UCMSServer\j2sdk在环境变量里并设置JAVA_HOME为:E:\UCMSServer\j2sdk复制两个Tomcat,分别命名成:tomcat-61111和 tomcat-62222,如下所示:
2017-04-23 17:05:57 1251
转载 Nginx开发从入门到精通
Nginx开发从入门到精通缘起nginx由于出色的性能,在世界范围内受到了越来越多人的关注,在淘宝内部它更是被广泛的使用,众多的开发以及运维同学都迫切的想要了解nginx模块的开发以及它的内部原理,但是国内却没有一本关于这方面的书,源于此我们决定自己来写一本。本书的作者为淘宝核心系统服务器平台组的成员,本书写作的思路是从模块开发逐渐过渡到nginx原理剖析。书籍的内容会定期在这里更
2017-04-23 17:00:51 3117
转载 Tomcat原理详解和各种集群的实现
注意:本篇博文涉及的知识内容如下,实验中所用的系统环境为RHEL6.4。1.Java基础知识讲解2.Tomcat的安装和实现3.通过apache的mod_proxy模块代理并实现Tomcat负载均衡4.基于Tomcat集群的网上商城的实现-----------------------------------------------------------
2017-04-23 16:59:01 2580
转载 使用Redis存储Nginx+Tomcat负载均衡集群的Session
环境:Cent OS 7.0(虚拟机环境)、Nginx 1.9.8、Redis 3.2.1一、背景在使用Nginx+Tomcat实现负载均衡的时候,由于Nginx对不同的请求分发到某一个Tomcat,Tomcat在运行的时候分别是不同的容器里,因为会出现session不同步或者丢失的问题。二、Nginx安装与配置1、Nginx安装网上的资源对于安装Nginx
2017-04-23 16:57:57 1385
转载 JS断点调试心得
1.断点调试是啥?难不难?断点调试其实并不是多么复杂的一件事,简单的理解无外呼就是打开浏览器,打开sources找到js文件,在行号上点一下罢了。操作起来似乎很简单,其实很多人纠结的是,是在哪里打断点?(我们先看一个断点截图,以chrome浏览器的断点为例)步骤记住没?用chrome浏览器打开页面 → 按f12打开开发者工具 → 打开Sources → 打开你要调试
2017-04-23 16:55:35 1362 1
转载 分布式事务的典型处理方式:2PC、TCC、异步确保和最大努力型
1. 柔性事务和刚性事务2. 两阶段提交(2PC)型2、事务补偿型(TCC事务):3、异步确保型4、最大努力型1. 柔性事务和刚性事务柔性事务满足BASE理论(基本可用,最终一致)刚性事务满足ACID理论本文主要围绕分布式事务当中的柔性事务的处理方式进行讨论。柔性事务分为两阶段型补偿型异步确保型最大努力通知型几种。 由于支付宝整个架构
2017-04-23 16:49:59 20481
转载 Java 性能优化之 String 篇
String 在 JVM 的存储结构一般而言,Java 对象在虚拟机的结构如下:对象头(object header):8 个字节Java 原始类型数据:如 int, float, char 等类型的数据,各类型数据占内存如 表 1. Java 各数据类型所占内存.引用(reference):4 个字节填充符(padding)表 1. Java 各数据
2017-04-17 21:54:46 878
转载 小瓜牛漫谈 — String、StringBuffer、StringBuilder
任何一个系统在开发的过程中, 相信都不会缺少对字符串的处理。在 java 语言中, 用来处理字符串的的类常用的有 3 个: String、StringBuffer、StringBuilder。 它们的异同点:1) 都是 final 类, 都不允许被继承;2) String 长度是不可变的, StringBuffer、StringBuilder 长度是可变的;
2017-04-17 21:53:38 835
转载 浅谈 Java 字符串(String, StringBuffer, StringBuilder)
我们先要记住三者的特征:String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全)一、定义查看 API 会发现,String、StringBuffer、StringBuilder 都实现了 CharSequence 接口,内部都是用一个char数组实现,虽然它们都与字符串相关,但是其处理机制不同。
2017-04-17 21:52:07 1035
转载 字符串基础问题
字符串基础问题题目一public class Test{ public static void main(String[] args){ String s1 = "abc"; String s2 = s1; String s3 = new String("abc"); String s4 = new String("a
2017-04-17 21:50:45 860
转载 Java中String类的常见面试题
第一题:==与equals()的区别1.判断定义为String类型的s1和s2是否相等 String s1 = "abc"; String s2 = "abc"; System.out.println(s1 == s2); System.out.println(s1.equals(s2)); 2.下面这
2017-04-17 21:50:15 1195
转载 Jquery-zTree的基本用法
【简介】zTree 是利用 JQuery 的核心代码,实现一套能完成大部分常用功能的 Tree 插件 兼容 IE、FireFox、Chrome 等浏览器 在一个页面内可同时生成多个 Tree 实例 支持 JSON 数据 支持一次性静态生成 和 Ajax 异步加载 两种方式 支持多种事件响应及反馈 支持 Tree 的节点移动、编辑、删除 支持任意更换皮肤 / 个性化图标(依靠css) 支
2017-04-16 19:10:33 1050
转载 程序命名的一些提示
酷壳:http://CoolShell.cn 选择一个正确的名字是编程中最重要的事。以前酷壳向大家推荐过两篇文章《编程命名中的7+1个提示》 和《编程中的命名设计那点事》,今天再向大家推荐一篇。一个正确的命名可以让你更容易地理解代码的程序,好的命名可以消除二义性,消除误解,并且说明真实的意图,甚至可以让你有清新的气息以让你更能吸引异性。;-)方法,类和变量正确的名字可以让你的程序
2017-04-16 18:01:33 968
转载 老手是这样教新手编程的
周末, 轻松一下.酷壳: http://collshell.cn/本文来自: http://coolshell.cn/?p=2420 comp.lang.c全球最大的C语言新闻组,其Google的链接是:http://groups.google.com/group/comp.lang.c/ 可惜被GFW了。在comp.lang.c新闻组,有一个日本网友发了个贴子
2017-04-16 18:00:13 1000
转载 十条不错的编程观点
酷壳:http://CoolShell.cn 原文:http://coolshell.cn/?p=2424 在Stack Overflow上有这样的一个贴子《What’s your most controversial programming opinion?》,翻译成中文就是“你认为最有争议的编程观点是什么?”,不过,在400多个主回贴,以及千把个子回贴中,好像并不是很有争议,而
2017-04-16 17:59:26 925
转载 五个方法成为更好的程序员
酷壳: http://CoolShell.cn/ 原文: http://coolshell.cn/?p=2606 对我来说,一个好的程序员应该是努力去追求尽可能无错的高质量的符合需求的代码实现。 一些人也许认为好的程序员是那些懂得多门编程语言,懂得很牛技术的程序员,是的,这在某些情况下是对的。但归根到底,无论你用什么样的技术,什么样的语言,所有的程序被写出来,其功能都要符合需求
2017-04-16 17:58:23 929
转载 如何管理并设计你的口令
原文:http://coolshell.cn/?p=2428(酷壳) 在互联网上,需要我们输入用户名口令的地方实在是太多了,多得都让人记不过来了,N个电子邮件帐号,QQ, MSN,校内,开心,facebook,Blog,各种论坛,网银,淘宝,电子相册……,太多了,想想看,你要用多少用户名口令,相信很多人可能会这样做,用几乎一样的口令和用户名来申请所有的这些帐号,我估计这是大多数人的做法。当
2017-04-16 17:57:31 904
转载 五种应该避免的代码注释
酷壳: http://CoolShell.cn/ 原文: http://coolshell.cn/?p=2746 在酷壳,有很多文章都提到了代码注释,如:《十条不错的编程观点》、《优质代码的十诫》、《整洁代码的4个提示》、《惹恼程序员的十件事》等等。今天,某国外的程序员在这里列举五种应该避免的程序注释,我觉得比较有道理,但我觉得有少数几个观点也并不绝对。所以,我把原文的这五种应该避
2017-04-16 17:56:20 1057 1
转载 写在程序员转读博士第四年
06年毕业后为了养家糊口没有继续读博士,转去公司做软件开发了,2012年觉得生活还可以就去中科院读书去了。 对编程有狂热的爱好,最长的编程时间是24*3小时,中间除了上厕所,吃盒饭没有任何停顿。不是计算机专业,只是爱好,希望写这篇博客鼓励喜欢从事程序开发,并且热爱编程的人。 不要因为自己不是计算机专业的或者软件开发专业的学生而自卑。很多因素会影响人的心理 与决策
2017-04-16 17:08:16 1559 1
转载 分享成为高效程序员的7个重要习惯
作者:Phil Chu作为软件工程师,你希望从工作中获得的是:稳定的薪水、参与好项目的机会、好工作的跳板或只是和其他程序师成为好基友。这里的“高效”,我指的是按时完符合要求的项目的能力。经历过不少软件编写工作后,我相信以下实践会帮助你学会“高效”,同时提高专业声望、拉长职业寿命,和获得个人满足。Programmer(from good-wallpapers)1.
2017-04-16 17:07:09 3227 1
转载 我在携程的这十年:一个老运维的成长往事
作者简介雷兵携程网 安全中心信息安全专家2007年1月加入携程,曾任安全经理、高级经理、网络安全总监,负责携程技术安全体系建设,曾主持网络安全架构设计、内外网渗透测试安全评估、建立应用安全团队、部署代码白盒扫描系统、Web 应用防火墙等。现任网站运营中心网络安全部总监,近年来带领团队向互联网运维团队转型,结合开源工具开发了一批适合公司实际环境的网
2017-04-16 17:05:29 3658
转载 一道简单的算法题
题目:统计给定数字中,值为1的二进制位的数量。如果是数组呢?解法1:遍历算法int getBitCount(unsigned int num) { int count = 0; while(num) { if(num & 0x01) count++; num = num >> 1; } ret
2017-04-16 17:03:38 1109
搜索引擎以及网上免费学术资源的检索
2015-09-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人