面向对象
Paul-LangJun
凡事预则立,不预则废。
展开
-
浅析synchronized关键字
1、synchronized关键字的作用域有二种: 1)是某个对象实例内,synchronized aMethod(){}可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有多个synchronized方法,只要一个线程访问了其中的一个synchronized方法,其它线程不能同时访问这个对象中任何一个synchronized方法)。这时,不同的对象实例的synchr原创 2013-03-31 21:49:52 · 760 阅读 · 0 评论 -
C++对象模型之内存布局(3)
转载地址:https://mp.weixin.qq.com/s/dTyAC2IQ50c9nmQGOC0c2A 经过两天的摸索,今天终于搞清楚C++对象模型.前两篇C++对象模型之内存布局(2)C++对象模型之内存布局(1)(请戳我)已经讲解了单继承,多重继承和多继承的对象模型.今天讲解菱形继承,虽然过程艰难,但是收获丰富. 简单虚拟继承对象 首先编写如下的测试程序:...转载 2018-08-02 08:54:56 · 182 阅读 · 0 评论 -
C++对象模型之内存布局(2)
转载地址:https://mp.weixin.qq.com/s/UQhTAXIHffN3Now4_utb6g 在C++对象模型之内存布局(1)一文中分别讲了无多态和有多态时单继承的对象内存布局,这篇文章将深入讲解多重继承和多继承. 多重继承 理论讲解:多重继承,顾名思义,就是继承关系大于2,即至少有父类,子类,孙子类三代关系,先定义以下三个类:类B公有继承A...转载 2018-08-02 08:53:38 · 143 阅读 · 0 评论 -
C++对象模型之内存布局(1)
转载地址: https://mp.weixin.qq.com/s/LMJ4Hsa1hmued2egk9uWMQ 如果想学习在linux或者在linux平台下开发,学习C/或C++是非常好的选择.俗话说,术业有专攻,学一门技术,就尽量学得深,也可以作为行走江湖,混口饭吃的一项本领.对于C,当初我是看了C与指针这门书,这本书讲解了很多我没有了解过的知识点,特别是指针讲解的很到位.最后还设计...转载 2018-08-02 08:45:53 · 188 阅读 · 0 评论 -
Java通用程序设计与集合方法总结
一. equals() VS “==” equals() 通常用来比较两个引用所指向的对象的内容是否相等;而 “==”通常比较的事两个引用所指向的对象是否为同一个对象,即是否引用了同一个内存地址;那么不难推断出,如果两个对象相等,那么它们一定相互 equals(),而两个对象相互equals()却不一定相等。 二. 在类内部的方法可以访问对象的私有实例变量原创 2013-03-16 23:20:25 · 2298 阅读 · 0 评论 -
异常笔记
一:异常指的是在Java程序运行期出现的错误 二:JAVAC.AAA.JAVA 命令行参数运行JAVA程序格式(AAA为类名)JAVA.AAA 三:JAVA异常是一种用来处理程序中出现的错误而提供的一种机制 四:异常生成时会出现异常事件,生成一个异常对象,封装了异常类的信息,抛给JAVA运行时系统,这个过程称之为异常跑出 五:当JAVA运行时系统介绍到异常原创 2013-04-26 22:04:18 · 737 阅读 · 0 评论 -
没有main方法的java程序
现在才知道, 并不是每一个java程序都需要main方法。原创 2014-07-26 21:53:13 · 1496 阅读 · 6 评论 -
java基础之高级应用
在程序中涉及方法重写的地方使用@override Annotation(只作用于方法)注释可以很好的避免由于重写方法名字过长而造成的程序后期出现的难以调试的错误,特别是程序没有报任何的错误时,而程序的运行结果并没有和我们预期的结果一样时,可以考虑使用该方法。 通过Annotation可以简化事件编程,例如可以通过注释的方式为控件绑定事件监听器。 通常情况下,对象的引用若要访问类的方原创 2013-07-24 15:36:19 · 895 阅读 · 0 评论 -
巧用修饰符
1.final可以修饰函数的参数,以防止函数内部随意篡改不允许修改的参数。2.在函数内部,把函数的局部变量声明为final类型,可以检查在函数内部它们是否的确只被赋值一次。原创 2013-06-30 22:36:38 · 630 阅读 · 0 评论 -
浅谈java中的单态设计模式
设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。设计模式就想是经典的棋谱,不同的棋局,我们用不同的棋谱,免得我们自己再去思考和摸索。失败为成功之母,但是要以大量的时间和精力为代价,如果有成功经验可借鉴,没有人再愿意去甘冒失败的风险,我们没有理由不去了解和掌握设计模式,这也是Java开发者提高自身素质的一个很好选择。使用设计模式也许会制约你去创新,不过真正有原创 2013-03-13 22:39:50 · 988 阅读 · 0 评论 -
浅析java的类加载器
类加载器的委托机制•当java虚拟机需要加载一个类时,到底派哪个类加载器去加载哪?–首先当前线程的类加载器去加载线程中的第一个类–如果类A引用了类B,java虚拟机将引用加载类A的类装载器来加载类B–还可以直接调用ClassLoader.loadClass()方法来指定某个类加载器去加载某个类 •每个类加载器加载类时,右先委托给其上级类加载器–当所有祖原创 2013-07-29 08:41:33 · 637 阅读 · 0 评论 -
浅谈java多线程之创建线程方式
多线程在软件开发中用得很多,现在几乎所有的软件都用到了多线程,如:QQ、迅雷、eclipe集成开发环境等。什么是多线程?当一个程序启动后就是一个进程,可以理解进程就是CPU的一个执行流程,而多线程就是在一个进程内执行多个线程,相当于在一个执行流程内开辟多个执行序列,举个例子:一个服务员每天要做端菜、洗碗、拖地等事情,每件事情可以理解为一个执行流程,让他开始洗碗那么他必须要把碗洗完了原创 2013-07-26 09:40:17 · 566 阅读 · 0 评论 -
程序设计一览
面向接口编程是java里面大家公认的第一原则优先使用组合而非类继承 Ø Java程序设计基本原则 ·开闭原则 简单点说就是对新增开放,对修改封闭。而且应尽量做到不用修改模块的源代码,就能更改模块的更能。 ·依赖性倒置原则 这个原则就是依赖抽象而不是依赖具体的实现原创 2013-07-25 13:09:36 · 893 阅读 · 1 评论 -
简述多态在C++与Java中的异同
多态是面向对象的三大特性之一,它使程序可以在运行时动态的绑定要执行的方法。在Java和C++中,有动态绑定静态绑定之分,今天我们就简单聊聊两种绑定在两种语言中的异同。 先对动态绑定和静态绑定两个概念做一个简单介绍。 1、动态绑定 只有在运行时刻才能决定调用哪一个类的方法就是动态绑定。 2、静态绑定 在编译时刻就已经确定了...原创 2019-06-28 15:20:28 · 225 阅读 · 0 评论