文章目录什么是this指针?什么是虚函数指针?this指针和虚函数指针的关系总结什么是this指针?this指针:this指针表示对象的地址起始内存地址。即this指针的值,指向了对象起始内存。this指针的值和类第一个成员变量的地址一样。来看一个例子:classbase{public:base(){std::cout<<"this:"<
C++ 1.2 this指针 构造函数
Yummyyyy.
C++c++开发语言
一、this指针(节省空间,时间换空间)对象可以根据属性来区分,为了降低空间复杂度,可以让同类型对象共享一份成员函数。1.编译器针对设计的类型分三步编译:(1)识别和记录类中的属性(名称、类型、访问限定)(2)识别和记录类中函数的声明例如:对于以下代码,调用函数funa()时其内部调用func(),func()在funa()后面定义,故显示无法识别func(),除非先声明voidfunc();才可
c++的this指针与常函数
zzt_is_me
c++开发语言
this指针与常函数成员函数是如何区别调用它的对象?#includeusingnamespacestd;classTest{ constintnum;public: Test(intnum):num(num){} voidshow(void) { cout,所以可以区别出每个对象的成员变量。5、由于成员函数参数列表中都隐藏着this指针,所以普通的成员函数无法作为回调函数使用。#in
static关键字作用汇总
越甲八千
【道阻且长C++】c++
1、修饰局部变量1、延长生命周期、直到函数结束;2、只初始化一次2、修饰全局变量和普通函数1、限制作用域,仅在当前原文件中可见,避免命名冲突,其他源文件不可见3、修饰类的数据成员1、内存共享,此时成员变量属于整个类,不属于具体的某个类对象,无论创建多少个类对象,在内存在仅存在一份副本4、修饰类的成员函数1、属于类,不属于类对象;没有this指针。由于没有this指针,所以他只能访问静态成员变量和其
类和对象的概述以及this指针的应用
Moving on395
c++vscode开发语言c语言this指针面向对象
定义类是一种用户自定义的复合数据类型,即包括表达属性的成员变量,也包括表达行为的成员函数类可用于表达那些不能直接与内置基本类型建立自然映射关系的逻辑抽象类是现实世界的抽象,对象是类在虚拟世界的实例类的定义访问控制限定符public---公有成员---谁都可以访问protected---保护成员---只有自己和子类可以访问private---私有成员---只有自己可以访问在C++中,类(class)
C++之封装
_Karry
C++c++
文章目录封装的意义成员变量和成员函数类的成员变量普通成员变量mutable可变成员变量static静态成员变量类的成员函数按功能来分构造函数拷贝构造函数构造函数调用规则析构函数类对象作为类成员时构造和析构顺序按特性来分inline成员函数const成员函数static成员函数类的this指针类的友元全局函数作友元类作友元成员函数作友元类的大小封装的意义将属性和行为作为一个整体,表现生活中的事物类可
【C++学习笔记】this指针
萧潇逍肖
小的知识点笔记类C++学习笔记C++C学习笔记
this指针是什么每一个类的成员函数都有一个隐藏定义的常量指针,我们把它称为this指针。this指针的类型就是成员函数所属的类的类型。每当调用成员函数时,它被初始化为被掉函数所在类的对象的地址。也就是自动地将对象的指针传给它。不同对象调用同一个成员函数时,编译器将根据成员函数的this指针所指的对象来确定应该引用哪个对象的数据成员。这段定义的意思是在成员函数内都隐含这一个指向自己类的对象的指针,
C++类和对象(上)
被二进制支配的打工人
c++开发语言
感谢观看!!!文章目录面向过程和面向对象初步认识一、类的引入二、类的定义三.类的访问限定符及封装四.类的作用域五.类的实例化六.类的对象大小的计算七.类成员函数的this指针面向过程和面向对象初步认识C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。打个比方,分别求出长方形、圆形
C++面试基础系列-this指针
WeSiGJ
C++c++面试开发语言thisthis指针
系列文章目录文章目录系列文章目录C++面试基础系列-this指针Overview1.this指针1.1.特性1.2.用法1.3.注意事项2.使用'this'指针的多态类的示例3.在C++中,指针和对象本身有什么区别?关于作者C++面试基础系列-this指针Overview1.this指针在C++中,this指针是一个特殊的指针,它在每个非静态成员函数中自动可用。this指向调用成员函数的当前对象实
C++类和对象
犯困的土子哥
c++c++
文章目录一、类的定义1、类的定义格式2、访问限定符3、类域二、实例化1、实例化概念2、对象的大小三、this指针一、类的定义1、类的定义格式calss是定义类的关键词,用法更C语言中的结构体struct关键词用法一样,区别是类可以在里面创建函数,当然在C++中也是兼容结构体的,同样也对结构体进行升级也可以包含函数了。在类里面的函数默认是被内联函数inline修饰的。C++中的类和结构体的用法相同,
c++ const & constexpr c++98 c++11 c++14
Nick_Zhang_123
c++c++
文章目录c++const和constexpr知识点总结一、const1.const修饰变量修饰普通变量(常量)修饰指针类型修饰引用类型2.const修饰函数const修饰函数参数const修饰函数返回值const修饰成员函数(this指针)3.const修饰对象4.常量数组,常量指针数组,常量引用数组二、constexpr1.constexpr特性和const之间的差异2.constexpr在c+
C/C++中使用静态函数的好处是什么
kfjh
c语言c++
使用静态函数的好处主要体现在以下几个方面:文件作用域:静态函数只在声明它的文件内可见,这有助于隐藏实现细节,提高封装性。这意味着不同的开发者在编写各自的函数时,不必担心函数名冲突的问题,因为即使函数名相同,只要它们在不同的文件中并且是静态的,就不会互相干扰。无this指针:静态函数不依赖于类的实例,因此它们不能直接访问非静态成员变量和非静态成员函数。这使得静态函数更像是一个普通的函数,只是它们被定
C++ 疑难点
A small mouse
c++c++开发语言算法
C++疑难点this指针调用成员函数时,成员函数通过一个名为this的隐式参数来访问调用它的那个对象,用请求该函数的对象地址初始化this,this的指向总是自己这个对象,所以this是一个常量指针Box*get_address()//得到this的地址{returnthis;}Box*get_address()//得到this的地址{Boxbox;this=&box;//error:lvalue
C++ Big Three
Brainer-Gao
C生万物C++经典面试杂谈C++极客
极客班干货第二周:死磕自己,成长大家。=========简单构造函数=========上周已经详细介绍了构造函数,这里只需要说明一点,就是要明确一下写作规范,书写构造函数时最好使用this指针,即:this->width=width;this->height=height;this指针明确指出了等号左边是当前类的成员,否则写成下面代码会让人混乱。width=width;height=height;
c++中的this的作用及使用方法
chen_znn
c++c++指针
在c++中,this是一个指向当前对象的指针。它是一个隐含的指针,可以在类的成员函数中使用。在类的成员函数内部使用this关键字时,它将指向调用该成员函数的对象的地址。通过this指针,可以访问对象的成员变量和成员函数。使用this的示例代码如下,classPoint{private:intx;inty;public:Point(intx,inty){this->x=x;this->y=y;}vo
【C++航海王:追寻罗杰的编程之路】类与对象你学会了吗?(上)
枫叶丹4
C++c++开发语言visualstudio后端
目录1->面向过程与面向对象的初步认识2->类的引入3->类的定义4->类的访问限定符及封装4.1->访问限定符4.2->封装5->类的作用域6->类的实例化7->类对象模型7.1->如何计算类对象的大小7.2->类对象存储方式的猜测7.3->结构体内存对齐规则8->this指针8.1->this指针的引出8.2->this指针的特性8.3->C语言和C++实现Stack的对比1->面向过程与面向
【C++之类和对象篇001】
下课后泡实验室
C++基础专栏c++类和对象面向对象类的定义类的实例化类的访问限定符this指针
C++学习笔记---004C++知识类和对象篇1、面向过程和面向对象1.1、面向过程1.2、面向对象2、类的引入3、类的定义3.1、类的两种定义方式4、类的访问限定符及封装4.1、类的访问限定符4.2、封装5、类的作用域6、类的实例化6.1、类的实例化6.2、类域受访问限定符控制6.3、类对象的存放7、类的对象模型7.1、计算类对象的大小7.2、C++结构体内存对齐规则8、this指针8.1、th
【C++】类与对象(一)
灵槐梦
C++c++开发语言学习笔记经验分享
文章目录一、类的引入结构体类名直接可以做类型结构体支持定义变量和函数二、类的定义类的两种定义方式三、类的访问限定符和封装访问限定符封装四、类的作用域五、类的实例化六、类对象模型如何计算类对象的大小三种储存方式的猜测1.对象中包含类的各个成员2.代码只保存一份,在对象中保存存放代码的地址3.只保存成员变量,成员函数存放在公共的代码段结构体内存对齐规则七、this指针this指针的引入this指针的特
【C++】日期类的实现(对于类与对象的练习)
灵槐梦
C++c++算法开发语言学习笔记经验分享
文章目录实现一个类的一般步骤构造函数流插入(>)运算符重载赋值运算符重载比较运算符重载1.小于(0||month>0||month0||day>)运算符重载为了方便进行控制台的输出和输入,我们先把流插入和流提取的运算符进行重载。因为流插入和流提取是双目运算符,且左操作数(第一个形参)是流对象,而一般情况下,在类内定义的函数形参第一位有个默认的this指针,所以我们不能直接在类内定义,而要在类外定义
c++类和对象(一)
zzyu0120
c++算法
类和对象一.类的引入二.类的定义2.1类的两种定义方法2.1.112.1.12三.类的访问限定符及封装3.1访问限定符四.类的作用域五.类的实例化六.this指针6.1this指针的引出6.2this指针的特性c++是基于面向对象的,关注的是对象一.类的引入在C语言中,结构体只能够定义变量,但是在c++中,结构体不仅可以定义变量,还可以定义函数比如:typedefintDataType;struc
C++类和对象-C++对象模型和this指针->成员变量和成员函数分开存储、this指针概念、空指针访问成员函数、const修饰成员函数
�西瓜�
c++开发语言visualstudio
#includeusingnamespacestd;//成员变量和成员函数分开储存的classPerson{public:Person(){mA=0;}//非静态成员变量占对象空间intmA;//静态成员变量不占对象空间staticintmB;//函数也不占对象空间,所有函数共享一个函数实例voidfunc(){coutmAusingnamespacestd;classPerson{public:
C++,关于对象的笔记
SuperWML
C++c++笔记
类里面的this指针,不能显示的写为实参和形参,但是可以在类里显示的使用this指针是存储在哪里的不是存储在对象里的,而是作为形参出现的,是存储在栈帧上的空指针是编译错误还是运行错误运行错误构造函数是干什么用的并不是开空间创建对象,而是初始化对象变量的构造函数的特征函数名和类名相同无返回值(不需要写void)对象实例化时编译器自动调用对应的构造函数构造函数可以重载构造函数有参数,要怎么写类名变量名
C++:this指针(二)
凤 曦
C++c++开发语言
this指针:classDate{public:voidInit(intyear,intmonth,intday){_year=year;_month=month;_day=day;}voidPrint(){coutPrintA();return0;}解答:考点在p->printA()因为成员函数不在定义的对象所开辟的空间内部,所以这个p->printA()解引用是无效的解引用是指去p指向的空间去
【黑马程序员】C++封装、对象特性、友元
double_happiness
#C++笔记c++开发语言
文章目录类和对象封装封装的意义struct和class的区别成员属性设置为私有封装练习设计立方体类点和圆的关系对象的初始化和清理构造函数和析构函数构造函数析构函数构造函数的分类及调用拷贝构造函数的调用时机构造函数调用规则深拷贝与浅拷贝浅拷贝深拷贝初始化列表类对象作为类的成员静态成员静态成员变量静态成员函数C++对象模型和this指针成员变量和成员函数分开存储this指针`this`指针具有以下特点
c++关于this指针
power 雀儿
c++专区c++开发语言
this指针是隐藏在每一个成员函数中的特殊指针,它指向的是所在成员对象的本身。this顾名思义,就是“这个”this:指针,指向当前的对象,"我",只能出现在类的成员函数中,一般不使用classA{private:inti;public:intget()//获取成员变量的值{returni;}voidset(inti)//修改成员变量的值{this->i=i;}};intmain(){Aa;a.s
【c++】c++类的大小的计算和this指针
阿福爱学习
c++java数据库
文章目录1.类的大小如何计算?2.类内部的this指针3.this指针的特性本文为作者关于c++类学习过程中的小小总结1.类的大小如何计算?c++的类由成员变量和成员函数等组成,不同于c中的结构体只有成员变量,但类大小的计算方法和结构体的计算方法是一样的,总的来说,类大小的一样是用内存对齐的方式来计算的,(内存对齐计算方法参考点击这里,别人总结的很好)类的大小计算只考虑成员变量,不考虑成员函数,因
C++——static成员
MiYa_1652
c++
【问题】:定义一个类,计算程序中创建了多少个类对象。#define_CRT_SECURE_NO_WARNINGS1#includeusingnamespacestd;//实现一个类,计算程序中创建出了多少个类对象classA{public:A(){m++;n++;}A(constA&a){m++;n++;}~A(){--n;}//静态成员函数:没有this指针staticintGetM(){ret
C++类和对象(中)
暗恋 懒羊羊
C++初阶之路c++开发语言
前言我们前面已经介绍过了C++类和对象的入门知识,例如面向过程和面向对象,类的概念以及this指针等~!本期我们再来对类和对象介绍~!本内容介绍类的6个默认成员函数构造函数析构函数拷贝构造赋值运算符重载const成员函数取地址及const取地址操作符重载类的6个默认成员函数我们如果实现一个空类即类中什么都没写,既无成员属性(成员变量)也无成员函数(成员方法)。那么该空类真的什么都没有吗?答案是:并
【C++】【类和对象】this指针
Legend_6zh
c++开发语言笔记学习
1.this指针的特性:1.1this指针的引入:classDate{public:voidInit(intyear,intmonth,intday){_year=year;_month=month;_day=day;}voidDisplay(){cout_year_month_dayPrint();return0;}正常运行因为Print()这个函数存储不在对象里,而是一块公共的空间,所以函数不
JVM StackMapTable 属性的作用及理解
lijingyao8206
jvm字节码Class文件StackMapTable
在Java 6版本之后JVM引入了栈图(Stack Map Table)概念。为了提高验证过程的效率,在字节码规范中添加了Stack Map Table属性,以下简称栈图,其方法的code属性中存储了局部变量和操作数的类型验证以及字节码的偏移量。也就是一个method需要且仅对应一个Stack Map Table。在Java 7版
回调函数调用方法
百合不是茶
java
最近在看大神写的代码时,.发现其中使用了很多的回调 ,以前只是在学习的时候经常用到 ,现在写个笔记 记录一下
代码很简单:
MainDemo :调用方法 得到方法的返回结果
[时间机器]制造时间机器需要一些材料
comsci
制造
根据我的计算和推测,要完全实现制造一台时间机器,需要某些我们这个世界不存在的物质
和材料...
甚至可以这样说,这种材料和物质,我们在反应堆中也无法获得......
 
开口埋怨不如闭口做事
邓集海
邓集海 做人 做事 工作
“开口埋怨,不如闭口做事。”不是名人名言,而是一个普通父亲对儿子的训导。但是,因为这句训导,这位普通父亲却造就了一个名人儿子。这位普通父亲造就的名人儿子,叫张明正。 张明正出身贫寒,读书时成绩差,常挨老师批评。高中毕业,张明正连普通大学的分数线都没上。高考成绩出来后,平时开口怨这怨那的张明正,不从自身找原因,而是不停地埋怨自己家庭条件不好、埋怨父母没有给他创造良好的学习环境。
jQuery插件开发全解析,类级别与对象级别开发
IT独行者
jquery开发插件 函数
jQuery插件的开发包括两种: 一种是类级别的插件开发,即给
jQuery添加新的全局函数,相当于给
jQuery类本身添加方法。
jQuery的全局函数就是属于
jQuery命名空间的函数,另一种是对象级别的插件开发,即给
jQuery对象添加方法。下面就两种函数的开发做详细的说明。
1
、类级别的插件开发 类级别的插件开发最直接的理解就是给jQuer
Rome解析Rss
413277409
Rome解析Rss
import java.net.URL;
import java.util.List;
import org.junit.Test;
import com.sun.syndication.feed.synd.SyndCategory;
import com.sun.syndication.feed.synd.S
RSA加密解密
无量
加密解密rsa
RSA加密解密代码
代码有待整理
package com.tongbanjie.commons.util;
import java.security.Key;
import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.KeyPairGenerat
linux 软件安装遇到的问题
aichenglong
linux遇到的问题ftp
1 ftp配置中遇到的问题
500 OOPS: cannot change directory
出现该问题的原因:是SELinux安装机制的问题.只要disable SELinux就可以了
修改方法:1 修改/etc/selinux/config 中SELINUX=disabled
2 source /etc
面试心得
alafqq
面试
最近面试了好几家公司。记录下;
支付宝,面试我的人胖胖的,看着人挺好的;博彦外包的职位,面试失败;
阿里金融,面试官人也挺和善,只不过我让他吐血了。。。
由于印象比较深,记录下;
1,自我介绍
2,说下八种基本类型;(算上string。楼主才答了3种,哈哈,string其实不是基本类型,是引用类型)
3,什么是包装类,包装类的优点;
4,平时看过什么书?NND,什么书都没看过。。照样
java的多态性探讨
百合不是茶
java
java的多态性是指main方法在调用属性的时候类可以对这一属性做出反应的情况
//package 1;
class A{
public void test(){
System.out.println("A");
}
}
class D extends A{
public void test(){
S
网络编程基础篇之JavaScript-学习笔记
bijian1013
JavaScript
1.documentWrite
<html>
<head>
<script language="JavaScript">
document.write("这是电脑网络学校");
document.close();
</script>
</h
探索JUnit4扩展:深入Rule
bijian1013
JUnitRule单元测试
本文将进一步探究Rule的应用,展示如何使用Rule来替代@BeforeClass,@AfterClass,@Before和@After的功能。
在上一篇中提到,可以使用Rule替代现有的大部分Runner扩展,而且也不提倡对Runner中的withBefores(),withAfte
[CSS]CSS浮动十五条规则
bit1129
css
这些浮动规则,主要是参考CSS权威指南关于浮动规则的总结,然后添加一些简单的例子以验证和理解这些规则。
1. 所有的页面元素都可以浮动 2. 一个元素浮动后,会成为块级元素,比如<span>,a, strong等都会变成块级元素 3.一个元素左浮动,会向最近的块级父元素的左上角移动,直到浮动元素的左外边界碰到块级父元素的左内边界;如果这个块级父元素已经有浮动元素停靠了
【Kafka六】Kafka Producer和Consumer多Broker、多Partition场景
bit1129
partition
0.Kafka服务器配置
3个broker
1个topic,6个partition,副本因子是2
2个consumer,每个consumer三个线程并发读取
1. Producer
package kafka.examples.multibrokers.producers;
import java.util.Properties;
import java.util.
zabbix_agentd.conf配置文件详解
ronin47
zabbix 配置文件
Aliaskey的别名,例如 Alias=ttlsa.userid:vfs.file.regexp[/etc/passwd,^ttlsa:.:([0-9]+),,,,\1], 或者ttlsa的用户ID。你可以使用key:vfs.file.regexp[/etc/passwd,^ttlsa:.: ([0-9]+),,,,\1],也可以使用ttlsa.userid。备注: 别名不能重复,但是可以有多个
java--19.用矩阵求Fibonacci数列的第N项
bylijinnan
fibonacci
参考了网上的思路,写了个Java版的:
public class Fibonacci {
final static int[] A={1,1,1,0};
public static void main(String[] args) {
int n=7;
for(int i=0;i<=n;i++){
int f=fibonac
Netty源码学习-LengthFieldBasedFrameDecoder
bylijinnan
javanetty
先看看LengthFieldBasedFrameDecoder的官方API
http://docs.jboss.org/netty/3.1/api/org/jboss/netty/handler/codec/frame/LengthFieldBasedFrameDecoder.html
API举例说明了LengthFieldBasedFrameDecoder的解析机制,如下:
实
AES加密解密
chicony
加密解密
AES加解密算法,使用Base64做转码以及辅助加密:
package com.wintv.common;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import sun.misc.BASE64Decod
文件编码格式转换
ctrain
编码格式
package com.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
mysql 在linux客户端插入数据中文乱码
daizj
mysql中文乱码
1、查看系统客户端,数据库,连接层的编码
查看方法: http://daizj.iteye.com/blog/2174993
进入mysql,通过如下命令查看数据库编码方式: mysql> show variables like 'character_set_%'; +--------------------------+------
好代码是廉价的代码
dcj3sjt126com
程序员读书
长久以来我一直主张:好代码是廉价的代码。
当我跟做开发的同事说出这话时,他们的第一反应是一种惊愕,然后是将近一个星期的嘲笑,把它当作一个笑话来讲。 当他们走近看我的表情、知道我是认真的时,才收敛一点。
当最初的惊愕消退后,他们会用一些这样的话来反驳: “好代码不廉价,好代码是采用经过数十年计算机科学研究和积累得出的最佳实践设计模式和方法论建立起来的精心制作的程序代码。”
我只
Android网络请求库——android-async-http
dcj3sjt126com
android
在iOS开发中有大名鼎鼎的ASIHttpRequest库,用来处理网络请求操作,今天要介绍的是一个在Android上同样强大的网络请求库android-async-http,目前非常火的应用Instagram和Pinterest的Android版就是用的这个网络请求库。这个网络请求库是基于Apache HttpClient库之上的一个异步网络请求处理库,网络处理均基于Android的非UI线程,通
ORACLE 复习笔记之SQL语句的优化
eksliang
SQL优化Oracle sql语句优化SQL语句的优化
转载请出自出处:http://eksliang.iteye.com/blog/2097999
SQL语句的优化总结如下
sql语句的优化可以按照如下六个步骤进行:
合理使用索引
避免或者简化排序
消除对大表的扫描
避免复杂的通配符匹配
调整子查询的性能
EXISTS和IN运算符
下面我就按照上面这六个步骤分别进行总结:
浅析:Android 嵌套滑动机制(NestedScrolling)
gg163
android移动开发滑动机制嵌套
谷歌在发布安卓 Lollipop版本之后,为了更好的用户体验,Google为Android的滑动机制提供了NestedScrolling特性
NestedScrolling的特性可以体现在哪里呢?<!--[if !supportLineBreakNewLine]--><!--[endif]-->
比如你使用了Toolbar,下面一个ScrollView,向上滚
使用hovertree菜单作为后台导航
hvt
JavaScriptjquery.nethovertreeasp.net
hovertree是一个jquery菜单插件,官方网址:http://keleyi.com/jq/hovertree/ ,可以登录该网址体验效果。
0.1.3版本:http://keleyi.com/jq/hovertree/demo/demo.0.1.3.htm
hovertree插件包含文件:
http://keleyi.com/jq/hovertree/css
SVG 教程 (二)矩形
天梯梦
svg
SVG <rect> SVG Shapes
SVG有一些预定义的形状元素,可被开发者使用和操作:
矩形 <rect>
圆形 <circle>
椭圆 <ellipse>
线 <line>
折线 <polyline>
多边形 <polygon>
路径 <path>
一个简单的队列
luyulong
java数据结构队列
public class MyQueue {
private long[] arr;
private int front;
private int end;
// 有效数据的大小
private int elements;
public MyQueue() {
arr = new long[10];
elements = 0;
front
基础数据结构和算法九:Binary Search Tree
sunwinner
Algorithm
A binary search tree (BST) is a binary tree where each node has a Comparable key (and an associated value) and satisfies the restriction that the key in any node is larger than the keys in all
项目出现的一些问题和体会
Steven-Walker
DAOWebservlet
第一篇博客不知道要写点什么,就先来点近阶段的感悟吧。
这几天学了servlet和数据库等知识,就参照老方的视频写了一个简单的增删改查的,完成了最简单的一些功能,使用了三层架构。
dao层完成的是对数据库具体的功能实现,service层调用了dao层的实现方法,具体对servlet提供支持。
&
高手问答:Java老A带你全面提升Java单兵作战能力!
ITeye管理员
java
本期特邀《Java特种兵》作者:谢宇,CSDN论坛ID: xieyuooo 针对JAVA问题给予大家解答,欢迎网友积极提问,与专家一起讨论!
作者简介:
淘宝网资深Java工程师,CSDN超人气博主,人称“胖哥”。
CSDN博客地址:
http://blog.csdn.net/xieyuooo
作者在进入大学前是一个不折不扣的计算机白痴,曾经被人笑话过不懂鼠标是什么,