编程那点事编程那点事

专注编程入门及提高
探究程序员职业规划之道!

最新发布

elasticsearch启动报错:can not run elasticsearch as root
IT运维

elasticsearch启动报错:can not run elasticsearch as root

阅读(1271)

具体报错如下:[WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [unknown] uncaught exception in thread [main] org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root at org.elasticsearch.b...

七、 设计规约
Java编程

七、 设计规约

阅读(876)

1. 【强制】 存储方案和底层数据结构的设计获得评审一致通过,并沉淀成为文档。说明: 有缺陷的底层数据结构容易导致系统风险上升,可扩展性下降,重构成本也会因历史数据迁移和系统平滑过渡而陡然增加,所以,存储方案和数据结构需要认真地进行设计和评审,生产环境提交执行后,需要进行 double check。正例: 评审内容包括存储介质选型、表...

(三)服务器
Java编程

(三)服务器

阅读(1151)

1. 【推荐】 高并发服务器建议调小 TCP 协议的 time_wait 超时时间。说明: 操作系统默认 240 秒后,才会关闭处于 time_wait 状态的连接,在高并发访问下,服务器端会因为处于 time_wait 的连接数太多,可能无法建立新的连接,所以需要在服务器上调小此等待值。正例: 在 linux 服务器上请通过变更/etc/sysctl.conf 文件去修改该缺省值(秒) ...

(二)二方库依赖
Java编程

(二)二方库依赖

阅读(355)

1. 【强制】定义 GAV 遵从以下规则:1) GroupID 格式: com.{公司/BU }.业务线 [.子业务线],最多 4 级。说明: {公司/BU} 例如: alibaba/taobao/tmall/aliexpress 等 BU 一级; 子业务线可选。正例: com.taobao.jstorm 或 com.alibaba.dubbo.register2) ArtifactID 格式:产品线名-模块名。语义不重复不遗漏,先到中央仓库去查证一下。正...

elasticsearch启动报错:Unable to process Jar entry [META-INF/versions/9/module-info.class] from Jar [jar:file:log4j-api-2.11.1.jar!/] for annotations
Java编程

elasticsearch启动报错:Unable to process Jar entry [META-INF/versions/9/module-info.class] from Jar [jar:file:log4j-api-2.11.1.jar!/] for annotations

阅读(2706)

从字面上来说,就是无法处理log4j-api-2.11.1.jar的注解,就是说在当前的开发环境下,elasticsearch包含的log4j-api-2.11.1.jar版本过高了。再贴下相信的报错吧:严重: Unable to process Jar entry [META-INF/versions/9/module-info.class] from Jar [jar:file:/F:/Repository/org/apache/log...

(一)应用分层
Java编程

(一)应用分层

阅读(289)

【推荐】图中默认上层依赖于下层,箭头关系表示可直接依赖,如:开放接口层可以依赖于Web 层,也可以直接依赖于 Service 层,依此类推:开放接口层:可直接封装 Service 方法暴露成 RPC 接口; 通过 Web 封装成 http 接口; 进行网关安全控制、 流量控制等。终端显示层:各个端的模板渲染并执行显示的层。 当前主要是 velocity 渲染, JS 渲染...

(四)ORM 映射
Java编程

(四)ORM 映射

阅读(1115)

1. 【强制】在表查询中,一律不要使用 * 作为查询的字段列表,需要哪些字段必须明确写明。说明: 1) 增加查询分析器解析成本。  2) 增减字段容易与 resultMap 配置不一致。  3)无用字段增加网络消耗,尤其是 text 类型的字段。2. 【强制】 POJO 类的布尔属性不能加 is,而数据库字段必须加 is_,要求在 resultMa...

(三)SQL 语句
Java编程

(三)SQL 语句

阅读(173)

1. 【强制】不要使用 count(列名)或 count(常量)来替代 count(*), count(*)是 SQL92 定义的标准统计行数的语法,跟数据库无关,跟 NULL 和非 NULL 无关。说明: count(*)会统计值为 NULL 的行,而 count(列名)不会统计此列为 NULL 值的行。2. 【强制】 count(distinct col) 计算该列除 NULL 之外的不重复行数, 注意 count(distinctcol1, col...

(二)索引规约
Java编程

(二)索引规约

阅读(851)

1. 【强制】业务上具有唯一特性的字段,即使是多个字段的组合,也必须建成唯一索引。说明: 不要以为唯一索引影响了 insert 速度,这个速度损耗可以忽略,但提高查找速度是明显的; 另外,即使在应用层做了非常完善的校验控制,只要没有唯一索引,根据墨菲定律,必然有脏数据产生。2. 【强制】超过三个表禁止 join。需要 join 的字段,数据类...

(一)建表规约
Java编程

(一)建表规约

阅读(966)

1. 【强制】表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint(1 表示是, 0 表示否)。说明: 任何字段如果为非负数,必须是 unsigned。注意: POJO 类中的任何布尔类型的变量,都不要加 is 前缀,所以,需要在<resultMap>设置从 is_xxx 到 Xxx 的映射关系。数据库表示是与否的值,使用 tinyint 类型,...

专注编程入门及提高,探究程序员职业规划之道!