java中引用传递和值传送的区别
其实画一个内存图就很清楚了,但是这里不能上传...
swap(String name0, String name1)
你可以写成这样考虑
swap(String str0, String str1)
发现了吗?其实你传入参数的过程是将str0和str1分别指向name0和name1所以引用的地址,也就是说方法里构造了两个新的字符串,而你所做的赋值操作都是对新字符串的引用地址的改变...方法退出后name0和name1还是指向原来的地址,并没有发生任何改变...(字符串类型是一个比较特别的类型,其中还涉及到字符串的不变性,在这里你可以把它考虑成简单数据类型)
swap(String name[])
也可以这样考虑
swap(String str[])
进入方法后构造了一个数组对象str[],并将str指向name的地址(强调:此时str和name指向同一内存地址),也就是说你对str[0],str[1]的改变就是在对name地址中name[0],name[1]的改变
真的很难表述清楚,自己画个内存图就很清晰了(理解的关键是:形参是新对象,而且新对象是指向传入对象的地址)
ps: java 中不存在址传递,重新赋值其实是重定向
C 中存在址传递,传递进函数中的地址里所保存的值可以被改变
古代传递信息的方法: 1.鸡毛信:一般用于民间。 2.飞鸽传书:用候鸟,特别是鸽子,大雁等作传输工具。 3.快马传书:由驿差乘马传递书信的通信方式。 4.传竹筒:官家、民间都用,类似现在的信封。 5.急脚递:跑步传递,用于传递紧急军事情报之用,俗称“传金牌”。 6.烽火、狼烟等不同的朝代有不同的传递方式。 7.以特殊声音,如钟声,鼓声,鞭炮声等传递信息。 8.作内馅的方式,如藏在鱼肚、饼类、包子、漂流瓶等。
现代传递信息的方法: 1.有线通讯传输:如电话、传真、电报等。 2.无线通讯传输:如手机、对讲机、广播、电视等。 3.网络通讯传输:如email邮箱、视频、QQ聊天等。 4.纸张通讯传输:如书信、报纸、书籍等。
古人与现代人传递信息方法的不同 古人传递信息的速度慢、效率低,而且有时还会误事。 现代人传递信息的速度快、效率高,而且信息量多,来源很广。
通信是在人类实践过程中随着社会生产力的发展对传递消息的要求不断提升使得人类文明不断进步。在各种各样的通信方式中,利用“电”来传递消息的通信方法称为电信,这种通信具有迅速、准确、可靠等特点,且几乎不受时间、地点、空间、距离的限制,因而得到了飞速发展和广泛应用;在现今因电波的快捷性使得从远古人类物质交换过程中就结合文化交流与实体经济不断积累进步的实物性通信被人类理解为制约经济发展的阻碍。
以视觉声音传递为主的古代的烽火台、击鼓、旗语、近代以实物传递为主的驿站快马接力、信鸽、邮政通信等。古代的通信对远距离来说,最快也要几天的时间,而现代通信往往以电信方式为主如电报,电话,快信,短信,E-mail等注重即时通信,作为自然科学来说邮政通信更能体现人与自然的和谐与沟通,但是在现今注重经济利益的时期往往不注意人与自然的关系致使邮政通信相对即时通信不宜接受。
在古代,人们通过结绳、驿站、飞鸽传书、烽火报警、符号、身体语言、眼神、触碰等方式进行信息传递。到了今天,随着现代科学水平的飞速发展,相继出现了无线电、固定电话、移动电话、互联网甚至视频电话等各种通信方式。通信技术拉近了人与人之间的距离,提高了经济的效率,深刻地改变了人类的生活方式和社会面。
形体时代通过身体、眼神、手势及山石树木等自然媒体相结合传递信息。
口语时代直立行走使得人类对信息传递方式的需求提高从而催生了语言。
文字书写时代 随着生产力的发展人类对信息记录有了需求,文字随之产生。
印刷时代1044年,毕升发明活字印刷术。1450年,日耳曼人古腾堡发明金属活字印刷术。
1837年,美国人莫尔斯发明电报机。
1857年,横跨大西洋海底电报电缆完成。
1875年,贝尔发明史上第一支电话。
1895年,俄国人波波夫和意大利人马可尼同时成功研制了无线电接收机。
1895年,法国的卢米埃兄弟,在巴黎首映第一部**。
1912年,泰坦尼克号沉船事件中,无线电救了700多条人命。
1920年代,收音机问世。
1920年代,英国人贝尔德成功进行了电视画面的传送,被誉为电视发明人。
二次大战爆发,电视事业中断,战火突显广播发送成本低、接收容易的特性,听众再次增加。
1962年,美国发射第一颗通信人造卫星,开启电视卫星传送的时代。
1955年,美国为了大战的需要,发行了第一部军用电子计算机。
1969年,美军建立阿帕网,目的是预防遭受攻击时,通信中断。
1983年,美国国防部将阿帕网分为军网和民网,渐渐扩大为今天的互联网。
1993年,美国宣布兴建信息高速通路计划,整合电脑、电话、电视媒体。
有人将计算机与网络技术的特征——数字化、网络化、多媒体化、智能化、虚拟化,当作信息技术的特征。我们认为,信息技术的特征应从如下两方面来理解:
信息技术具有技术的一般特征——技术性。具体表现为:方法的科学性,工具设备的先进性,技能的熟练性,经验的丰富性,作用过程的快捷性,功能的高效性等。
信息技术具有区别于其它技术的特征——信息性。具体表现为:信息技术的服务主体是信息,核心功能是提高信息处理与利用的效率、效益。由信息的秉性决定信息技术还具有普遍性、客观性、相对性、动态性、共享性、可变换性等特性。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!