使用 Checkstyle 检查代码风格

"一千个读者眼中有一千个哈姆雷特". "一千个开发者键盘之下, 可能有一千零一种代码风格". 背景 本文所有代码可以从 GitHub 获得. 每个开发者都会有自己喜欢的代码风格, 但当多个开发者需要协作开发一个项目的时候, 如何避免产生图中这样的"圣战"呢. Checkstyle 是一款能够帮助开发者编写遵循一定规范的 Java 代码的工具. 它默认支持 Google 的代码风格规范和 Sun 的代码风格规范, 这两种风格规范和大多数开发者平时使用的代码风格比较相近, 因此通常能够被大多数开发者...阅读全文

掘金 2018-10-21 00:00 掘金

基于SonarQube代码质量检查工具总结

作者 陈彩华 文章转载交流请联系 caison@aliyun.com 复制代码最近公司引入了代码自动检查平台,技术选型是选择SonarQube,总结如下: 1 概述 SonarQube(sonar)是一个开源平台,用于管理源代码的质量。 SonarQube不只是一个质量数据报告工具,更是代码质量管理平台。 支持java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等等二十几种编程语言的代码质量管理与检测。 SonarQube可以从以下七个维度检测代码...阅读全文

掘金 2018-07-26 00:00 掘金

在腾讯的伤口上撒老干妈,B站成为最大赢家

首先要用严肃的态度来吃这个活泼的瓜。  我先梳理一下整件事情的来龙去脉,然后分析一下,为什么说B站是最后的赢家。  当然这只是我个人的看法。  整个事件的过程并不复杂,大概分为四步。  第一步,6月29日,深圳市南山区人民法院发布了一则民事裁定书,同意腾讯请求查封、冻结老干妈名下价值约1624万元的资产。  是这则裁定书突然闯入了热搜的眼帘。  至于为什么闯入,大概真的比较魔幻,一个做游戏和咨询和社交的,怎么和一个做辣椒酱的杠上了呢?​▲法院裁定书  后来腾讯公司回应了这件事,给广大人民群众解释...阅读全文

java技术圈 2020-07-02 15:29:28 CORNERSTONE

To B产品经理的核心技能是什么?

ToB产品经理的核心技能,确实跟其他产品经理的核心技能有很大的区别。 核心能力1:对行业、职能、流程的了解、尊重。 在ToB领域,对线下业务的了解,永远都是第一位。请永远记住,你所做的事情,就是把线下已经固有存在了很多年的业务,用更加合适的方式在线上描述出来,优化掉,做好,再呈现到客户面前。 随之而来的是,必须建立起对线下已有行业、职能、流程的了解和尊重。请永远记住,你被苹果砸中一个念头迸发出的所谓创新——其实早已经被这些行业、职能、流程验证过千百遍了。甚至可以说一句——如果你...阅读全文

java技术圈 2020-07-01 15:21:52 CORNERSTONE

TCP、UDP数据包大小的限制_灿哥哥的博客

1、概述 首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层。    其中以太网(Ethernet)的数据帧在链路层    IP包在网络层    TCP或UDP包在传输层    TCP或UDP中的数据(Data)在应用层    它们的关系是 数据帧{IP包{TCP或UDP包{Data}}}        不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。数据封装成帧后发到传输介质上,到达目的...阅读全文

CSDN博客_udp包最大长度 2016-05-29 10:27 CSDN博客_udp包最大长度 等

TCP UDP包大小分析

1.关于MTU  MTU最大传输单元,这个最大传输单元实际上和链路层协议有着密切的关系,EthernetII帧的结构DMAC+SMAC+Type+Data+CRC由于以太网传输电气方面的限制,每个以太网帧都有最小的大小64Bytes最大不能超过1518Bytes,对于小于或者大于这个限制的以太网帧我们都可以视之为错误的数据帧,一般的以太网转发设备会丢弃这些数据帧。      由于以太网EthernetII最大的数据帧是1518Bytes这样,刨去以太网帧的帧头(DMAC目的MAC地址48bits...阅读全文

关于HTTP的Content-Length与Chunk编码方式_YotWei-CSDN博客_content

最近在学习netty,里面提到了一个TCP拆包粘包的问题,查阅资料了解到了几种解决的办法,例如 使用特殊分隔符 定长数据帧以及 自定义消息头+消息体,在消息头中定义数据包的长度 关于最后一种实现手段,最典型的代表就是我们常见的HTTP协议。 关于Content-Length Content-Length是HTTP头部的一个字段,用于表示HTTP的body数据的长度。但是在HTTP 1.0的时候,Content-Length字段可有可无,因为HTTP 1.0的每一个网络请求都是短连接,在发起TCP...阅读全文

length chunk 2018-07-18 16:55 length chunk

项目没有进度管理,都是瞎忙!

没有任何一个项目能轻而易举的成功。但是你却可以努力去争取更大的成功率,靠的便是精心设计、并且行之有效的流程管理。本文重点介绍项目管理的十大流程,让你项目控制的更得心应手,为你的项目全程保驾护航。 其实,只要项目的流程搞清晰了,项目进度管理就不再是难事。项目的发展,首先要关注的就是以下十个关键的流程点: 1、生命周期与方法论 这是项目的纪律,为项目开展划出了清晰的界限,以保证项目进程。生命周期主要是协调相关项目,而方法论为项目进程提供了持续稳定的方式方法。 生命周期通常由项...阅读全文

java技术圈 2020-06-29 15:47:38 CORNERSTONE

Filter、FilterChain、FilterConfig 介绍

一、Filter 的基本工作原理 1、Filter 程序是一个实现了特殊接口的 Java 类,与 Servlet 类似,也是由 Servlet 容器进行调用和执行的。 2、当在 web.xml 注册了一个 Filter 来对某个 Servlet 程序进行拦截处理时,它可以决定是否将请求继续传递给 Servlet 程序,以及对请求和响应消息是否进行修改。 3、当 Servlet 容器开始调用某个 Servlet 程序时,如果发现已经注册了一个 Filter 程序来对该 Servlet 进行拦截,那...阅读全文

菜鸟教程 2020-06-29 11:52 菜鸟教程

一分钟让你读懂优秀PM与普通PM的区别

近期跟同行业的几位大咖聊天,被问到: “你觉得该如何定义现在的产品经理?” 作为一名有着丰富产品工作的笔者而言,这个问题应该是很容易回答的,但是当时竟然无语,不知道该如何定义。 进而又涉及到了更深刻的三个问题: “每个企业都有市场部,都有产品经理,但是产品经理的职责明确吗?” “公司对产品经理的能力要求有哪些?” “产品经理生存现状如何?” 半个小时的交流之后,忽然有一种脊背发凉的感觉,不是为自己,而是为了行业里被认为是精英中的精英的产品经理! 想要判断一个产品...阅读全文

java技术圈 2020-06-28 15:00:06 CORNERSTONE

free命令中的buffer和cached的比较

free命令中的buffer和cached的比较最近在搞监控,突然看到我系统的内存要用完了,赶紧登录服务器看看,~]# dstat -m 16G内存就剩1G了。怎么回事,然后用free命令看了下~]# free -m 原来是cached占用较多,真正用的只有6773M,空闲是9307M。但是还是对cached占用这么多比较担心,所以就查了下,下面文章转载至http://blog.csdn.net/beacherlu/article/details/45871489经常遇到一些刚接触Linux的新...阅读全文

Linux中Buffer和Cache的区别 - D_R_Y

1. Cache:缓存区,是高速缓存,是位于CPU和主内存之间的容量较小但速度很快的存储器,因为CPU的速度远远高于主内存的速度,CPU从内存中读取数据需等待很长的时间,而  Cache保存着CPU刚用过的数据或循环使用的部分数据,这时从Cache中读取数据会更快,减少了CPU等待的时间,提高了系统的性能。     Cache并不是缓存文件的,而是缓存块的(块是I/O读写最小的单元);Cache一般会用在I/O请求上,如果多个进程要访问某个文件,可以把此文件读入Cache中,这样下一个进程获取C...阅读全文

博客园 2017-04-22 08:16 博客园

前端大文件上传方法(深度好文)

首先祝大家端午节快乐!事业 家庭 更上一层楼。!最近遇见一个需要上传百兆大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现。在某些业务中,大文件上传是一个比较重要的交互场景,如上传入库比较大的Excel表格数据、上传影音文件等。如果文件体积比较大,或者网络条件不好时,上传的时间会比较长(要传输更多的报文,丢包重传的概率也更大),用户不能刷新页面,只能耐心等待请求完成。下面从文件上传方式入手,整理大文件上传的思路,并给出了相关实例代码,由于PHP内置了比较...阅读全文

知乎 2019-06-06 00:00 知乎

深入分析 web 请求响应中的编码问题

深入分析 web 请求响应中的编码问题 石 琎2017 年 8 月 09 日发布 乱码问题一直是困扰开发人员的比较头疼的问题,而发生在 web 请求响应中的乱码问题由于牵扯到比较多的协议框架和技术实现,又显得更加棘手。web 请求中的乱码一般容易出现在两个地方:一是所请求的资源名称,二是查询参数;更复杂的是,不同的浏览器对 URL 和查询参数采用的默认编码可能还不一样,这就更加加深了问题的难度。本文将深入浅出地分析 web 请求响应中乱码产生的原因与解决该问题的关键因素,并举例说明给出该问题的最...阅读全文

www.ibm.com 2020-06-12 16:34 www.ibm.com

Java 为什么使用 UTF-16 而不是更节省内存的 UTF-8?

因为当时 Java 选择的是 UCS-2,是一个定长的编码,在当时以单个码元能表示所有字符,以下标获取字符的开销基本等同于在数组中索引一个字符,用起来是最方便的,多占用的内存大小也是可以接受的。到了后来 UCS-2 无法表示所有 Unicode 字符的时候,过渡到了兼容它的 UTF-16 上也是最自然以及迁移成本最低的选择,这很好理解。至于 UTF-16 浪费内存的问题,在 JEP 254 Compact Strings 中优化了这个问题,Java 9 已经实现了这个 JEP。翻翻源码就能看到,...阅读全文

Unicode与UTF-8/UTF-16/UTF-32的区别 - 刘宝成

Unicode与UTF-8/UTF-16/UTF-32的区别 Unicode的最初目标,是用1个16位的编码来为超过65000字符提供映射。但这还不够,它不能覆盖全部历史上的文字,也不能解决传输的问题 (implantation head-ache's),尤其在那些基于网络的应用中。已有的软件必须做大量的工作来程序16位的数据。 因此,Unicode用一些基本的保留字符制定了三套编码方式。它们分别是UTF-8,UTF-16和UTF-32。正如名字所示,在UTF-8中,字符 是以8位序列来编码的,...阅读全文