JVM|内存区域介绍
Java 相较于 C++具有内存自动管理功能,内存管理是个宽泛的概念,它即指实例化对象是的内存分配又指 GC 回收无用的类、对象、变量等。随着 JVM 不断发展,JVM 内存区也在不断变化,这些变化在 Java 语言层面感知不到,因为字节码屏蔽了底层实现,了解 JVM 内存区域是深入学习 Java 的第一步,今天总结一下。
Java 相较于 C++具有内存自动管理功能,内存管理是个宽泛的概念,它即指实例化对象是的内存分配又指 GC 回收无用的类、对象、变量等。随着 JVM 不断发展,JVM 内存区也在不断变化,这些变化在 Java 语言层面感知不到,因为字节码屏蔽了底层实现,了解 JVM 内存区域是深入学习 Java 的第一步,今天总结一下。
操作 Excel 设置单元格样式是比较繁琐的,还有导入导出是设置的 Header 信息,为了简化这些操实现了如下工具类。工具类具有设置单元格的基本背景颜色、字体、字号、字体颜色、边框等,还实现了导入导出、磁盘读写 Excel。
这个工具类来源于我们项目的实践,简化了一些重复性的工作,欢迎尝试,欢迎提出问题。
环境 win10,idea 2019.3,git 2.23.0
在 Windows 中使用 idea 开发中 git 操作通常在 Git Bash 中进行,操作时总要打开一个 Bash 窗口(如下图),虽然对开发影响不大,但每次都去项目目录还是增加使用复杂性。
为了在每次使用 Git 时不打开这个窗口,可以对 idea 的 Terminal 进行改造,这样使用就方便许多了。不对 idea Terminal 改造也可以使用 Git,但终端是 Windows 的 CMD,对于一个习惯使用 Linux 总有些别扭。
改造后 idea 的终端运行的是 Git 的 Shell,可以使用 Linux 的常用命令,同时 Git 的操作输出也有色彩,开发体验直接起飞。
在使用 swagger 的时候有些注解没有正确使用会导致测试时不方便,导致测试时连数据都传入不到后端,或者 swagger 界面的接口显示了错误的输入组件,这些都是 swagger 的 Comtroller 注解使用的一些细节没有注意到,这篇文章主要针对这方面的注解进行总结,或许能解决使用 swagger 的一些小诟病。
Spring 的核心是 Ioc 容器和 DI(Dependence Injection)思想,这些提供了 java 对象的管理以及他们之间依赖的管理。bean 的管理是 Spring 自动管理的,而我们只需要使用一些注解(Annotion)。
常用的是 @Resource 和 @Autowired 以及 lambok 的构造器进行注入。
我们经常浏览网站,会发现很多网站上有这样的一个图标,点进去是很多 xml 格式的文本。
可能有很多人和我有一样的疑惑,见的很多却不知到它是什么,也不知道它的作用。我也属于好奇心比较强的人,经过一番搜索,解开了脑海中关于 RSS 的迷惑,觉得很有趣和实用。
这个小图标标识的功能是 RSS,通常是在博客或者社区类的网站上比较常见。RSS(Really Simple Syndication)是一种信息摘要技术,用来聚合网站的摘要信息,可以把它理解为一个菜谱的目录索引,它只提共文章的标题和内容摘要。
RESTful 是目前流行的 API 设计规范,遵守这套规范设计出的 API 可以较好的适用不同类型的客户端,例如:PC/Mobile/Pad…
RESTful 表现层状态转换(英语:Representational State Transfer,缩写:REST)是 Roy Thomas Fielding 博士于 2000 年在他的博士论文[1]中提出来的一种万维网软件架构风格,目的是便于不同软件/程序在网络(例如互联网)中互相传递信息。
MongoDB 是一种非关系型数据库(NoSQL, Not only SQL),相较于关系型数据库(RDBMS)使用较简单,没有冗杂的数据类型约束。
虽然 MongoDB 是 NoSQL,但它里面也有一些与关系型数据库对应的“名词”.
RDBMS | NoSQL |
---|---|
表/关系(table/rela) | 集合(collection) |
元组/记录 | 文档(document) |
列/字段(column/field) | 字段(field) |
主键(primary key) | _id(mongodb 默认) |
路由守卫用来跟踪和处理路由,路由守卫有前置路由守卫和后置路由守卫,分别是:beforeEach、afterEach,从他们的名字中可以清楚了解到,一个是在路由来临前触发,另一个是在路由结束后触发。
在开发中使用 beforeEach 比较多,因为在这个回调函数中可以对路由做很多预处理,例如:对登录进行安全验证,对特定路由拦截,对首页等公开资源进行放行等。
以 C 语言为例:
预处理阶段->编译阶段->汇编阶段->链接阶段
#include
及宏定义 #define
替换成其真正的内容链接方式: