自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(132)
  • 收藏
  • 关注

原创 maven 打包异常

问题描述:修改 .java 文件后,重新 clean install,对 target 目录中的 war 包里的 class 文件反编译,内容仍然是修改前的。而 target/classes 目录里的 class 文件却是最新的。原因:你的项目WEB-INF目录下有classes文件夹里面放着以前编译过的class文件,你把这个classes文件夹删除掉,重新打包就ok了!...

2016-09-29 10:24:46 199

原创 取类的被加载的路径

Class clazz = String.class;//String类 System.out.println(clazz.getResource(clazz.getSimpleName() + ".class"));

2016-09-24 10:37:35 173

原创 领域驱动设计

http://blog.csdn.net/bluishglc/article/details/6681253/Domain Driven Design + CQRS + EventSource 框架:Axon, jdon

2016-07-27 17:21:52 164

原创 EJB Session Bean有状态和无状态的区别与联系

刚开始对两种sessionbean存在误解,认为有状态是实例一直存在,保存每次调用后的状态,并对下一次调用起作用,而认为无状态是每次调用实例化一次,不保留用户信息。仔细分析并用实践检验后,会发现,事实恰好相反:有状态和无状态会话bean的本质区别是它们的生命期。 首先解释一个下面要用到的概念--用户:sessionbean 的用户实际上就是直接调用ejb的类的实例,...

2016-04-15 11:45:49 141

原创 线程保持running状态的方式

Java中常见的保持一个线程的生命的方式,前提是这个线程必须是non-daemon,只有非dead 的non-daemon的线程才能保证JVM进程不会退出。 Java自身的线程池就是一个例子,ExecutorService,当调用submit(Runnable task)方法后,如果不显示的调用shutdown()方法,线程池线程是不会终止的。 The ExecutorSe...

2016-04-13 15:05:14 453

原创 处理大并发之一 对异步非阻塞的理解

处理大并发之一 对异步非阻塞的理解 在研究nginx和node.js的时候常会遇到异步、非阻塞等,之前自己也经常使用epoll,对其同步与阻塞,异步与非阻塞有了一定的认识,现对参考资料总结下。 首先讨论下使用事件驱动,异步编程的优点: 充分利用了系统资源,执行代码无须阻塞等待某种操作完成,有限的资源可以用于其他的任务。其非常适合于后端的网络服务编程。 在服务...

2016-04-05 11:48:52 104

原创 一种高效无锁内存队列的实现

Disruptor是LMAX公司开源的一个高效的内存无锁队列。这两天看了一下相关的设计文档和博客,下面尝试进行一下总结。第一部分。引子谈到并发程序设计,有几个概念是避免不了的。1.锁:锁是用来做并发最简单的方式,当然其代价也是最高的。内核态的锁的时候需要操作系统进行一次上下文切换,等待锁的线程会被挂起直至锁释放。在上下文切换的时候,cpu之前缓存的指令和数据都将失效,对性能有很...

2016-03-01 15:40:18 156

原创 DDD CQRS架构和传统架构的优缺点比较

最近几年,在DDD的领域,我们经常会看到CQRS架构的概念。我个人也写了一个ENode框架,专门用来实现这个架构。CQRS架构本身的思想其实非常简单,就是读写分离。是一个很好理解的思想。就像我们用MySQL数据库的主备,数据写到主,然后查询从备来查,主备数据的同步由MySQL数据库自己负责,这是一种数据库层面的读写分离。关于CQRS架构的介绍其实已经非常多了,大家可以自行百度或google。我今天...

2016-03-01 10:21:12 98

原创 JVM 性能调优

内存溢出(OutOfMemory,简称OOM)内存溢出问题,包括堆溢出、直接内存溢出、永久区溢出等A.堆溢出堆是 Java 程序中最为重要的内存空间,由于大量的对象都直接分配在堆上,因此它也成为最有可能发生溢出的区间。一般来说,绝大部分Java 的内存溢出都属于这种情况。其原因是因为大量对象占据了堆空间,而这些对象都持有强引用,导致无法回收,当对象大小之和大于由Xmx ...

2016-01-27 16:02:21 93

原创 mysql 自定义排序

原表 user:id name roleId1 aaa 12 bbb 23 ccc 34 ddd 45 eee 51,MySQL可以通过field()函数自定义排序,格式:field(value,str1,str2,str3,str4),value与str1、str2、str...

2016-01-26 17:55:33 100

原创 CDN 检测

在CMD 输入 nslookup 域名 例如:nslookup www.baidu.com 有CDN的示例Server: cache3-gz Address: 211.98.4.1 Non-authoritative answer: Name: Addresses: 119.75.217.109, 11...

2016-01-14 11:38:56 312

原创 怎么用API网关构建微服务|架构

转于http://www.tuicool.com/articles/bMnEbmv当选择将应用程序构建为一组微服务时,需要确定应用程序客户端如何与微服务交互。在单体应用程序中,只有一组(通常是重复的、负载均衡的)端点。然而,在微服务架构中,每个微服务都会暴露一组通常是细粒度的端点。在本文中,我们将讨论一下这对客户端与应用程序之间的通信有什么影响,并提出一种使用API网关的方法。让我们...

2016-01-12 14:33:36 110

原创 接口安全调用该怎么做?签名?证书?服务安全?

在这个以“数据为生命”的时代,每一个开发商都尽可能的收集客户的数据建立自己的BI库,各系统、各平台间数据的传输和调用变得非常普遍且非常重要;那么作为开发人员,我们不但要防止系统被攻击被入侵,我们还要确保数据的安全和完整。在内网传输和外网传输的数据对安全的要求一般是不同的,因为内网数据的传输得到了网络防火墙的保护,起到了隔绝外部攻击的作用,但也并非一定安全;相比之下,对外部开放的接口则需要做...

2016-01-11 17:19:24 384

原创 App架构设计经验谈:接口的设计

App与服务器的通信接口如何设计得好,需要考虑的地方挺多的,在此根据我的一些经验做一些总结分享,旨在抛砖引玉。[b]安全机制的设计[/b]现在,大部分App的接口都采用RESTful架构,RESTFul最重要的一个设计原则就是,客户端与服务器的交互在请求之间是无状态的,也就是说,当涉及到用户状态时,每次请求都要带上身份验证信息。实现上,大部分都采用token的认证方式,一般流程是:...

2016-01-08 14:09:06 988

原创 配置TOMCAT及httpClient的keepalive以高效利用长连接

配置TOMCAT及httpClient的keepalive以高效利用长连接 总所周知http1.1(http1.0不是标准,依服务器而定)是支持长连接的,长连接能够保证服务器和客户端的socket能够高效利用,减少握手等额外的开销。httpClient在正常情况下会带上Connection: keep-alive表示我是支持长连接的,当完成一个请求后,视情况决定是否关闭连接。正常情...

2016-01-05 16:17:14 1214

原创 Java 开发必会的 Linux 命令

Java 开发必会的 Linux 命令oschina 发布于: 2015年12月17日 (7评)分享到: 收藏 +165开源中国众包平台 —— 只为自己编码 » 作为一个Java开发人员,有些常用的Linux命令必须掌握。即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令。因为很多服务器上都是Linux系统。所以,要和服务器机器...

2015-12-17 10:14:27 777

原创 TCP/IP,http,socket,长连接,短连接

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

2015-12-11 15:25:46 112

原创 Spring Integration入门

为什么使用Spring IntegrationSpring Integration是Spring框架创建的又一个API,面向企业应用集成(EAI)。说到集成,并不缺“解决办法”:硬编码的Java客户端、其它ESB产品,还有消息队列等更加传统的应用集成技术。Spring Integration对以上各种解决方法都有所改进,改进的方式有时还颇具戏剧效果。Spring Integration非常...

2015-12-11 14:52:02 166

原创 hibernate SQLQuey Query

[code="java"]@Overridepublic List getDtoBySql(final String sql, List param, Class dtoClass, Map map) throws HibernateException{ Query query = this.getCurrentSession().createSQLQuery(sql).setR...

2015-12-08 11:48:53 137

原创 Entity, DTO, SpringMVC 参数 类型

对于Entity里的数值字段类型最好使用包装类,不要使用int,long,或者BigInteger,使用Long比较好; 对于DTO的数值也是最好使用包装类,但如果是一些计算器count的话,可以使用int,或者Integer,其他的使用Long; 对于SpringMVC 方法的参数,最好使用包装类,因为使用包装类,即使前端不传参数,也会映射一个null对象,但如果使用原...

2015-12-03 11:22:24 376

原创 说说JSON和JSONP,也许你会豁然开朗

前言  由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现。  当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Socket通讯和本地数据库功能,又或者通过HTML5的WebSocket也可以实现与服务器的通讯和服务端推功能,但这两种方式都有其局限性,前者需要PhoneGap支持,后者要求用户设备必须支持We...

2015-11-12 17:06:46 56

原创 淘宝如何跨域获取Cookie分析

最近在发现使用Taobao的时候的一个小细节,于是便萌发起了写这篇文章。当我们在 www.taobao.com 中进行登录之后,然后直接切换到 www.tmall.com 域名下,发现www.tmall.com首页的最顶部马上显示成了”您好, andyfaces“,于是便对此处的实现机制进行分析。首先,用户名应该是存储在cookie中的,于是在taobao.com的域名中用 fir...

2015-11-12 16:38:16 121

原创 Java安全通信:HTTPS与SSL

1. HTTPS概念 1)简介 HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。这个系统的最初研发由网景公司进行,提供了身份验证...

2015-11-11 10:30:14 68

原创 消息中间件的意义和应用场景

消息中间件的意义和应用场景 (2014-08-06 18:00:17)转载▼分类: 常用开源框架消息中间件一般两个功能,解耦和异步处理,分别举个例子吧解耦合:比如我们做一个微博产品中的好友系统,就很需要使用消息中间件当我们添加一个关注的时候, 涉及以下几个子系统推荐系统,需要根据你关注的人给你做数据分析搜索系统,需要根据你的数据建立索引feed系统,需要根据...

2015-11-10 10:23:58 306

原创 JMS的topic和queue的区别

在JMS(Java消息服务)中,Topic实现publish和subscribe语义。一条消息被publish时,它将发到所有感兴趣的订阅者,所以零到多个 subscriber(电脑词汇中解释为“用户“)将接收到消息的一个拷贝。但是在消息代理接收到消息时,只有激活订阅的subscriber能够获得消息的一个拷贝。 JMS Queue执行load balancer语义。一条消息仅能被一个co...

2015-11-10 09:55:20 165

原创 OAUTH1 OAUTH2 compare

[b]More OAuth Flows to allow better support for non-browser based applications[/b]. This is a main criticism against OAuth from client applications that were not browser based. For example, in OAuth 1...

2015-11-09 11:08:11 73

原创 access token已过期,怎么用refreshtoken刷新accesstoken

access token已过期,怎么用refreshtoken刷新accesstoken。 不指定justwinit 2014-2-17 16:13 大 | 中 | 小 WEB2.0 评论(0)需要重新获取code,然后得到access_token。即要重新调用授权界面。需要用refreshtoken刷新accesstoken。如果刷新取到了新的accesstoken、...

2015-11-09 10:19:12 3548

原创 单机版的Mysql主从数据库配置

环 境mysql-5.0.22 解压版。(Copy 成两份 ,master,slave)windowsXP一、Master的设置1、配制my.ini [client] port = 3308 [mysqld] port =3308 server-id = 1 binlog-do-db=test1 ##...

2015-11-06 16:36:54 82

原创 mysql主从数据库配置

1.配置主数据库的my.ini文件,在最后面加入#---------------------------------------------server-id=242log-bin=mysql-binrelay-log=relay-binrelay-log-index=relay-bin-indexreplicate-do-db=要同步的数据库...

2015-11-05 14:16:35 114

原创 MySQL Cluster和RAC实现比较

MySQL Cluster和RAC实现比较 经常免不了拿MySQL Cluster(以下简称MySQL)和ORAClE(RAC)来对比。MySQL使用了shared nothing的架构,而RAC使用的是shared everything的架构. 先看读一个数据块的处理,在RAC中当数据块在本地的cache中,可以直接操作,如果在远端的话,需要请求远端的实例发...

2015-11-04 17:23:14 1782

原创 mysql集群

什么是mysql集群分为同步集群和异步集群。同步集群(mysql cluster)结构:(data + sql + mgm节点)特点:1) 内存级别的,对硬件要求较低,但是对内存要求较大。换算比例为:1:1.1;2) 数据同时放在几台服务器上,冗余较好;3) 速度一般;4) 建表需要声明为engine=ndbcluster5) 扩展性强;6) 可以实现高可用...

2015-11-04 10:22:21 77

原创 简单理解Spring中的PROPAGATION_NESTED

简单理解Spring中的PROPAGATION_NESTED博客分类: Enterprise IssuesSpringJPA编程EJB框架 结合http://www.iteye.com/topic/35907,简单总结一下自己的理解:[img]http://sharajava.iteye.com/topics/download/f09f85a4-1577-4bc3-a28d-8...

2015-10-23 17:58:05 486

原创 mysql 数据库复制

复制数据库(数据库迁移):mysqldump shop_db -uduier_sit -pAb123456 --add-drop-table | mysql -h 120.25.69.206 shop_db -uroot -pq6AkHS7B; 在命令行界面下执行该命令,第一个shop_db是源数据库名。 -u后接上用户名 -p后接上密码 -h后 是目的服务器地址...

2015-09-30 17:57:01 63

原创 hibernate 乐观锁 递归 隔离级别

[code="java"]private VirtualAccPool allocateVirtualAccount() throws EnrollmentException { VirtualAccPool virtualAccount = null; try { virtualAccPoolDao.getCurrentSession().clear(); vir...

2015-09-09 12:52:48 122

原创 并发控制 集群 分布式

并发事务的定义:多个事务同时发生,会产生5中并发问题(3个读,两个更新),但其实在数据库的某一个时刻,只会执行一个sql,但一个事务可能包含多个步骤(sql),这样可能多个事务的多个步骤交叉执行,而产生并发问题。并发一般可以采取锁和隔离级别进行处理。那锁和隔离级别的区别在于哪里: 隔离级别----解决看的问题--select 锁----解决更新的问题。...

2015-09-08 18:28:57 252

原创 spring 嵌套事务、锁、并发、线程

[code="java"]@Transactional(propagation=Propagation.NESTED)@Transactional(propagation=Propagation.PROPAGATION_REQUIRES_NEW)ServiceA{ @Autowired ServiceB serviceB; @Transactional(pro...

2015-08-30 23:22:10 540

原创 hibernate 并发控制 不同状态的对象调用不同的方法执行规律

使用hibernate的version做并发控制,对于不同的状态的对象其执行结果不同。1、游离对象(具有ID的对象) Customer Customer = new Customer(); Customer.setId(1L); Customer.setUserName("nick"); Customer.setVersion(9); A.执行ses...

2015-08-27 17:12:37 94

原创 hibernate 级联更新

[code="java"]@Entity@Table(name = "customer_order_hd")@NamedQuery(name = "CustomerOrderHd.findAll", query = "SELECT c FROM CustomerOrderHd c")public class CustomerOrderHd implements Serializab...

2015-08-25 15:42:36 137

原创 htts 原理

我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。HTTPS简介HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。具体是如何进行加密,解密,验证的,且看下图。...

2015-08-19 15:59:34 883

原创 Java 加密解密 对称加密算法 非对称加密算法 MD5 BASE64 AES RSA

【前言】本文简单的介绍了加密技术相关概念,最后总结了java中现有的加密技术以及使用方法和例子【最简单的加密】1.简单的概念明文:加密前的信息密文:机密后的信息算法:加密或解密的算法密钥:算法使用的钥匙(读作miyao,正确应该是miyue,但是大家都读miyao) 2.简单的例子将123456每位数字都加1后得到234567,其中123456就是明文,2...

2015-08-19 15:50:59 112

空空如也

空空如也

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

TA关注的人

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