0%

前言

因为公司项目的拓展,最近要招一些 Java 开发,我作为一面面试官来谈一下面试的感受。

我会从以下几个方面来聊聊面试这点事:

阅读全文 »

简介

Single Threaded Execution 有时也会被称之为 临界区。表示 临界区 内的代码同一时间内只允许一个线程执行,这个模式是并发编程的基础,对应 Java 中也就是同步代码块 synchronized,或其他显式锁 lock

使用场景

  • 多线程环境
  • 多个线程同时访问的共享资源
  • 这些线程会改变共享资源。

示例

阅读全文 »

今天介绍下,在 MySQLInnoDB 存储引擎中,事务隔离是如何实现的。

InnoDB 里面每个事务有一个唯一的事务 ID,叫作 transaction id。它是在事务开始的时候向 InnoDB 的事务系统申请的,是按申请顺序严格递增的。

对于数据库的每行记录,都会有三个隐藏字段:db_trx_id (事务 id)db_roll_pt (回滚指针)delete_flag(删除标记)。— 有懂的朋友,还望别细纠,其实 delete_flag 是在头信息中,这里是为了方便理解

对于 DML 操作来说:

  • INSERT:创建一条数据,db_trx_id 的值为当前事务 id, db_roll_ptnull
  • UPDATE:复制一行数据,将当前复制后这一行的 db_trx_id 置为当前事务的 iddb_roll_pt 是一个指针,指向复制前的那一条的。
  • DELETE:复制一行数据,将当前复制后这一行的 db_trx_id 置为当前事务的 iddb_roll_pt 是一个指针,指向复制前的那一条的。并把 delete_flag 置为 true
阅读全文 »

出现原因

对于 Oracle 而言, 每个表建立是, 都有一个属性为 initial, 表示此表占用的空间大小, 随着数据的新增, 此值也会一直增大, 但删除这个表的数据后, initial 也不会缩小. 所以使用时间越长, 每个表占用的空间都会很大.

且导出后, 其他机器再次导入, 也会占用其同样的 initial 大小.

阅读全文 »

更新文档地址为 http://docs.zhaojun.im/zfile , 请访问新地址。

前言

此项目是一个在线文件目录的程序, 支持各种对象存储和本地存储, 使用定位是个人放常用工具下载, 或做公共的文件库. 不会向多账户方向开发.

前端基于 h5ai 的原有功能使用 Vue 重新开发了一遍. 后端采用 SpringBoot, 数据库采用内嵌数据库.

预览地址: https://zfile.jun6.net
项目地址: https://github.com/zhaojun1998/zfile

阅读全文 »

前言

更新文档地址为 http://docs.zhaojun.im/zfile , 请访问新地址。

最近开发了一个在线网盘程序 ZFile, 支持各种对象存储、OneDrive、FTP、本地存储. 本文包含普通用户和宝塔用户的安装方式.

安装依赖

1
2
3
4
5
6
# CentOS系统
yum install -y java-1.8.0-openjdk unzip

# Debian/Ubuntu系统
apt update
apt install -y openjdk-8-jre-headless unzip
阅读全文 »