学好java除了可以做网页外,还可以做什么?
Java能做很多东西,从应用软件到系统软件都可以用JAVA来做,
举例说明:
(1)应用软件:
应用软件有很多,j***aSE能做一些基础的东西,比如说带图形操作界面的一般应用软件(GUI),还可以应用于网络编程,我用j***aSE编写过一个非常小规模的网络爬虫,挺好使的,j***aEE可以从事企业级的编程,比如做网站的后台,当然前台也可用j***a来做,但有点不太方便,因为j***ascript(一种做网站前台的语言,与j***a没什么关系)在做前台方面已经很强大且方便了。
(2)系统软件:
j***a很强大,连系统软件也没问题,比如说j***a可以做一些高级脚本语言的解释器,一个很成功的例子就是Jpython(python语言的一个挺强大的解释器的本版,当然python解释器一般使用C或Cpp编写的),python也是一种非常非常强大的语言,本人认为python优越于j***a(当然一般人认为这两种语言没什么可比性),j***a其实可以做很多很多东西。
(3)总之,很多大鸟们说的有道理,语言只是一种工具,它能做什么取决于你的大脑。厚积薄发很重要,多读书,但要知道书永远只是局限的,新的东西在没被想出来之前是不会出现在书本上的,而很多人不敢或没有能力去掌握未来,还有一点哈,C很强大(包括Cpp)。
J***A表达式a >>> 2什么意思?
>>> 在J***a语言中表示无符号右移,忽略符号位,高位都以0补齐a>>>2表示整数a无符号向右移2位,高位以0补齐.我给你个J***a语言的例子,你看看吧public class A { public static void main(String[] args) { int a=-20; System.out.println(Integer.toBinaryString(a)); //>>> 无符号右移,忽略符号位,高位都以0补齐 int result=a>>>2; System.out.println(Integer.toBinaryString(result)); }}运行结果11101011111010说明 -20的二进制为 1110 1011,右移2位,此时高位补0,即 0011 1010,结果为 result = 58;
有人说腾讯使用c++为主要开发语言?j***a少?为什么?
关于这个问题要你要从腾讯发家开始看。
腾讯最开始是以做通讯软件开始发家的,也就是qq.因为qq主要涉及到的就是网络通讯这一块,再加上当时主要就是用在PC端,从程序的运行效率考虑C++无疑都是最好的选择。包括后面腾讯的一系列产品qq音乐,qq管家,qq游戏等等基本上都是基于C++开发的。据我所知他们的服务端应该也是用C++写的。
我所见到的一部分原因是,腾讯内部的各类c++组件已经非常丰富并且稳定了,这种情况下若非特殊原因,实在没理由花力气和冒风险去切其他性能还不如c++的语言,我c/c++,j***a,python,lua都写过,对语言并无偏执。我接触到的一个基础模块,日请求量200亿+,服务器数目却不足百台,其他语言是很难做到的。所以,新模块开发依然首选c++,但内部也一直鼓励新技术,前提是有正当理由。很多时候我们只是了解到一点皮毛,然后就根据这点皮毛去揣测不熟知的领域,这里不单指计算机语言,这种习惯是很危险的,共勉。