摘要:
简介 H2数据库是一个纯用java开发的开源数据库。只有一个类库(即只有一个2M大小的 jar 文件),可以直接嵌入到应用项目中。 已经了解并决定使用H2的小伙伴请跳过这里瞎扯,直接看到下面 使用h2数据库。 H2数据库有很多优点,官网是这么说的: Very fast, open source, J 阅读全文
摘要:
简介 可以跳过直接看测试结果 现在开发一个系统,常常会用到各种各样的模式(MVC,MVP,MVVM...等等)。就算没有全用过,也至少听说过用MVC模式来开发系统。 这时候就会用到各种 领域模型 (大佬总是喜欢用这么高大上的名字,个人理解就是有特殊用途或者特殊命名规范的java类,比如:DO,VO, 阅读全文
摘要:
简介 在JAVA开发过程中,经常会遇到字符串操作,对字符串的拼接操作更常见。 拼接字符串主要有以下几种方法: 1. "" + "" 2. "".concat("") 3. new StringBuilder().append() 4. new StringBuffer().append() 还有一个 阅读全文
摘要:
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot 致力于在蓬勃发展的快速应用开发领域(rapid applicati 阅读全文
摘要:
在多线程应用程序中经常会遇到线程同步的问题。比如:两个线程A、线程B可能会 “同时” 执行同一段代码,或修改同一个变量。而很多时候我们是不希望这样的。 这时候,就需要用到线程同步。 多线程引发的问题 为了演示多线程引发问题,我们模仿买票,写一个简单的小程序。 实现Runnable模拟买票 publi 阅读全文
摘要:
Java中线程的状态,是线程在生命周期中不同时间段的状态。举个例子,我们拿小白做作业的例子比作是一条线程要执行的任务。小白掏出作业还没有开始写作业,这就说明线程准备好了。小白开始动笔写了,他在写作业了,他在奋笔疾书的写作业了,这说明线程在运行状态。小白的弟弟小黑把他笔抢去捅蚂蚁洞了,现在小白没法做作 阅读全文
摘要:
线程池(英语:thread pool):一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。——百度百科 简单来说,线程池(thread pool)就像池子一样,不过池子 阅读全文
摘要:
线程(英语:thread)是操作系统能够进行运算调度的最小单位。大部分情况下,它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。——维基百科 简单来讲一个程序就是一个进程,而程序里又有很多功能,这些功能不可能 阅读全文
摘要:
链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。——维基百科 链表 如果将链表简单抽象成图片,大概长这样。 是不是跟链子很像?(好吧,不是很像)但是你细品,应该还是能发现链表跟你认识的某位 阅读全文
摘要:
Selenium是一个自动化测试框架。它可以通过操作一个驱动程序,模拟用户在浏览器上浏览网页的行为。一般是用来做自动化测试的。其实也可以用它来做网络爬虫(速度贼慢,也容易出现莫名其妙的错误)。 驱动下载 Selenium是通过驱动来操作控制浏览器的的。所以在使用前需要针对不同的浏览器平台下载对应的浏 阅读全文