我有一个程序,它不断从网站获取信息并不断更新。截至目前,我将所有信息存储在arraylist
中,然后当我完成后,我将其写入文本文件。
我需要操纵这些信息;但是,它创建了一个庞大的文本文件,我不能经常读取和写入文本文件的信息,因为它需要太长时间。所以有人告诉我要研究使用数据库。我曾经使用过的唯一一个数据库是一个网站的MySQL数据库,而不是java。
有没有办法让数据库本地化?就像在我的电脑上一样(当我是唯一一个在我的电脑上访问这些信息的人时,不想支付网络托管费用)?我看了一点SQLite,但我看到的一件事是它不允许并发。我正在考虑对我的程序进行多线程处理,并让它同时读写不同的部分。这可能吗?
基本上我在这里要求的是:
答案 0 :(得分:8)
听起来你的朋友是正确的,数据库可以极大地帮助你提高性能。
*用于访问数据库的API - 例如发送查询和检索结果 - 通常是相同的,但JDBC无法隐藏SQL之类的差异。如果你使用像Hibernate这样的ORM,它通常可以更容易地处理数据库之间的所有小的不兼容性。
答案 1 :(得分:1)
您需要可嵌入的Java数据库,例如HSQL
答案 2 :(得分:0)
在JVM中嵌入SQL数据库有多种选择,例如: Derby
答案 3 :(得分:0)
您真正需要的是嵌入式Java数据库,您可以在此处找到大量列表:Java Embedded Databases Comparison