- 浏览: 82861 次
- 性别:
- 来自: 西安
最新评论
文章列表
java 基础之接口与抽象类的区别
- 博客分类:
- Java基础
共同点:都是抽象类型
不同点:
1. 继承角度一个具体类只能继承一个抽象类,但一个具体类可以实现多个接口。(java多继承)
2. 抽象类与抽象方法含抽象方法的类必须被声明为抽象类,但抽象类不一定必须有抽象方法。抽象类的抽象方法必须被子类实现。子类可以有选择地重写需要的非抽象方法,但是接口的实现类必须实现接口的所有方法。另外Java抽象类可以提供某些方法的部分实现,而Java接口不可以。
3. 成员变量接口必须是公开的(public)的,不能由私有(private)的方法或变量;接口中的变量必须是publi
Java基础之静态方法和实例化方法的区别
- 博客分类:
- Java基础
来自:http://idai.blogbus.com/logs/7078424.html
总结:大家对这个问题都有一个共识:那就是实例化方法更多被使用和稳妥,静态方法少使用。
有时候我们对静态方法和实例化方法会有一些误解。
1、大家都以为“ 静态方法常驻内存,实例方法不是,所以静态方法效率高但占内存。”
事实上,他们都是一样的,在加载时机和占用内存上,静态方法和实例方法是一样的,在类型第一次被使用时加载。调用的速度基本上没有差别。
2、大家都以为“ 静态方法在堆上分配内存,实例方法在堆栈上”
来自:http://www.cnblogs.com/shiyangxt/articles/1305506.html
cookie 和session 的区别详解
这些都是基础知识,不过有必要做深入了解。先简单介绍一下。
二者的定义:
当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择,
都纪录下来。当下次你再光临同一个网站,WEB 服务器会先看看有没有它上次留下的 Cookie 资料,有的话,就会依据 Cookie
里的内容来判断使用者,送出特定的网页内容给你。 Cookie 的使用很普遍,许多有提供个人化服 ...
HTTP之(一)协议原理
- 博客分类:
- HTTP
来自:http://www.cnblogs.com/li0803/archive/2008/11/03/1324746.html
引言
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于199
Java NIO类库Selector机制解析(上)
赵锟 陈皓
http://blog.csdn.net/haoel
Java NIO类库Selector机制解析(下)
赵锟 陈皓
http://blog.csdn.net/haoel
java并发编程实践笔记
来自:http://kenwublog.com/java-concurrency-in-practise-note
1, 保证线程安全的三种方法 :a, 不要跨线程访问共享变量b, 使共享变量是 final类型的c, 将共享变量的操作加上同步
2, 一开始就将类设计成线程安全的 , 比在后期重新修复它 ,更容易 .
3, 编写多线程程序 , 首先保证它是正确的 , 其次再考虑性能 .
4, 无状态或只读对象永远是线程安全的 .
5, 不要将一个共享变量裸露在多线程环境下 (无同步或不可变性保护 )
6, 多线程环境下的延迟加载需要同步的保护 , 因 ...
性能测试之(二)压力测试方案
- 博客分类:
- 性能测试
目的:
1、在一定配置的机器及网络环境下,单个服务器所能达到的最大TPS;
2、在服务器达到最大TPS时,客户端的并发用户数;
3、在服务器达到最大TPS时,服务器线程池大小的配置情况;
4、在服务器达到最大TPS时,服 ...
来自:http://agapple.iteye.com/blog/859052
最近研究了下google protobuf协议,顺便对比了一下json,xml,java序列化相关的数据对比,从几个纬度进行对比。
别人的相关测试数据: http://code.google.com/p/thrift-protobuf-compare/wiki/Benchmarking
测试纬度
序列化时间
反序列化时间
bytes大小
测试代码
准备protobuf文件
Message.proto文件代码
来自:http://blog.csdn.net/newpiaoyun/article/details/2907731
Java中采用了强制异常捕捉机制,这样一方面提高了程序的可靠性,不过有时候也带来一些麻烦。比如: int i= Integer.parseInt("33");这个我知道它不可能会抛出异常,但是不捕捉异常的话就过不了编译这关,当然这个代码没有意义的。
Java中所有异常或者错误都继承Throwable,我们把它分为三类吧:1.Error:所有都继承自Error,表示致命的错误,比如内存不够,字节码不合法等。2.Exception:这个属于应用程序级 ...
来自:http://blog.csdn.net/henry_yqh/article/details/8531917
1、java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。
Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set
2、java.util.Collections 是一个包装类。 ...
性能测试之(一)负载压力测试
- 博客分类:
- 性能测试
来自:http://www.baike.com/wiki/%E8%B4%9F%E8%BD%BD%E5%8E%8B%E5%8A%9B%E6%B5%8B%E8%AF%95
负载压力测试
开放分类:软件测试
负载压力测试是在一定约束条件下测试系统所能承受的并发用户量、运行时间、数据量,以确定系统所能 ...
JVM之(四)Java 6 参数选项大全
- 博客分类:
- JVM
来自: http://kenwublog.com/docs/java6-jvm-options-chinese-edition.htm!
本文是基于最新的SUN官方文档Java SE 6 Hotspot VM Options 编写的译文。主要介绍JVM中的非稳态选项及其使用说明。
为了让读者明白每个选项的含义,作者在原文基础上补充了大量的资料。希望这份文档,对正在研究JVM参数的朋友有帮助!
另外,考虑到本文档是初稿,如有描述错误,敬请指正。
JVM之(三)对象申请分配策略
- 博客分类:
- JVM
来自:http://longdick.iteye.com/blog/468368
对象的内存分配,往大方向上讲,就是在堆上分配(但是可能经过JIT编译器后被扯散为标量类型并间接地在栈上分配),对象主要分配在新生代的Eden区上,如果启动了本地线程分配缓冲,将按线程优先在线程私有的分配缓存区(TLAB-Thread Local Allocation Buffer)。少数情况下也可能直接分配在老年代中,分配的规则并不是百分百之固定的,其细节取决于当前使用的是哪一种垃圾收集器组合,还有虚拟机中与内存相关的参数的设置。
对象优先在Eden分配
大多数情况下, ...
JVM之(二)内存模式
- 博客分类:
- JVM
来自:http://www.chinasb.org/archives/2011/09/3775.shtml
一.JVM 体系结构:
JVM内存结构
上图展示了JVM 体系结构!下面我们分别说下他们的作用:
方法区
一个JVM只有一个方法区,是所有线程共享的存放Class的线性二进制流类信息,该 ...