摘要: git merge的基本用法为把一个分支或或某个commit的修改合并现在的分支上。我们可以运行git merge -h和git merge --help查看其命令,后者会直接转到一个网页(git的帮助文档),更详细。usage:gitmerge[options] [...] or:git merg... 阅读全文
posted @ 2015-09-18 17:28 沧海一滴 阅读(748) 评论(0) 推荐(0) 编辑
摘要: 在程序中,存放指定的数据最常用的数据结构有两种:数组和链表。 数组和链表的区别: 1、数组是将元素在内存中连续存放。 链表中的元素在内存中不是顺序存储的,而是通过存在元素中的指针联系到一起。 2、数组必须事先定义固定的长度,不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数 阅读全文
posted @ 2015-09-18 17:27 沧海一滴 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 在写代码的时候,发现Method可以调用子类的对象,但子类即使是改写了的Method,方法名一样,去调用父类的对象也会报错,虽然这是很符合多态的现象,也符合java的动态绑定规范,但还是想弄懂java是如何实现的,就学习了下Method的源代码。Method的invoke方法1.先检查Acces... 阅读全文
posted @ 2015-09-18 17:26 沧海一滴 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 之前使用cglib的时候不需要将classLoader作为参数传入,但动态代理却要,带着这个疑惑进入这个方法: Proxy.newProxyInstance(classLoader,interfaces,InvocationHandler) 要在classLoader里去找interfaces... 阅读全文
posted @ 2015-09-18 17:25 沧海一滴 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 先简单介绍下java的classloader,网上资料很多,就说点关键的。 Java 中的类加载器大致可以分成两类,一类是系统提供的,另外一类则是由 Java 应用开发人员编写的。系统提供的类加载器主要有下面三个: 引导类加载器(bootstrap class loader):它用来加载 J... 阅读全文
posted @ 2015-09-18 17:25 沧海一滴 阅读(2843) 评论(0) 推荐(0) 编辑
摘要: 这篇文章,主要解决一下疑惑: 1. ThreadLocal.ThreadLocalMap中提到的弱引用,弱引用究竟会不会被回收? 2. 弱引用什么情况下回收? 3. JAVA的ThreadLocal和在什么情况下会内存泄露? 带着这些疑问,自己模拟了一下ThreadLocal.ThreadLocal 阅读全文
posted @ 2015-09-18 17:24 沧海一滴 阅读(3202) 评论(0) 推荐(0) 编辑
摘要: 一个一直运行正常的应用突然无法运行了。在类库被更新之后,返回下面的错误。Exceptioninthread"main"java.lang.NoSuchMethodError:com.nhn.user.UserAdmin.addUser(Ljava/lang/String;)V atcom.nhn.s... 阅读全文
posted @ 2015-09-18 17:21 沧海一滴 阅读(372) 评论(0) 推荐(0) 编辑
摘要: ThreadLocal的目的就是为每一个使用ThreadLocal的线程都提供一个值,让该值和使用它的线程绑定,当然每一个线程都可以独立地改变它绑定的值。如果需要隔离多个线程之间的共享冲突,可以使用ThreadLocal,这将极大地简化你的程序.关于的ThreadLocal更多内容,请参考《Thre... 阅读全文
posted @ 2015-09-18 17:17 沧海一滴 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 小结ThreadLocal是解决线程安全问题一个很好的思路,它通过为每个线程提供一个独立的变量副本解决了变量并发访问的冲突问题。在很多情况下,ThreadLocal比直接使用synchronized同步机制解决线程安全问题更简单,更方便,且结果程序拥有更高的并发性。http://sunnylocus 阅读全文
posted @ 2015-09-18 17:16 沧海一滴 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 站在使用者的角度,future是一个经常在多线程环境下使用的Runnable,使用它的好处有两个:1. 线程执行结果带有返回值2. 提供了一个线程超时的功能,超过超时时间抛出异常后返回。 那,怎么实现future这种超时控制呢?来看看代码: FutureTask的实现只是依赖了一个内部类Sync实现 阅读全文
posted @ 2015-09-18 17:12 沧海一滴 阅读(2240) 评论(0) 推荐(0) 编辑
摘要: 诊断并解决ORA-04031 错误 当我们在共享池中试图分配大片的连续内存失败的时候,Oracle首先清除池中当前没使用的所有对象,使空闲内存块合并。如果仍然没有足够大单个的大块内存满足请求,就会产生ORA-04031 错误。 当这个错误出现的时候你得到的错误解释信息类似如下: 04031... 阅读全文
posted @ 2015-09-18 16:54 沧海一滴 阅读(5330) 评论(0) 推荐(0) 编辑
摘要: 1. 测试环境OS: RHEL5U5(32bit)DB: Oracle 11.2.0.3.0(32bit)2. 异常原因.2.1 oracle 11g默认sga_target为0,如下图, Oracle 10g开始,引入SGA_TARGET初始化参数, 让oracle自动管理SGA中(Buffer... 阅读全文
posted @ 2015-09-18 16:49 沧海一滴 阅读(5700) 评论(0) 推荐(0) 编辑