java主要用来干嘛?
Java语言 可以做很多的事情,我来大致的说一下Java具体可以用来做些什么!
一、做网站
Java可以用来做网站,很多大型网站都是用Java写的,比如我们熟悉的B站,所以想学习Java的同学还可以负责网站方面的制作,这方面的岗位(网站开发)也比较多,一直以来都相当流行。
二、做安卓软件
安卓是基于Linux的操作系统,其中源代码就是Java,市面上所有的安卓手机都是修改Java运行的,对于更多的开发人员来说,他们更多的时间是花在开发APP上面。你随便打开一个App应用,他们就是用Java语言做的。
三、做游戏
电脑上的大多数游戏也是用Java来开发的,最经典的就是《我的世界》,还有当今世界最具影响力的游戏英雄联盟,吃鸡也是用Java写的
四、写软件
很多编程语言都是可以来写软件的,但Java是现在应用最广泛的,比如:企业级应用开发,还有OA、邮箱、物流、医疗、投票、金融、考试、矿山等信息方面的系统,Java都占有极为重要的地位。现在国内的最热门的就是手机应用,学习Java去做手机应用还是比较吃香的。
五、Java服务器程序
Java在金融服务业的应用非常广泛,许多跨国投资银行都用Java来编写前台和后台的电子交易系统,结算和确认系统,数据处理项目以及其他项目。
大多数情况下,Java被用在服务器端开发,但多数没有任何前端,它们通常是从一个服务器(上一级)接收数据,处理后发向另一个处理系统(下一级处理)。
六、Java大数据技术
Hadoop以及其他大数据处理技术都是用Java或者其他,Java 依旧还有潜力去在这个市场占据一部分。
那可多了,java程序放电脑上可以提供个可执行程序,比如画图板啊,photoshop啊等等,也可提供个网站服务器,比如美团啊,百度啊。放一些单片机硬件可提供智能硬件,比如安卓手机啊,智能手表啊,智能冰箱啊,智能安防系统啊。放其他硬件上,比如机器人上还能提供大保健服务呢。只有你想不到没有java做不到。
首先,我得说明的是,目前市场上新人很难去做pc游戏开发,要么是做页游要么是手游。
页游不清楚我就不说了,手游里面,客户端主要就是c2d和u3d。
如果你想做客户端,那么你可以转学u3d,因为它使用的语言是csharp,这个语言和java相似。网上unity的教程也很多,你随便找一下就有了。
再说说手游服务器,其实我入行服务器还是挺巧合的,当初本来是打算做客户端的,都入职了,因为招不到服务器,就让我转服务器了。。
服务器的教程,我至今也没找到,而且也找不到系统的教程。
开源的服务器框架也只熟悉kbengine和scut。其中一个是cpp做底层python做开发的,一个是csharp做开发。而且scut已经两年没有更新了,应该是死掉了。
所以,想要学服务器开发,得碰点运气。
java服务器目前主流框架技术有网络层netty或mina,数据协议protobuf,数据库mysql,缓存数据库redis,jdbc一般是mybaits或者jpa,项目管理maven,设计层面spring
然后还需要熟悉多线程,linux的基本操作,git或者svn。
差不多了,这些都有个大致的了解,会用,应该就能找到工作了。
后面再深入需要学习的也挺多的,到时候你再根据业务需求自己琢磨着学吧。
只论技术方面的话,通俗的说就是前端界面,后端逻辑,数据库,web服务器,以及真实服务器(云服务器或实实在在的硬件服务器)。
前端界面这一块,现在比较流行热门的技术有vuejs,vuejs是一个基于数据驱动的渐进式前端开源框架,不仅适用于PC端,也适总于移动端,现在很多大型的网站都在用vuejs。多说一句,vuejs的作者是中国人。
再说后端这一块,基本上是被springboot一统天下,springboot的IOC和AOP特性以及一系列的设计模式,让开发变得简单高效。
数据库这一块,市面上比较流行的有商业数据库有甲骨文公司的oracle,微软的sqlserver,开源的有postgresql,mysql,redis,sqlite等。
web服务器,比较常用的就是tomcat,nginx等。
服务器硬件的话,要么是云服务器(阿里云或者腾讯云),要么是真是的硬件服务器。
最后,网站开发,说简单也简单,就是三层构架,说难也难,其中涉及高并发大数据负载均衡的问题,都是现在热门的问题。如果想快速开发,建议借助现有的开源平台,快速高效,省时省力。
物联网开发需要的技术
一:单片机/嵌入式开发
智能硬件,哎,不就是单片机吗说到底就是一个微控制器,现在出现的智能手表,调光LED灯,蓝牙开锁,WiFi插座等等,说到底不就是单片机开发嘛单片机,电子和通信专业一般都会教51或AVR、计算机系接触不到。现在流行的Arduino也是单片机开发的一种。
但是要做一款智能硬件,技术上只会单片机编程还是不行的。哎呀嘛什么智能硬件,本质上就是一个电子产品!。所以你要开发一款能拿得出手的智能硬件,电子系统设计必须要会的!
二:网络通信协议
智能硬件与传统的电子产品最大的差别,就是智能硬件连上了网络。要连上网络,就需要用到网络通信模块及学习网络通信协议——TCP/IP。
TCP/IP是一个技术的总称,里面包含两种协议TCP、UDP,位于网络通信分层模型的传输层,同时也是由操作系统管理。而HTTP、DNS、URI等这些技术,属于应用层,位于TCP/UDP之上。同样,最近物联网比较流行的,针对计算能力有限的通讯设备而出的MQTT协议,也属于TCP之上。
为了让电子产品有联网的能力,只要在电路设计上给主控芯片连接一个通信模块,写好收发网络指令的代码,剩下的就是电子产品设计了。
三:服务端开发框架
Client/Server架构,即客户端/服务器架构。智能硬件连上后台服务器后,其就是一个客户端,一个终端。由于单片机中资源受限,实际上是不太可能用HTTP协议的,所以互联网中通用的Web服务器开发并不适合这里。有的厂家会在TCP之上自定义协议,有的就移植别人做好的协议比如MQTT,CoAP等等。
服务端开发就比较复杂了。单片机/嵌入式软件开发还好,只要学习好C语言即可打遍天下无敌手,而服务端开发,用Java呢还是Python还是PHP反正Java和Python选一个就好了,嵌入式出身的工程师,一般都会学Python。
Python服务器端的开发框架种类繁多,Web开发的有Django、FlaskTornado WebServer,TCP服务器可以用Twisted,等等。MQTT有已经做好的服务器,像这样的服务器不用自己开发,直接部署即可。
JAVA是一个平台,主要可以运行一些程序,或者游戏,比如QQ,智能手机的硬件和国产机的没什么区别,不过不知道你说的是中国自主的名牌机,比如联想,魅族,还是山寨机,如果是大厂做的智能机,和国外的基本都差不多,如果是山寨机,那就有差别了,山寨主要都是用一些廉价的手机组件来组成一部手机,
0条评论