- 浏览: 59830 次
- 性别:
- 来自: 成都
文章列表
并发,在concurrent包还没有问世前,对于码农来说,真是个很棘手的问题,随着jdk的功能增强,这些问题都简化了不少咯,那现在看下concurrent包到底是个啥玩意吧。
有了这包,我们现在就只把执行的任务编写好,然后就把它 ...
java基础之字符串
- 博客分类:
- java se
String 这玩意,对于Javer 来说,在面试或笔试是总让你魂牵梦绕哦。什么是否相等哦,什么这个字符串的结果是多少哦,有时候很厌恶这类型的题哈,如果你现在感到厌恶,就说明你还是没有弄明白这玩意的特性以及功能了,好吧。我就来说说这玩意的特点(以面试的方式)。
先看个例子
String str1="abc";
String str2="abc";
String str3=new String("abc");
String str4=new String("abc");
1) str1 ...
本篇将介绍下ApplicationContext上下文方式的得到bean的源码
上篇用到一个列子
ApplicationContext ac=new ClassPathXmlApplicationContext("beans.xml");
就从ClassPathXmlApplicationContext入手吧
找到它的构造函数
public ClassPathXmlApplicationContext(String con ...
Spring源码分析之IOC
- 博客分类:
- java
先看两种方式在IOC容器取得bean
1 beanFactory 实现
ClassPathResource res=new ClassPathResource("beans.xml");
DefaultListableBeanFactory factory=new DefaultListableBeanFactory();
XmlBeanDefinitionReader reader=new XmlBeanDefinitionReader(factory);
reader.loadBeanDefinitions(res);
Dog d1 ...
java 获取请求ip
- 博客分类:
- java
public class IpUtil {
public static String getIpAddrByRequest(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Pr ...
extjs的一些组件
- 博客分类:
- java
<script type="text/javascript">
Ext.onReady(function(){
//定义树的跟节点
var rootNode = {
text : 'Root Node',
expanded : true,
children : [
{
text : 'Child 1',
leaf : true
},
{
text : 'Child 2',
...
[size=medium] 接触java也有一段时间了,以前选择java原因就是java很流行,好就业,那是开始学习java只是简单学习,没有更深层的理解how ,why。这也是觉得自己的java技术还是这么菜。现在开始重温下j2se方面的知识,写点笔记记录下
概念
线程,就是你写的一个简单的程序,运行的载体的就是线程,帮你完成一件事。我的简单理解就是,线程就像洗衣机一样,它的功能帮你完成洗衣服,犹豫你很懒堆了一个月的衣服,而此时要洗,肯定是一个洗衣机搞不定了哦,而你要赶时间要把这个一个衣服用最短的时间洗完,你就用多台洗衣机来洗(纯属假设,如果你家是卖洗衣机的到可试试),刚才那情 ...
读书笔记effective之对所有对象通用的方法
- 博客分类:
- java
读书笔记effective之对所有对象通用的方法
第一条 覆盖equals时遵守通用约定
覆盖equals方法似乎很简单,但是许多覆盖方式会导致错误,并且后果非常严重,如果满
足下面任何一个条件就是所期望的结果
类的每个实例本质上都是唯一的
不关心类是否提供了“逻辑相等”的测试功能
超类已经覆盖了equals,从超类继承过来的行为对于子类也是合适的
类是私有的的或是包机私有的,可以确定它的equals方法永远不会被调用
要覆盖equals 需要遵守的约定
自反性:对于任何非null的引用值x,x.equals(x)必须返回true
...
读书笔记effective java 之条目
- 博客分类:
- java
最近看了下effective java 有编程许多经验值得学习,将一些重要的条目列出来
创建和销毁对象
考虑用静态工厂方法代替构造器
遇到多个构造器参数时要考虑用构造器
用私有构造器或者枚举类型强化singleton属性
通过私有构造器强化不可实例化的能力
避免创建不必要的对象
消除过期的对象的引用
避免使用终结方法
对于所有对象都通用的方法
覆盖equals时请遵守通用的约定
覆盖equals 是总要覆盖hashCode
始终要覆盖toString
...
第五条 基本类型优先于装箱基本类型
java有一个类型系统由两部分组成,包含基本类型(如int,double,long,boolean)和引用类型(如String,List),每一个基本类型都有一个对应的引用类型,称作装箱基本类型。基本类型和装箱类型有3个区别:
1:基本类型只有值,而装箱基本类型则具有与它们的值不同的同一性。
2:基本类型只有功能完备的值,而每个装箱基本类型除了它对应基本类型的所有值功能之
外,还有个非功能值:null。
3:基本类型通常比装箱基本类型更节省时间和空间。
看下面实例
Comparator<Integer> ...
第三条 了解和使用类库
假如我们想产生位于0到某个数之间的随机整数,一般会像这样做
private static final Random rd=new Random();
static int random(int n){
return Math.abs(rd.nextInt())%n;
}
这个方法看起来不错,但 ...
effective java 之通用程序设计
- 博客分类:
- java
第一条 将局部变量的作用域最小化
将局部变量的作用域最小化,可以增强代码的可读性和可维护性,并降低出错的可能性。
要使局部变量的作用域最小化,最有力的方法就是在第一次使用它的地方声明。几乎每个局部变量的声明应该包含一个初始化表达式。如果你没有足够的信息来对一个变量进行有意义的初始化,就应该推迟这个声明,直到可以初始化为止,这个条规则有个例外的情况是try-catch语句。如果一个变量被一个方法初始化,而这个方法可能会抛出一个受检的异常(checked exception),该变量就必须在try块的内部被初始化。如果变量的值必须在try块外的被使用到,它就必须在try块的外部声明, 循环 ...