2

java上位机开发(开篇)

 1 year ago
source link: https://blog.csdn.net/feixiaoxing/article/details/125688765
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

java上位机开发(开篇)

original.png
嵌入式-老费 newUpTime2.png 已于 2022-07-09 08:33:35 修改 articleReadEyes2.png 34

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        目前对于java语言,很多人都认为太简单。其实这是不对的,因为某种意义上来说所,java语言就像学习日语一样,入门比较容易,但是要深入掌握还是有很大困难的。比如说,要想了解jvm,所花费的时间代价不比学汇编、学编译原理、学操作系统少多少。

        当然,和20年前学校开设的课程不同,目前电子商务、软件工程、大数据、人工智能的同学都是以js、java、python这些脚本语言为主,c、c++本来就比较难教,所以学校也乐得轻松。另外一方面,在实际工作就业中,像java这样的语言,在上位机开发、网站开发、大数据开发、android开发这四个领域发挥着越来越重要的角色,这也导致了很多学校以就业为导向,直接选择java作为最主要的教学语言。此外,java是公认的轮子多,框架多,使用java可以直接开发上层代码,避免很多的二次开发工作。

        作为企业端来说,也只能顺应时代的发展,及时调整开发技术路线,这样才能最大程度利用市场现有的资源,挑选合适的人才满足开发的需要。java上位机虽然用的不多,这里主要是和c++ qt相比较,但是本身没有特别大的缺陷,完全可以代替qt来进行上位机的开发。

1、上位机开发需要的因素

        学习一门语言最快的方法,就是用这门语言来做一个或者是几个实际的应用。当然,首先还是要看上位机开发需要学习哪些知识点。这里虽然谈到了java语言,但是换成其他语言也是一样的,比如工业自动化常用的c#语言。

3e8dba156a7443b2a64e034f14d373bc.png

        从上图看出,要写好上位机,主要可以从java基础、图形界面、jni调用、数据库、网络、配置文件、定时器、日志、部署和安装这几个方向来考虑。

2、java基础

        java基础,就是把借助已经掌握的其他语言来学习java。这里提到了各种各样的数据类型、条件判断语句和循环语句、类、包、导入。建议开始学的时候,没必要一开始就看的多深,可以边做边改,只有实践不断犯错误才能快速提高能力。

3、GUI图形界面

        GUI可以用swing或者awt进行开发,一般来说awt好看一点。如果想偷懒,可以借助于eclipse+windowbuilder插件来完成,不过一开始的时候还是建议以手写为主。

4、jni导入动态库

        这部分是很容易被忽视的。因为c、c++要比java早一点,已经存在很多的库可供选择。我们开发java的时候,完全可以复用这些第三方库,毕竟对于一些算法、硬件协议、动态库,用java写既无必要,也无可能。

5、数据库

        这个一般都使用jdbc,数据库选mysql即可。

6、网络部分

        网络编程是java的强项。客户要求的私有协议或者硬件协议,可以用udp、tcp完成;如果不做要求,可以直接用xmlrpc来做,没必要搞得很复杂。

7、配置文件

        可以是xml的格式,也可以是json的格式,根据需求而定。

8、定时器

        对于不是特别复杂的程序,建议直接用GUI+定时器的方法来解决,特别稳定健壮。当然,如果涉及到多线程,那么要做好数据保护工作。

9、log

        日志是debug的力气,这方面直接参考log4j或者log4j2就好。

10、部署和安装

        qt的部署特别容易,java可以参考maven工具。 

        java里面有一些概念比较复杂,比如说反射和注解。这个对平常开发c、c++的同学来说有一点难以理解。这都没关系。主要原因还是因为java上面是虚拟机,虚拟机可以帮助语言来完成很多靠cpu硬件完成不了的事情。暂时不掌握这些复杂技能不会影响上位机开发的。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK