随笔 - 2228  文章 - 4  评论 - 371  阅读 - 1109万
12 2013 档案
八、jdk工具之JvisualVM、JvisualVM之二--Java程序性能分析工具Java VisualVM
摘要:目录 一、jdk工具之jps(JVM Process Status Tools)命令使用 二、jdk命令之javah命令(C Header and Stub File Generator) 三、jdk工具之jstack(Java Stack Trace) 四、jdk工具之jstat命令(Java V 阅读全文
posted @ 2013-12-26 18:26 duanxz 阅读(4396) 评论(1) 推荐(0) 编辑
在Eclipse里静态导入
摘要:静态导入import static 介绍见import static和import的区别 在Eclipse里配置静态导入,步骤见下面截图的箭头 例如导入下面的jar 常用的静态导入方法如下: com.google.common.base.Preconditions com.google.common 阅读全文
posted @ 2013-12-26 17:06 duanxz 阅读(1287) 评论(0) 推荐(0) 编辑
import static和import的区别
摘要:import static静态导入是JDK1.5中的新特性。一般我们导入一个类都用 import com.....ClassName;而静态导入是这样:import static com.....ClassName.*;这里的多了个static,还有就是类名ClassName后面多了个 .* ,意思 阅读全文
posted @ 2013-12-26 10:51 duanxz 阅读(556) 评论(0) 推荐(0) 编辑
spring源码之:循环依赖
摘要:《Spring之23:AbstractBeanFactory》 循环依赖就是循环引用,就是两个或多个Bean相互之间的持有对方,比如CircleA引用CircleB,CircleB引用CircleC,CircleC引用CircleA,则它们最终反映为一个环。此处不是循环调用,循环调用是方法之间的环调 阅读全文
posted @ 2013-12-26 10:01 duanxz 阅读(1139) 评论(0) 推荐(0) 编辑
分表分库之一:分布式数据库的常见用法
摘要:尽量减少事务边界 采用分库分表的方式将业务数据拆分后,如果每条SQL语句中都能带有分库分表键,分布式服务层对于SQL解析后都能精准地将这条SQL语句推送到该数据所在的数据库上执行,数据库将执行的结果再返回给分布式服务层,分布式服务层再将结果返回给应用,整个数据库访问的过程跟之前的单机数据库操作没有任 阅读全文
posted @ 2013-12-21 15:15 duanxz 阅读(1435) 评论(0) 推荐(0) 编辑
一篇关于apache commons类库的详解
摘要:1.1. 开篇 在Java的世界,有很多(成千上万)开源的框架,有成功的,也有不那么成功的,有声名显赫的,也有默默无闻的。在我看来,成功而默默无闻的那些框架值得我们格外的尊敬和关注,Jakarta Commons就是这样的一个框架。如果你至少参与了一个中型规模的Java项目,那么我想有超过一大半的机 阅读全文
posted @ 2013-12-21 11:35 duanxz 阅读(2222) 评论(0) 推荐(0) 编辑
二、jdk命令之javah命令(C Header and Stub File Generator)
摘要:目录 一、jdk工具之jps(JVM Process Status Tools)命令使用 二、jdk命令之javah命令(C Header and Stub File Generator) 三、jdk工具之jstack(Java Stack Trace) 四、jdk工具之jstat命令(Java V 阅读全文
posted @ 2013-12-19 19:43 duanxz 阅读(2150) 评论(0) 推荐(0) 编辑
JVM参数汇总
摘要:一、java启动参数共分为三类: 其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容;其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容;其三是非Stable参数(-XX),此类参数各个jvm实现会有所不同,这些都是不 阅读全文
posted @ 2013-12-19 15:56 duanxz 阅读(7680) 评论(1) 推荐(0) 编辑
-Xbootclasspath参数、java -jar参数运行应用时classpath的设置方法
摘要:当用java -jar yourJarExe.jar来运行一个经过打包的应用程序的时候,你会发现如何设置-classpath参数应用程序都找不到相应的第三方类,报ClassNotFound错误。实际上这是由于当使用-jar参数运行的时候,java VM会屏蔽所有的外部classpath,而只以本身y 阅读全文
posted @ 2013-12-19 15:38 duanxz 阅读(14016) 评论(0) 推荐(1) 编辑
Java中的ReentrantLock和synchronized两种锁定机制的对比--删除
摘要:多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个 Thread 类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构造 —— synchronized 和 vo 阅读全文
posted @ 2013-12-19 15:19 duanxz 阅读(471) 评论(0) 推荐(0) 编辑
分表分库之二:唯一ID的生成方法
摘要:一、为什么要全局唯一? 我们在对数据库集群作扩容时,为了保证负载的平衡,需要在不同的Shard之间进行数据的移动, 如果主键不唯一,我们就没办法这样随意的移动数据。起初,我们考虑采用组合主键来解决这个问题。 一般会以user_id和一个自增的photo_id来作为主键,这的确能解决移动数据可能带来的 阅读全文
posted @ 2013-12-19 14:54 duanxz 阅读(1543) 评论(0) 推荐(0) 编辑
Java8 @FunctionalInterface
摘要:函数式接口的一大特性就是可以被lambda表达式和函数引用表达式代替。也就是说声明这样的接口,是可以灵活的以方法来传参。 《Java8 @FunctionalInterface》 《java8 的java.util.function包中函数式接口》 《java8 Lambda介绍》 一、java8的 阅读全文
posted @ 2013-12-19 14:40 duanxz 阅读(601) 评论(0) 推荐(0) 编辑
Spring Session实现Session共享下的坑与建议
摘要:相信用过spring-session做session共享的朋友都很喜欢它的精巧易用-不依赖具体web容器、不需要修改已成项目的代码。笔者在使用spring-session的过程中也对spring-session的绝佳包容性、稳定性赞叹不已,spring-session 和 redis 的结合堪称神器 阅读全文
posted @ 2013-12-19 14:03 duanxz 阅读(15676) 评论(1) 推荐(0) 编辑
Avro之二:入门demo
摘要:一、使用avro-maven插件为avsc文件生成对应的java类: 在项目的pom.xml中增加依赖及插件如下: <dependency> <groupId>org.apache.avro</groupId> <artifactId>avro</artifactId> <version>1.8.1 阅读全文
posted @ 2013-12-19 13:39 duanxz 阅读(1970) 评论(0) 推荐(0) 编辑
Bloom Filter(布隆过滤器)的概念和原理
摘要:目录 引子 布隆过滤器介绍 产生的契机 设计思想 优缺点与用途 假阳性率的计算 Guava中的布隆过滤器 redis实现布隆过滤器 总结 引子 最近在研究推荐系统中已读内容排除以及重复内容去重相关的问题,布隆过滤器是解决这类问题最好的工具之一,很值得专门写一篇文章来详细讲解。 在缓存穿透的场景中,解 阅读全文
posted @ 2013-12-18 14:07 duanxz 阅读(4132) 评论(0) 推荐(1) 编辑
ActiveMQ之二--JMS消息类型
摘要:1.前言 //发送文本消息 session.createTextMessage(msg); //接受文本消息 public void onMessage(Message msg) { TextMessage message = (TextMessage) msg; …… } //发送文本消息 ses 阅读全文
posted @ 2013-12-18 13:23 duanxz 阅读(664) 评论(0) 推荐(0) 编辑
mysql索引之八:myisam压缩(前缀压缩)索引
摘要:myisam使用前缀压缩来减少索引的大小,从而让更多的索引可以放入内存中,默认只压缩字符串,但通过参数配置也可以对整数做压缩,myisam压缩每个索引块的方法是,先完全保存索引块中的第一个值,然后将其他值和第一个值进行比较得到相同前缀的字节数(长度)和剩余的不同后缀部分(即把相同部分去掉),把这部分 阅读全文
posted @ 2013-12-17 11:21 duanxz 阅读(1068) 评论(0) 推荐(0) 编辑
Linux下dmesg命令处理故障和收集系统信息的7种用法
摘要:目录: 《syslog之一:Linux syslog日志系统详解》 《syslog之二:syslog协议及rsyslog服务全解析》 《syslog之三:建立Windows下面的syslog日志服务器》 《Linux下dmesg命令处理故障和收集系统信息的7种用法》 dmesg’命令显示linux内 阅读全文
posted @ 2013-12-16 17:15 duanxz 阅读(8648) 评论(2) 推荐(1) 编辑
Spring Batch介绍
摘要:简介 SpringBatch 是一个大数据量的并行处理框架。通常用于数据的离线迁移,和数据处理,⽀持事务、并发、流程、监控、纵向和横向扩展,提供统⼀的接⼝管理和任务管理;SpringBatch是SpringSource和埃森哲为了统一业界并行处理标准为广大开发者提供方便开发的一套框架。 官方地址:g 阅读全文
posted @ 2013-12-13 10:55 duanxz 阅读(2522) 评论(0) 推荐(0) 编辑
mina中责任链模式的实现
摘要:一、mina的框架回顾 责任链模式在mina中有重要的作用,其中Filter机制就是基于责任链实现的。 从上图看到消息的接受从IoService层先经过Filter层过滤处理后最后交给IoHander,消息的发送则是反过来从IoHander层经过Filter层再到IoService层。 我们来想想这 阅读全文
posted @ 2013-12-13 10:21 duanxz 阅读(1132) 评论(0) 推荐(0) 编辑
juc原子类之五:AtomicLongFieldUpdater原子类
摘要:概要 AtomicIntegerFieldUpdater, AtomicLongFieldUpdater和AtomicReferenceFieldUpdater这3个修改类的成员的原子类型的原理和用法相似。本章以对基本类型的原子类进行介绍。内容包括:AtomicLongFieldUpdater介绍和 阅读全文
posted @ 2013-12-13 10:18 duanxz 阅读(464) 评论(0) 推荐(0) 编辑
juc-atomic原子类之六:Striped64累加器
摘要:并发之Striped64(累加器),对于该类的实现思想: Striped64是在java8中添加用来支持累加器的并发组件,它可以在并发环境下使用来做某种计数,Striped64的设计思路是在竞争激烈的时候尽量分散竞争,在实现上,Striped64维护了一个base Count和一个Cell数组,计数 阅读全文
posted @ 2013-12-13 09:40 duanxz 阅读(1406) 评论(0) 推荐(0) 编辑
spring-session之一:简介、使用及实现原理
摘要:一、背景 http session(企业)一直都是我们做集群时需要解决的一个难题,我们知道HttpSession是通过Servlet容器创建和管理的,像Tomcat/Jetty都是保存在内存中的。而如果我们把web服务器搭建成分布式的集群,然后利用LVS或Nginx做负载均衡,那么来自同一用户的Ht 阅读全文
posted @ 2013-12-12 16:32 duanxz 阅读(9644) 评论(0) 推荐(2) 编辑
UDP协议详解
摘要:一、UDP协议简介 UDP协议,即用户数据报协议(User Datagram Protocol),是一个简单的面向数据报的传输层协议。UDP协议只在IP数据报服务商增加了很少一点的功能,就是复用和分用,以及差错检测的功能。 二、UDP协议的主要特点 (1)无连接的 发送数据之前不需要建立连接,减少了 阅读全文
posted @ 2013-12-12 14:14 duanxz 阅读(5292) 评论(0) 推荐(0) 编辑
面试题5--微服务
该文被密码保护。
posted @ 2013-12-12 13:20 duanxz 阅读(253) 评论(0) 推荐(0) 编辑
Netty Client 重连实现
摘要:当我们用Netty实现一个TCP client时,我们当然希望当连接断掉的时候Netty能够自动重连。Netty Client有两种情况下需要重连: Netty Client启动的时候需要重连 在程序运行中连接断掉需要重连。 对于第一种情况,Netty的作者在stackoverflow上给出了解决方 阅读全文
posted @ 2013-12-12 10:17 duanxz 阅读(1804) 评论(0) 推荐(0) 编辑
netty中的UDP
摘要:UDP 提供了向多个接收者发送消息的额外传输模式: 多播——传输到一个预定义的主机组; 广播——传输到网络(或者子网)上的所有主机。 本示例应用程序将通过发送能够被同一个网络中的所有主机所接收的消息来演示 UDP 广播的使用。为此,我们将使用特殊的受限广播地址或者零网络地址 255.255.255. 阅读全文
posted @ 2013-12-11 16:29 duanxz 阅读(3281) 评论(0) 推荐(0) 编辑
面试题4--分布式与高并发
该文被密码保护。
posted @ 2013-12-11 15:42 duanxz 阅读(24522) 评论(1) 推荐(0) 编辑
面试题3--分布式中间件
摘要:为什么要用Redis,Redis有哪些优缺点?Redis如何实现扩容? 阅读全文
posted @ 2013-12-11 15:31 duanxz 阅读(569) 评论(0) 推荐(0) 编辑
ByteBuf 类——Netty 的数据容器
摘要:1.堆缓冲区 2.直接缓冲区 3.复合缓冲区 —CompositeByteBuf——实现了这个模式,它提供了一 个将多个缓冲区表示为单个合并缓冲区的虚拟表示 适用于 JDK 所使用的一种称为分散/收集 I/O(Scatter/Gather I/O)的技术,定义为“一种输入和 输出的方法,其中,单个系 阅读全文
posted @ 2013-12-11 15:06 duanxz 阅读(673) 评论(1) 推荐(0) 编辑
MySQL-事务的实现-redo
摘要:MySQL中事务: ACID: 原子性(A : Atomicity) 一致性(C : consistency ) 隔离性(I : isolation) 持久性(D : durability ) 原子性(A : Atomicity) 一致性(C : consistency ) 隔离性(I : isol 阅读全文
posted @ 2013-12-11 14:58 duanxz 阅读(719) 评论(0) 推荐(1) 编辑
数据库的读写分离
摘要:随着一个网站的业务不断扩展,数据不断增加,数据库的压力也会越来越大,对数据库或者SQL的基本优化可能达不到最终的效果,我们可以采用读写分离的策略来改变现状。读写分离现在被大量应用于很多大型网站,这个技术也不足为奇了。ebay就做得非常好。ebay用的是oracle,听说是用Quest Share P 阅读全文
posted @ 2013-12-11 14:40 duanxz 阅读(2126) 评论(0) 推荐(0) 编辑
netty中的websocket
摘要:使用WebSocket 协议来实现一个基于浏览器的聊天室应用程序,图12-1 说明了该应用程序的逻辑: (1)客户端发送一个消息;(2)该消息将被广播到所有其他连接的客户端。 WebSocket 在从标准的HTTP或者HTTPS协议切换到WebSocket时,将会使用一种称为升级握手①的机制。因此, 阅读全文
posted @ 2013-12-11 11:27 duanxz 阅读(3895) 评论(0) 推荐(0) 编辑
Netty实现简单HTTP服务器
摘要:netty 主类: 测试: 用浏览器访问:http://localhost:8080/ netty构建的文件服务器 1、首先加入的是HTTP请求消息解码器 ch.pipeline().addLast("http-decoder", new HttpRequestDecoder()); 2、第2添加H 阅读全文
posted @ 2013-12-11 11:26 duanxz 阅读(1721) 评论(0) 推荐(0) 编辑
Netty实现原理浅析
摘要:1、总体结构 先放上一张漂亮的Netty总体结构图,下面的内容也主要围绕该图上的一些核心功能做分析,但对如Container Integration及Security Support等高级可选功能,本文不予分析。 Netty架构分析 Netty 采用了比较典型的三层网络架构进行设计,逻辑架构图如下所 阅读全文
posted @ 2013-12-11 11:25 duanxz 阅读(2475) 评论(0) 推荐(0) 编辑
windows抓包工具Wireshark(过滤)
摘要:1、IP过滤 ip.src ==192.168.0.208(ip.src eq 192.168.0.208) //来源等于某个ip ip.dst ==192.168.0.208(ip.dst eq 192.168.0.208) //目标等于某个ip 2、端口过滤 tcp.port eq 80 //不 阅读全文
posted @ 2013-12-11 11:24 duanxz 阅读(2001) 评论(0) 推荐(0) 编辑
网络编程Socket之wireshark使用
摘要:这里不提供下载地址了,不是什么稀有资源,我使用的wireshark是在百度软件中心下载的。 第一步:选择需要监听网卡接口(capture interface) :启动 选择网卡,单击start 就可以启动wireshark 我的电脑安装有虚拟机,所以会有vmware network adapter 阅读全文
posted @ 2013-12-11 11:06 duanxz 阅读(1519) 评论(0) 推荐(0) 编辑
Wireshark基本介绍和学习TCP三次握手
摘要:之前写过一篇博客:用 Fiddler 来调试HTTP,HTTPS。 这篇文章介绍另一个好用的抓包工具wireshark, 用来获取网络数据封包,包括http,TCP,UDP,等网络协议包。 记得大学的时候就学习过TCP的三次握手协议,那时候只是知道,虽然在书上看过很多TCP和UDP的资料,但是从来没 阅读全文
posted @ 2013-12-11 10:43 duanxz 阅读(881) 评论(0) 推荐(0) 编辑
解读分库分表中间件Sharding-JDBC
摘要:【编者按】数据库分库分表从互联网时代开启至今,一直是热门话题。在NoSQL横行的今天,关系型数据库凭借其稳定、查询灵活、兼容等特性,仍被大多数公司作为首选数据库。因此,合理采用分库分表技术应对海量数据和高并发对数据库的冲击,是各大互联网公司不可避免的问题。 虽然很多公司都致力于开发自己的分库分表中间 阅读全文
posted @ 2013-12-10 11:16 duanxz 阅读(2122) 评论(0) 推荐(0) 编辑
telnet WIN7设置回显办法
摘要:windows 2000及XP默认是关闭telnet回显的,这样在操作上很不方便,要让Telnet程序实现本地回显可以按如下步骤操作:1.在命令窗口中运行不带任何参数的telnet命令,执行 /help查看telnet的子命令telnet下有如下指令:close 关闭当前连接display 显示操作 阅读全文
posted @ 2013-12-09 17:04 duanxz 阅读(2952) 评论(0) 推荐(1) 编辑
高可用服务设计之二:Rate limiting 限流与降级
摘要:《高可用服务设计之二:Rate limiting 限流与降级》 《nginx限制请求之一:(ngx_http_limit_conn_module)模块》 《nginx限制请求之二:(ngx_http_limit_req_module)模块》 《nginx限制请求之三:Nginx+Lua+Redis 阅读全文
posted @ 2013-12-09 15:50 duanxz 阅读(7377) 评论(0) 推荐(0) 编辑
高可用服务设计之一:负载均衡与反向代理、隔离
摘要:1 负载均衡与反向代理 当我们的应用单实例不能支撑用户请求时,就需要扩容,从一天服务器扩容到两台、几十台、几百台。然而用户访问时是通过如http://www.jd.com的方式访问,在请求时,浏览器首先会查询DNS服务器获取对应的IP,然后通过此IP访问对应的服务。 对于负载均衡需要关心的几个方面如 阅读全文
posted @ 2013-12-09 15:49 duanxz 阅读(2099) 评论(0) 推荐(0) 编辑
mysql跨库联表查询
摘要:首先要了解database与instance区别,见《MySQL中的实例、数据库关系简介》 跨库分为同一个instance下的跨库和不同instance下的跨库。 一、同一个MySQL实例下的跨库 先看一个示例,某个微服务下的应用要关联查询account_data.account和member_da 阅读全文
posted @ 2013-12-09 15:44 duanxz 阅读(55639) 评论(1) 推荐(4) 编辑
Logstash,flume,sqoop比较
摘要:Logstash: 1.插件式组织方式,易于扩展和控制 2.数据源多样不仅限于日志文件,数据处理操作更丰富,可自定义(过滤,匹配过滤,转变,解析......) 3.可同时监控多个数据源(input插件多样),同时也可将处理过的数据同时有不同多种输出(如stdout到控制台,同时存入elasticse 阅读全文
posted @ 2013-12-09 14:23 duanxz 阅读(991) 评论(0) 推荐(0) 编辑
juc-atomic原子类之四:AtomicReference原子类,CAS的ABA问题,AtomicStampedReference,AtomicMarkableReference
摘要:多个变量修改的原子性 JUC虽然提供了AtomicInteger、AtomicBoolean这些基本类型的原子类,但是有些场景并不是仅仅修改一个变量那么简单,有可能某个需要修改几个变量,但是需要这个操作具有原子性,比如说我给你举例的这个例子: (1)假如有三个变量,value1、value2、val 阅读全文
posted @ 2013-12-09 13:58 duanxz 阅读(499) 评论(0) 推荐(1) 编辑
juc-atomic原子类之三: AtomicLongArray,AtomicLongArray,AtomicReferenceArray原子类
摘要:java.util.concurrent.atomic.AtomicXXXArray包括三种具体类:AtomicIntegerArray,AtomicLongArray,AtomicReferenceArray。 具体的介绍,都已经在开头讲过了,AtomicIntegerArray有以下特点: 可以 阅读全文
posted @ 2013-12-09 11:30 duanxz 阅读(647) 评论(0) 推荐(0) 编辑
juc-atomic原子类之二:基本类型原子类AtomicInteger(AtomicLong、AtomicBoolean)
摘要:一、AtomicInteger简介 AtomicInteger, AtomicLong和AtomicBoolean这3个基本类型的原子类的原理和用法相似。以AtomicInteger对基本类型的原子类进行介绍。 二、AtomicInteger源码分析 2.1、类图结构 2.2、数据结构 public 阅读全文
posted @ 2013-12-07 22:58 duanxz 阅读(626) 评论(0) 推荐(0) 编辑
juc-atomic原子类之一:体系概览
摘要:JUC包下提供的原子类底层的实现原理基本都是差不多的,都是基于volatile和CAS操作来保证线程安全的。jdk1.8的原子类如下: 根据修改的数据类型,可以将JUC包中的原子操作类可以分为4类。 1. 基本类型: AtomicInteger, AtomicLong, AtomicBoolean 阅读全文
posted @ 2013-12-07 22:56 duanxz 阅读(238) 评论(0) 推荐(0) 编辑
logback高级特性二 异步记录日志
摘要:问题描述: 下图中JProfiler可看出logback的日志输出占了64%的cpu消耗 优化方案: 1. 这部分写日志的代码写了一些报文数据,确实是比较大的字符串。先禁掉控制台输出,生产环境也不需要控制台输出,写日志文件即可。 配置中去掉控制台输出 <rootlevel="INFO"> <!--< 阅读全文
posted @ 2013-12-06 17:24 duanxz 阅读(3495) 评论(0) 推荐(0) 编辑
JUC之Atomic系列12大类实例讲解和原理分解
摘要:在java6以后我们不但接触到了Lock相关的锁,也接触到了很多更加乐观的原子修改操作,也就是在修改时我们只需要保证它的那个瞬间是安全的即可,经过相应的包装后可以再处理对象的并发修改,以及并发中的ABA问题,本文讲述Atomic系列的类的实现以及使用方法,其中包含: 基本类:AtomicIntege 阅读全文
posted @ 2013-12-06 13:49 duanxz 阅读(986) 评论(0) 推荐(0) 编辑
JDK线程池源码之二:线程池相关类介绍
摘要:概要-线程池类图 线程池的类图如下: 1. Executor 它是"执行者"接口,它是来执行任务的。准确的说,Executor提供了execute()接口来执行已提交的 Runnable 任务的对象。Executor存在的目的是提供一种将"任务提交"与"任务如何运行"分离开来的机制。它只包含一个函数 阅读全文
posted @ 2013-12-06 13:37 duanxz 阅读(1127) 评论(0) 推荐(0) 编辑
JDK线程池源码之三:ThreadPoolExecutor的成员变量介绍
摘要:概要 线程池的实现类是ThreadPoolExecutor类。本章,我们通过分析ThreadPoolExecutor类,来了解线程池的原理。 ThreadPoolExecutor数据结构 ThreadPoolExecutor的数据结构如下图所示: 各个数据在ThreadPoolExecutor.ja 阅读全文
posted @ 2013-12-05 09:49 duanxz 阅读(1199) 评论(0) 推荐(0) 编辑
JDK线程池源码之五:ThreadFactory、提交任务、关闭线程池
摘要:(一) ThreadFactory 线程池中的ThreadFactory是一个线程工厂,线程池创建线程都是通过线程工厂对象(threadFactory)来完成的。 类图如下: 上面所说的threadFactory对象,是通过 Executors.defaultThreadFactory()返回的。E 阅读全文
posted @ 2013-12-04 21:01 duanxz 阅读(3228) 评论(0) 推荐(0) 编辑
Spring之一:IoC容器体系结构
摘要:温故而知心。 Spring IoC概述 常说spring的控制反转(依赖反转),看看维基百科的解释: 如果合作对象的引用或依赖关系的管理要由具体对象来完成,会导致代码的高度耦合和可测试性降低,这对复杂的面向对象系统的设计使非常不利的。 在面向对象系统中,对象封装了数据和对数据的处理,对象的依赖关系常 阅读全文
posted @ 2013-12-04 09:33 duanxz 阅读(10885) 评论(0) 推荐(0) 编辑
事务之四:Spring事务--原理
摘要:一、Spring事务的基本原理 Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。对于纯JDBC操作数据库,想要用到事务,可以按照以下步骤进行: 获取连接 Connection con = DriverManager.getConnection 阅读全文
posted @ 2013-12-04 09:15 duanxz 阅读(1295) 评论(0) 推荐(0) 编辑
事务之三:编程式事务、声明式事务(XML配置事务、注解实现事务)
摘要:Spring2.0框架的事务处理有两大类: JdbcTemplate操作采用的是JDBC默认的AutoCommit模式,也就是说我们还无法保证数据操作的原子性(要么全部生效,要么全部无效),如: 由于采用了AutoCommit模式,第一个update操作完成之后被自动提交,数据库中”erica”对应 阅读全文
posted @ 2013-12-03 16:55 duanxz 阅读(4393) 评论(0) 推荐(0) 编辑
java代码规范学习
摘要:一、编程规约 【推荐】接口类中的方法和属性不要加任何修饰符号(public 也不要加),保持代码的简洁性,并加上有效的 Javadoc 注释。尽量不要在接口里定义变量,如果一定要定义变量,肯定是与接口方法相关,并且是整个应用的基础常量。 说明:Java的interface中,接口是比抽象类更高一层的 阅读全文
posted @ 2013-12-03 15:34 duanxz 阅读(500) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示