首页 > 编程知识 正文

关于java嵌入式数据库的选择(嵌入式数据库的特点)

时间:2023-12-14 13:33:53 阅读:315654 作者:DAGT

本文目录一览:

嵌入式和java该怎么选择呢?

我不知道楼主家里的经济环境怎么样,如果还不错,那确实可以去培训,反正几个月不工作不至于饿肚子。如果楼主要自食其力的,我建议楼主还是可以自学的,毕竟你放弃工作,还要付一大笔培训的费用,还要4个月的时间没有工作。如果到时没有学好,那代价应该是太大的。

所以,我的经历来和楼主说说吧,我是个大专没有毕业的学生,我原来也想去培训嵌入式,但是我家里出不了那么多钱,于是我只好自学,可是我又不喜欢看书,我一看书我就打瞌睡,不是看书自学的料。

于是,我就一直想找一份视频,一份像武林秘籍的视频,但是我找了很久没有找到。大部分都只是某部分的内容,都不能称心如意。后来在一个嵌入式的群上,有个朋友给我介绍一个从零基础开始学嵌入式的视频,而且他们还提供半年的技术支持,我当时一下子胃口被掉了起来,后来就到他们的网站看了一下,要300圆,好贵啊,但是为了学习,我咬咬牙买了。我把视频地址贴出来和楼主分享。

视频地址:

收到他们寄过来的光盘后,我就开始学习了,由于我没有什么基础,我就从最简单的C语言视频教程学起,话说简单,其实我还是很多不懂的,我只好请教他们,他们还是很热心的,都帮我解决了。C语言我差不多学了一个礼拜,接下来我就学了linux的基本命令,我在他们提供linux虚拟机上都有做练习,敲linux的基本命令,写简单的C语言代码,差不多也就三个礼拜。我每天都在不停的写一些简单的代码,这样一月后我基本掌握了C和linux的基本操作。

接下来我就去学习了人家的视频的培训教程,是整套的,和去参加培训没有多大的区别,这一看就是两个月,学习了ARM的基本原理,学习嵌入式系统的概念,也掌握了嵌入式的环境的一些搭建,对linux也有更深层次的理解了,明白了嵌入式应用到底是怎么做的,但是驱动我只是有一点点的了解,这个相对难一点,我想以后再慢慢啃。

这两个月,除了吃饭睡觉,我几乎都在学习。因为我知道几乎没有基础,比别人差劲,我只能坚持努力着,我不能放弃,我必要要靠自己来养活自己,必须学好这门技术,同时我不懂的就问,这里真的很感谢他们的技术客服对我的任何问题都是耐心的解答,每天都我几乎都有好几个问题问他们,然后我就把不懂的问题总结记下来,这样慢慢积累了一段时间,我发现自己真的有点入门了。

最后的一个月,我就去看关于实践部分的内容,了解嵌入式项目具体的开发流程,需要什么样的知识,我就开始准备这方面的知识,也就是学习这方面的视频,同时他们建议我去找了找一些嵌入式面试的题目,为自己以后找工作做准备。我就到网上找了很多嵌入式的题目,把他们理解的记下来,这样差不多准备了20天左右。

我觉得自己差不多入门了,会做一些简单的东西了。我就想去找工作看看,于是我就到51job疯狂的投简历,因为我学历的问题,专科没有毕业,说真的,大公司没有人会要我,所以我投的都是民营的小公司,我希望自己的努力有所回报。没有想过几天过后,就有面试了,但是第一次面试我失败了,虽然我自认为笔试很好,因为我之前做了准备,但是他们的要求比较严格,需要有一年的项目经验,所以我没有被选中。

后来陆续面试了几家公司,终于功夫不负有心人。我终于面试上的,是在闵行的一家民营的企业,公司规模比较小,我的职务是嵌入式linux应用开发,做安防产品的应用的。我想我也比较幸运,经理很看重我的努力就录用了我,开的工资不高,但是我想我足够了。我至少不用每天都要靠父母养,我自己也能养活自己的。我想只要我继续努力,我工资一定会翻倍的。

最后我也把他们资料里推荐的学习顺序发出来,楼主也是看看大约的学习流程。

第一阶段 环境及基础篇

1.1:先搭建一个简单的linux环境,这对以后学习linux和C编程有很大的帮助。具体操作:

打开光盘16,里面有个开发工具包-安装好的fedora9,里面有个vmware安装包,先安装下vmware虚拟机,建议安装我们提供的版本,以免打不开我们的提供的安装的linux。解压缩Virtual Machines.rar到你的硬盘,用虚拟机打开解压缩的系统即可。

如果你不喜欢fedora 9,那也可以安装我们提供的光盘04的软件视频包-国嵌培训视频1-RedHat企业版安装光盘,自己学习动手装linux也是不错的。如果不懂得安装,可以看光盘04里面的软件视频包-国嵌培训视频1-RedHat企业版安装光盘/课程与视频/第1阶段(Linux系统管理)/第一天(安装与命令)/里面的视频,也可以看看里面的参考资料。

不过还是建议大家直接使用fedora,这样可以省时省事。

1.2:如果还没有基础,建议从最基本的C语言和linux开始学。如果你觉得你的基础还不错,也可以跳过这部分,但是建议还是复习一遍,毕竟基础扎实一点更好。

先学习软件视频包-嵌入式linux软件开发入门培训视频.iso,共有46个视频,介绍嵌入式linux入门需要掌握的基础知识,包括linux的基础知识,shell基础,vi编辑器,包括嵌入式linux的C语言编程,非常详细,非常精辟! 学习完本视频可以掌握C语言和linux,对linux下的C编程有一定的了解。

1.3 这个看完后也可以看看光盘04,这个也是主要linux的安装与linux命令,脚本,Makefile和GCC的材料。

当然,如果你看过的1.2的内容,其实你已经掌握了linux的基本命令,那么1.3 你也当做复习,也可以跳过,这样的速度更快!如果为了速度,就一个原则,学习过的就跳过,但是也要保证自己掌握,这个尺度看个人自己把握。

还有一点就是老师讲课都有带一些实验,记得你也要动手操作,反正环境都有了,操作了才不容易忘记。

第二阶段 linux应用编程强化阶段

2.1 有了上面的基础,接下来就要强化学习下linux下的C编程,毕竟嵌入式的还是需要很强大的C语言能力。可以学习光盘03的软件视频包-linux系统编程培训教程,这个共有22个视频,讲述基于linux系统的编程,里面讲解了很多linux实例代码的分析,非常不错。

2.2 学习下光盘08 这是介绍linux的基本命令和编程,比如 linux的进程管理,make的介绍,进程间的通讯,linux系统调用和io编程等等。

2.3 学习下光盘05/软件视频包-国嵌培训视频2/国嵌视频2_201003.rar,主要看linux的编程部分,关于arm的内容先别看。这个也是主要介绍linux下的编程。(而光盘05/软件视频包-国嵌培训视频2/国嵌视频1_201003.rar在介绍里是没有的,是我们后面附加赠送的,其视频和光盘4差不多。)

还是那句话,你觉得会的内容可以跳过,但是建议你还是多看看。

第三阶段 嵌入式学习阶段

经过了上面的课程,我相信你的C语言和linux编程基础已经很不错了。接下来你就可以进入arm的世界了。

(注意:如果以后选择嵌入式软件方向的同学,如果没有硬件基础的,我建议大家从事嵌入式软件的,更好,软件方向可以不学硬件方向的内容,可以了解下3.1.1的单片机内容。)

3.1硬件方向

3.1.1(可选阶段)这个简单建议你学习下单片机,毕竟单片机还是比较简单,但是如果你想直接进入下一步3.3也未尝不可。如果要学习单片机可以学习硬件视频包-单品机经典培训教程,讲述单片机的基本所有的内容,老师现场写代码,非常棒,可以从一个完全不懂单品机的人到熟悉单品机,到单片机编程,为以后ARM编程打好基础。其内容01-11在光盘12,而12-13因为容量问题放在光盘13里面。

3.1.2 (可选阶段,硬件方向,无基础的同学可先别学)这个阶段适合以后想学习硬件的同学,但是我不建议没有基础的同学去搞硬件,相对入门比较难,如果以后想做嵌入式的软件的同学也可以不急着看硬件的内容。当然了解下更好。可以看看光盘13的硬件视频包-计算机电路基础培训教程.iso,讲述计算机的电路基础,适合初学者入门。

3.1.3(可选阶段,硬件方向)有了3.1.2的基础后,你也可以学习光盘11的硬件视频包-电路分析培训教程

共有30个视频,详细的介绍了电路分析,电路原理。

3.2 软件方向

学习方法:这些内容都是相对比较抽象,如果有什么不懂的,不明白的,一定要先记住概念,等你以后接触多了,遇到相关的知识时,你会豁然开朗的。

3.2.1这时我们进入嵌入式系统的时代了,可以学习下光盘01的软件视频包-嵌入式系统30学时.iso,讲述嵌入式系统概述,还有基本概念,嵌入式微处理器及ARM体系结构,已经嵌入式系统的基本硬件知识,嵌入式实时操作系统的介绍,介绍us,os-II,介绍嵌入式wince,linux等操作系统。

3.3.2 学习光盘09的软件视频包-中嵌视频2的视频内容,了解ARM的基本命令,arm开发环境等等。

3.3.3 学习光盘05中的关于软件视频包-国嵌培训视频2.iso中的ARM部分,ARM概述,mini2440,ARM寄存器,ARM寻址方式,ARM指令1,ARM指令2.

3.2.4 学习下光盘01 软件视频包-嵌入式系统设计培训教程.iso,共有25个视频,讲述嵌入式系统硬件和软件的知识,嵌入式系统的基本知识,讲述嵌入式软件和硬件的协同设计,最后还讲述了U-BOOT程序设计,MP3播放器的设计。

3.2.5学习光盘03的软件视频包-嵌入式系统及应用开发培训视频,共有40个视频,讲述嵌入式系统结构、外设驱动和应用开发调试技术,嵌入式系统开发模式,嵌入式硬件开发,实时/嵌入式系统开发方法,还讲述了嵌入式系统硬件结构,嵌入式处理器,ARM介绍,片内周边电路,外围电路,外设等等。

3.2.6学习光盘11的软件视频包-ARM S3C44B0嵌入式微处理器原理及应用

共有48个视频,主要内容包括:嵌入式系统基础知识、嵌入式交叉编译环境与嵌入式开发环境的搭建、基于Linux的嵌入式软件开发流程、MiniGUI应用程序设计、嵌入式数据库应用、Qt图形界面应用程序开发。《嵌入式系统开发基础——基于ARM微处理器和Linux操作系统》涉及嵌入式系统从底层驱动到顶层应用的各个部分,配合实验操作循序渐进地帮助读者完成各个章节内容的学习,引领初学者顺利进入嵌入式世界

第四阶段 嵌入式高级阶段

上一阶段软件方向我们已经学习了关于arm和嵌入式系统的知识,接下来我们要接触的就是更为深奥的底层驱动和内核相关内容。硬件方向则学习了基本的电路基础,这一阶段则要接触到pcb,cpld fpga的知识了。

4.1 硬件方向(软件方向的同学不用学)

4.1.1 学习光盘13的硬件视频包-PCB设计培训教程Altium Designer共有14个视频,讲述Altium Designed,电子设计基础知识,原理图初步设计,进阶,提高,深入,pcb库的设计,集成库的作用和制作,pcb设计初步,PCB设计提高,PCB深入。

4.1.2 学习光盘11的硬件视频包-CPLD系统设计和VHDL语言培训教程共有10个视频,介绍CPLD系统设计和VHDL的程序设计,包括视频和课件还有相关的资料。

4.2 软件方向

4.2.1 学习光盘02的软件视频包-底层内核和驱动培训视频

共有28个视频,讲述linux内核介绍,内核的源代码结构,如何编译和配置内核,如何开发内核模块,内核的启动流程分析,内核的内存管理,进程内存空间管理,linux2.6内存管理和分配,内核的链表操作,包括一些内核的实验。

驱动部分讲述字符设备驱动程序和字符驱动例子解析,驱动调试技术,并发控制技术,Ioctl的实现,驱动如何访问硬件,中断处理,LED驱动程序设计,等待队列,阻塞,Poll方法实现,时间度量,内核定时器,网络体系架构,网卡驱动设计,触摸屏驱动分析等等。

4.2.2 学习光盘06的软件视频包-国嵌培训视频3.iso

共有20个视频,讲述内核简介,Linux内核源代码,Linux内核配置与编译,内核模块-1,内核模块-2,Linux内存管理,Linux进程与内核地址空间,Linux内核链表,内核定时器,内核进程,进程调度,系统调用,Proc文件系统,异常分析,交叉工具链,嵌入式系统构建,bootloader介绍,Uboot简介,UBoot命令,Uboot移植。

4.2.3 学习光盘07的软件视频包-国嵌培训视频4.iso

共有25个视频,讲述Linux驱动程序介绍,字符设备驱动,简单字符设备驱动实例分析,并发控制,Ioctl设备控制,内核等待队列,阻塞型字符设备驱动, poll设备方法,自动创建设备文件, mmap设备方法,硬件访问, LED驱动程序,总线,设备,驱动, platform驱动,中断处理程序,按键驱动,网卡驱动程序设计, CS8900A网卡驱动程序分析,输入子系统,触摸屏驱动程序, PCI总线, PCI驱动程序设计,串口驱动程序。

4.2.4 学习光盘10的软件视频包-中嵌视频3,这也是将驱动的和内核的。

第五阶段 实践阶段

这个时候你需要做的事,多了解我们的实践的资料,弥补缺少动手能力。你可以看着实践资料的文档代码看,相信你会有质的飞跃。我们的实践资料包括以下的内容:

光盘13

21. 实践开发包-ARM 2410开发板资料.zip

包括用户手册,网上资料,芯片手册,目标代码和支持包,USB驱动程序,原理图,里面还有实验的指导,很好!

22. 实践开发包-ARM FS44B0开发板资料.zip

包括用户手册,ADS120评估板,BOIS和测试程序的源代码,uCLinux代码和编译工具,芯片手册,目标代码和支持包,USB驱动程序,原理图,里面还有实验的指导,很好!

光盘14

26. 实践开发包-ARM 6410开发板资料.rar

这是我们购买了一块7000元的开发板配套的完整资料,包括开发套件源代码压缩包,套件使用手册、CPU及其它各种芯片的datasheet,开发板电路图,仿真器的驱动文件及说明文档等等。

27. 实践开发包-MIPS CPU开发板资料.rar

这是我们购买了一块3000元的开发板配套的完整资料,现在市场上 MIPS的开发板非常少,当然资料更少了。包括整套的文档,软件和硬件所有的资料,包括工具。

28. 实践开发包-USB实践开发包.iso

关于USB的实践开发包,里面有介绍关于U盘和MP3的工具,软件的程序,硬件的原理图,制作的工具,和相关的资料手册。

29. 实践开发包-嵌入式linux网络的远程控制开发包.iso

关于嵌入式linux网络远程控制的实践开发包,里面有详细的一步步图文操作的电子书,软件的程序,硬件的原理图,制作的工具,和相关的工具。

30. 实践开发包-电子相册开发包.iso

关于电子相册的实践开发包,里面有详细的配套说明和实验指导书,软件的程序,硬件的原理图,制作的工具,和相关的工具。配合光盘15的开发工具包-Wince开发平台platform builder5.0

这是platform builder 5.0的安装包,可以基于它开发wince.

31. 行业视频包-MTK手机开发培训.iso

介绍MTK的资料,有10个视频教程,还包括新手如何学习MTK手机开发的资料,MTK开发平台大集合,入门导读,全套资料,MMI的资料等等。

32. 行业视频包-VOIP视频教程

共有12个视频,介绍VOIP网络电话开发,非常不错,这对以后找这方面的工作非常有帮助,是高薪的行业。

第六阶段 深化阶段

相信这个时候的你已经是嵌入式的能手了,但是要变成高手,你还要进一步学习内核和系统。

6.1 学习光盘01的软件视频包-计算机系统结构和汇编培训.iso

共有51个视频,将计算机系统结构和汇编语言程序设计,对于以后进行底层的开发很有帮助。

6.2 学习光盘05的软件视频包-linux内核编程初级班培训教程.rar共有30个视频,都是基于代码分析的,讲述linux内核的基础知识,汇编及保护模式,linux内核体系结构,linux引导程序分析,linux内核代码分析,linux块设备驱动程序分析

6.3 学习光盘11的视频包-linux内核编程高级班培训教程.rar

共有29个视频,详细介绍2.6内核的代码,非常不错,如果想学习内核,值得推荐

转自嵌入式学习网!

java好还是嵌入式好 做IT开发该如何选择

首先,Java开发和嵌入式开发都是目前IT行业内比较常见的开发岗位,也都有大量的从业人员,所以从就业的角度来看,学习Java开发和嵌入式开发都是不错的选择。Java语言的应用领域包括Web开发、Android开发和大数据开发等领域,这些领域也都有大量的岗位需求。相比于传统Java开发来说,嵌入式开发在可穿戴设备领域、车联网领域、农业物联网领域将陆续获得大量的发展机会,尤其在产业互联网发展的大背景下,物联网将全面走进传统行业,一系列设备将具备网络连接功能和计算功能(边缘计算)。

在这个背景下,嵌入式开发将变得越来越重要,岗位需求量也会持续增加。Java在中国发展已10几年时间,虽然所学的内容较多,但入门较容易,初中、高中、中专基础的都能学习,但是有发展瓶颈,就是上升空间不大,且生命周期比较短(大概有7年左右的时间),感觉做几年之后没什么可做的了,做java(应用软件)开发的35岁以上的基本很少了,就是常说的“吃青春饭”,且软件更新快,工作比较忙。千锋教育拥有多年IT培训服务经验,采用全程面授高品质、高体验培养模式,合作企业达20000余家,覆盖全国一线二线城市大中小型公司,成功帮助20000余名人才实现就业。

常用嵌入式数据库有哪些

嵌入式数据库还是有很多的,这里举几个吧:

1.Berkeley DB常用嵌入式数据库有哪些

Berkeley

DB(BDB)是一个高效的嵌入式数据库编程库,C语言、C++、Java、Perl、Python、Tcl以及其他很多语言都有其对应的API。

Berkeley DB可以保存任意类型的键/值对(Key/Value Pair),而且可以为一个键保存多个数据。Berkeley

DB支持让数千的并发线程同时操作数据库,支持最大256TB的数据,广泛用于各种操作系统,其中包括大多数类Unix操作系统、Windows操作系统

以及实时操作系统。

2.Couchbase Lite

Couchbase Lite

是一个为满足在线和离线的移动应用所开发的超轻量的,可靠的,并且安全的JSON数据库。即使在最不确定的网络条件下,亦可以给您的移动应用提供富有成效

的和可靠的信誉。除此之外,’同步门户’功能亦可以提供协作, 社交互动或者是用户的更新。

3.LevelDB

LevelDB是Google开源出的一个Key/Value存储引擎,它采用C++编写的,支持高并发访问和写入,特别适合对于高写入业务环境。

4. SQLite

SQLite 是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。

其特点是高度便携、使用方便、结构紧凑、高效、可靠。 与其他数据库管理系统不同,SQLite 的安装和运行非常简单,在大多数情况下 -

只要确保SQLite的二进制文件存在即可开始创建、连接和使用数据库。

5.UnQLite

UnQLite是,由Symisc

Systems公司出品的一个嵌入式C语言软件库,它实现了一个自包含、无服务器、零配置、事务化的NoSQL数据库引擎。UnQLite是一个文档存储

数据库,类似于MongoDB、Redis、CouchDB等。同时,也是一个标准的Key/Value存储,与BerkeleyDB和LevelDB等

类似。

JAVA的常用的类库有哪些?

一、日志相关类库

日志库是很常见的,因为你在每一个项目中都需要他们。打印日志是服务器端应用中最重要的事情,因为日志是你了解你的程序发生了什么的唯一途径。尽管JDK附带自己的日志库,但是还是有很多更好的选择可用,例如 Log4j 、 SLF4j 和 LogBack。

Java开发人员应该熟悉日志记录的利弊, 并且了解为什么SLF4J要比Log4J要好。

二、JSON解析库

在当今世界的web服务和物联网中(IoT),JSON已经取代了XML,成为从客户端到服务器传送信息的首选协议。有一个好消息和一个坏消息。坏消息 是JDK没有提供JSON库。好消息是有许多优秀的第三方库可以用来解析和创建JSON消息,如 Jackson 和 Gson

一个Java web开发人员应该熟悉Jackson 和 Gson这两种中的至少一种库。

三、单元测试库

单元测试技术的使用,是区分一个一般的开发者和好的开发者的重要指标。程序员经常有各种借口不写单元测试,但最常见的借口就是缺乏经验和知识。常见的单测框架有 JUnit , Mockito 和PowerMock 。

《2020最新Java基础精讲视频教程和学习路线!》

四、通用类库

有几个很好的第三方通用库可供Java开发人员使用,例如 Apache Commons 和 Google Guava 。我会经常在我的代码中使用这些通用类库,因为这些类库都是经过无数开发者实践过的,无论是实用性还是在性能等方面都是最佳的。

五、Http 库

我不是很喜欢JDK的一个重要原因就包括他们缺乏对HTTP的支持。虽然可以使用java.net包类,但是这和直接使用像 Apache HttpClient 和 HttpCore 等开源类库比起来麻烦太多了。

尽管JDK 9将开始HTTP 2.0,也对HTTP的支持做了优化,但是我还是强烈建议所有的Java开发人员熟悉流行的HTTP处理类库,例如HttpClient和HttpCore HTTP等库。

六、XML解析库

市面上有很多XML解析的类库,如 Xerces , JAXB , JAXP , Dom4j , Xstream 等。 Xerces2是下一代高性能,完全兼容的XML解析工具。Xerces2定义了 Xerces Native Interface (XNI)规范,并提供了一个完整、兼容标准的 XNI 规范实现。该解析器是完全重新设计和实现的,更简单以及模块化。

七、Excel读写库

许多应用程序需要提供把数据导出到Excel的功能,如果你要做相同的Java应用程序,那么你需要 Apache POI API 。

这是一个非常丰富的类库,你可以从Java程序读写XLS文件。

八、字节码库

如果你正在编写一个框架或者类库。有一些受欢迎的字节码库如 javassist 和 Cglib Nodep 可以供你选择,他们可以让你阅读和修改应用程序生成的字节码。

Javassist使得JAVA字节码操作非常简单。它是一个为编辑Java字节码而生的类库。 ASM 是另一个有用的字节码编辑库。

九、数据库连接池库

如果你的Java应用程序与数据库交互不是使用数据库连接池库的话,那么你就大错特错了。因为在运行时创建数据库连接非常耗时并且会拖慢你的程序。所以墙裂建议使用,有些好用的连接池可供选择,如 Commons Pool 和 DBCP 。

在web应用程序中,web服务器通常提供了这些功能。但是在java项目中需要把数据库连接池的类库导入到应用中。

十、消息传递库

像日志和数据库连接池一样,消息传递也是很多实际的Java项目中必备的。Java提供了JMS Java消息服务,但这不是JDK的一部分,你需要单独的引入jms.jar。类似地,如果您准备使用第三方消息传递协议, Tibco RV 是个不错的选择。

十一、PDF处理库

除了Excel和Word,PDF也是一种常用的文件格式。如果你的应用程序要支持PDF格式的文件处理,你可以使用 iText 和 Apache FOP 类库。两者都提供了非常有用的PDF处理功能。

十二、日期和时间库

在Java之前,JDK的日期和时间库一直被人们所诟病,比如其非线程安全的、不可变的、容易出错等。很多开发人员会选择更好用的 JodaTime 类库。

但是在Java8推出之后,我们就可以彻底放弃JodaTime了,因为Java 8提供了其所有功能。但是,如果你的代码运行在一个低版本的JDK中,那么JodaTime还是值得使用的。

十三、集合类库

虽然JDK有丰富的集合类,但还是有很多第三方类库可以提供更多更好的功能。如 Apache Commons Collections 、 Goldman Sachs collections 、 Google Collections 和 Trove 。Trove尤其有用,因为它提供所有标准Collections 类的更快的版本以及能够直接在原语(primitive)(例如包含int 键或值的Map 等)上操作的Collections 类的功能。

FastUtil是另一个类似的API,它继承了Java Collection Framework,提供了数种特定类型的容器,包括映射map、集合set、列表list、优先级队列(prority queue),实现了java.util包的标准接口(还提供了标准类所没有的双向迭代器),还提供了很大的(64位)的array、set、list,以及快速、实用的二进制或文本文件的I/O操作类。

十四、邮件API

javax.mail 和 Apache Commons Email 提供了发送邮件的api。它们建立在JavaMail API的基础上,提供简化的用法。

十五、HTML解析库

和XML与JSON类似,HTML是另外一种我们可能要打交道的传输格式。值得庆幸的是,我们有jsoup可以大大简化Java应用程序使用HTML。你不仅可以使用 JSoup 解析HTML还可以创建HTML文档。

十六、加密库

Apache Commons家族中的 Commons Codec 就提供了一些公共的编解码实现,比如Base64, Hex, MD5,Phonetic and URLs等等。

十七、嵌入式SQL数据库库

我真的是非常喜欢像 H2 这种内存数据库,他可以嵌入到你的Java应用中。在你跑单测的时候如果你需要一个数据库,用来验证你的SQL的话,他是个很好的选择。顺便说一句,H2不是唯一嵌入式DB,你还有 Apache Derby 和 HSQL 可供选择。

十八、JDBC故障诊断库

有不错的JDBC扩展库的存在使得调试变得很容易,例如P6spy,这是一个针对数据库访问操作的动态监测框架,它使得数据库数据可无缝截取和操纵,而不必对现有应用程序的代码作任何修改。 P6Spy 分发包包括P6Log,它是一个可记录任何 Java 应用程序的所有JDBC事务的应用程序。其配置完成使用时,可以进行数据访问性能的监测。

十九、序列化库

Google Protocol Buffer是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。

二十、网络库

一些有用的网络库主要有 Netty 的和 Apache MINA 。如果您正在编写一个应用程序,你需要做的底层网络任务,可以考虑使用这些库。

这都是每位Java开发人员应该熟悉的,并且十分有用的库。Java生态系统非常庞大的,你会发现有很多不同的类库可以做不同的事情。每个你想到的东西,都可能有一个库可以做到。

要相信,你遇到的问题,肯定不止你一个遇到过。

要相信,也许有很多人比你更勤奋。

要相信,你用或不用,轮子就在那里。

要相信,使用这些类库,你和你的代码都会变得更好。

原文链接:

大三分方向了。嵌入式、java选择哪个呢?

如果有毅力,我建议选嵌入式,花两个月强化C语言,可参考,C和指针,C陷阱与缺陷等书。嵌入式需要对硬件熟悉,在大三,在ARM,51等体系结构和Linux上多下功夫。

如果感觉毅力不行,那就选JAVA,易学,工作上手快。

java写的带数据库的程序如何在没安装数据库的系统上运行

你的问题应该从两个方面进行分析

第一、使用java内嵌式数据库

在程序中使用

Derby和HSQLDB等java内嵌式数据库,只需在程序中将数据库配置好即可,是程序专用的。

可以达到你所说的java数据库程序不需要配置在任何机器上运行。

但是,内嵌式数据库的处理能力很低,只适合小数据量的程序使用。

第二、使用Oracle、MSSql、MySql等数据库

首先这些数据库软件需要安装,即使不在本机安装也需要在一台可以访问到的机器上安装,然后使用jdbc访问。

如果程序安装在已经安装这些数据库的机器上,你只需要将程序的数据库访问指向本机即可。

但是,在本机安装数据库的机器很少,大部分都是访问网络上的数据库,这就需要你引入配置文件。

在配置文件中进行参数配置。当然,你可以写一些默认配置,当实际环境与默认配置不同时就需要修改默认配置。

所以说不用配置的程序其实是符合你默认配置的程序,你需要根据不同的系统或环境组织自己的默认配置文件。

没有万能的东西,只能是适应大部分,而且需要你在编写程序时提前考虑针对各种运行环境的变化。

有问题请留言吧

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。