自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

三也_攻城狮

Code the Craft,Craft the Code

  • 博客(30)
  • 资源 (9)
  • 收藏
  • 关注

原创 String,无所不在的数据类型

String对象是JAVA语言中重要的数据类型,但是不是基本数据类型,属于引用数据类型任何一Project中,无疑字符串的操作是最多的了String的内部结构:char数组,offset偏移量,count长度public final class String implements java.io.Serializable, Comparable, CharSequence

2012-11-28 11:49:59 790

原创 转:如何将oracle彻底卸载干净

关闭所有oracle的服务和程序选择开始| 程序|oracle Installation Products命令,运行Universal Installer,弹出欢迎对话框单机 卸载产品 按钮,弹出Inventory对话框选中Inventroy对话框中的所有节点,点击删除,确认即可选 择 开始|运行 输入regedit并按ENTER键,选择HKEY_LOCAL_MACHINE\SOFTWARE\OR

2012-11-28 09:57:17 870

原创 缓冲Buffer,缓存Cache,池Pool

缓冲缓冲可以理解为漏斗一样,是为了解决上下层的性能差异而出现的,缓冲可以有效的减少上层组件对下层组件的等待时间在JDK中,IO使用缓冲是最多的主要就这四类,那么建议以后所有IO操作都是用这四个类来操作import java.io.*;public class Demo { static int len = 100000; static String

2012-11-28 09:35:18 1129

原创 Observer -- 观察者模式

package observer;public interface Subject { void attach(Observer observer); void detach(Observer observer); void inform(); }package observer;public interface Observer { void u

2012-11-27 16:57:13 887

原创 Amdahl(阿姆达尔)定律

Amdahl是计算机科学中的一个非常重要的定律,定义了串行系统并行化后加速比的计算公式和理论上限。加速比=优化前系统耗时/优化后系统耗时加速比越大,表明性能优化的越明显Amdahl给出了加速比与系统并行度和CPU数量的关系加速比=Speedup系统内必须串行化的程序比重FCPU个数NSpeedup根据此公式,当CPU数量趋于无

2012-11-27 14:48:07 2572

原创 java.util.concurrent解读,自定义线程工厂,线程池

自定义线程工厂package thread;import java.util.concurrent.ThreadFactory;import java.util.concurrent.atomic.AtomicInteger;public class MyThreadFactory implements ThreadFactory { private final Thread

2012-11-27 14:25:55 1708

原创 Oracle查询表空间的使用情况的SQL语句,很实用

SELECT a.a1 TableSpace_Name, c.c2 Type_, c.c3 LocalAdmin, b.b2 / 1024 / 1024 TS_Size, (b.b2 - a.a2) / 1024 / 1024 Used_Size, SUBSTR ( (b.b2 - a.a2) / b.b

2012-11-23 16:20:36 879

原创 JAVA-JVM垃圾回收算法简介

1、引用计数法顾名思义,引用计数法就是对堆中的所有对象的引用进行计数,当这个计数为0时,表明该对象已经不被引用了,那么垃圾回收器则对其进行回收,每个对象都配备一个整型的计数器,负责记录该对象的引用次数,只要有任何一个对象引用了A对象,则A对象的计数器+1,当引用失效时,引用计数器-1,为0回收。但是这种情况,不能回收循环引用的情况,比如A对象引用了B对象,B对象引用了A对象,且堆中没有其它

2012-11-23 07:07:35 936

原创 JAVA中JVM的GC日志解析

0.335: [GC [PSYoungGen: 2213K->736K(18368K)] 2213K->736K(60224K), 0.0014123 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 0.337: [Full GC [PSYoungGen: 736K->0K(18368K)] [PSOldGen: 0K->674K(28992K

2012-11-19 17:02:59 1460

原创 用一个无出口的递归函数测测你的JVM的Stack深度

private int count = 1; public void fun() { count++; fun(); }@Test public void test() { try { fun(); } catch (Throwable e) { System.out.println(count); e.printStackTrace();

2012-11-19 15:17:01 1152

原创 转载:Java高级-线程同步lock与unlock使用

一、Lock与Synchronized区别Java中可以使用Lock和Synchronized的可以实现对某个共享资源的同步,同时也可以实现对某些过程的原子性操作。Lock可以使用Condition进行线程之间的调度,Synchronized则使用Object对象本身的notify, wait, notityAll调度机制,这两种调度机制有什么异同呢?Condition是J

2012-11-19 14:44:38 1063

原创 转载:Java高级-线程同步机制实现

前言我们可以在计算机上运行各种计算机软件程序。每一个运行的程序可能包括多个独立运行的线程(Thread)。 线程(Thread)是一份独立运行的程序,有自己专用的运行栈。线程有可能和其他线程共享一些资源,比如,内存,文件,数据库等。 当多个线程同时读写同一份共享资源的时候,可能会引起冲突。这时候,我们需要引入线程“同步”机制,即各位线程之间要有个先来后到,不能一窝蜂挤上去抢作一团。 同步这

2012-11-19 14:37:20 893

原创 不变模式,并行设计模式

所谓不变模式:一个对象,一旦被创建了,那么它的内部状态将永远不会发生改变,没有一个线程可以修改其内部状态和数据,而且其内部状态也绝对不会自行发生改变。所以呢,对于不变对象,我们的多线程操作也就不需要进行同步控制了。不变模式和只读模式的区别:只读模式,是对象本身不能被其它线程修改操作,但是对象的自身状态却可以自行修改,比如对象的存活时间。那么,如何才能做到让一个对象是不变

2012-11-14 14:54:52 890

原创 Master-Worker模式,并行设计模式,分配,执行

Master相当于总经理,他接到任务后,将任务进行划分,然后分配给下属,就是workers,让下属的所有workers并发的去执行子任务,异步的,互不影响,完成后,提交给经理。

2012-11-14 14:33:11 1415

原创 Future模式,并发程序的设计模式

先举个简单的例子当你在网上购物时,如果付款成功了,你是否立即拿到了你买到的商品?当然不是,当你付款成功时,你得到的仅仅是一个,订单提交成功的提示而已,其它的什么都没了,从这一刻开始,你是否会一直呆在家里,什么都不做,直到你的商品送到你手中呢?当然也不是,当你订单提交成功后,你会去做你该做的,当你的商品送到时,你只需签收一下即可,从订单提交到商品送到之间,你不会因为等待商品送到而耽误你的

2012-11-14 10:50:12 1831

原创 Spring加载一些配置文件中不存在的bean,如DB2,SYBASE,Derby,H2等等,Error while extracting database product name

仔细看一下日志的输出[] INFO [Timer-0] Loading XML bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml][] DEBUG [Timer-0] Using JAXP provider [com.sun.org.apache.

2012-11-14 09:36:40 10559 4

原创 获取某一路径下指定后缀名的文件

package file;import java.io.File;import java.io.FilenameFilter;import java.util.regex.Pattern;class DirFilter implements FilenameFilter {//文件过滤器 private Pattern p; public DirFilter(String rege

2012-11-13 10:56:23 1238

原创 Spring和Ibatis整合的项目,详细篇

用到的配置文件,基本如下:SqlMapConfig.xml,Bean.xmlSpring.xmlweb.xml以上为所使用的xml文件,当然还可以在xml里载入外部的properties文件了既然和Spring整合了,Ibatis的SqlMapConfig.xml文件中仅有的内容就是加载Bean.xml了,所有的关于数据库的东西全部交给Spring.xml了 <be

2012-11-13 08:54:47 897

原创 再论JAVA中的核心数据——Map&Set

Map,顾名思义,是一种映射的机制在JAVA中,常用的有Hashtable,HashMap,LinkedHashMap,TreeMapHashtable的大部分方法都做了同步,是线程安全的,HashMap是非线程安全的;而且Hashtable不允许key/value为Null,而HashMap可以1、HashMapHashMap底层的数据结构还是数组,内存地址就是数组的下标,Has

2012-11-12 14:08:23 718

原创 再论JAVA中核心数据结构——List

在前面一篇文章中,我们已经谈过了关于List的相关内容下面我们再一次讨论下List我们来主要看看最常用的3种List实现——ArrayList,Vecotr,LinkedListArrayList和Vector都是数组实现的,内部几乎采用了相同的算法,唯一区别是ArrayList没有对任何一个方法做线程同步,也就是没有使用synchronized关键字,而Vecotr是采用线程

2012-11-12 09:50:20 636

原创 SqlMapConfig.xml中JDBC事务管理SIMPLE dataSource的相关属性配置

<!DOCTYPE sqlMapConfigPUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN""http://www.ibatis.com/dtd/sql-map-config-2.dtd"><settings cacheModelsEnabled="true" enhancementEnabled="true"lazyLoadingE

2012-11-12 09:24:10 1394

原创 JAVA,IO性能优化——缓冲区

File file = new File(new File("").getAbsoluteFile()+File.separator+"demo.txt"); Writer writer = new FileWriter(file); long begin = System.currentTimeMillis(); for(int i=0;i<1000000;i++) {

2012-11-09 14:17:48 1844

原创 SPRING中BEAN注入成功,可是启动WEB服务器,调用方法时,BEAN全是空,NullpointerException

首先给大家展示一下问题:http://blog.csdn.net/chiweitree/article/details/8162274项目是SPRING和IBATIS整合的,项目的目的是当TOMCAT服务器启动时,就去调用SERVLET里面的INIT()方法,而这个INIT()方法里面调用我自己写方法,这个自定义方法所在的类就是靠SPRING来注入的,实例化的。

2012-11-09 12:18:35 4876

原创 JAVA中String的纵向分析深入

String s = "123"; s+="abc"; System.out.println(s);看以上代码学JAVA的都知道String是不可变的,一旦初始化了,就不可以变化了,可变的应该是StringBuffer类型那么以上代码怎么解释呢?DEBUG你会发现第一句和第二句的s不是同一个s,这样的话,就可以解释了虽然s变了,但是前后已

2012-11-02 14:45:54 973

原创 享元模式(FlyWeight)个人认为是局部单例模式的意思

核心思想:如果在一个系统中存在多个相同的对象,那么只需共享一份对象的拷贝即可,不必每次都新建一个对象。比如说图书馆,学生可以自行查询图书馆的图书信息,假设现在是分院系使用,每个院系可以自行查询本院系的一些图书比如有计算机学院,信息学院,两个学院,每个学院都有1000人,那么共2000人,每个院系的1000人去查询本院系的图书时,我们是否需要给1000个人每个人都去创建一个数据库的查

2012-11-02 14:01:35 1067

原创 代理模式Proxy(动态代理)在程序运行时,运用反射机制动态创建而成

使用JDK动态代理生成代理对象,只能代理实现了接口的类public class JDKProxy implements InvocationHandler { @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { // TODO Auto-g

2012-11-02 10:28:32 1696

原创 windows下如何修改oracle的默认监听端口号port

首先我们要知道,在oracle中,什么文件里面有关于端口号的信息,路径如下:X:\oracle_home\product\11.2.0\dbhome_2\NETWORK\ADMIN到这个路径下我们可以发现有*.ora文件,那么其中listener.ora和tnsnames.ora这两个文件,就是我们这次需要改动的文件先来看listener.ora原内容# lis

2012-11-02 09:20:22 6325 1

原创 代理模式Proxy(静态代理)在程序运行前,代理类的.class文件就已经存在了

我们在设计系统时,往往启动一个系统,发现非常慢,好一段时间,整个系统才启动完毕,这个过程中其实有很多都是在加载组件,也就是在加载你写的类其实呢,我们并不需要在启动时,就加载这么多的类及其方法,比如数据库的查询,我们大可以不加载它,而是等到我们真正调用数据库查询时才去加载它这其实就是延迟加载的思想:如果当前并没有使用这个组件,那么我们就不去加载这个组件,等到真正使用的时候,再

2012-11-01 16:48:43 1640 2

原创 单例设计模式Singleton

单例设计模式是设计模式中最为普通的模式之一是一种对象创建模式,确保系统中一个类只产生一个对象实例,那么这样有什么好处呢?1、对于频繁使用的对象,可以省略创建对象所花费的时间,使用之前创建的且唯一存在的对象2、由于只创建一次,所以new操作会大大减少,那么对系统内存的使用频率会大大降低,这会减轻GC压力,缩短GC停顿时间我们来想想如何才能实现单例呢,从单例的概念中来看,单例模

2012-11-01 15:25:35 973

原创 JAVA中ArrayList和LinkedList的区别

在JAVA中实现List接口常用的两个继承类是·ArrayList·LinkedListArrayList底层的实现是通过数组实现的,所以该对象操作,查询会非常快,O(1)的时间内就可以,因为通过下标可以直接定位数据;但是插入删除就会比较费时了,因为插入需要将插入位置后的元素整体挨个的往后移动一个位置,同样,删除需要将删除位置后的元素挨个往前移动一个位置,这就会占用很多时间,是O(

2012-11-01 14:17:03 732

Flume ng share

flume ng的分享资料. 启动到源码解析,到实例分享

2015-07-01

protobuf 2.5.0

protobuf 2.5.0 hadoop 2.6源码编译需要

2015-02-04

findbugs 3.0.0 tar gz

findbugs 3.0.0 tar gz

2015-02-04

Flume集群环境搭建,flume监控

flume集群环境搭建,详细讲解,图文并茂,包括flume信息监控和众多文章链接

2015-01-13

JAVA SWING台球计费系统

JAVA SWING实现的台球计费系统,解压后,双击bat文件即可运行,前提,您的本机已经安装“好”JDK

2012-11-01

自制台球计费系统,JAVA SWING实现

自制台球计费系统,JAVA SWING实现 免费供大家下载试用

2012-10-29

ibatisjavadoc

ibatisjavadoc

2012-09-19

DOM JAVA

DOM4J文档

2012-09-19

正则表达式手册

正则表达式开发手册,阅读手册

2012-09-19

空空如也

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

TA关注的人

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