自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(396)
  • 资源 (4)
  • 收藏
  • 关注

原创 springboot jta分步式事物

# Mysql 1mysql.datasource.test.url = jdbc:mysql://localhost:3306/test01?useUnicode=true&characterEncoding=utf-8mysql.datasource.test.username = rootmysql.datasource.test.password = root...

2017-12-24 11:30:45 376

原创 springboot 多数据源

spring.datasource.test1.driverClassName = com.mysql.jdbc.Driverspring.datasource.test1.url = jdbc:mysql://localhost:3306/test01?useUnicode=true&characterEncoding=utf-8spring.datasource.test1...

2017-12-24 11:07:24 216

原创 spring事物管理源码分析2

TxNamespaceHandler@Override public void init() { registerBeanDefinitionParser("advice", new TxAdviceBeanDefinitionParser()); registerBeanDefinitionParser("annotation-driven", new Annotation...

2017-12-24 11:02:46 191

原创 各大互联网公司java开发面试常问问题

本人是做java开发的,这是我参加58,搜狐,搜狗,新浪微博,百度,腾讯文学,网易以及其他一些小的创业型公司的面试常被问的问题,当然有重复,弄清楚这些,相信面试会轻松许多。1. junit用法,before,beforeClass,after, afterClass的执行顺序 2. 分布式锁 3. nginx的请求转发算法,如何配置根据权重转发 4. 用hashmap实现redis有什么问...

2017-12-23 20:58:12 278

原创 数据库 SQL 优化大总结之 百万级数据库优化方案

网上关于 SQL 优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。这篇文章我花费了大量的时间查找资料、修改、排版,希望大家阅读之后,感觉好的话推荐给更多的人,让更多的人看到、纠正以及补充。1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 wh...

2017-12-21 20:11:57 130

原创 谈谈Redis的SETNX

在 Redis 里,所谓 SETNX,是「SET if Not eXists」的缩写,也就是只有不存在的时候才设置,可以利用它来实现锁的效果,不过很多人没有意识到 SETNX 有陷阱! 比如说:某个查询数据库的接口,因为调用量比较大,所以加了缓存,并设定缓存过期后刷新,问题是当并发量比较大的时候,如果没有锁机制,那么缓存过期的瞬间,大量并发请求会穿透缓存直接查询数据库,造成雪崩效应,如...

2017-12-19 21:19:21 168

原创 分布式锁1 Java常用技术方案

    第一步,自身的业务场景:      在我日常做的项目中,目前涉及了以下这些业务场景:      场景一: 比如分配任务场景。在这个场景中,由于是公司的业务后台系统,主要是用于审核人员的审核工作,并发量并不是很高,而且任务的分配规则设计成了通过审核人员每次主动的请求拉取,然后服务端从任务池中随机的选取任务进行分配。这个场景看到这里你会觉得比较单一,但是实际的分配过程中,由于涉及到了...

2017-12-19 21:15:03 116

原创 两个与spring事务相关的问题

有些spring相关的知识点之前一直没有仔细研究:比如spring的事务,并不是没有使用,也曾经简单的在某些需要事务处理的方法上通过增加事务注解来实现事务功能,仅仅是跟随使用(甚至并未测试过事务的正确性),至于如何在项目中配置事务,如何才能将事务写正确,事务的其它的一些原理性的东西从未花时间研究。最近同事正好抛出了一个问题,借此机会学习了一遍。  问题一:增加了readOnly=true的事...

2017-12-17 13:18:29 140

原创 spring mvc+ELK从头开始搭建日志平台

最近由于之前协助前公司做了点力所能及的事情,居然收到了一份贵重的端午礼物,是给我女儿的一个乐高积木,整个有7大包物件,我花了接近一天的时间一砖一瓦的组织起来,虽然很辛苦但是能够从过程中体验到乐趣。这次将分享从头搭建分布式日志系统,主要是在spring mvc上结合ELK套件实现(之前有些工作由于分工不同由不同的同事来完成,我只是在已经配置好的环境下做开发而已),包含如下这些技术点:  sp...

2017-12-17 09:37:57 120

原创 阿里巴巴分布式服务框架 Dubbo 团队成员梁飞专访

Dubbo是阿里巴巴内部的SOA服务化治理方案的核心框架,每天为2000+ 个服务提供3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。Dubbo自2011年开源后,已被许多非阿里系公司使用。 项目主页:http://alibaba.github.io/dubbo-doc-static/Home-zh.htm 为了使大家对该框架有一个深入的了解,本期我们采访了D...

2017-12-16 14:33:04 717

原创 SQL语句执行

1、客户端把语句发给服务器端执行。2、查询高速缓存。3、语句合法性检查。4、语言含义检查(列名或表名错误)。5、获得对象解析锁6、数据访问权限的核对7、确定最佳执行计划。服务器进程会根据一定的规则,对这条语句进行优化。8、语句解析语句执行。语句执行也分两种情况,一是若被选择行所在的数据块已经被读取到数据缓冲区的话,则服务器进程会直接把这个数据传递给客户端。二是若数据不...

2017-12-16 14:10:32 171

原创 use_nl,use_hash,use_merge的3种连接方式驱动与被驱动关系

SQL> select * from v$version;BANNER--------------------------------------------------------------------------------Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit ProductionPL/SQ...

2016-09-16 13:37:00 938

原创 使用netty+spring搭建游戏框架

一、 java NIO简介 nio是java New IO的简称,在jdk1.4里提供的新api。Sun官方标榜的特性如下:  为所有的原始类型提供(Buffer)缓存支持。  字符集编码解码解决方案。  Channel:一个新的原始I/O抽象。  支持锁和内存映射文件的文件访问接口。  提供多路(non-bloking)非阻塞式的高伸缩性网络I/O。 关于java NIO的实现部分...

2016-04-26 22:52:01 520

原创 Netty5源码分析--4.总结

JAVA NIO 复习请先参考我之前的博文JAVA学习笔记–3.Network IO的 NIO(NonBlocking IO) SOCKET 章节。这里主要讲下JAVA NIO其中几个比较被忽略的细节,不求全,欢迎补充。 APISelect当调用ServerSocketChannel.accept();时,如果该channel处于非阻塞状态而且没有等 待(pending)的...

2016-04-26 22:51:57 675

原创 jvm运行期打印汇编信息

如果只在jvm参数中加入-XX:+PrintAssembly参数,运行报错:Java代码  Improperly specified VM option 'PrintAssembly'  Error: Could not create the Java Virtual Machine.  Error: A fatal exception has occurred...

2016-04-26 22:51:55 282

原创 详解java类的生命周期

引言        最近有位细心的朋友在阅读笔者的文章时,对java类的生命周期问题有一些疑惑,笔者打开百度搜了一下相关的问题,看到网上的资料很少有把这个问题讲明白的,主要是因为目前国内java方面的教材大多只是告诉你“怎样做”,但至于“为什么这样做”却不多说,所以造成大家在基础和原理方面的知识比较匮乏,所以笔者今天就斗胆来讲一下这个问题,权当抛砖引玉,希望对在这个问题上有疑惑的朋友有所帮助,...

2016-04-26 22:51:50 98

原创 Java类占用内存的情况概述

本文属于转载,在本系列的第二部分会讨论更加复杂的情况。下面的论述针对32位系统,对64位系统不适用,后叙经常你写了一个程序,一测试,功能没问题,一看内存占用也不多,就不去考虑其它的东西了。但可能程序使用了一个什么数据结构,会当数据规模变大时,内存占用激增。 基本&&关键的问题是,Java里各种东东占多少内存????????? 对于primitive类型,有8...

2016-04-26 22:51:49 363

原创 一种高并发流控程序的简单轻量实现

import java.util.Date;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Semaphore;import java.util.concurrent.TimeUnit;import jav...

2016-04-19 20:36:24 153

原创 Java堆.栈和常量池 笔记

今天复习了一下这些知识,顺便做了下笔记.1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)3. 堆:存放所有new出来的对象。4. 静态域:存放静态成员(static定义的)5. 常量池:存放字符串常量和基本类型常量(pu...

2016-04-17 20:42:47 89

原创 海量数据处理:十道面试题与十个海量数据处理方法总结

者:July、youwang、yanxionglu。时间:二零一一年三月二十六日说明:本文分为俩部分,第一部分为10道海量数据处理的面试题,第二部分为10个海量数据处理的方法总结。有任何问题,欢迎交流、指正。出处:http://blog.csdn.net/v_JULY_v。------------------------------------------第一部分、十道海量数据处理面试题...

2016-04-17 14:50:37 118

原创 经典软件设计模型 - 插件模型

介绍什么是插件方法,就是将某些模块以插件的方式添加到现有系统中来完成某个具体功能,由于这个具体功能可以由很多不同的模块完成,而每次一般只需要其中一个模块,所以必须可以动态更换模块。这在linux驱动程序中使用很多,如摄像头驱动有一个总的模块接口v4l2,而根据不同的摄像头需要动态注册不同的驱动程序,这些驱动程序就类似插件。在处理这种问题时,很多人可能想到C++的类继承,设置抽象基类定义接口,...

2016-04-16 11:27:06 149

原创 经典软件设计模型 - 事件驱动模型

模型说明在UI编程中,常常要对鼠标点击进行相应,首先如何获得鼠标点击呢?方式一:创建一个线程,该线程一直循环检测是否有鼠标点击,那么这个方式有以下几个缺点:1. CPU资源浪费,可能鼠标点击的频率非常小,但是扫描线程还是会一直循环检测,这会造成很多的CPU资源浪费;如果扫描鼠标点击的接口是阻塞的呢?2. 如果是堵塞的,又会出现下面这样的问题,如果我们不但要扫描鼠标点击,还要扫描键盘是否按下,...

2016-04-16 11:23:53 307

原创 java序列化/反序列化之xml、protobuf、protostuff 的比较与使用例子

4、protobuf简单教程4.1、快速入门:  下载.exe编译器——编写.proto文件——利用编译器编译.proto文件生成javabean——引用jar包——直接使用javabean自带的序列化、反序列化方法 1、下载针对java的.exe编译器protobuf编译器官方下载地址:https://developers.google.com/protocol-buff...

2016-04-15 11:19:30 120

原创 读写文件方法

try { // 方法一 BufferedReader br = new BufferedReader(new FileReader(new File( "D:\\1.xls"))); // StringBuilder bd = new StringBuilder(); StringBuffer bd = new StringBuffer();...

2016-04-15 11:19:29 99

原创 50道Java线程面试题

1) 什么是线程?  线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程提供了卓越的支持,它也是一个很好的卖点。欲了解更多详细信息请点击这里。2) 线程和进程有什么区别?...

2016-04-15 11:19:28 86

原创 Demo应用简单运行指南

这个简单介绍只是方便大家运行了解dubbo以及rest功能步骤如下:git clone https://github.com/dangdangdotcom/dubbox在checkout出来的dubbox目录执行mvn install -Dmaven.test.skip=true来尝试编译一下dubbo(并将dubbo的jar安装到本地maven库)在checkout出来的...

2016-04-15 11:19:08 860

原创 JAVA 堆栈 堆 方法区 静态区 final static 内存分配 详解

Java栈与堆 堆:顺序随意 栈:后进先出(Last-in/First-Out).        Java的堆是一个运行时数据区,类的对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器...

2016-04-15 11:13:22 211

原创 http和socket之长连接和短连接区别

TCP/IP TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。 在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。 在传输层中有TCP协议与UDP协议。 在应用层有:TCP包括FTP、HTTP、TELNET、SMTP等协议                  UDP包括DNS、TFTP等协议 短连接 连接->传输数据->关闭连接 HTTP是无状...

2016-04-15 11:02:58 111

原创 使用JavaConfig方式配置dubbox

作者:马金凯文档版权:Creative Commons 3.0许可证 署名-禁止演绎为了迎合Spring的所有配置方式,增加了无XML配置实现,在此不对两种方式的优劣做比较,请根据项目的使用习惯做出合理选择。1. 模块描述实现Spring的JavaConfig配置方式,使用 Main.main(args) (需传参javaconfig设置使用JavaConfigContainer...

2016-04-14 23:44:38 406

原创 在Dubbo中使用高效的Java序列化(Kryo和FST)

TODO 生成可点击的目录目录序列化漫谈启用Kryo和FST注册被序列化类无参构造函数和Serializable接口序列化性能分析与测试测试环境测试脚本Dubbo RPC中不同序列化生成字节大小比较Dubbo RPC中不同序列化响应时间和吞吐量对比未来序列化漫谈dubbo RPC是dubbo体系中最核心的一种高性能、高吞吐量的远程调...

2016-04-14 23:42:14 198

原创 dubbox开发rest+json指南【转】

http://dangdangdotcom.github.io/dubbox/rest.html目录概述REST的优点应用场景快速入门标准Java REST API:JAX-RS简介REST服务提供端详解HTTP POST/GET的实现Annotation放在接口类还是实现类JSON、XML等多数据格式的支持中文字符支持XML数据格式的额外要求...

2016-04-14 23:42:03 149

原创 基于dubbo框架下的RPC通讯协议性能测试

一、前言  Dubbo RPC服务框架支持丰富的传输协议、序列化方式等通讯相关的配置和扩展。dubbo执行一次RPC请求的过程大致如下:消费者(Consumer)向注册中心(Registry)执行RPC请求,注册中心分配服务URL并路由到具体服务提供方(Provider),消费者和服务提供方建立网络连接,服务提供方在本地创建连接池对象并提供远程服务,对于长连接类型协议(如dubbo协议)将保...

2016-04-14 23:34:09 102

原创 java里的静态成员变量是放在了堆内存还是栈内存

转自http://bbs.csdn.net/topics/370001490堆区: 1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令) 2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身 栈区: 1.每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不是对象),对象都存放在...

2016-04-11 22:38:39 595 1

原创 Spring AOP 概念与例子

先了解AOP的相关术语:1.通知(Advice):通知定义了切面是什么以及何时使用。描述了切面要完成的工作和何时需要执行这个工作。2.连接点(Joinpoint):程序能够应用通知的一个“时机”,这些“时机”就是连接点,例如方法被调用时、异常被抛出时等等。3.切入点(Pointcut)通知定义了切面要发生的“故事”和时间,那么切入点就定义了“故事”发生的地点,例如某个类或方法的名称,Spr...

2016-04-11 11:05:59 141

原创 分布式ehcache缓存

今天在这里了记录一下学习ehcache分布式集群的过程。ehcache的三种最为常用集群方式,分别是 RMI、JGroups 以及 JMS 。ehcache的集群,是在每台缓存服务器上都复制存储相同的内容,而是不是像redis3.0集群一样,进行分开存储。当一台服务启动时,会把其它节点已缓存的数据同步过来。 1.rmi方式 <?xml version="1.0" enc...

2016-04-11 11:04:19 152

原创 Nginx upstream的5种权重分配方式分享

1、轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 2、weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 例如: 复制代码 代码如下:upstream backend { server 192.168.0.14 weight=10; server 192.168.0.15 weight=10;...

2016-04-11 11:03:29 251

原创 java导出2007版word(docx格式)freemarker + xml 实现

Freemarker+xml生成docx原理概述:word从2003版就支持xml格式,而freemarker是java封装的模板工具,两者结合也就是在xml中需要动态生成的部分调用freemarker的指令(类似于EL表达式),来生成我们需要的数据,再用流输出文件,就达到了写word的效果。 生成word的基本流程图如下: 1.       生成docx模板和xml...

2016-04-11 10:56:36 500

原创 在Spring中使用JTA事务管理

Spring 通过AOP技术可以让我们在脱离EJB的情况下享受声明式事务的丰盛大餐,脱离Java EE应用服务器使用声明式事务的道路已经畅通无阻。但是很大部分人都还认为脱离Java EE应用服务器就无法使用JTA事务,这是一个误解。其实,通过配合使用ObjectWeb的JOTM开源项目,不需要Java EE应用服务器,Spring也可以提供JTA事务。 正因为AOP让Spring拥有了脱...

2016-04-10 21:01:17 129

原创 Spring分布式事务实现

分布式事务是指操作多个数据库之间的事务,spring的 org.springframework.transaction.jta.JtaTransactionManager,提供了分布式事务支持。如果使 用WAS的JTA支持,把它的属性改为WebSphere对应的TransactionManager。     在tomcat下,是没有分布式事务的,不过可以借助于第三方软件jotm(Java Ope...

2016-04-10 20:57:38 85

原创 spring+hibernate+jta 分布式事务Demo

0、设计分布式数据库,修改第一部分的例子。先将db1中的user1表中的记录清除,把user2表drop掉,然后create一个新的 database db2来模拟分布式数据库,在db2中新建一张表user2,结构和user1一致。接下来的操作就是同时对2个数据库的2张表进行操作了。1、DAO接口、DAOImpl实现,Service接口、ServiceImpl实现都不用去动它,为使第一次...

2016-04-10 20:45:24 85

iPhone与iPad开发实战

iPhone与iPad开发实战--iOS经典应用剖析

2013-01-22

锋利的jQuery-高清扫描版-pdf

《锋利的jQuery》(高清扫描版-有书签) 值得拥有,值得学习。让你能写出更好更有规范的js

2012-10-16

jscript特效

jscript特效大全,内有150个左右的特效,用ie开打可以看到各种很炫的特效,用记事本打开可以看到源码。下了你就知道js的牛逼

2012-10-16

空空如也

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

TA关注的人

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