首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    编码规范 - 养成良好的Java编码习惯

    最近在整理公司编码规范方面的内容,2017年阿里巴巴发布了编码规范插件,强烈建议大家安装使用,好的编码习惯是通往成功的阶梯。...SpringBoot整合SpringDataJPA 004 SpringDataJPA 核心技术 全面讲解SpringDataJPA核心技术 文档目录 注释规范 类注释 方法注释 行级注释 DTO/Param注释 编码规范...private String userId; /** * 查询关键字 */ @Length(max = 30) private String keyWord; } 二、编码规范...三、异常日志规范 异常规约 Java 类库中定义的可以预判断来规避RuntimeException,不应该采用try {} catch(Exception e){}来处理。...正确示例: logger.error(参数或对象.toString() + "_" + e.getMessage(), e); 写在最后 强烈建议IDEA开发工具安装使用阿里巴巴国际编码规约插件,为良好的编码习惯打下基础

    1.6K10

    Java 中对象池的本质是什么?

    对象池顾名思义就是存放对象的池,与我们常听到的线程池、数据库连接池、HTTP 连接池等一样,都是典型的池化设计思想。...对象池的优点就是可以集中管理池中对象,减少频繁创建和销毁长期使用的对象,从而提升复用性,以节约资源的消耗,可以有效避免频繁为对象分配内存和释放堆中内存,进而减轻 JVM 垃圾收集器的负担,避免内存抖动。...Apache Common Pool2 是 Apache 提供的一个通用对象池技术实现,可以方便定制化自己需要的对象池,大名鼎鼎的 Redis 客户端 Jedis 内部连接池就是基于它来实现的。...这个配置的意思是,当对象池的 active 状态的对象数量已经达到最大值 maxinum 时,是否进行阻塞直到有空闲对象; 是的话按照设置的 borrowMaxWaitMillis 属性等待可用对象。...至于激活对象的方法在上述取用对象时也会先激活再被取出。 因此我们可以发现处于空闲和使用中的对象他们除了状态不一致,我们也可以通过激活和钝化的方式在他们之间增加新的差异。

    98610

    Java - 字符编码

    字符编码其实就是对Unicode字符集的实现方式,用以约定如何用1~4个字节来存储字符。 字符编码 UTF-8 UTF-8是可变长编码,即多字节编码,在存储不同的字符时使用的字节数量是不同的。...UTF-8分为有BOM(Byte Order Marker)和无BOM的两种编码方式,现代文本编辑器在改变文件的编码时应该都看到过这两种编码。...UTF-8的好处是节省了空间,但编码效率降低了,即时间换空间。 UTF-16 UTF-16是双字节编码,属于定长编码。...因此UTF-16存在三种编码: UTF-16BE,使用两个字节进行存储的大端编码。...Java就是使用的这个编码来存储字符,中文和英文都是两个字节(即char这个基础数据类型),所以Java是双字节编码。 UTF-16LE,使用两个字节进行存储的小端编码。

    1.9K10

    java编码规范

    java编码规范(日常编码总结,规范项目组员有统一的规范,方便合作,查错,重构等)当你抛弃规范随心所意的写代码时,等你之后再回来阅读时真有的一种全部删掉重写的冲动。...源代码文件以文件内容中的最顶层的Java类命名,而且大小写敏感,文件扩展名为 .java,同时,文件的编码格式统一为UTF-8。 12....├── uparm │   ├── UparmManager.java │   ├── bean │   │   ├── ComposeBean.java │   │   └── XilianBean.java... ReqAddQhFailNumHandler.java │   │   ├── ReqDecomposeHandler.java │   │   └── ReqZyqhHandler.java Field...相关资料 阿里巴巴Java开发手册v1.2.0-1.pdf 阿里巴巴java编程规范2017版.pdf Android & Java 书写简洁规范的代码 https://github.com/xiaomoinfo

    2.5K20

    java编码规范

    Java编码规范是指为了提高代码的可读性、可维护性、可扩展性等方面的规范性要求。 源文件名 每个源文件只包含一个公共类或接口。 源文件名应该与公共类或接口的名称完全匹配。...源文件名应该以.java作为扩展名。 示例:假设有一个名为Person的公共类,那么源文件名应该为Person.java。 编码 使用 UTF-8 编码。 每行不超过 80 个字符。...编码规范的一部分,可以参考Oracle官方文档 异常处理 不要捕获 Throwable,应该只捕获实际需要处理的异常。...编码规范的一部分,具体内容可以根据需要和实际情况进行适当调整。...遵循Java编码规范可以使代码更加易于阅读、理解和维护,提高代码的质量和可靠性。

    1.1K20

    java编码规范

    java编码规范(日常编码总结,规范项目组员有统一的规范,方便合作,查错,重构等)当你抛弃规范随心所意的写代码时,等你之后再回来阅读时真有的一种全部删掉重写的冲动。...源代码文件以文件内容中的最顶层的Java类命名,而且大小写敏感,文件扩展名为 .java,同时,文件的编码格式统一为UTF-8。 12....├── uparm │   ├── UparmManager.java │   ├── bean │   │   ├── ComposeBean.java │   │   └── XilianBean.java... ReqAddQhFailNumHandler.java │   │   ├── ReqDecomposeHandler.java │   │   └── ReqZyqhHandler.java Field...相关资料 阿里巴巴Java开发手册v1.2.0-1.pdf 阿里巴巴java编程规范2017版.pdf Android & Java 书写简洁规范的代码 https://github.com/xiaomoinfo

    2.6K10

    Java编码规范

    测试类命名以它要测试的类的名开始,以Test结尾。 记住,中括号是数组类型的一部分,String[] args,请勿使用String args[]。...POJO类中任何布尔类型的变量,都不要加is,否则部分框架会引起序列化错误。 枚举类名建议带上Enum后缀,枚举成员名称需要全部大写,单词间用下划线隔开。...集合处理 使用集合转数组的方法,必须使用集合的toArray(T[] array),传入的类型完全一样的数组,大小是list.size()。 使用工具类Array.asList()把数组转换成集合。...避免Random实例被多线程使用,虽然共享该实例是线程安全的,但会因竞争同一个seed导致性能下降。...循环体中的语句要考量性能,以下操作尽量移至循环体外处理,如定义对象,变量,获取数据库连接,进行不必要的try-catch操作。 © 著作权归作者所有

    1.2K40

    Java编码规范

    Java 命名约定 除了以下几个特例之外,命名时应始终采用完整的英文描述符。此外,一般应采用小写字母,但类名、接口名以及任何非初始单词的第一个字母要大写。...java.awt,com.ambysoft.www.persistence 类(Class) 采用完整的英文描述符,所有单词的第一个字母大写。...Java 文件样式约定 所有的 Java(*.java) 文件都必须遵守如下的样式规则: 1) 版权信息 版权信息必须在 java 文件的开头,比如: /** * Copyright 2016...Java编码其它约定 n 文档化 必须用 javadoc 来为类生成文档。不仅因为它是标准,这也是被各种 java 编译器都认可的方法。...n 尽量使用接口而不是一个具体的类 比方如下需求,给定一个SQL语句,返回一个对象的列表,实现中用java.util.ArrayList实现,于是定义方法为: public java.util.ArrayList

    91940

    Java中IO和NIO的本质和区别

    简介 终于要写到java中最最让人激动的部分了IO和NIO。...IO的全称是input output,是java程序跟外部世界交流的桥梁,IO指的是java.io包中的所有类,他们是从java1.0开始就存在的。...NIO叫做new IO,是在java1.4中引入的新一代IO。 IO的本质是什么呢?它和NIO有什么区别呢?我们该怎么学习IO和NIO呢? 别急,看完这篇文章一切都有答案。...IO的本质 IO的作用就是从外部系统读取数据到java程序中,或者把java程序中输出的数据写回到外部系统。这里的外部系统可能是磁盘,网络流等等。...所有IO的本质就是对Buffer的处理,我们把数据放入Buffer供系统写入外部数据,或者从系统Buffer中读取从外部系统中读取的数据。如下图所示: ?

    87210

    容器的本质

    # 前言 使用NameSpace技术来修改进程视图,创建出独立的文件系统、主机名、进程号、网络等资源空间,再使用Cgroups来实现对进程的 CPU、内存等资源的优先级和配额限制,最后使用chroot更改进程的根目录...举个例子 NameSpace可以让当前进程只能看到当前Namespace里的进程,看不到宿主机创建的进程。并且运行容器的命令为1号进程。...但是我们在使用ps aux时,还是看到整个宿主机的进程,并且进程ID为1的还是Systemd,为什么呢? 这是因为ps命令是读/proc文件系统的,所以我们还需要进行文件系统的隔离。...所以我们需要在子进程中修改当前的挂载点,并且子进程在新的namespace的挂载动作只影响自身的挂载文件系统。...\n"); return 1; } 再次运行进入容器中,当前的根目录是上面我们构造的testfs,并且ps aux命令只能看到当前namespace的进程,而看不到宿主机namespace的进程了。

    27920

    Go 中的 channel 与 Java BlockingQueue 的本质区别

    ,这个本质上也是通过 wait/notify 机制实现的,区别只是通知了所有等待的线程。...从上文的例子中可以看出,实现相同的功能 go 的写法会更加简单直接,相对的 Java 就会复杂许多(当然这也和这里使用的偏底层 api 有关)。...Java 中的 BlockingQueue 这些特性都与 Java 中的 BlockingQueue 非常类似,他们具有以下的相同点: 可以通过两者来进行 goroutine/thread 通信。...当然还有本质上的区别就是 channel 是 go 推荐的 CSP 模型的核心,具有编译器的支持,可以有很轻量的成本实现并发通信。...拿这里的并发通信来说,本质上是因为并发模型上的不同; Go 更推荐使用通信来共享内存,而 Java 大部分场景都是使用共享内存来通信(这样就得加锁来同步)。 带着疑问来学习确实会事半功倍。

    56610

    Epoll的本质

    一、从网卡接收数据说起 下图是一个典型的计算机结构图,计算机由CPU、存储器(内存)、网络接口等部件组成。了解epoll本质的 第一步 ,要从 硬件 的角度看计算机怎样接收网络数据。...计算机结构图 下图展示了网卡接收数据的过程。在①阶段,网卡收到网线传来的数据;经过②阶段的硬件电路的传输;最终将数据写入到内存中的某个地址上(③阶段)。...了解epoll本质的 第二步 ,要从 CPU 的角度来看数据接收。要理解这个问题,要先了解一个概念——中断。 计算机执行程序时,会有优先级的需求。...了解epoll本质的 第三步 ,要从 操作系统进程调度 的角度来看数据接收。...epoll的要义是 高效 的监视多个socket。从历史发展角度看,必然先出现一种不太高效的方法,人们再加以改进。只有先理解了不太高效的方法,才能够理解epoll的本质。

    45130

    光的本质

    光的本质 The nature of light 光传播的全部过程,有光源运动,传播过程,与其它物体的超距离相互作用,这三个过程。...关于光的本质,早在十七世纪中叶就被牛顿与麦克斯韦分别以“微粒说”、“波动说”进行了详细探讨,并成为当前所公论的光具有“波粒二重性”的理论基础。...关于光速 光速是指光波或电磁波在真空或介质中的传播速度。真空中的光速是目前所发现的自然界物体运动的最大速度。它与观测者相对于光源的运动速度无关,即相对于光源静止和运动的惯性系中测到的光速是相同的。...物体的质量还跟它运动的速度有关(前提是物体的速度要相当大,能跟光速能比较,比如说光速的1/4),物体的质量将随着速度的增大而增大,当物体的速度接近光速时,它的质量将趋于无穷大,所以有质量的物体达到光速是不可能的...只有静止质量为零的光子,才始终以光速运动着。光速与任何速度叠加,得到的仍然是光速。速度的合成不遵从经典力学的法则,而遵从相对论的速度合成法则。

    1.4K50
    领券