- 博客(17)
- 收藏
- 关注
原创 从Java虚拟机规范看HotSpot虚拟机的内存结构和变迁
引言网上有大量讨论JVM的内存模型的文章,但很多内容都是到处摘抄而来,导致许多概念模糊不清。比如对于“JVM内存模型”和“Java内存模型(JMM)”没有区分,实际上,Java内存模型(JMM)是一种规范,和具体的Java虚拟机的内存结构不是一个概念,不应该把诸如“年轻代“、”老年代”这类关于虚拟机具体实现的讨论归为Java内存模型。而在具体讨论JVM的内存结构时,还应该指出,我们通常讨论的都是HotSpot虚拟机中的实现,这些模型并不是所有虚拟机通用的,比如“Perm Gen(永久代)”就是HotS
2021-03-27 00:34:43
344
原创 关于ACID,BASE和CAP定理的探究
文章目录前言事务和ACID从ACID到BASE从BASE到CAPCAP猜想网络分区(Network Partitions)CAP定理C(Consistency):一致性A(Availability):可用性P(Partition tolerance):分区容错性AP还是CP?对比Eureka和Zookeeper在CAP中的选择ACID,BASE和CAP的联系CP和ACID中一致性的区别AP和BASE中可用性的区别BASE是谁提出的?总结参考资料前言当我看到”根据CAP理论,由于分布式系统必须保证分区容错
2020-08-23 15:38:06
459
原创 HotCorner:让Windows 10拥有macOS的触发角特性!
文章目录简介软件功能下载安装卸载使用License作者FAQ简介macOS上有一个很方便的功能:“触发角”。通过这个功能可以设置当鼠标移动到屏幕的四个角时的触发事件,例如触发启动屏幕保护程序等,显示桌面等功能。和我们习惯的热键相对应,macOS将其称之为“Hot Corners(热角)”。笔者接下来要介绍的软件“HotCorner"就是用于让Windows系统拥有像macOS那样的触发角,实现下面动图展示的效果:当鼠标移动到屏幕的左上角时,自动打开Windows的时间轴试图,实现快捷切换任务。这个
2020-06-15 23:29:53
1698
原创 Java的字节流,字符流和缓冲流对比探究
文章目录一、前言二、字节操作和字符操作三、两种方式的效率测试3.1 测试代码3.2 测试结果3.3 结果分析四、字节顺序endian五、综合对比六、总结一、前言所谓IO,也就是Input/Output。Java程序跟外部进行的数据交换就叫做Java的IO操作。程序中数据的输入输出,被抽象为流, 按照相对于程序的流向,可分为输出流和输入流。 按照数据流的格式,可分为字节流和字符流。Java IO流的体系很庞大,功能丰富。本文主要探讨了Java中字节操作和字符操作的区别。二、字节操作和字符操作下图可以
2020-05-31 13:28:17
1124
原创 还在写CURD?试试这款基于mybatis-plus的springboot代码生成器
文章目录⚡Introduction✔️Release:star:Features:point_right:Quick Start:bulb:Examples1.Controller模板代码示例2.Service模板代码示例3.ServiceImpl模板代码示例⚡Introduction这是一个基于mybatis-plus官方的AutoGenerator代码生成器+定制代码模板的springbo...
2020-05-02 15:36:35
333
原创 使用docker安装codimd,搭建你自己的在线协作markdown编辑器
文章目录一、前言二、codimd是什么?2.1 源于hackmd的超好用markdown编辑器2.2 codimd的作用三、安装和使用3.1 安装前需要知道的3.2 安装步骤3.2.1 创建数据库3.2.2 安装git3.2.3 安装docker3.2.4 安装docker compose3.2.5 安装codimd3.2.6 检查是否安装成功3.2.7 放行端口3.2.8 测试使用3.3 开始写...
2020-04-30 21:45:16
7723
7
原创 Java是未来的第一编程语言吗?
[TOC]一、前言Java语言长期以来一直霸占多数热门编程语言榜单的榜首,可见这是一个备受程序员热捧的编程语言。Java语言具有什么魅力?想必这都是已经为大多数人们所熟知的了,不值得过多赘述。而Java语言发展至今,面对发展势头迅猛又十分简单易学的python,以及各种层出不穷的高级语言,Java程序员的份额已经逐步下降,那它是否还能在未来保持领先的优势呢?本文就主要从Java语言所不擅长...
2020-04-07 00:38:56
985
2
原创 Hadoop学习笔记-Hadoop入门和HDFS的原理(8月5号)
文章目录作者信息一.前言二.什么是Hadoop2.1 Hadoop的由来2.2 什么是分布式系统(distributed system)2.3 Hadoop的组成2.4 Hadoop的优点2.5 Hadoop的缺点2.6 Hadoop能够做什么2.7 Hadoop的生态圈三.什么是HDFS?3.1 大数据存储的难题3.2 HDFS的解决方案3.3 HDFS读写的基本单位:数据块3.3.1 **为...
2019-08-05 16:57:15
664
2
原创 Java 多线程编程学习笔记(7月16号)
文章目录作者信息前言一.什么是线程?1.1 进程和线程1.2 并发和并行1.3 上下文切换(Context Switch)二.创建线程的三种方式2.1 概述2.2 继承Thread类2.3 实现Runnable接口2.4 实现Callable接口2.5 三种方法的比较三.线程的生命周期3.1 概述3.2 新建3.3 就绪3.4 运行3.5 阻塞3.6 死亡四.线程的属性4.1 概述4.2 守护线...
2019-07-17 07:41:05
678
原创 Java 设计模式学习笔记(7月15号)
文章目录作者信息前言一.六大设计原则1.1 开闭原则(Open Close Principle,OCP)1.2 单一职责原则(Single Responsibility Principle,SRP)1.3 里氏代换原则(Liskov Substitution Principle,LSP)1.4 依赖倒置原则(Dependence Inversion Principle,DIP)1.5 接口隔离原则...
2019-07-16 22:15:01
290
原创 Java I/O 流学习笔记(7月14号)
文章目录作者信息前言一.Java中的File类1.1 什么是File?1.2 两种文件路径1.3 File类的三种构造方法1.4 File类常用方法1.5 List方法获取当前目录下的文件/文件名数组1.6 文件过滤器FilenameFilter二.Java中的I/O流2.1 什么是I/O流?2.2 处理流模型2.3 字节流和字符流有什么区别?2.4 I/O流的抽象基类输入流的抽象基类输出流的抽象...
2019-07-16 07:52:13
337
原创 数据库设计学习笔记(7月12号)
文章目录作者信息前言一.数据库设计的四个阶段1.1 需求分析1.2 概念模型设计1.3 逻辑模型设计1.4 物理模型设计二.数据库设计的规范2.1 第一范式(原子性)2.2 第二范式(消除部分依赖)2.3 第三范式(消除传递依赖)2.4 BC范式三.数据库关系建模3.1 概念模型3.2 逻辑模型3.3 物理模型四.数据库设计文档的图表4.1 ER图4.2 用例图4.3 数据流图4.4 系统流程图4...
2019-07-13 11:12:44
660
原创 数据库索引学习笔记(7月11号)
文章目录作者信息前言一.什么是数据库索引?1.1 什么是索引?1.2 索引的优点1.3 索引的缺点1.4 索引之外的解决方案二.数据库索引分类2.1 B-Tree索引2.2 哈希索引2.3 聚簇索引和非聚簇索引2.4 二级索引,辅助索引2.5 联合索引2.5.1 联合索引的最左前缀原理2.6 覆盖索引三.数据库索引的语法3.1 创建普通索引创建索引修改表结构(添加索引)创建表的时候直接指定3.2 ...
2019-07-11 22:07:20
306
原创 Http学习笔记(7月9号)
作者信息作者:黄钰朝邮箱:kobe524348@gmail.com日期:2019年7月8日前言一.基础网络原理1.1 网络分层模型http协议是一种网络协议,建立于计算机网络体系之上,因此在学习http协议之前,先了解一波网络的分层结构。主要有两种网络分层模型,OSI模型和TCP/IP模型。OSI模型一共分为七层,TCP/IP模型和OSI模型类似,但是只分为四层。1.1.1 O...
2019-07-11 08:06:57
909
原创 数据库基础语法和三大范式(7月10号)
文章目录作者信息前言一.基础查询语句1.1 查询元信息1.2 SELECT语句1.3 MySQL的通配符1.4 MySQL的正则表达式二.对数据的处理2.1 计算字段2.1.1 起别名2.1.2 拼接字段2.1.3 算术计算2.2 数据处理函数2.2.1 数值处理函数2.2.2 聚集函数2.2.3 时间处理函数2.3 排序2.4 分组2.5 过滤一些分组二.数据库设计三大范式2.1 第一范式(原子...
2019-07-11 07:53:19
226
原创 Linux学习笔记(7月8号)
文章目录作者信息一.Linux系统简介1.1 Linux系统的历史1.2 Linux系统的结构二.Linux的文件管理系统2.1 Linux中的文件2.2 Linux挂载2.3 Linux文件路径2.4 与文件操作相关的指令三.Linux用户管理系统3.1 用户和用户组3.2 UID和GID3.3 初始组和附加组3.4 /etc/passed文件3.5 用户系统相关的指令3.5.1 useradd...
2019-07-09 08:50:50
433
原创 Git学习笔记(7月6号)
内容摘要作者信息背景什么是版本库?提交相关的指令git add 的三种姿势git commit 的四种姿势git checkout 恢复工作区文件什么是版本管理?版本管理相关的指令git reset的三个参数soft,hard,mixed什么是分支?与分支有关的指令什么是远程仓库?远程仓库相关的指令冲突解决使用远程仓库应该注意的问题作者信息作者:黄钰朝邮箱:kobe524348@gmail...
2019-07-07 08:54:03
255
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人