Linux中Swap Space交换空间与创建

开发环境的虚拟机只分配了物理内存大小,物理内存有限且没有创建交换分区,系统总是杀进程导致服务挂掉。

Linux 可以创建 swap 交换分区,当内存不足时,把一部分磁盘空间虚拟成内存使用,在有限资源下提升系统效率。

阅读更多

Java 远程调试(Remote Debugging)

远程调试生产环境(或远程环境)的 Java 应用,以便快速定位某些在本地环境难以重现的问题。

远程部署的可能是个 Jar 包 或 Tomcat、Jetty 应用,若定位生产问题是通过反复修改 log 发包,效率就太低下了。

Java 提供了 JPDA 远程调试将本地源码与部署服务器连接,可以在本地控制断点的运行。

阅读更多

MySQL系列(27):查询数据库中各个表的容量及大小

1
2
3
4
5
6
7
8
9
10
11
12
SELECT
table_schema AS '数据库',
table_name AS '表名',
table_rows AS '记录数',
TRUNCATE (data_length / 1024 / 1024, 2) AS '数据容量(MB)',
TRUNCATE (index_length / 1024 / 1024, 2) AS '索引容量(MB)'
FROM
information_schema.TABLES
WHERE
table_schema = 'db_name' -- 数据库名字
ORDER BY
table_rows DESC;
阅读更多

设计模式:代理模式(Proxy)

代理模式 给某一对象提供一个代理对象,并由代理对象控制对原对象的引用。属于结构型模式。

代理模式在生活中有具体的表现,例如找代理售票点(或黄牛)买票,网络代理。

阅读更多

设计模式:享元模式(Flyweight)

享元模式 尝试复用同类或相似的对象,以共享方式高效地支持大量的细粒度对象,减少面向对象的系统设计中可能创建大量类或对象,以减少内存占用和提高性能。

享元模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。

面向对象设计可以很好地解决一些灵活性或可扩展性问题,但在大多数情况下需要在系统中增加类和对象的个数。当对象数量过多时,会占用较大内存,甚至导致内存溢出,运行代价过高,带来性能下降等问题。

阅读更多

Java基础:JDK8 Stream 的方法应用

JDK 8 的新特性中包含了一个新的 Stream API,可以写出高效、干净、简洁的代码。

Stream 操作将要处理的集合看作一种流,流在管道中传输,并且可以在管道的节点上进行处理, 比如筛选, 排序,归集等。

Stream 不是数据结构,并不保存数据,它的主要目的在于计算。

Lambda 和 Stream 存在的最大最大缺点是不好调试。不过 IDEA 2019 已集成了 Stream 的调试插件 Java Stream Debugger。

阅读更多
统一响应Json对象多了个success属性

统一响应Json对象多了个success属性

新项目,创建了一个统一响应的对象,有一个 isSuccess()的方法判断是否成功,然后发现响应结果中多了个 success属性。

然后在 Controller 层把要响应的数据直接 JSON 序列化输出,发出确实多了 success属性,可以定位是 JSON 序列化出了问题。

阅读更多
Intellij IDEA常用设置,快捷键,插件,注释模板配置

业务实践系列(10):【转】分布式场景下的OMS系统设计

编辑导语:OMS即订单管理中心,可以看作是电商系统的核心,其所需要具备的功能包括汇集数据、分发、跟踪汇总等等。那么,如何依据实际业务场景、搭建一个可支撑的、稳固强大的OMS系统?本文作者针对分布式场景下的OMS系统设计做了总结,一起来看一下。

阅读更多