`
文章列表
RPC(Remote Procedure Call Protocol)        RPC使用C/S方式,采用http协议,发送请求到服务器,等待服务器返回结果。这个请求包括一个参数集和一个文本集,通常形成“classname.methodname”形式。优点是跨语言跨平台,C端、S端有更大的独立性,缺点是不支持对象,不支持异步调用,无法在编译器检查错误,只能在运行期检查。   Web Service       Web Service提供的服务是基于web容器的,底层使用http协议,类似一个远程的服务提供者,比如天气预报服务,对各地客户端提供天气预报,是一种请求应答的机制,是 ...
入门实例解析 第一:provider-提供服务和相应的接口   创建DemoService接口 [java] view plaincopyprint?
Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成,也是一个非常全面的SOA基础框架。其是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点.   以下的四个阶段可以用官方的Dubbo架构路线图来概括,       主要核心部件:   Remoting:
一、为什么要用hibernate缓存机制   Hibernate是一个持久层框架,经常访问物理数据库。为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行 ...
1.将String字符串放在最前面 为了防止偶发性的NullPointerException 异常,我们通常将String放置在equals()函数的左边来实现字符串比较,如下代码: Java代码 // Bad   if (variable.equals("literal")) { ... }   // Good   if ("literal".equals(variable)) { ... }   // Bad if (variable.equals("literal")) { ... } ...
spring中常用的设计模式达到九种,我们举例说明: 第一种:简单工厂又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一。 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一 ...
一:bean的XML配置文件如下: <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xsi:schemaLocation="http://www.springframework.org/schema/beans ...
JVM内存组成结构 JVM栈由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示: 1)堆 所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-Xms来控制。堆被划分为新生代和旧生代,新生代又被进一步划分 ...
Java代码编译是由Java源码编译器来完成,流程图如下所示: Java字节码的执行是由JVM执行引擎来完成,流程图如下所示:   Java代码编译和执行的整个过程包含了以下三个重要的机制: Java源码编译机制 类加载机制 类执行机制 Java源码编译机制 Java 源码编译由以下三个过程组成: 分析和输入到符号表 注解处理 语义分析和生成class文件 流程图如下所示: 最后生成的class文件由以下部分组成: 结构信息。包括class文件格式版本号及各部分的数量与大小的信息 元数据。对应于Java源码中声明与常量的信息。包含类/继承的 ...
在Java程序中,性能问题的大部分原因并不在于Java语言,而是在于程序本身。所以养成好的代码编写习惯非常重要。下面我们就来具体地分析一下:   1、尽量重用对象 比如:String 对象的使用中,出现字符串连接情况时应用StringBuffer 代替。由于系统不仅要花时间生成对象,以后可能还需花时间对这些对象进行垃圾回收和处理。因此,生成过多的对象将会给程序的性能带来很大的影响。   2、尽量使用局部变量 调用方法时传递的参数以及在调用中创建的临时变量都保存在栈(Stack)中,速度较快。 其他变量,如静态变量、实例变量等,都在堆(Heap)中创建,速度较慢。   3、J ...
AOP系列文章:       Spring AOP:http://ray-yui.iteye.com/blog/2024759                CGLIB:http://ray-yui.iteye.com/blog/2026426           Javassist:http://ray-yui.iteye.com/blog/2029261 什么是AOP?       AOP是对传统面向对象开发的一种有效的补充,在AOP中概念非常多,请容许笔者省略数千字的概念,只举出一个示例,面向对象中的类就好比是士兵,我们编写每个类就等同于为每个士兵增加装备和训练士兵的体能,从而达到可 ...
Socket编程 (连接,发送消息) (Tcp、Udp)  本篇文章主要实现Socket在Tcp\Udp协议下相互通讯的方式。(服务器端与客户端的通讯)   1.基于Tcp协议的Socket通讯类似于B/S架构,面向连接,但不同的是服务器端可以向客户端主动推送消息。   使用Tcp协议通讯需要具备以下几个条件:     (1).建立一个套接字(Socket)     (2).绑定服务器端IP地址及端口号--服务器端     (3).利用Listen()方法开启监听--服务器端     (4).利用Accept()方法尝试与客户端建立一个连接--服务器端     (5).利用Co ...
  -------------spring 后置处理器BeanFactoryPostProcessor--------------------------   设计模式之spring分析          Spring已经在java的世界里横行很多年了,但是阅读起来并不那么容易。特别是接口概念的广泛使用,更增加了分析的难度,本文从设计模式的角度来对其进行分析,会忽略实现的具体细节。本文中,对于spring所涉及到的模式,并非来自官方,可能某些地方会让读者感到牵强,纯属个人见解,希望读者批判阅读。         
1、单例模式中的单例 懒汉式单例记得要加synchronized关键字,如果不加synchronized关键字,线程不安全。如果一个A执行到Java代码   singleton2 = new Singleton2();   singleton2 = new Singleton2(); ,但还没有获得对象(对象初始化是需要时间的),第二个线程B也在执行,执行到Java代码   singleton2 == null   singleton2 == null 判断,那么线程B得到的判断也为真,于是线程B也创建了一个实例,这样就导致两个线程创建了两个对象,所以线程不安全,只能加上
1 配置文件   Properties代码   wisely.primary.datasource.driverClassName=oracle.jdbc.OracleDriver   wisely.primary.datasource.url=jdbc\:oracle\:thin\:@192.168.1.103\:1521\:xe   wisely.primary.datasource.username=gis   wisely.primary.datasource.password=gis       wisely.secondary.datasou ...
Global site tag (gtag.js) - Google Analytics