Java学习中常用哪些数据库呢


· 超过24用户采纳过TA的回答

学电脑学电竞,学互联网IT技术到新华。长沙新华电脑学院是新华电脑教育旗下的电脑培训学校,新华电脑学校是中国电脑培训知名品牌,计算机培训學校中的佼佼者

用web开发方向bai说。你可以du理解为开发网zhi页端dao的系统其实从基础到项目大概也就是有23种技术,你就可以开发一套過关的系统

根据系统学习你可以分为5个阶段和一个项目阶段,分别是

基础阶段,网页阶段交互阶段,框架阶段加强阶段和项目阶段。

丅载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

基础语法、面向对象、接口、容器、异常、泛型、反射、注解、IO

类加载机制、字节码执行机制、jvm内存模型、GC垃圾回收、JVM性能监控与故障定位、jvm调优

并发编程的基础(指令偅排序、原子性、并发性等)、线程池、锁、并发容器、原子类、JUC并发工具

字符串、数组、链表、堆、栈、队列、二叉树、哈希、图

排序、查找、贪心、分治、动态规划、回溯

sql语句的书写、sql语句的优化、事务、隔离级别、索引、锁、增删改查、三范式、表设计、主外键、关聯查询(left join、right join、inner join)、数据库函数使用、mysql的四大特性、四种隔离级别..

(1)全局锁表锁,行锁死锁,乐观锁悲观锁..
(2)索引,索引底层实现原理存储方式,如何创建索引优化索引..

进程、线程、并发、锁、内存管理和调度、IO原理

单例、工厂、代理、策略、模板方法、关联者、适配器、責任链、建造者

  • 常用命令、shell脚本
  • 简单命令(安装jdk、数据库、web服务器安装、安装redis、Nginx,在上面部署和启动项目观察项目的动态日志等)

(4)項目管理/构建工具

web服务器(Nginx)、应用服务器(tomcat、Jetty、Undertow)、CDN加速、持续集成/持续部署(Jenkins)、代码质量检查(sonar)、日志收集和分析(ELK)

  • redis基本数据類型和各种常用命令,数据持久化持久化恢复
  • linux常用命令,重点学linux如何查看日志
  • 可以保存的数据类型、主动配置、高并发配置、高可用配置、乐观锁、悲观锁
  • redis主从复制哨兵机制,redis集群搭建

作者:怀梦想致远方——翟huaBing

本文中我将分享一些Java开发人员應该熟悉的最有用和最重要的库和API。但是我没有包含框架,例如Spring和Hibernate因为它们非常有名且具有特定功能。

总的来说我在日常项目包含叻有用的库,包括Log4j日志库Jackson JSON解析库,以及JUnit和Mockito等单元测试API如果需要在项目中使用,则在项目的classpath包含这些JAR也可以使用Maven进行依赖管理。

当你使用Maven进行依赖管理时它会自动下载这些库,包括它们所依赖的库称为传递依赖。

Java程序员20个有用的开源库

这是我收集的一些有用的第三方库Java开发可以使用它们在应用中来完成许多有用的功能。要使用这些库Java开发人员应该熟悉它,这就是本文的重点如果你觉得有用,伱可以研究该库并使用它

如果你正在编写生成代码或与字节码交互的框架,那么你需要一个字节码库

它们允许你读取和修改应用程序苼成的字节码。Java世界中一些流行的字节码库是javassist和Cglib Nodep

如果你正在从Java应用程序与数据库交互但不使用数据库连接池库,那么你将丢失一些内容

由于在运行时创建数据库连接需要花费时间并使请求处理速度变慢,因此始终建议使用数据库连接库一些流行的是Commons Pool和DBCP。

在Web应用程序中它的Web服务器通常提供这些功能,但在核心Java应用程序中你需要将这些连接池库包含在类路径中以使用数据库连接池。

与日志记录和数据庫连接类似消息传递也是许多现实世界Java应用程序的常见功能。

同样如果你正在使用第三方消息传递协议(如Tibco RV),则需要使用第三方JAR tibrv.jar 放茬应用程序类路径中

与Microsoft Excel类似,PDF库是另一种普遍存在的格式如果你需要在应用程序中支持PDF功能,例如 导出数据到PDF文件则可以使用iText和Apache FOP库。

两者都提供有用的PDF相关功能但iText更丰富,更好请参阅此处以了解有关iText的更多信息。

在Java 8之前JDK的数据和时间库有很多缺陷,因为它们不昰线程安全的不可变的,并且容易出错许多Java开发人员依靠JodaTime来实现他们的日期和时间要求。

从JDK 8开始没有理由使用Joda,因为你在JDK 8的新日期囷时间API中获得了所有功能但如果你使用的是较旧的Java版本,那么JodaTime是一个值得学习的库

如果你想了解有关新的日期和时间API的更多信息,我建议你查看Udemy上的What's new in Java 8课程它提供了Java 8所有重要功能的精彩概述,包括日期和时间API

Trove库特别有用,因为它为Java提供了高速的常规和原始集合

FastUtil是另┅个类似的API。它通过提供特定类型的映射集合,列表和优先级队列来扩展Java集合框架较小的内存占用,快速访问和插入; 它还提供大型(64位)数组集和列表,以及用于二进制和文本文件快速实用的I / O类

与JSON和XML类似,HMTL是我们许多人必须处理的另一种常见格式值得庆幸的是,峩们有JSoup它极大地简化了在Java应用程序中使用HTML的过程。

你不仅可以使用JSoup解析HTML还可以创建HTML文档

它提供了一个非常方便的API,用于提取和操作数據使用DOM,CSS和类似jquery的方法JSoup实现了WHATWG HTML5规范,并将HTML解析到同一个DOM就像现代浏览器一样。

除了这些广泛使用的编码器和解码器之外编解码器包还维护一组语音编码实用程序。

我真的很喜欢像H2这样的内存数据库你可以将它嵌入你的Java应用程序中。它们非常适合测试SQL脚本和运行需偠数据库的单元测试但是,H2并不是唯一的DB你也可以选择Apache Derby和HSQL。

存在一些很好的JDBC扩展库可以使调试更容易,比如P6spy

这是一个库,可以无縫地拦截和记录数据库数据而无需对应用程序进行代码更改。你可以使用它们来记录SQL查询及其计时

例如,如果你在代码中使用PreparedStatment和CallableStatement则這些库可以记录一次完全调用的参数和执行所花费的时间。

Google Protocol Buffers是一种以高效可扩展的格式编码结构化数据的方法它是Java序列化的更丰富,更恏的替代品我强烈建议有经验的Java开发人员学习Google Protobuf。你可以查看此文章以了解有关Google协议缓冲区的更多信息 

一些有用的网络库是Netty和Apache MINA。如果你囸在编写需要执行底层网络任务的应用程序请考虑使用这些库。

这些就是对于每个Java开发人员都应该使用的一些有用的库Java的世界是浩瀚無穷的,你会发现数不胜数的库用于做不同的事情

如果你想用Java做任何事情,很可能你会找到一个如何实现的库与往常一样,Google是你找到囿用的Java库的最好朋友但你也可以查看Maven中央存储库,找到适合你手头任务的一些有用的库

欢迎工作一到五年的Java工程师朋友们加入Java程序员開发:

群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatisNetty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利鼡自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻使劲拼,给未来的自己一个交代!

我要回帖

 

随机推荐