- 博客(29)
- 收藏
- 关注
转载 浅谈 RPC、RMI、REST 这些很绕的概念
什么是 RPCRPC(Remote Procedure Call) 翻译过来叫远程过程调用,加上 Protocol 之后也有称之为远程过程调用协议,可以由不同的语言实现,根据维基百科的解释 —— RPC 指在分布式环境下,一个计算机程序能调用另一个不同地址空间里的方法(不同地址空间通常指局域网下的另一台计算机),但是编码的形式就像调用一个本地方法一样,程序员不用去关心背后的细节。为什么要有 ...
2019-06-19 15:56:18
244
转载 spring的@Transactional注解详细用法
概述事务管理对于企业应用来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性。Spring Framework对事务管理提供了一致的抽象,其特点如下:为不同的事务API提供一致的编程模型,比如JTA(Java Transaction API), JDBC, Hibernate, JPA(Java Persistence API和JDO(Java Data Objects) 支持...
2018-08-13 16:19:47
229
转载 基于Redis实现分布式锁,Redisson使用及源码分析
在分布式场景下,有很多种情况都需要实现最终一致性。在设计远程上下文的领域事件的时候,为了保证最终一致性,在通过领域事件进行通讯的方式中,可以共享存储(领域模型和消息的持久化数据源),或者做全局XA事务(两阶段提交,数据源可分开),也可以借助消息中间件(消费者处理需要能幂等)。通过Observer模式来发布领域事件可以提供很好的高并发性能,并且事件存储也能追溯更小粒度的事件数据,使各个应用系统拥有更好的自治性。本文主要探讨另外一种实现分布式最终一致性的解决方案——采用分布式锁。
2017-08-29 15:21:11
671
转载 java缓存技术的介绍
Cache是高速缓冲存储器 一种特殊的存储器子系统,其中复制了频繁使用的数据以利于快速访问。凡是位于速度相差较大的两种硬件/软件之间的,用于协调两者数据传输速度差异的结构,均可称之为 Cache
2017-04-28 17:25:49
1318
转载 谈谈类之间的关联关系与依赖关系
综上,有一个简单的判断原则:某个类以成员变量的形式出现在另一个类中,二者是关联关系;某个类以局部变量的形式出现在另一个类中,二者是依赖关系。
2017-04-28 16:40:07
718
转载 HttpClient学习整理
HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。
2017-04-27 17:37:25
468
转载 Java中Date,Calendar,Timestamp的区别以及相互转换与使用
1 Java.util.Date包含年、月、日、时、分、秒信息。复制代码 代码如下:// String转换为DateString dateStr="2013-8-13 23:23:23";String pattern="yyyy-MM-dd HH:mm:ss";DateFormate dateFormat=new SimpleDateFormat(pattern);
2017-04-11 15:28:26
1385
原创 阿里云 OSS开发使用文档
阿里云 OSS开发使用文档阿里云 OSS(Object Storage Service)提供基于网络的数据存取服务。使用 OSS,可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种结构化或非结构化数据文件。阿里云 OSS 将数据文件以对象(object)的形式上传到存储空间(bucket)中。 通过OSS可以创建一个或者多个存储空间,然后向每个存储空间中添加一个或多个文件。
2017-04-05 17:39:31
11023
转载 HTTP协议详解
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。
2017-03-31 10:51:40
266
转载 redis中各种数据类型对应jedis操作命令
一、常用数据类型简介: Redis常用五种数据类型:string,hash,list,set,zset(sorted set).1.String类型String是最简单的类型,一个key对应一个valueString类型的数据最大1G。String类型的值可以被视作integer,从而可以让“INCR”命令族操作(incrby、decr、decrby),这种情况下
2017-03-27 16:54:20
390
转载 Spring定时任务的几种实现
近日项目开发中需要执行一些定时任务,比如需要在每天凌晨时候,分析一次前一天的日志信息,借此机会整理了一下定时任务的几种实现方式,由于项目采用spring框架,所以我都将结合spring框架来介绍。一.分类从实现的技术上来分类,目前主要有三种技术(或者说有三种产品):Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTa
2017-03-27 16:14:57
629
转载 深入理解Java之线程池
在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务? 在Java中可以通过线程池来达到这样的
2017-03-26 20:19:33
193
转载 JAVA设计模式之工厂模式
在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。但是在一些情况下, new操作符直接生成对象会带来一些问题。
2017-03-07 23:20:07
201
转载 Tomcat架构及配置详解
一,Tomcat简介Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,它早期的名称为catalina,后来由Apache、Sun 和其他一些公司及个人共同开发而成,并更名为Tomcat。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和
2017-03-06 23:40:58
1483
转载 Nginx搭建反向代理服务器过程详解
在本文中,借助了Nginx这个神器简单地在Windows环境下搭建了一个反向代理服务,并模拟了一个IIS服务器集群的负载均衡效果。从这个 DEMO中,我们可以简单地感受到反向代理为我们所做的事情,并体会负载均衡是怎么一回事。但是,在目前大多数的应用中,都会将Nginx部署在 Linux服务器中,并且会做一些针对负载均衡的优化配置,这里我们所做的仅仅就是一个小小的使用而已(just修改一下配置文件)。
2017-03-04 20:14:07
445
转载 nginx平台初探
众所周知,nginx性能高,而nginx的高性能与其架构是分不开的。那么nginx究竟是怎么样的呢?我们先来初识一下nginx框架吧。
2017-03-03 23:24:43
231
转载 Hibernate与 MyBatis的比较
Hibernate 是当前最流行的O/R mapping框架,它出身于sf.NET,现在已经成为Jboss的一部分。 Mybatis 是另外一种优秀的O/R mapping框架。目前属于apache的一个子项目。
2017-02-28 23:37:45
215
转载 HTTP与HTTPS的区别
超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。
2017-02-21 00:19:39
447
转载 Web开发人员需知的Web缓存知识
Web缓存游走于服务器和客户端之间。这个服务器可能是源服务器(资源所驻留的服务器Add),数量可能是1个或多个;这个客户端也可能是1个或多个。Web缓存就在服务器-客户端之间搞监控,监控请求,并且把请求输出的内容(例如html页面、 图片和文件)(统称为副本)另存一份;然后,如果下一个请求是相同的URL,则直接请求保存的副本,而不是再次麻烦源服务器。
2017-02-16 23:06:01
253
转载 缓存、缓存算法和缓存框架简介
我们都听过 cache,当你问他们是什么是缓存的时候,他们会给你一个完美的答案,可是他们不知道缓存是怎么构建的,或者没有告诉你应该采用什么标准去选择缓存框架。在这边文章,我们会去讨论缓存,缓存算法,缓存框架以及哪个缓存框架会更好。
2017-02-16 23:03:42
197
转载 面向服务与微服务架构
对微服务架构我们没有一个明确的定义,但简单来说微服务架构是:采用一组服务的方式来构建一个应用,服务独立部署在不同的进程中,不同服务通过一些轻量级交互机制来通信,例如 RPC、HTTP 等,服务可独立扩展伸缩,每个服务定义了明确的边界,不同的服务甚至可以采用不同的编程语言来实现,由独立的团队来维护。
2017-02-14 07:48:06
283
转载 AOP 的利器:ASM 3.0 介绍
随着 AOP(Aspect Oriented Programming)的发展,代码动态生成已然成为 Java 世界中不可或缺的一环。本文将介绍一种小巧轻便的 Java 字节码操控框架 ASM,它能方便地生成和改造 Java 代码。著名的框架,如 Hibernate 和 Spring 在底层都用到了 ASM。比起传统的 Java 字节码操控框架,BCEL 或者 SERP,它具有更符合现代软件模式的编程模型和更迅捷的性能。
2017-02-07 08:06:27
300
转载 Zookeeper 初体验之——JAVA实例
Zookeeper 为分布式系统提供了高效可靠且易于使用的协同服务,它可以为分布式应用提供相当多的服务,诸如统一命名服务,配置管理,状态同步和组服务等。
2017-01-23 15:45:57
230
转载 ZooKeeper程序员指南
本指南的前四节对各种ZooKeeper概念进行较高层次的讨论。这些概念对于理解ZooKeeper是如何工作的,以及如何使用ZooKeeper来进行工作都是必要的。这几节没有代码,但却要求读者对分布式计算相关的问题较为熟悉。这四节是:ZooKeeper数据模型、ZooKeeper会话、ZooKeeper观察、 一致性保证;接下来的四节提供了实际编程的信息。这四节是:创建块、 绑定、程序结构和简单示例、 转向:常见问题和解决。本文最后的附录包含到其他有用的ZooKeeper相关信息的链接。
2017-01-23 13:51:18
275
转载 Zookeeper Api(java)入门与应用
Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,但是 Zookeeper 并不是用来专门存储数据的,它的作用主要是用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理
2017-01-23 13:44:55
180
转载 JAVA中几种常用的RPC框架介绍
JAVA中几种常用的RPC框架介绍RPC是远程过程调用的简称,广泛应用在大规模分布式应用中,作用是有助于系统的垂直拆分,使系统更易拓展。Java中的RPC框架比较多,各有特色,广泛使用的有RMI、Hessian、Dubbo等。RPC还有一个特点就是能够跨语言,本文只以JAVA语言里的RPC为例。对于RPC有一个逻辑关系图,以RMI为例:其他的框架结构也类似,区别在于对象的序列...
2017-01-22 22:36:35
7263
转载 数据库事务管理
对于一个软件系统来说,需要相应的数据资源(数据库、文件系统等)来保存系统状态。为了保证系统状态始终处于“正确”的状态,我们必须对数据访问操作进行一些必要的限定,以保证系统状态的完整性。事务就是以可控的方式对数据资源进行访问的一组操作。事务有4个限定属性,即ACID属性。
2017-01-21 10:19:16
561
转载 策略模式Strategy(对象行为型)
策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。
2017-01-21 08:53:18
324
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人