LeeQingShui's Blog

  • 标签

  • 分类

  • 归档

  • 关于

Java 之 JDBC、数据库连接池及 DBUtils 工具

发表于 2019-03-16 | 更新于 2024-04-06 | 分类于 Java 基础
本文字数: 8.4k | 阅读时长 ≈ 12 分钟

  此文待重构。

JDBC

什么是 JDBC ?

  JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行 SQL 语句的 Java API(Application Programming Interface),可以为多种关系数据库提供统一访问,它由一组用 Java 语言编写的类和接口组成。JDBC 提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,是连接数据库和Java应用程序的纽带。

阅读全文 »

(四)Spring 事务管理

发表于 2019-03-16 | 更新于 2023-07-26 | 分类于 Java Web 框架
本文字数: 13k | 阅读时长 ≈ 19 分钟

前言

  在实际开发中,操作数据库时都会涉及到事务管理问题,为此 Spring 提供了专门用于事务处理的API。
  Spring 的事务管理通过 AOP 的思想简化了传统的事务管理流程,并在一定程度上减少了开发者的工作量。
  在 Spring 中,提供事务管理的jar包为spring-tx。

阅读全文 »

Java 反射

发表于 2019-03-14 | 更新于 2022-06-21 | 分类于 Java 基础
本文字数: 6.4k | 阅读时长 ≈ 9 分钟

序言

  人类总是趋利避害的,我们会对微笑的人产生亲切感,对抱怨的人产生厌恶感。
  既然人类存在分辨思维,可以对不同的行为作出不同的反应,那么思考一个问题——程序具有思考决策的能力吗?
  世上唯一不变的就是变化,只有变化才能进化,进化才能适应未来,既然如此——程序应当具有思考决策能力。
  那么,作为 Java 程序,又是通过什么机制来实现这种能力的呢?
  反射而已。

什么是反射?

  在计算机科学中,反射是指计算机程序在运行时(Run time)可以访问、检测和修改它本身状态或行为的一种能力。用比喻来说,反射就是程序在运行的时候能够“观察”并且修改自己的行为。

  要注意术语“反射”和“内省)”(type introspection)的关系。内省(或称“自省”)机制仅指程序在运行时对自身信息(称为元数据)的检测;反射机制不仅包括要能在运行时对程序自身信息进行检测,还要求程序能进一步根据这些信息改变程序状态或结构。

阅读全文 »

Java 网络编程

发表于 2019-03-13 | 更新于 2023-08-19 | 分类于 Java 基础
本文字数: 6.6k | 阅读时长 ≈ 9 分钟
  此文待重构

  在使用 Java 进行网络通信之前,我们需要先了解一些网络的概念。

阅读全文 »

Java IO

发表于 2019-03-12 | 更新于 2024-04-06 | 分类于 Java 基础
本文字数: 9k | 阅读时长 ≈ 13 分钟

  输入 / 输出是在主存和外部设备(例如磁盘驱动器 、终端和网络 ) 之间复制数据的过 (I/O) 程:

  • I(输入操作):从 I/O 设备复制数据到主存
  • O(输出操作):从主存复制 数据到 I/O 设备

  在 Java 中, I/O 大概可以分成:

  • 磁盘操作:File
  • 字节操作:InputStream 和 OutputStream
  • 字符操作:Reader 和 Writer
  • 对象操作:Serializable
  • 加强版:NIO
阅读全文 »

(三)Spring 数据库开发

发表于 2019-03-11 | 更新于 2022-11-15 | 分类于 Java Web 框架
本文字数: 3.1k | 阅读时长 ≈ 4 分钟

序言

  早期的互联网,JDBC 是访问数据库的主流选择,后面随着技术的不断发展,Hibernate、Mybatis 等 ORM 框架成为了更好选择。

  JDBC 存在什么缺陷,为什么使用 ORM 框架去替代它呢?

  Spring 和 ORM 框架又是什么关系?

  下面,跟随本文来了解下吧!

阅读全文 »

Java 中的多线程

发表于 2019-03-11 | 更新于 2025-01-10 | 分类于 Java 基础
本文字数: 14k | 阅读时长 ≈ 21 分钟

序言

  当我们启动一个应用程序的时候,根据不同应用场景的需要,主线程通常需要承担很多串行任务,比如:

  • 更新数据库
  • 读取一个文件
  • 执行一些计算
  • 访问一个 Web 服务
  • 接收一个用户的输入信息
  • 显示一个针对某用户的响应信息
  • 等等

  若每个操作的耗时都只是毫秒级的话,其实没有必要引人额外的执行流程,单线程就已经足够用了。
  然而在大多数实际的应用程序中,很多操作的执行速度并没有这么快,某些计算的执行时间甚至需要几秒到几分钟不等。例如,某些需要从 Web 服务中获取数据的请求可能会遭遇网络延迟,所以执行线程就只好等待对端响应到达后才能继续执行。当单线程的应用程序遇到这种情况时,由于主线程被挂起在某个操作上,所以该应用程序的用户将无法与之进行交互或中断其当前任务的执行。
  发生这种情况自然是我们不愿意看到的,因为用户的体验不好,为了让用户获得更好的体验,我们希望应用程序应当拥有这种能力——能够执行的更快,以使得请求响应时间缩短。

  这个时候,就我们就想到了使用多线程程序,不过编写多线程程序之前,我们得先了解一些概念。

阅读全文 »

Java之异常

发表于 2019-03-10 | 更新于 2022-06-21 | 分类于 Java 基础
本文字数: 2.6k | 阅读时长 ≈ 4 分钟

前言

  在理想状态下,用户输入数据的格式永远都是正确的,选择打开的文件也一定存在,并且永远不会有 Bug。
  但现实却往往很残酷,程序总会碰到不良的数据或在执行中出现 Bug 。。。

阅读全文 »

Java 泛型

发表于 2019-03-09 | 更新于 2023-08-14 | 分类于 Java 基础
本文字数: 3.5k | 阅读时长 ≈ 5 分钟

什么是泛型?

  泛型程序设计(generic programming)是程序设计语言的一种风格或范式。泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。Ada、Delphi、Eiffel、Java、C#、F#、Swift) 和 Visual Basic .NET 称之为泛型(generics);ML、Scala 和 Haskell 称之为参数多态(parametric polymorphism);C++ 和 D称之为模板)。具有广泛影响的1994年版的《Design Patterns》一书称之为参数化类型(parameterized type)。

阅读全文 »

浅析 SSH 协议远程免密登录

发表于 2019-03-08 | 更新于 2024-10-07 | 分类于 协议
本文字数: 5k | 阅读时长 ≈ 7 分钟

序言

  我们经常会通过SSH命令登录远程服务器,那么:

  • SSH是什么?
  • SSH做了什么事情?
  • 为什么有的人不需要输入密码就能直接登录?这个过程又发生了什么?

  跟随本文来研究下这些问题吧!

阅读全文 »

1…91011…15
LeeQingShui

LeeQingShui

144 日志
16 分类
68 标签
RSS
© 2018 – 2025 LeeQingShui | 站点总字数: 846k
赣 ICP 备 2022002212 号
本站已运行
本站总访问量 次 | 本站访客 人次
0%