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