- 博客(24)
- 资源 (26)
- 收藏
- 关注
原创 java多态
注意java静态方法没有多态。。//详解java多态public class test1 {public static void main(String[] args) {Parent parent = new Parent();Parent child = new Child(); //child变量只能调用Parent里的方法,如果在子类中也实现了相同的方
2013-05-19 17:39:01 719
原创 java FileDescriptor 的sync
通过一个程序我们就可以看出sync的一个特点:如果正通过应用程序(例如,通过一个 BufferedOutputStream 对象)实现内存缓冲,那么必须在数据受 sync 影响之前将这些缓冲区刷新,并转到 FileDescriptor 中(例如,通过调用 OutputStream.flush)(从api中摘下来的)。FileOutputStream fo=new FileOutputS
2013-05-16 19:01:19 3309
转载 Java中finalize()
这是我看过最好的关于java中finalize的文章,转一个Java中finalize()垃圾回收器要回收对象的时候,首先要调用这个类的finalize方法(你可以 写程序验证这个结论),一般的纯Java编写的Class不需要重新覆盖这个方法,因为Object已经实现了一个默认的,除非我们要实现特殊的功能(这 里面涉及到很多东西,比如对象空间树等内容)。 不过用Java以外的代码编
2013-05-16 17:44:08 783
转载 serialVersionUID的作用
serialVersionUID 用来表明类的不同版本间的兼容性 简单来说,Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。
2013-05-16 13:14:19 643
原创 java内存泄漏测试
昨天看书的时候看到了一个关于java的内存泄漏的问题,所以就自己照着写了这个程序,拿出来分享,反正我自己觉得有问题,还望各位大神来帮我看看 ,如果不是内存泄漏。给我一个例子。。谢谢。。public class SelfStack {private int size=0;private Object[] elements;public Object[] getEleme
2013-05-16 12:51:49 790
原创 valueOf
public static final Boolean TRUE = new Boolean(true); public static final Boolean FALSE = new Boolean(false); public static Boolean valueOf(boolean b) { return (b ? TRUE : FA
2013-05-15 23:24:15 1040
原创 clone浅拷贝
clone浅拷贝:public class Student implements Cloneable{ int id; String name; Pro pro; public int getId() { return id; } public void setId(int id) { this.id = id; } public String
2013-05-15 23:12:34 720
原创 string 简单的分析
生活随笔:String s="ab"; s=="ab"为true解释:==是表示两个变量所引用的对象是不是一样的,而s所引用的对象就是"ab",所以"ab"==s是true常量字符串在内存中只有一个,如果在内存中没有,就直接创建这个对象,如果有就直接拿来用就OK了。
2013-05-15 17:54:19 743
原创 non-virtual和virtual
non-virtual函数都是静态绑定的,而virtual函数都是动态绑定的,而且这个动态绑定的前提是通过指针或引用来调用。
2013-05-14 19:53:33 943
转载 深入浅出C++虚函数表
C++ 虚函数表解析 陈皓http://blog.csdn.net/haoel 前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,R
2013-05-14 11:39:51 717
转载 深入浅出的理解框架(Struts2、Hibernate、Spring)与 MVC 设计模式
现在许许多多的初学者和程序员,都在趋之若鹜地学习Web开发的宝典级框架:Struts2,Spring,Hibernate。似乎这些框架成为了一个人是否精通Java,是否会写J2EE程序的唯一事实标准和找工作的必备基础。 然而,如果在面试的时候问这些程序员,你们为什么要学习这些框架?这些框架的本质到底是什么?似乎很少很少有人能够给我非常满意的答复。因为他们都在为了学习而学习,为了工作而学习,
2013-05-14 11:32:13 968
转载 struts2和mvc的关系
首先要说的是,mvc是一种架构模式,它是一种思想,而不是一种框架,但是struts2是一种框架,它运用的是mvc思想。。以下是struts2和mvc的一一对应关系:核心控制器:FilterDispatcher FilterDispatcher是Struts2框架的核心控制器,该控制器作为一个Filter运行在Web应用中,它负责拦截所有用户请求,当用户请求到达时,该Filter
2013-05-14 11:28:11 4534
转载 C++执行过程
C++语言从编写-->执行整个过程。一般来讲,开发一个C++程序需要经过以下几步1. 编写代码,2. 编译器进行编译,compile3. 连接器进行连接。4. 执行。由于C++语言支持多文件工程。需要经过编译和连接的过程。打个比方,你要建造一架飞机,需要发动机,机翼,机身,尾翼,起落架。你可以把这几个部分交给专门的厂商去制作,这就是编译过程。这么多零件交给你,你只需要组
2013-05-13 23:11:25 1258
转载 IO流之字节流与字节缓冲流
java笔记七:IO流之字节流与字节缓冲流 在I/O类库中,java.io.InputStream和java.io.OutputStream分别表示字节输入流和字节输出流,它们都是抽象类,不能实例化,数据流中的最小单位是字节,所以叫做字节流。 一、InputStream中的读取数据的方法如下: 1 、int read() 功能:读取一个字节的数据,并且返回读
2013-05-13 11:44:44 1113
转载 多线程下的单例设计模式
我亦无他,唯手熟尔!多线程下的单例设计模式众所周知,单例模式中,构造方法是私有化的,通过静态方法内部调用构造函数返回该类的实例对象。常见的代码如下所示:?12345678910public class Singleton { privatestatic Single
2013-05-13 11:13:46 770
转载 模板多态
在C++中我们一般采用虚函数的方式实现函数的多态性,实现运行期绑定。实际上我们也可以用模板来实现函数的多态性,这在ATL中大量使用的,请看如下的代码:templateclass Array...{public: bool operatorconst Array& rhs) ...{return static_cast(this)->Com
2013-05-13 10:46:54 2147
转载 如何在派生类中的隐藏基类的虚拟重载函数?
我创建了一个类,基类中有虚拟重载函数。我想在派生类中改写基类中的虚拟重载函数。代码如下: 01.#include 02. 03.classB {04.private:05. intnNumber;06.public:07. virtualvoidtest() { 08. cout "B::test()\n"
2013-05-11 23:14:13 1084
原创 inline 函数的深入解析
inline函数只是对编译器的一种建议,编译器可以选择忽略这个建议,比如你将一个长达1000行的函数指定为inline,编译器就hi忽略这个inline,将这个函数还原成普通函数。(百度百科中看的)。。先贴几个inline函数的例子吧:(百度百科中看的)1.在类中定义这种函数:class ClassName{.........INT GetWidth(){return
2013-05-11 22:26:52 1272
原创 function template函数模版
1.模板函数为不同的模板实参定义了一个函数家族。它的表示看起来和普通的函数很相似,唯一的区别是有些函数元素是未确定的:这些参数将在使用的时候被参数化。template inline T const& max(T const& a,T const& b){ return a<b ? b : a; }上述例子中的参数类型没有确定,用模板参数T来代替。 2.函数模板的实例化
2013-05-11 22:02:11 930
原创 指针函数与函数指针的区别
一、在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针 类型标识符 *函数名(参数表) int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变
2013-05-11 21:24:24 619
原创 C++ static
1.生命周期问题:static变量在固定的内存区域进行存储分配,变量生命期一直到程序运行结束。而普通变量:局部变量和全局变量的存储分配在不同的地方进行,局部变量是在堆栈里面存储分配,变量生命周期随着函数的退出而结束;全局变量是在静态存储区存储分配(跟static变量一样)。2.可见性问题:一个类里面的static变量在类外是不可见的;函数内部的static变量在函数外是不可见的;函数外的sta
2013-05-11 21:19:23 790
原创 java安全机制的理解
Java的安全模式包括3层:Java语言本身,java编译器和run-time系统,SecurityManager类。在语言层,java以不同的方式来实现它的安全性,什么原始类型的大小,对象的指针和伪访问将不再呗允许,数组辩解检查等待。在java编译器和run-time系统安全层提供了必要的功能,以确保java系统不会因无效代码而崩溃,它提供了一个简单的由一下三个子层所组成的安全的运行环境
2013-05-11 16:09:43 4350
转载 java安全机制
1,java.policy设置文件访问权限:java.io.FilePermissioneg: grant codeBase "http://www.pepress.com.cn/-" { permission java.io.FilePermission "c:/temp/-","read"; }设置系统属性访问权限:java.util
2013-05-11 15:58:37 1852
转载 RPC和Socket通信的区别
今天看书的时候看到这两种远程通信的方法,在google了一下。一下是从别的地方粘的。。今天和师兄一起开会,听他们讲到了RPC 和 Socket通信的东西. 很感兴趣,回来自己google了一下. 又学到新东西了,呵呵.RPC(Remote Procedure Call,远程过程调用)是建立在Socket之上的,出于一种类比的愿望,在一台机器上运行的主程序,可以调用远程另一套机器上的子程序,
2013-05-11 15:32:27 7998
深入理解计算机系统
2013-09-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人