
Java
文章平均质量分 69
wjz748305545
这个作者很懒,什么都没留下…
展开
-
JAVA 单例模式与多线程
转自:http://blog.sina.com.cn/s/blog_56fd58ab0100qdrn.html单例模式单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、内部类单例、登记式单例几种。单例模式有一下特点:1、单例类只能有一个实例。2、单例类必须自己自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例。懒汉模式不是线程安转载 2014-02-25 18:46:54 · 645 阅读 · 0 评论 -
【二叉树的后续遍历】Binary Tree Postorder Traversal
题意:二叉树的后续遍历这里先使用递归的形式实现,以后再数据结构中补上非递归实现,对边界条件的处理要想好!public ArrayList postorderTraversal(TreeNode root) { if(root == null) return new ArrayList(); ArrayList list = new ArrayList();原创 2014-03-08 18:02:43 · 707 阅读 · 0 评论 -
HashMap进行put操作时遇到的并发问题
转自:http://blog.youkuaiyun.com/jiangguilong2000/article/details/12997621今天遇到了个问题,在全局服务器重启的时候,原有的4游戏逻辑服务器会马上再注册过来,通过多线程对HashMap进行操作,结果从后续的日志发现,id=1的数据丢失了。查了一下原因,多线程环境下put还是可能会有问题 .2013-10-22 18:59转载 2014-03-15 20:02:20 · 1738 阅读 · 0 评论 -
分析多线程并发写HashMap线程被hang住的原因
转自:http://www.kafka0102.com/2010/08/286.html在blogjava上看到一文 谁能帮忙解释一下为什么这个程序会死锁?,激发了我那能害死猫的好奇,所以很费劲的琢磨了这个问题。由于涉及的内容较多,就单独发文阐述一下。文中提到的问题程序如下:public class TestLock { private final Hash转载 2014-03-15 20:14:53 · 613 阅读 · 0 评论 -
AQS框架深入分析
转自:http://blog.youkuaiyun.com/vernonzheng/article/details/8275624一、什么是同步器多线程并发的执行,之间通过某种 共享 状态来同步,只有当状态满足 xxxx 条件,才能触发线程执行 xxxx 。这个共同的语义可以称之为同步器。可以认为以上所有的锁机制都可以基于同步器定制来实现的。转载 2014-03-16 18:46:26 · 546 阅读 · 0 评论 -
Java集合之HashMap
转自http://www.cnblogs.com/xwdreamer/archive/2012/06/03/2532832.html转载 2014-04-13 20:06:09 · 614 阅读 · 2 评论 -
LRU Cache
Design and implement a data structure for Least Recently Used (LRU) cache. It should support the following operations: get and set.get(key) - Get the value (will always be positive) of the key if原创 2014-04-19 16:08:13 · 457 阅读 · 0 评论 -
【Java源码】Integer类
Java中Integer为32位,所以它的最大值最小值又如下:/** * A constant holding the minimum value an int can * have, -231. */ public static final int MIN_VALUE = 0x80000000; /** * A constant原创 2014-04-20 21:12:10 · 597 阅读 · 0 评论 -
【Java源码】String类
一、属性解读/** The value is used for character storage. */ private final char value[]; /** The offset is the first index of the storage that is used. */ private final int offset; /** Th原创 2014-04-20 20:10:30 · 664 阅读 · 0 评论 -
【Java源码】HashSet、LinkedHashSet
一、HashSet——》属性1、HashSet内部其实使用一个HashMap来存储元素private transient HashMap map;2、PRESENT对象,因为HastSet只需要保存key,而HashMap处理Key之外还有value,所以HastSet中讲一个static final对象保存在map中// Dummy value to associate wi原创 2014-04-22 09:00:19 · 478 阅读 · 0 评论 -
Java中重载和覆盖
1、重载是一个类中多个方法(同方法名,不同签名),覆盖是子类对父类方法的重写(同方法名,同签名,修饰符的限制要低于或等于父类)2、重载决策(编译时决定):编译器检查方法调用的参数类型,从上述候选方法选出唯一的那一个(其间会有隐含类型转化)。如果编译器找到多于一个或者没找到,此时编译器就会报错。试着把上例Base类的test(byte b)注释掉,这时运行结果是1 1。3、若方法类型原创 2014-03-04 22:02:08 · 624 阅读 · 0 评论 -
Evaluate Reverse Polish Notation
Evaluate the value of an arithmetic expression in Reverse Polish Notation.Valid operators are +, -, *, /. Each operand may be an integer or another expression.Some examples: ["2", "1",原创 2014-03-04 20:45:12 · 543 阅读 · 0 评论 -
泛型遇上重载
转自:http://blog.youkuaiyun.com/imzoer/article/details/8039369当泛型遇到了重载,好戏,就发生了。请看下面代码:问题:代码能正确编译吗?这个题目是一个考察泛型的题目。java里面,泛型实际上是“伪泛型”,并不像C#那样是实际上的泛型。IDE会提示我们下面的错误:Method test(List)转载 2014-03-04 09:16:41 · 811 阅读 · 0 评论 -
Spring单例Bean和线程安全
转自:http://blog.youkuaiyun.com/xiaojianpitt/article/details/6650280Spring的bean默认都是单例的,这些单例Bean在多线程程序下如何保证线程安全呢?例如对于Web应用来说,Web容器对于每个用户请求都创建一个单独的Sevlet线程来处理请求,引入Spring框架之后,每个Action都是单例的,那么对于Spring托管转载 2014-02-25 10:24:15 · 1278 阅读 · 0 评论 -
java中ThreadLocal类的使用
转自:http://justsee.iteye.com/blog/791919ThreadLocal是解决线程安全问题一个很好的思路,ThreadLocal类中有一个Map,用于存储每一个线程的变量副本,Map中元素的键为线程对象,而值对应线程的变量副本,由于Key值不可重复,每一个“线程对象”对应线程的“变量副本”,而到达了线程安全。我们知道Spring通过各种DAO转载 2014-02-23 12:15:18 · 598 阅读 · 0 评论 -
解释性语言和编译性语言
概念: 编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。 解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束! 区别: 编译型语言,执行速度快、效率高;依赖编译器、跨平台性差些。如C、C++、Delphi、Pascal,Fortran转载 2014-02-26 21:36:52 · 702 阅读 · 0 评论 -
Java中使用正则式替换换行、制表、多空格符号
public static String strTrim(String str){ //str = str.replace("\r", " ").replace("\n", " ").replace("\t", " "); //String regEx="[' ']+"; //一个或多个空格 String regEx = "\\s+|\t|\r|\n";原创 2014-02-28 14:54:11 · 1698 阅读 · 0 评论 -
初始化和配置文件解析
转自:http://www.iteye.com/topic/1121522问题 在详细介绍ibatis初始化过程之前,让我们先来思考几个问题。 1. ibatis初始化的目标是什么? 上文中提到过,ibatis初始化的核心目标是构造SqlMapClientImpl对象,主要是其内部重要属性delegate这个代理对象的初始化。delegate这个对象耦合了用户端的操作行为和执行转载 2014-02-28 18:26:49 · 1169 阅读 · 0 评论 -
动态SQL的实现原理
转自:http://learnworld.iteye.com/blog/1473491 动态SQL是ibatis框架的一个重要特性,本文将深入分析ibatis框架中动态SQL的实现原理。动态sql的使用参见官方文档:Dynamic SQL。本文使用的ibatis版本为2.3.4。 问题 在介绍动态SQL的实现原理之前,让我们先来思考几个问题。 1. 为什么需要动态SQL?转载 2014-02-28 18:24:45 · 7930 阅读 · 0 评论 -
Spring JDBC应用
老总提出新的需求,要直接用xml文件来写CRUD,所以原先的SSI中的JavaBean不能再写了,ibatis也要废除,以后spring也可能要替换掉。所以,ibatis首当其冲,我自己要解析xml文件,其实是实现一部分ibatis的功能。鉴于xml文件中直接写sql语句,所以若要利用好spring,则需要用spring JDBC来执行sql语句。因此,首先就要自己搭建一套Spring JDB原创 2014-02-28 18:39:38 · 631 阅读 · 0 评论 -
ibatis配置文件解析之总体流程
转自:http://blog.youkuaiyun.com/prince2270/article/details/5998160 配置文件解析是使用iBatis的第一步。那么,ibatis是如何实现其配置文件解析呢?本文将在较高的抽象层次上讲述ibatis配置文件解析的总体流程。 一切都从new SqlMapConfigParser().parse(reader);这条语句开始转载 2014-02-28 18:22:12 · 630 阅读 · 0 评论 -
模拟和改进ibatis中对sql语句的动态替换
由于要自己解析xml文件,就得亲自动手去动态解析其中的sql语句。原来用惯了ibatis的sql写法,以为解析这种动态sql也很easy的,but,我太年轻了。真正自己去动手写的时候才发现,要替换成一句正常的sql语句要考虑的情况很多。如:字符串替换要不要加引号,对数字的判别,若要遍历的话要怎么考虑,若要进行判断的话又要怎么解析。。。。哗啦啦的汗死了。。。。灵机一动,想到了去模仿ibati原创 2014-02-28 19:06:39 · 2093 阅读 · 0 评论 -
【Java源码】HashMap类
HashMap是Map的非同步实现,这是HashMap和Hashtable的区别原创 2014-04-21 20:11:44 · 562 阅读 · 0 评论