LangInteger

Home

Spring-to-tell 之基于 XML 配置文件的启动流程

Bean 的管理是 Sping 框架中的核心内容。在 Spring 中,Bean 被抽象为 BeanDefinition 这种数据结构,其定义完整描述了我们在配置文件中定义的 \ 节点中的所有信息,包括各种属性、各种类型的子节点。Spring 对 Bean 的管理就是围绕 BeanDefination 来展开的。根据 Bean 来源的不同,Spring 的启动围绕各种定义了 Bean 的资源文件、注解去展开。本文从最基础的形式开始,主要讲述基于 XML 配置文件的 Spring IOC 容器的启动流程。

Lambda 表达式

讲讲 java 中 Lambda 表达式的那些故事。

Spring Data JPA 简明教程

JPA 是为了整合第三方 ORM 框架建立的一套标准接口,统一了数据持久化存储的相关操作。程序员只需学习一套统一的 JPA api,而不必关心底层去做事情的 ORM 框架到底是谁。
Hibernate 等 ORM 框架是 JPA 的底层实现,本身提供了一些 CRUD 功能,但是包含业务逻辑的数据库访问操作仍然需要手写 sql 语句来实现,而 Spring-data-jpa 则提供了进行了更强大的功能,封装了一定的业务逻辑功能,最大程度上减少了手写 sql。

Spring @Transactional两三事

事务是指访问并可能更新数据库中各种数据项的一系列操作,这些操作要么全部成功,要么全部失败。如果说一个数据库支持事务,那么该数据库必须要具备ACID四个特性。亦即:

  • 原子性(Atomicity):事务包含的操作要么全部成功,要么全部失败
  • 一致性(Consistency):事务操作使数据库从一个一致性状态变换到另一个一致性状态
  • 隔离性(Isolation):多个用户并发访问数据库时,每个并发事务之间会互相隔离,不会互相干扰。
  • 持久性(Durability):事务操作对数据库中数据的改变是永久性的。
    由此又引出事务的隔离级别、不同隔离级别会产生的不同毛病等问题。
    在Spring中使用这些概念的时候,可能会和Spring中的一些具体的定义产生混淆,在此记录。

线性表顺序映像的Java实现

本例中线性表顺序映像实现难点主要在于实现线性表的add函数,借鉴JDK源码中的空间扩增方式,每次增加原有容量的一半。由于标记线性表大小的size变量为int类型,故需要考虑size值溢出的情况。

条条大路通罗马 —— Java 路径漫谈

编写 Java 程序,无论是 Java EE 还是 SE ,和各种程序外资源打交道都蛮多的。本文对 Java 程序中的路径问题进行一定探索,帮助 Javaer 不迷路。

天下还有免费的午餐--Heroku初体验

作为最早的云服务平台之一,经过十年的努力,Heroku 终于在 2018 年引起了我的注意(做不要脸状)。本文主要介绍在 Heroku 平台上部署运行在 Jetty 容器中的 Java Web 应用的过程以及踩的那些坑。最终的成果见 langexample

Java 爬虫: 8021 招聘网站漫游指南

已经是 8021 年了,找工作也需要用数据来作为支撑,当然,我的决定权也是很重要滴。出于这种想法,一股来自东方的神奇力量开始了使用 Java 对 BOSS 直聘、拉钩、猎聘等网站的漫漫爬取之路。