JVM 参数的含义
公司项目 jdk 版本为 1.8, JVM 参数是自定义设置的,gradle 中 JVM 配置如下(默认内存为 8 G):
applicationDefaultJvmArgs = ["-Xms1G", "-Xmx2G", "-Xss256k", "-Djava.awt.headless=true", "-Dfile.encoding=UTF-8", |
这是副标题
公司项目 jdk 版本为 1.8, JVM 参数是自定义设置的,gradle 中 JVM 配置如下(默认内存为 8 G):
applicationDefaultJvmArgs = ["-Xms1G", "-Xmx2G", "-Xss256k", "-Djava.awt.headless=true", "-Dfile.encoding=UTF-8", |
TreeSet 是一种可有序存放元素的集合,HashSet 是 value 为固定值的 HashMap,TreeSet 是 value 为固定值得 TreeMap。
公司项目目前使用 SOA 架构(Service-oriented architecture:服务导向架构),每个服务作为一个单体对外提供接口,服务之间使用 GitHub OpenFeign 调用接口。
服务提供者正常提供接口,把需要暴露的接口封装为一个 client jar 包,服务调用者正常引入 jar 包,直接调用 jar 方法即可调用服务提供者接口。此文相关代码示例
如果 jar 包在本地,只能每次手动导入,不太方便。可以使用以下方式搭建一个 Maven 仓库
jar 包本质上是一个静态文件,所以可以使用 GitHub 来存放,再利用 GitHub Pages 提供一个地址让其可直接访问下载。
最近打在打印日志这块栽了个跟头,发现日志这块掌握得还不太好,所以大概梳理一下。
其实 SLF4J 类似于 Commons Logging,也是一个日志接口,而 Logback 类似于 Log4j,是一个日志的实现。
今天面试遇到一个关于接口限流的问题:设计一个方案,保证每秒只有 10 个请求可以访问接口。不得不说,此问题可以很好的考察面试高级工程师岗位的候选人的过往经验。不过很遗憾,我原来并没有做过这方面的工作。
HTTP 是无状态协议,所以服务端如果需要记住登录用户,就需要维护一个 SessionId(Cookie) - Session 的键值对。Session 存放用户信息对象。用户信息对象作为 Session 的一个 Attribute。当浏览器请求中包含 Cookie 时,服务器就能识别出具体是哪个用户了。
HashMap 我们知道 HashMap 的数据结构是数组+链表,所以这个问题可以理解为数组+链表有什么优点?
我是这样在 Markdown 中插入截屏图片的:截屏到剪贴板后,直接在 Typora 中粘贴,iPic 将自动将图片上传到阿里云图床(对象存储)。我一直使用 Alfred 的 Clipboard History 功能查看截图大小,发现图片占内存都很大,全屏截图有 10 多 MB,就想着一定要找到一种方法来缩小截屏大小,不然我的阿里云图床费用得嗖嗖涨。