2013年12月9日
摘要:
Logstash: 1.插件式组织方式,易于扩展和控制 2.数据源多样不仅限于日志文件,数据处理操作更丰富,可自定义(过滤,匹配过滤,转变,解析......) 3.可同时监控多个数据源(input插件多样),同时也可将处理过的数据同时有不同多种输出(如stdout到控制台,同时存入elasticse
阅读全文
posted @ 2013-12-09 14:23
duanxz
阅读(1006)
推荐(0)
摘要:
多个变量修改的原子性 JUC虽然提供了AtomicInteger、AtomicBoolean这些基本类型的原子类,但是有些场景并不是仅仅修改一个变量那么简单,有可能某个需要修改几个变量,但是需要这个操作具有原子性,比如说我给你举例的这个例子: (1)假如有三个变量,value1、value2、val
阅读全文
posted @ 2013-12-09 13:58
duanxz
阅读(519)
推荐(1)
摘要:
java.util.concurrent.atomic.AtomicXXXArray包括三种具体类:AtomicIntegerArray,AtomicLongArray,AtomicReferenceArray。 具体的介绍,都已经在开头讲过了,AtomicIntegerArray有以下特点: 可以
阅读全文
posted @ 2013-12-09 11:30
duanxz
阅读(668)
推荐(0)
2013年12月7日
摘要:
一、AtomicInteger简介 AtomicInteger, AtomicLong和AtomicBoolean这3个基本类型的原子类的原理和用法相似。以AtomicInteger对基本类型的原子类进行介绍。 二、AtomicInteger源码分析 2.1、类图结构 2.2、数据结构 public
阅读全文
posted @ 2013-12-07 22:58
duanxz
阅读(634)
推荐(0)
摘要:
JUC包下提供的原子类底层的实现原理基本都是差不多的,都是基于volatile和CAS操作来保证线程安全的。jdk1.8的原子类如下: 根据修改的数据类型,可以将JUC包中的原子操作类可以分为4类。 1. 基本类型: AtomicInteger, AtomicLong, AtomicBoolean
阅读全文
posted @ 2013-12-07 22:56
duanxz
阅读(265)
推荐(0)
2013年12月6日
摘要:
问题描述: 下图中JProfiler可看出logback的日志输出占了64%的cpu消耗 优化方案: 1. 这部分写日志的代码写了一些报文数据,确实是比较大的字符串。先禁掉控制台输出,生产环境也不需要控制台输出,写日志文件即可。 配置中去掉控制台输出 <rootlevel="INFO"> <!--<
阅读全文
posted @ 2013-12-06 17:24
duanxz
阅读(3596)
推荐(0)
摘要:
在java6以后我们不但接触到了Lock相关的锁,也接触到了很多更加乐观的原子修改操作,也就是在修改时我们只需要保证它的那个瞬间是安全的即可,经过相应的包装后可以再处理对象的并发修改,以及并发中的ABA问题,本文讲述Atomic系列的类的实现以及使用方法,其中包含: 基本类:AtomicIntege
阅读全文
posted @ 2013-12-06 13:49
duanxz
阅读(991)
推荐(0)
摘要:
概要-线程池类图 线程池的类图如下: 1. Executor 它是"执行者"接口,它是来执行任务的。准确的说,Executor提供了execute()接口来执行已提交的 Runnable 任务的对象。Executor存在的目的是提供一种将"任务提交"与"任务如何运行"分离开来的机制。它只包含一个函数
阅读全文
posted @ 2013-12-06 13:37
duanxz
阅读(1139)
推荐(0)
2013年12月5日
摘要:
概要 线程池的实现类是ThreadPoolExecutor类。本章,我们通过分析ThreadPoolExecutor类,来了解线程池的原理。 ThreadPoolExecutor数据结构 ThreadPoolExecutor的数据结构如下图所示: 各个数据在ThreadPoolExecutor.ja
阅读全文
posted @ 2013-12-05 09:49
duanxz
阅读(1217)
推荐(0)
2013年12月4日
摘要:
(一) ThreadFactory 线程池中的ThreadFactory是一个线程工厂,线程池创建线程都是通过线程工厂对象(threadFactory)来完成的。 类图如下: 上面所说的threadFactory对象,是通过 Executors.defaultThreadFactory()返回的。E
阅读全文
posted @ 2013-12-04 21:01
duanxz
阅读(3269)
推荐(0)
摘要:
温故而知心。 Spring IoC概述 常说spring的控制反转(依赖反转),看看维基百科的解释: 如果合作对象的引用或依赖关系的管理要由具体对象来完成,会导致代码的高度耦合和可测试性降低,这对复杂的面向对象系统的设计使非常不利的。 在面向对象系统中,对象封装了数据和对数据的处理,对象的依赖关系常
阅读全文
posted @ 2013-12-04 09:33
duanxz
阅读(10925)
推荐(0)
摘要:
一、Spring事务的基本原理 Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。对于纯JDBC操作数据库,想要用到事务,可以按照以下步骤进行: 获取连接 Connection con = DriverManager.getConnection
阅读全文
posted @ 2013-12-04 09:15
duanxz
阅读(1351)
推荐(0)
2013年12月3日
摘要:
Spring2.0框架的事务处理有两大类: JdbcTemplate操作采用的是JDBC默认的AutoCommit模式,也就是说我们还无法保证数据操作的原子性(要么全部生效,要么全部无效),如: 由于采用了AutoCommit模式,第一个update操作完成之后被自动提交,数据库中”erica”对应
阅读全文
posted @ 2013-12-03 16:55
duanxz
阅读(4419)
推荐(0)
摘要:
一、编程规约 【推荐】接口类中的方法和属性不要加任何修饰符号(public 也不要加),保持代码的简洁性,并加上有效的 Javadoc 注释。尽量不要在接口里定义变量,如果一定要定义变量,肯定是与接口方法相关,并且是整个应用的基础常量。 说明:Java的interface中,接口是比抽象类更高一层的
阅读全文
posted @ 2013-12-03 15:34
duanxz
阅读(513)
推荐(0)
2013年11月28日
摘要:
描述了对 JSON 数据中使用的 null 和空数组及对象的处理。JSON 数据具有 null 和空数组及对象的概念。此部分说明其中每个概念如何映射到 null 和未设置的数据对象概念。Null 值JSON 具有特殊值 null,可以对任何数据类型设置该值,包括数组、对象、数字和布尔类型。34 { Schema types35 "id":null, (integer)36 "firstName": null, (string)37 "address": null, (Address complex type with maxOccur
阅读全文
posted @ 2013-11-28 15:48
duanxz
阅读(14588)
推荐(0)
2013年11月27日
摘要:
Ctrl+1快速修复(最经典的快捷键,就不用多说了)Ctrl+D:删除当前行Ctrl+Alt+↓复制当前行到下一行(复制增加)Ctrl+Alt+↑复制当前行到上一行(复制增加)Alt+↓当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑当前行和上面一行交互位置(同上)Alt+←前一个编辑的页面Alt+→下一个编辑的页面(当然是针对上面那条来说了)Alt+Enter显示当前选择资源(工程,or文件or文件)的属性Shift+Enter在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)Shift+Ctrl+Enter在当前行插入空行(原理同上条)Ctrl
阅读全文
posted @ 2013-11-27 11:20
duanxz
阅读(319)
推荐(0)
2013年11月25日
摘要:
@Retention定义了该Annotation被保留的时间长短有3中RetentionPolicy.SOURCE源文件有效,RetentionPolicy.CLASS:在class文件中有效,RetentionPolicy.RUNTIME:在运行时有效。 要想注解解析工具或编译器对其进行解析,就需
阅读全文
posted @ 2013-11-25 13:30
duanxz
阅读(1317)
推荐(0)
摘要:
@Inherited annotation类型是被标注过的class的子类所继承。类并不从它所实现的接口继承annotation,方法并不从它所重载的方法继承annotation。 子类中能否继承注解如下:(类和接口情况) 上面的结果同样适用子类的子类。 示例1:自定义注解标记在类上的继承情况 1、
阅读全文
posted @ 2013-11-25 12:51
duanxz
阅读(5465)
推荐(1)
2013年11月24日
摘要:
首先看InnoDB的缓存和文件的关系图如下: InnoDB事务日志功能介绍 InnoDB使用日志来减少提交事务时的开销。因为日志中已经记录了事务,就无须在每个事务提交时把缓冲池的脏块刷新(flush)到磁盘中。事务修改的数据和索引通常会映射到表空间的随机位置,所以刷新这些变更到磁盘需要很多随机IO。
阅读全文
posted @ 2013-11-24 20:14
duanxz
阅读(2262)
推荐(0)
2013年11月23日
摘要:
事物管理对于企业应用来说是至关重要的,好使出现异常情况,它也可以保证数据的一致性。 spring支持编程式事务管理和声明式事务管理两种方式。 编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,sprin
阅读全文
posted @ 2013-11-23 20:30
duanxz
阅读(3725)
推荐(1)
2013年11月21日
摘要:
public static void main(String[] args) {//创建数组的第一种方法int[] arr=new int[6];int intValue=arr[5];//System.out.println(intValue);//创建数组的第二种方法int[] x={1,2,3
阅读全文
posted @ 2013-11-21 16:18
duanxz
阅读(1751)
推荐(0)
摘要:
1、WAS:配置 WAS,打开调试服务进到 WAS(或ND) 的管理控制台,在服务器->应用程序服务器中,点击要启用调试服务的应用服务器,然后进入调试服务,勾选上启动(指定当服务器启动时服务器是否将尝试启动指定的服务。)。JVM 调试端口默认为 7777,注意该端口不能有冲突(如有多个应服务器要启用调试服务时,需要指定别的端口)。其他选项默认,或根据实际来设定。 确定、保存后重启应用服务器,WAS Base 版需要回到操作系统下重启,如果是在 ND 管理控制台下,可直接在页面中重启应用服务器。2、Weblogic:打开user_projects\domains\base_domain\b
阅读全文
posted @ 2013-11-21 16:17
duanxz
阅读(369)
推荐(0)
2013年11月18日
摘要:
系统信息arch 显示机器的处理器架构(1)uname -m 显示机器的处理器架构(2)uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)hdparm -i /dev/hda 罗列一个磁盘的架构特性hdparm -tT /dev/sd...
阅读全文
posted @ 2013-11-18 13:23
duanxz
阅读(264)
推荐(1)
2013年11月15日
摘要:
Java里有个很重要的特色是Exception ,也就是说允许程序产生例外状况。而在学Java 的时候,我们也只知道Exception 的写法,却未必真能了解不同种类的Exception 的区别。 首先,您应该知道的是Java 提供了两种Exception 的模式,一种是执行的时候所产生的Excep
阅读全文
posted @ 2013-11-15 20:19
duanxz
阅读(1309)
推荐(0)
摘要:
对象的序列化(object serialization)API,它提供了一个框架,用来将对象编码成一个字节流,以及从字节流编码中重新构建对象。一、谨慎地实现Serializable 要想使一个类的实例可被序列化,非常简单,只要它的声明中加入"implementsSerializable"即可。正因为太容易了,所以普遍存在这样一种误解:程序员只需要做极少的工作就可以支持序列化了。 因为实现Serializable而付出的最大代价是,一旦一个类被发布,则”改变这个类的实现“的灵活性将大大降低。当一个类的序列化形式Serialized form变成了它的导出的API的一部分。一旦
阅读全文
posted @ 2013-11-15 19:17
duanxz
阅读(540)
推荐(0)