-
单元测试编码规范
以下摘取自阿里巴巴java编码规范第三章-单元测试:强制1.好的单元测试必须遵守AIR原则。A:Automatic(自动化),I:Independent(独立性),R:Repeatable(可重复)2.单元测试应该是全自动执行的,并且非交互式的。测试用例通常是被定期执行的,执行过程必须完全自动化才有意义。输出结果需要人工检查的测试不是一个好的单元测试。单元测试中不准使用System.out来进行人11,496 0 2022-08-18 20:00
-
Java & Python 里的泛型
泛型是Java里头比较有意思且有用的一个东西了。一个简单的例子:publicstaticIntegerparse(Integera1,Integera2){if(a1.equals(a2)){returna1;}returna2;}publicstaticFloatparse(Floata1,Floata2){if(a1.equals(a2)){returna1;}returna2;}可以看到,两12,908 1 2022-07-05 14:51
-
Java/Python3/Go语法简单对比
1、HelloworldjavapublicclassHelloWorld{publicstaticvoidmain(Stringargs[]){System.out.println("Helloworld!");}}pythonprint("Helloworld!");Gopackagemainimport"fmt"funcmain(){fmt.Println("Helloworld!")}Go17,034 0 2021-08-31 11:26
-
Java与Python3语法简单对比
1、Helloworldjava:publicclassHelloWorld{publicstaticvoidmain(Stringargs[]){System.out.println("Helloworld!");}}python:print("Helloworld!");2、行代码标记结束java:System.out.println("Helloworld!");python:print("1,957 0 2018-09-12 11:24
-
使用JAVA Socket写一个邮箱服务器:基础邮件下发请求解析与基础发送客户端
这里只做简单的接收解析邮件发送请求,后续会在这个基础上做深入探索。发送组件:/***@author:Nemo*@date:2018/9/28.*/publicclassMainSender{publicstaticvoidsend(){Stringsender="sender@link-nemo.com";Stringreceiver="reciver@link-nemo.com";Stringp4,102 0 2018-09-29 10:42
-
JAVA简单实现一个类似apache的简易web容器
最近在弄一些比较底层的东西,所以不可避免的要弄一下网络协议相关的内容。正好项目转测有些时间,所以就琢磨着写了这个简易的类似apache的容器。目前这个web容器只支持静态文件的请求处理,后续如果有时间,会加入动态请求的处理。这个项目的源码目前托管在github上,地址为:https://github.com/geeeeeeeeeeeeeeeek/NemoWebServer在开始之前,需要一些基础的3,590 2 2017-12-14 18:57
-
简单模仿mongodb实现一个数据库
源码寄存在GitHub,地址是:https://github.com/geeeeeeeeeeeeeeeek/NemoMiniDb这是一个简单模仿mongodb的数据库程序。该程序只用于学习用途。目前功能比较简单,不考虑多用户,不考虑多线程,不考虑效率,不考虑资源占用......只简单实现增删改查操作。后续如果有时间,需要继续完善,目前暂时先这样了。详细说明待添加,先占个位置,待续...3,484 0 2018-01-10 18:57
-
Java 处理图片压缩
问题背景。典型的情景:Nemo社区中,用户上传的图片免不了要在某处给用户做展示。如用户上传的头像,那么其他用户在浏览该用户信息的时候,就会需要回显头像信息了。用户上传的原图可能由于清晰度较高而体积也相对较大,考虑用户流量带宽,一般而言我们都不会直接体积巨大的原图直接丢给用户让用户慢慢下载。这时候通常我们会在服务器对图片进行压缩,然后把压缩后的图片内容回显给用户。压缩方案:这里主要找了两个java中17,582 3 2020-05-25 16:08
-
Elasticsearch:Result window is too large, from + size must be less than or equal to: [10000] but was [20385].
使用elasticSearch做分页时,提示如下:org.elasticsearch.search.query.QueryPhaseExecutionException:Resultwindowistoolarge,from+sizemustbelessthanorequalto:[10000]butwas[20385].Seethescrollapiforamoreefficientwaytor1,517 0 2020-05-17 23:01
-
Elasticsearch 字段映射
一般来说,主要有两种映射方式:1、动态映射:写入时,es根据字段类型识别。2、静态映射:写入时,手动指定字段类型。动态映射:自动映射类型规则如下:null->没有字段被添加trueorfalse->boolean类型浮点类型数字->float类型数字->long类型JSON对象->object对象数组->由数组里第一个非空值决定string->有可能是da1,455 0 2020-05-14 10:42
-
Java 使用sitemapgen4j 生成sitemap网站地图
导入sitemapgen4j:<dependency><groupId>com.github.dfabulich</groupId><artifactId>sitemapgen4j</artifactId><version>1.1.1</version></dependency>使用示例:publicv......1,453 0 2020-05-11 18:22
-
Java爬虫与Python爬虫:爬取百度实时热点
Python:importrequestsfrombs4importBeautifulSoupurl='http://top.baidu.com/buzz?b=1&fr=topbuzz_b1'save_path='hot_python.txt'if__name__=='__main__':content=requests.get(url).contentsoup=BeautifulSoup......3,896 0 2018-11-19 17:30
-
Mybatis报错invalid comparison: java.util.Date and java.lang.String
Mybatis执行一个selectsql时,抛出invalidcomparison:java.util.Dateandjava.lang.String。字面意思其实很明显,Data和String类型不匹配。但是仔细查看了Pojo以及jdbcType的类型,都是时间类型,没有错误。重新编译后依旧报错。后经过查看mybatis标签,发现其中TimeStamp类型的变量出现以下标签:<iftest......6,620 0 2020-03-10 17:36
-
springboot全局的jackson日期转换和解析
添加如下配置,接收+返回web数据时,统一格式化传参:@ConfigurationpublicclassWebConfigextendsWebMvcConfigurerAdapter{@OverridepublicvoidextendMessageConverters(List<HttpMessageConverter<?>>converters){MappingJacks......1,317 0 2019-12-06 15:27
-
springboot2.2.0 :Failed to bind properties under 'spring.servlet.multipart.max-file-size' to org.springframework.util.unit.DataSize
之前用的都是springboot2.0及以前的版本配置都是这样子的 :spring:servlet:multipart:max-request-size:15Mbmax-file-size:15Mb然而springboot版本升级到2.2.0后,启动时提示:Failedtobindpropertiesunder'spring.servlet.multipart.max-file-size......2,602 0 2019-10-23 11:18
-
[JAVA8 lambda编程] - Function、Predicate、Consumer、Supplier接口
这些接口都有一个@FunctionalInterface注解,表明这个接口将是一个函数式接口,里面只能有一个抽象方法FunctionFunction<T,R>=>Rapply(Tt);接受一个输入参数,返回一个结果Function<Integer,String>function1=(x)->"result:"+x;function1.apply(6);Predi......1,619 0 2019-08-15 11:12
-
Java8中String.join方法
java8中提供用来连接字符串的方式,共有两种用法:第一种:publicstaticStringjoin(CharSequencedelimiter,CharSequence...elements)第一个参数为连接符,后续参数为被连接的对象。如:System.out.println(String.join(":","小明","你好呀"));输出:小明:你好呀第二种:publicstaticStri......1,857 0 2019-07-12 14:13
-
Spring中的OncePerRequestFilter
java中的过滤器,我们一般认为在某次请求中,其中的doFilter方法只会执行一次。但是实际上并非如此。查看Filter的源码,开发人员在doFilter方法上面写了如下备注:/***Calledbythewebcontainertoindicatetoafilterthatitisbeing*placedintoservice.Theservletcontainercallstheinitme......1,318 0 2019-06-19 12:14
-
Java8 - ChronoUnit 日期枚举类
ChronoUnit一组标准的日期时间单位。这组单元提供基于单元的访问来操纵日期,时间或日期时间。可以通过实现TemporalUnit来扩展标准单元集。这些单元适用于多个日历系统。例如,大多数非ISO日历系统定义年,月和日的单位,只是略有不同的规则。每个单元的文档说明了它的运作方式。这是一个最终的、不可变的和线程安全的枚举。入门例子plus()测试@TestpublicvoidtestChromo......1,403 0 2019-06-18 09:35
-
System.currentTimeMillis()代替new Date().getTime()
在开发过程中,通常很多人都习惯使用new Date()来获取当前时间。newDate()使用起来也比较方便,同时还可以获取与当前时间有关的各方面信息,例如获取小时、分钟等等,而且还可以格式化输出,包含的信息是比较丰富的。但是有些时候或许你并不需要获取那么多信息,你只需要关心它返回的毫秒数就行了,例如newDate().getTime()。为了获取这个时间戳,很多人也喜欢使用new&nbs......1,377 0 2019-05-24 16:38