java基础
严小超
程序猿
展开
-
java中的值传递和引用传递
值传递:方法调用时,实际参数把对应的值传递给对应的形式参数,方法执行中形式参数的值的改变不会影响到实际参数的值。比如一个方法:public static void print(int i){ System.out.println(i*2);}我调用print方法,传参数:5 : print(5);这样程序就不会改变这个值了。引用传递:原创 2013-09-02 15:16:36 · 633 阅读 · 0 评论 -
为什么要面向接口编程?有什么好处?
在网上看了一些文章,然后自己做了下整理:1、接口是提高系统之间松耦合的重要手段,接口是用来规范类的,避免类在设计上的不一致2、比如spring的注入,只需要定义一个接口作为内置属性,至于要注入什么样的实现,可以自己来决定,依赖接口类,不依赖实现类 解释:接口A,有多个实现类:A1,A2,A3,用哪种实现我可以自己决定,我也可以用A1,也可以用A2,我想更改实现类,并不需要更改接原创 2013-09-02 15:40:31 · 1356 阅读 · 0 评论 -
java中的builder模式
来自《effective+java中文版》:静态工厂和构造器有一个共同的局限性,都不能很好的扩展到大量的可选参数。如果我们有一个类,表示一个用户的个人信息,有些值是必须的,有些不是必须的。必须的参数:用户名、年龄、性别非必须的参数:身高、住址、体重public class User { private String username; private int ag原创 2013-09-02 18:05:47 · 826 阅读 · 0 评论 -
java中的静态变量和静态方法
1、java中变量分为静态变量和实例变量;带static关键字的为静态变量,不带static关键字的为实例变量2、java中方法分为静态方法和实例方法;带static关键字的为静态方法,不带static关键字的为实例方法静态变量和静态方法属于类,实例变量和实例方法属于对象。例如public class A { private int i = 0; public static原创 2013-09-02 16:23:40 · 1036 阅读 · 0 评论 -
java中hashcode()和equals()
这阵子工作有点小空,工作忙完了,顺便巩固下基础但很少有人去在意的只是。1、equals()和hashcode()方法都是从object类中继承过来,其中equals方法在object类中的定义如下:public boolean equals(Object obj) { return (this == obj); }大家知道,这个是对两个对象在内存中的地址的比较(两个引用原创 2013-09-24 17:48:37 · 603 阅读 · 0 评论 -
string里面的intern()
转自:http://blog.sina.com.cn/s/blog_69dcd5ed0101171h.html转载 2014-09-02 09:19:15 · 663 阅读 · 0 评论 -
原子性与可见性
原子性与可见性一、定义1.可见性在多核处理器中,如果多个线程对一个变量(假设)进行操作,但是这多个线程有可能被分配到多个处理器中运行,那么编译器会对代码进行优化,当线程要处理该变量时,多个处理器会将变量从主存复制一份分别存储在自己的片上存储器中,等到进行完操作后,再赋值回主存。(这样做的好处是提高了运行的速度,因为在处理过程中多个处理器减少了同主存通信的次数);同样在单核处理器转载 2014-11-21 16:38:02 · 652 阅读 · 0 评论