自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 资源 (10)
  • 收藏
  • 关注

转载 Spring中常用类或者接口的汇总

一、BeanNameAware(接口)实现BeanNameAware接口需要实现setBeanName()方法,这个方法只是简单的返回我们当前的beanName这个接口表面上的作用就是让实现这个接口的bean知道自己在spring容器里的名字,而且听官方的意思是这个接口更多的使用在spring的框架代码中,实际开发环境应该不建议使用,因为spring认为bean的名字与bean的联系并不是很深,...

2018-10-09 10:01:50 818

转载 Java中Runtime运行时环境机制总结

最近由于在编码中需要在java代码中执行linux命令,使用到了Runtime类的一些方法,也出现几个小bug,所以趁这个机会对Runtime也就是运行时环境这个类进行总结。Runtime.getRuntime()能得到一个Runtime对象实例,也就是当前运行时环境实例,这个玩艺是什么东西?java中称为虚拟机的运行时环境,这个说法很抽象,我在网上百度了很久,没有确切的说法,我感觉这个Run...

2018-09-12 09:45:52 2811

原创 spring通过名称获取配置的bean实例

/** * 服务工厂接口. * * * */public interface ServiceFactory extends Serializable { /** * 获取服务,通过class. * * @param clazz * @return */ public <T> T getService(...

2018-03-15 16:52:36 2930

原创 java动态代理-自己实现

一、被代理类public interface Product { void method() throws Throwable;}public class ProductImpl implements Product{ public void method() { System.out.println("执行方法"); }}二、MyInvoc

2017-09-16 23:53:54 285

原创 java动态代理-生成代理类

一、生成动态代理类$Proxy0.class/** * 被代理类 */public interface Product { void method();}二、还原我们的代理类 public static void createProxyClassFile(){ byte[] data = ProxyGenerator.generatePro

2017-09-16 23:49:40 752

转载 spring事务,内部调用生效

1、示例类:public interface AService{void a();void b();}@Servicepublic class AServiceImpl implements AService{@Transactional(propagation=Propagation.REQUIRED)public void a(){this.b(

2017-07-27 20:50:47 602

原创 关于tocmat中server.xml中path和docBase

例如war包test-ms.war包放在tomcat的webapps文件夹中。server.xml文件中配置如下:启动tomcat时,会在webapps中解压出两个文件夹test-ms/和testms/。访问路径localhost:8080/testms会访问testms/目录下面的内容。其中testms/中的内容是test-ms/中内容的复制。

2016-11-25 15:38:53 3544

转载 避免写出不走索引的SQL, MySQL

在MySQL中,并不是你建立了索引,并且你在SQL中使用到了该列,MySQL就肯定会使用到那些索引的,有一些情况很可能在你不知不觉中,你就“成功的避开了”MySQL的所有索引。现假设有t_stu表,age,sname上建立了索引索引列参与计算如果where条件中age列中使用了计算,则不会使用该索引SELECT `sname` FROM `t_stu

2016-11-23 09:34:07 7879 3

原创 go语言学习(四)- 函数

一、签名1、go支持函数类型的变量和赋值。例如:package mainimport "fmt"var pr = fmt.Printlnvar f = func(){ pr("Hello")}var g func()func main(){ g = f g()}二、参数1、使用 godoc fmt Println,可以看到它的签名是

2016-11-17 22:05:06 439

原创 maven仓库地址

一、地址:http://central.maven.org/maven2/

2016-11-13 22:50:29 287

原创 JAVA-RPC框架介绍

Motan是一套高性能、易于使用的分布式远程服务调用(RPC)框架。功能支持通过spring配置方式集成,无需额外编写代码即可为服务提供分布式调用能力。支持集成consul、zookeeper等配置服务组件,提供集群环境的服务发现及治理能力。支持动态自定义负载均衡、跨机房流量调整等高级服务调度能力。基于高并发、高负载场景进行优化,保障生产环境下RPC服务高可用。gith

2016-10-20 19:07:58 437

原创 JAVA-mysql读写分离插件介绍

kingshardkingshard是一个由Go开发高性能MySQL Proxy项目,kingshard在满足基本的读写分离的功能上,致力于简化MySQL分库分表操作;能够让DBA通过kingshard轻松平滑地实现MySQL数据库扩容。 kingshard的性能是直连MySQL性能的80%以上。github地址:https://github.com/flike/kingshard

2016-10-20 11:01:33 1825

转载 spring 编程式事务

一、Spring事务的相关知识  1、事务是指一系列独立的操作,但在概念上具有原子性。 比如转账:A账号-100, B账号+100,完成。这两个操作独立是没问题的。 但在逻辑上,要么全部完成,要么一起失败。   1)jdbc事务:每个Connection都带有一个事务,只是默认被设置为自动提交。一个连接可以有多个事务。对于JDBC,只有在同一个连接内,才有讨论是否提交的前提。   2)

2016-09-12 19:07:13 368

转载 通过反编译深入理解Java String及intern

一、字符串问题  字符串在我们平时的编码工作中其实用的非常多,并且用起来也比较简单,所以很少有人对其做特别深入的研究。倒是面试或者笔试的时候,往往会涉及比较深入和难度大一点的问题。我在招聘的时候也偶尔会问应聘者相关的问题,倒不是说一定要回答的特别正确和深入,通常问这些问题的目的有两个,第一是考察对 JAVA 基础知识的了解程度,第二是考察应聘者对技术的态度。  我们看看以下程序

2016-09-05 18:56:08 308

转载 Struts2架构流程

Struts2架构流程【Struts2】 Action实现。 interceptor实现。 Filter工作原理。  使用 拦截器来处理请求。业务逻辑控制器与 Servlet API分离。================================================================================

2016-09-02 16:33:12 308

转载 学习dangdang的分库分表扩展框架sharding-jdbc(一)

当当开源的sharding-jdbc,官方网址:https://github.com/dangdangdotcom/sharding-jdbc 一、简介好了,看了这么多的介绍,感觉还是很高大上的,注意点有:①对JDBC API进行了原生态的分装,这是与cobar-client不一样的地方,这就是他可以支持多个第三方ORM框架的关键②可支持=,BETWEE

2016-09-02 10:52:57 8868

转载 云时代的分布式数据库:阿里分布式数据库服务DRDS

【http://www.csdn.net/article/2015-07-15/2825221】云时代的分布式数据库:阿里分布式数据库服务DRDS -- 伴随着系统性能、成本及扩展性的新时代需要,以HBase、MongoDB为代表的NoSQL数据库和以阿里DRDS、VoltDB、ScaleBase为代表的分布式NewSQL数据库如雨后春笋般不断涌现出来。本文详细介绍了阿里分布式数据库服务D

2016-09-02 10:12:37 451

转载 git merge 和 git rebase 小结

一、功能描述git merge是用来合并两个分支的。git merge b# 将b分支合并到当前分支---------------------------------------------------------------------同样 git rebase b,也是把 b分支合并到当前分支-------------------------------------

2016-08-19 10:50:15 256

转载 spring事务管理

事物管理对于企业应用来说是至关重要的,好使出现异常情况,它也可以保证数据的一致性。spring支持编程式事务管理和声明式事务管理两种方式。   编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。 声明式事务管理建立在AOP之上的。

2016-07-23 17:01:51 230

转载 @Transactional spring 配置事务 注意事项

1. 在需要事务管理的地方加@Transactional 注解。@Transactional 注解可以被应用于接口定义和接口方法、类定义和类的 public 方法上 。2. @Transactional 注解只能应用到 public 可见度的方法上 。 如果你在 protected、private 或者 package-visible 的方法上使用 @Transactional 注解,

2016-07-23 16:48:52 1637

转载 JAVA多态性实现机制

方法解析Class文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在Class文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址。这个特性给Java带来了更强大的动态扩展能力,使得可以在类运行期间才能确定某些目标方法的直接引用,称为动态连接,也有一部分方法的符号引用在类加载阶段或第一次使用时转化为直接引用,这种转化称为静态解析。这在前面的“Java内存区域

2016-07-20 09:25:11 284

转载 java关键字static

一、 static代表着什么在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个“伪全局”的概念,在Java中static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,当然也可以修饰代码块。Java把内存分为栈内存和堆内存,其中栈内存用来存放一些基本类型的变量、数组和对象的引用,堆内存主要存放一些对象。在JVM加载一个类的时候,若该类存在

2016-07-10 21:35:26 220

转载 通信协议——HTTP、TCP、UDP

TCP   HTTP   UDP:都是通信协议,也就是通信时所遵守的规则,只有双方按照这个规则“说话”,对方才能理解或为之服务。TCP   HTTP   UDP三者的关系:TCP/IP是个协议组,可分为四个层次:网络接口层、网络层、传输层和应用层。在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。在传输层中有TC

2016-07-07 09:16:03 428

转载 Redis 和 Memcached 的区别

Redis 的作者 Salvatore Sanfilippo 曾经对这两种基于内存的数据存储系统进行过比较:Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的GE

2016-07-04 19:57:53 328

转载 spring+EnCache缓存示例

一、ehcahe的介绍EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。

2016-07-02 11:09:49 2114

转载 JAVA细粒度锁实现的几种方式

1. 分段锁        借鉴concurrentHashMap的分段思想,先生成一定数量的锁,具体使用的时候再根据key来返回对应的lock。这是几个实现里最简单,性能最高,也是最终被采用的锁策略,代码如下:/** * 分段锁,系统提供一定数量的原始锁,根据传入对象的哈希值获取对应的锁并加锁 * 注意:要锁的对象的哈希值如果发生改变,有可能导致锁无法成功释放!!! */pu

2016-07-01 14:52:33 699

转载 spring+mybatis利用pageHelper分页插件分页

1、先增加maven依赖: com.github.pagehelper pagehelper 4.0.0 2、创建mybatis配置文件:mybatis-config.xml内容: <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http:

2016-06-29 21:46:29 3955

转载 JS中关于把函数作为另一函数的参数的几点小总结

//JS中关于把函数作为函数的参数来传递的问题的小总结//第一,最简单的形式无参函数,直接形式函数的函数名放到括号中,再在执行部分这个函数即可。//当然调用时要传另一个真正的定义好的函数/*function test1(Func){Func();}function test2(){alert("我是test2");}test1(test2);*/

2016-06-25 11:34:14 388

原创 springMVC下导出Excel功能

1、ExcleUtils.java代码:public class ExcelUtils { //excel默认宽度; private static int width = 256*14; //默认字体 private static String excelfont = "微软雅黑"; /** * * @param excelName 导出的EXCEL名字 * @p

2016-06-25 11:13:21 8388 2

原创 mybatis分页样例(一)

1、达到目的:与具体ORM实现无关的分页参数及查询结果封装.2、分页代码封装:public class Page implements Iterable { //-- 公共变量 --// public static final String ASC = "asc"; public static final String DESC = "

2016-06-22 12:39:33 427

转载 spring读取配置文件优化

1、达到目的:根据tomcat的启动参数中配置不同的spring.profiles.active的值,读取不同环境的配置参数。2、spring配置文件的代码: classpath:config/system.devjunit.properties classpath:config/system.development.properties

2016-06-22 12:35:48 928

转载 观察者模式-JAVA

观察者模式( Observer Pattern) 也叫做发布订阅模式( Publish/subscribe) ,它是一个在项目中经常使用的模式,其定义如下:Define a one-to-many dependency between objects so that when oneobject changes state,all its dependents are notified and

2016-05-25 22:30:01 292

转载 一个成功的 Git 分支模型

英文:Nvie(原文写于 2010 年)译文:伯乐在线 - henry链接:http://blog.jobbole.com/81196/这篇文章围绕着Git做为我们所有的源代码版本控制工具而展开的。为什么是Git为了深入探讨git和集中式源码版本控制系统的利弊,参见这些文章。这方面有太多的激烈争论。作为一个开发者,相比其他工具,当前我更喜欢Git。Git的确改变

2016-05-25 09:21:29 298

转载 策略模式-JAVA

一、策略模式( Strategy Pattern) 是一种比较简单的模式,也叫做政策模( Policy Pattern)。其定义如下: Define  a family ofalgorithms,encapsulate each one,andmake them interchangeable.(定义一组算法,将每个算法都封装起来, 并且使它们之间可以互换。)二、策略模式使用的就是面向对象的继

2016-05-23 23:02:42 260

原创 装饰器模式-JAVA

一、定义装饰模式(Decorator Pattern)是一种比较常见的模式,定义如下:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更加灵活。装饰模式的通用类图如下所示。在类图中,有四个角色需要说明:1、Component抽象构件Component是一个接口或者是抽象类,就是定义我们最核心的对象,也就是最原始的对象。2、ConcreteCo

2015-11-14 14:45:28 857

转载 ajax请求get方式的缓存问题

问题描述:浏览器访问中,在当前页面跳转到另外个页面,然后返回。用get方式请求数据,返回后ajax不再请求url,直接取ajax缓存中的数据。 原因及解决办法在ie系列下,$.get()方法在url地址固定时,会缓存返回结果,导致不可预料的问题。但在火狐下,则不会缓存。要解决该问题有很多办法,最直接的是把$.get()方法换成$.ajax(),然后配置cache:false即可

2015-11-05 19:20:30 1522

原创 UML-类图

一、用于描述系统中的对象类本身的组成和对象类之间的各种静态关系。二、类之间的关系:依赖、泛化(继承)、实现、关联、聚合与组合。class Person{ private $id; private $name; public function setName($name){ $this->name=$name; } public function getNa

2015-09-20 23:00:47 427

转载 线程安全的实现延迟初始化的方案

1、基于volatile的解决方案public class SafeDoubleCheckedLocking { private volatile static Instance instance; public static Instance getInstance(){ if(instance == null){ synchronized(SafeDoubleCheck

2015-09-16 20:39:33 421

转载 MYSQL索引无效和索引有效的详细情况

1、WHERE字句的查询条件里有不等于号(WHERE column!=...),MYSQL将无法使用索引。2、类似地,如果WHERE字句的查询条件里使用了函数(如:WHERE DAY(column)=...),MYSQL将无法使用索引。3、在JOIN操作中(需要从多个数据表提取数据时),MYSQL只有在主键和外键的数据类型相同时才能使用索引,否则即使建立了 

2015-08-27 20:40:33 679

转载 mybatis中$和#的区别

1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id".  2. $将传入的数据直接显示生成在sql中。如:order by $user_id$,如果传入的值是111,那么解析成sql时的

2015-08-27 20:33:39 330

深入剖析tomcat(中文版)

深入剖析tomcat(中文版),详细解释了tomcat运行的流程,对于web的理解会上一个台阶。便于优化和分析tomcat运行的问题。

2017-05-26

ZooKeeper:分布式过程协同技术详解

ZooKeeper:分布式过程协同技术详解,详细讲解zookeepre,理解分布式系统的调用过程。

2017-05-25

redis in Action

redis in Action

2016-07-10

ActiveMQ in action

ActiveMQ in action 中文翻译版

2015-07-29

shiro学习资料及例子代码

apache shiro权限控制框架 文档以及相应的示例代码 让你从入门到精通

2014-10-27

传智播客Lucene3.0_精品课程

很详细的学习luence的资料文档,传智播客教学所用文档,值得一读!

2014-06-05

HTML5高级程序设计(完整版)

很完整的HTML5高级开发教程,可以让你的水平提升一个档次!

2014-03-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除