上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 33 下一页
摘要: 我们第一次写的单例模式是下面这样的: 假设这样的场景:两个线程并发调用Singleton.getInstance(),假设线程一先判断instance是否为null,即代码中line A进入到line B的位置。刚刚判断完毕后,JVM将CPU资源切换给线程二,由于线程一还没执行line B,所以in 阅读全文
posted @ 2018-10-25 10:39 阿玛尼迪迪 阅读(15815) 评论(10) 推荐(11)
摘要: 一、什么时候会出现线程安全问题? 在单线程中不会出现线程安全问题,而在多线程编程中,有可能会出现同时访问同一个资源的情况,这种资源可以是各种类型的资源:一个变量、一个对象、一个文件、一个数据库表等,而当多个线程同时访问同一个资源的时候,就会存在一个问题: 由于每个线程执行的过程是不可控的,所以很可能 阅读全文
posted @ 2018-10-24 16:43 阿玛尼迪迪 阅读(213) 评论(0) 推荐(0)
摘要: 一、线程的状态 在正式学习Thread类中的具体方法之前,我们先来了解一下线程有哪些状态,这个将会有助于对Thread类中的方法的理解。 线程从创建到最终的消亡,要经历若干个状态。一般来说,线程包括以下这几个状态:创建(new)、就绪(runnable)、运行(running)、阻塞(blocked 阅读全文
posted @ 2018-10-24 09:59 阿玛尼迪迪 阅读(192) 评论(0) 推荐(0)
摘要: 一、Java中关于应用程序和进程相关的概念 在Java中,一个应用程序对应着一个JVM实例(也有地方称为JVM进程),一般来说名字默认是java.exe或者javaw.exe(windows下可以通过任务管理器查看)。Java采用的是单线程编程模型,即在我们自己的程序中如果没有主动创建线程的话,只会 阅读全文
posted @ 2018-10-23 11:03 阿玛尼迪迪 阅读(160) 评论(0) 推荐(0)
摘要: 1、什么是序列化和反序列化 Serialization(序列化)是一种将对象以一连串的字节描述的过程;deserialization(反序列化)是一种将这些字节重建成一个对象的过程。 2、什么情况下需要序列化 a)当你想把内存中的对象保存到一个文件 中或者数据库中的时候; b)当你想用套接字sock 阅读全文
posted @ 2018-10-23 09:54 阿玛尼迪迪 阅读(611) 评论(0) 推荐(0)
摘要: 对于面向对象编程来说,抽象是它的一大特征。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有很多相似的地方,又有很多不同的地方。 一、抽象类 在了解抽象类之前,先来了解一下抽象方法。抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。其声明格式为: 抽象方法必须用abstr 阅读全文
posted @ 2018-10-22 12:48 阿玛尼迪迪 阅读(216) 评论(0) 推荐(0)
摘要: 概述 队列(queue)是一种只允许在一端进行插入操作,而在另一端进行删除操作的线性表。 队列是一种先进先出(First In First Out)的线性表,简称FIFO。 允许插入的一端称为队尾,允许删除的一端称为队头。 因为已经限制了插入和删除的位置,所以对于队列,插入和删除时只需要考虑满和空两 阅读全文
posted @ 2018-06-02 16:11 阿玛尼迪迪 阅读(7603) 评论(0) 推荐(0)
摘要: 首先要说明的一个问题是:如何安全地将this指针返回给调用者。一般来说,我们不能直接将this指针返回。想象这样的情况,该函数将this指针返回到外部某个变量保存,然后这个对象自身已经析构了,但外部变量并不知道,此时如果外部变量使用这个指针,就会使得程序崩溃。 使用智能指针shared_ptr看起来 阅读全文
posted @ 2018-06-01 22:44 阿玛尼迪迪 阅读(6627) 评论(5) 推荐(2)
摘要: 别跟我说 return *this 表示返回当前对象,return this 表示返回当前对象的地址(指向当前对象的指针)。 正确答案为:return *this 返回的是当前对象的克隆或者本身(若返回类型为A,则是克隆,若返回类型为A&,则是本身)。 return this 返回当前对象的地址(指 阅读全文
posted @ 2018-06-01 20:33 阿玛尼迪迪 阅读(700) 评论(0) 推荐(0)
摘要: 当定义一个类时,我们显式地或隐式地指定了此类型的对象在拷贝、赋值和销毁时做什么。一个类通过定义三种特殊的成员函数来控制这些操作:拷贝构造函数、拷贝赋值运算符和析构函数。 拷贝构造函数定义了当用同类型的另一个对象初始化新对象时做什么,拷贝赋值运算符定义了将一个对象赋予同类型的另一个对象时做什么,析构函 阅读全文
posted @ 2018-05-30 14:13 阿玛尼迪迪 阅读(2862) 评论(0) 推荐(2)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 33 下一页