- 博客(104)
- 资源 (6)
- 问答 (1)
- 收藏
- 关注
原创 Redis理解
Redis集群是一个不支持处理多个Keys的命令,因为这需要在不同的节点间移动数据,从而达不到像Redis那样的性能,在高负载的情况下会导致错误Redis配置文件中的一些属性:cluster-migration-barrier 1 表示一个主节点拥有很多好的从节点, 而当其他某个主节点的从节点的数量小于1时, 就会尝试将从节点迁移给他 cluster-node-timeout 50
2017-03-18 15:44:43
706
原创 Apache CXF框架简介
Apache CXF框架是一个开源的Web Services框架,它来源于两个开源项目--ObjectWeb Celtix和Codehaus XFireApache CXF提供了对JAX-WS规范的全面支持,一方面提供了对多种绑定(Binding) 数据绑定(DataBinding)传输协议(Transport)以及数据格式(Format)的支持,另一方面可以根据实际项目的需要,采用代码优
2015-07-03 11:06:34
1624
原创 OSGI的含义
OSGI的定义为:The Dynamic Module System For Java,主要责任就是为了让开发者能够建立动态化,模块化的java系统使用OSGI后,应用就可以像搭积木一样完成搭建,例如对于一个正在运行的系统,其中一个模块使用到了日志服务,但是目前系统中没有提供日志服务的模块,就可以直接从网上下载实现了日志服务API的模块,然后动态的将此模块进行安装,其他要使用日志服务的
2015-07-02 15:01:43
681
原创 RPC,RMI,CORBA,DCOM,SOAP,JMS及JMS的实现(通讯)
RMI 和 RPC均可以均提供远程方法访问的基础通信和参数引用要求的串行化机制,RPC和RMI之间的一个重要差别是RPC用快速而不够可靠的UDP协议,RMI用低速而可靠的TCP/IP协议。另外 RMI 调用远程对象方法,允许方法返回 Java 对象以及基本数据类型。而 RPC 不支持对象的概念,传送到 RPC 服务的消息由外部数据表示 (External Data Representati
2015-06-23 10:23:24
1027
转载 Maven命令记录
mvn help:effective-pom 执行这个命令会输出一些maven默认pom的配置以及一些用户自己定义的设置effective表示有效的,或者说是mave真正运行根据的POM一个插件可以有多个目标:例如Compiler插件中的compile目标,或者是Surefire插件中的test目标目标中可以定义一组配置参数,例如compile允许设置JDK版本或者选择是否用编
2015-02-02 15:31:21
674
翻译 Mysql 存储程序
存储程序包括:存储函数,存储过程,触发器,事件存储程序可以使用局部变量,条件语句,循环和嵌套语句块等多种语法构造,符合语句使用begin开头,end结尾符合语句块里的语句必须以分号(;)彼此隔开,由于mysql程序默认使用(";")来充当语句分隔符,所以需要使用delimiter $ 暂时将分隔符设置成$符,等结束后再修改回来,例如:delimiter $ create pro
2014-12-15 17:43:24
494
翻译 Mysql 基础知识
create temporary haha 将创建一个临时的数据表,当与服务器的连接断开时自动消失每个客户只能看到它自己创建的数据表,所以不同的客户可以各自创建一个名字相同的TEMPORARY数据表而不会发生冲突当含有名字相同的数据表和临时数据表时,原来的数据表会被临时数据表覆盖,暂时隐藏起来了,删除临时表时,原来的表就会出现了mysql从其他数据表或查询结果创建数据表,提供了
2014-12-15 14:55:55
574
翻译 Mysql 存储引擎类型
select engine from information_schema.engines; 查看所有的存储引擎select engine from information_schema.engines where transactions = 'YES' 查询支持事务的存储引擎对于存储引擎而言,格式文件是与特定数据表相关联的唯一文件,其他存储引擎会把数据表的内容保存到硬盘上的其他
2014-12-15 12:20:23
676
原创 SVN使用
创建tagssvn copy https://192.168.1.112:8443/svn/TAIHAI/trunk https://192.168.1.112:8443/svn/TAIHAI/tags/release-1.0 -m "release-1.0"创建branchessvn copy https://192.168.1.112:8443/svn/TAIHAI/trunk
2014-04-07 11:42:21
898
原创 Java对象的序列化和反序列化
// 对象的序列化和反序列化// 对象的序列化是指把对象写到一个输出流中,对象的反序列化是指从一个输入流中读取一个对象,java语言要求实现Serializable接口的类才能被序列或反序列// JDK类库中如String,包装类,Date类都实现了这个接口// 执行步骤:// 1 创建一个对象的输出流,他可以包装一个其他类型的输出流,例如文件输出流,2 通过对象输出流的write
2014-04-07 00:22:20
635
原创 Java字符编码转换与文件加锁
// 字符编码转换// ByteBuffer中存放了表示Unicode字符编码的字节,那么asCharBuffer()方法会返回包含正确字符的CharBuffer,否则,asCharBuffer()方法返回的CharBuffer// 会包含乱码,此时应该利用Charset类来进行Unicode字符编码与其他类型字符编码的转换// 缓冲区视图// ByteBuffer类提供了
2014-04-07 00:19:33
874
原创 Java 新I/O类库
// 新I/O类库// 新的I/O类库,他们位于java.nio包中,其目的在于提高I/O操作的效率,nio是new io的缩写,包中引入4个关键的数据类型// Buffer:缓冲区,临时存放输入或输出数据// Charset:具有把Unicode字符编码转换为其他字符编码,以及把其他字符编码转换为Unicode字符编码的功能// Channel:数据传输通道,能够把Buffer中
2014-04-07 00:17:28
689
原创 Java标准I/O的概念
// 当程序读写文件时,在读写完毕后,就会及时关闭输入流和输出流,这些输入流和输出流对象的// 生命周期是短暂的,不会存在于程序运行的整个生命周期中,对于某些应用程序,需要在程序运行// 的整个生命周期中,从同一个数据源读入数据,或向同一个数据汇输出数据,最常见的就是一些日志// 信息,以便用户能跟踪程序的运行状态// 在JDK的java.lang.System类中,提供了三个静态
2014-04-07 00:15:50
659
原创 Java Reader/Write的概述
// Reader/Write概述:// inputStream和OutputStream类处理的是字节流,也就是数据最小单元是一个字节,它包括8个二进制位,// 很多时候都要在文件中存放采用特定字符编码的字符,为了便于读取采用各种字符编码的字符,java.io包中提供// 了Reader/Writer类,他们分别表示字符输入流和字符输出流// 在处理字符流时,最重要的问题是进行字
2014-04-07 00:13:52
1007
原创 Java I/O流的认识
// java I/O系统// 程序主要是操作数据,在运行时,这些数据都必须位于内存中,并且属于特定的类型,程序才能操纵他们,// 介绍如何从数据源中读取数据以供程序处理,以及如何把程序处理后的数据写到数据目的地中,数据目的地也称为数据汇// 在java中,把一组有序的数据序列称为流,根据操作的类型,可以把流分为输入流和输出流两种// 数据源包括文件,内存,键盘,数据汇包括文件,内
2014-04-07 00:11:56
700
原创 Java线程ThreadLocal
// ThreadLocal类:这个类可用来存放线程的局部变量,每个线程都有单独的局部变量,彼此之间不会共享// 这个类包括三个方法:get() 返回当前线程的局部变量, initialValue() 返回当前线程的局部变量的初始值// set(T value)设置当前线程的局部变量// initialValue方法是一个延迟调用方法,当线程第一次调用ThreadLocal对象的get
2014-04-07 00:09:43
647
原创 Java线程组与线程未捕获的异常
// 以编程的方式控制线程,在实际编程中,一般是在受控制的线程中定义一个标志变量,其他线程通过改变标志变量的值,来控制线程的暂停// 恢复运行及自然终止,以下Test15类就是一个可以被控制的线程,状态包括 SUSP 暂停, STOP 终止,RUN 运行// Test15类继承于ControlledThread类,因此Test15类是受控制的线程,在Test15类的run方法的while循
2014-04-07 00:07:41
909
原创 线程的中断阻塞与控制
// 中断阻塞// 当线程Test14处于阻塞状态时,如果定时器线程调用Test14线程的interrupt()方法,那么线程Test14会收到一个InterruptedException,并退出阻塞状态,开始进行异常处理// 线程控制// 当线程执行完run方法后,自动终止运行,Thread类中也提供了一些控制线程的方法,start启动,suspend使线程暂停,但不释放对象
2014-04-07 00:05:32
931
原创 Java线程通信
// 线程通信// 不同的线程执行不同的任务,如果这些任务有某种联系,线程之间必须能够通信,协调完成工作,例如生产者和消费者共同操作堆栈// 当堆栈为空时,消费者无法取出产品,应该通知生产者向堆栈中加入商品,当堆栈已满时,生产者无法继续加入产品,应该先通知消费者从堆栈中取出商品// Object类中提供了两个用于线程通信的方法:// wait()执行时释放对象的锁,java虚拟机把
2014-04-07 00:04:14
645
原创 Java线程死锁的概念
//死锁的概念:当一个线程等待由另一个线程持有的锁,而后者正在等待已被第一个线程持有的锁时,就会发生死锁,java虚拟机不监测也不试图避免这种情况,因此保证不会发生死锁就成了程序员的责任//从以下这个例子中之所以导致死锁,是由于两个线程都要访问counter1和counter2这个两个public class Test12 extends Thread{ private Counter co
2014-04-07 00:03:04
807
原创 Java线程同步于并发
// 线程同步的特征// 1,如果一个同步代码块和非同步代码块同时操作共享资源,仍然会造成对共享资源的竞争,因为一个线程执行一个对象的同步代码块时,其他线程仍然可以执行对象的非同步代码块// 所谓线程之前的保持同步,是指不同的线程在执行同一个对象的同步代码块时,因为要获得这个对象的锁而相互牵制// 2.每个对象都有唯一的同步锁// 3.在静态方法前面也可以使用synchronize
2014-04-07 00:01:40
586
原创 Java基础的线程概念
// 每次执行JDK的java.exe程序,就启动了一个独立的java虚拟机进程,该进程的任务是解析并执行java程序代码// 线程是指进程中的一个执行流程,一个进程可以有多个线程,分别执行不同的任务,当一个进程中的多个线程同时运行时,称为并发运行// 许多服务器程序,如数据库服务器和Web服务器,都支持并发运行,这些服务器能同时响应来自不同客户的请求。// 进程需要操作系统为其分配独
2014-04-07 00:00:21
510
原创 Java集合的概念
// java集合,在数组中只能存放相同类型的数据,数组一旦创建,其长度不能被改变,为了使程序能方便的存储和操纵// 数目不固定的一组数据,jdk类库提供了java集合,集合类位于java.util包中,// 集合中不能存放基本类型数据,而只能存放对象的引用,// Set:不按特定方式排序,并且没有重复对象,他的有些实现类能对集合中的对象按特定方式排序// List:集合中的对象按
2014-04-06 23:56:59
896
原创 Java数组的概念
// 数组是一组数据的集合,数组也是java对象,数组中的元素可以是任意类型(包括基本类型和引用类型),// 数组声明时要指定长度,// new语句执行以下步骤,在堆区中为数组分配内存空间,例如创建一个包含100个元素的int数组,每个元素// 都是int类型,占用4个字节,因此整个数组对象在内存中占用400个字节,为数组中的每个元素赋予其数据// 类型的默认值,int是0,boo
2014-04-06 23:55:28
1127
原创 Java内部类的概念
// 外部类只能处于public和默认访问级别,而成员内部类可以处于public,protected,private和默认这四种访问级别,// 访问内部类的格式 Outer.InnerTool tool = new Outer().new InnerTool();而在外部类中可以直接使用InnerTool,private InnerTool tool = new InnerTool();/
2014-04-06 23:53:45
413
原创 Java对象的生命周期
// 在堆区中的对象一个个被陆续的创建,又一个个被销毁,在对象生命周期的开始阶段,需要为对象分配内存// 并且初始化他的实例变量,当程序不再使用某个对象时,他就会结束生命周期,他的内存可以被Java虚拟机的垃圾回收器回收// 创建对象的方式,new,运用反射Class类或者Constructor类的newInstance(),调用对象的clone方法,运用反序列化手段,调用ObjectIn
2014-04-06 23:52:19
631
原创 Java类的生命周期
// 类的生命周期从类被加载,链接,初始化开始,到类被卸载,类的二进制数据位于方法区内,在堆区内还会有一个相应的描述这个类的Class对象// 当java命令运行一个java程序时,就启动一个java虚拟机进程,java虚拟机从启动到终止的过程,称为java虚拟机的生命周期,// 以下情况会使java虚拟机结束生命周期:程序正常结束,程序出现异常,执行了system.exit()方法,操作
2014-04-06 23:50:53
533
原创 Java变量
//十进制,二进制,八进制,十六进制//012 八进制 = 0 * 8二次方 + 1* 8一次方 + 2 * 8零次方 (10)//0x12 十六进制 = 1 * 16一次方 + 2 * 16零次方 (18)//0XF1 十六进制 = 15 * 16一次方 + 1 * 16零次方 (241)//计算机的内存只能存储二进制数据
2014-04-06 23:48:27
520
原创 Java继承的概念
//继承//sub类是base类的子类,当sub类和base类位于同一个包中,sub类继承base类中public,protected//和默认访问级别的成员变量和成员方法,当sub类和base类位于不同的包中,sub类继承base类中public和//protected访问级别的成员变量和成员方法,//public protected 默认 private//protect
2014-04-06 23:46:38
1222
原创 Java接口
// 接口中的成员变量默认都是public,static,final类型的,必须被显示初始化,成员方法都是public,static类型的// 接口中不能定义实例变量,非抽象实例方法和静态方法,接口中不能有构造方法,不能被实例化。// 一个接口不能实现另一个接口,但可以继承多个其他接口,// 不能创建接口的实例,但是允许创建接口类型的引用变量,该变量引用实现了这个接口的类的实例//
2014-04-06 23:45:18
446
原创 抽象类
// 抽象类可以没有抽象方法,但是包含了抽象方法的类必须被定义为抽象类,如果子类没有实现// 父类中的所有方法,那么子类也必须定义为抽象类,否则编译出错,没有抽象构造方法,也没有// 抽象静态方法,抽象类中可以有非抽象的构造方法,不能使用final,例如水果就是抽象类,苹果,香蕉就是实现类// final不能被继承,没有子类,不能被子类覆盖,表示常量,只能被赋一次值,private、类
2014-04-06 23:43:49
488
原创 Java 异常
// 异常机制,通过把各种不同类型的异常情况进行分类,把异常情况表示成异常类,可以充分发挥类的可扩展性和可重用性// 并且将异常流程的代码和正常流程的代码分离,提高程序的可读性,灵活的处理异常,如果当前有能力处理异常,就捕获// 否则只需要抛出异常,由方法调用者来处理它// java虚拟机的方法调用栈,每个线程都有一个独立的方法调用栈,对于java应用程序的主线程,堆栈底部是程序的入口
2014-04-06 23:41:54
506
转载 Spring 事务
本地事务:针对某个独立的事物资源(例如JDBC)全局事务:由容器进行管理,可以贯穿多个事物资源,大多是基于JTA完成事务的是否只读以及事务的隔离级别,Spring在TransactionDefinition接口中封装了所有这些设定,此接口为Spring事务支持的核心接口,PlatformTransactionManager实现提供了某个特定平台的事务管理支持,如JTA和JDBC,get
2014-03-17 01:02:40
579
原创 Spring 个人理解
Spring的IoC能够被分解为两种子类型,分别为依赖查找和依赖注入依赖注入分为:构造器依赖注入和Setting依赖注入Spring中当你需要访问对象的集合,可以使用在Bean中注入一个对象的集合,可以选择,,,只允许传入String的值Spring的实例化模式分为:单列模式和非单利模式,单利模式中的所有Bean默认都是被创建为单例实例,而当要满足每个依赖和每次调用getBean()而
2014-03-17 00:01:37
742
转载 Spring ActiveMQ
JMS即Java消息服务,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。体系架构:JMS提供者(中间件(即JMS接口的实现)),JMS客户(生产或消费基于消息的JAVA的应用程序或对象)JMS生产者(创建并发送消息的JMS客户)JMS消费者(接收消息的JMS客户)JMS消息(传递的数据对象)JMS队列(存放消息的容器)对象模型:连接工厂(Connecti
2014-03-16 01:08:27
989
eclipse Maven extra subeclipse_10插件
2015-02-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人