![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
何志仁
这个作者很懒,什么都没留下…
展开
-
利用@JsonProperty隐藏不需要返回的字段
实现由于接口对接规范的原因,有时候,有的对接文档接口传参和返回全部"帕斯卡命名法",而在我们的程序中,属性一般都是用小驼峰命名,所以就需要利用注解进行转换,其中有些字段可能只需要前端传,不需要后端返回,需要隐藏,也可利用注解实现。 @ApiModelProperty("审批人") @JsonProperty(value = "ApprovalName") private String approvalName; @ApiModelProperty("分页参数")原创 2022-01-27 16:44:07 · 1901 阅读 · 0 评论 -
手写设计模式系列——单例模式
手写设计模式系列——单例模式一、概念单例类,通过隐藏构造方法,在内部初始化一次,并提供一个全局访问点。二、通用写法public class Client() { public static void main(String[] args) { Signleton.getInstance(); } static class Singleton() { private static final Singleton instance = new Singleton()原创 2021-03-25 21:26:21 · 347 阅读 · 0 评论 -
利用List的sort方法,自定义比较器对类属性进行排序
JDK1.8之后,List新增了sort方法,使用Comparator作为参数,调用者可自定义比较规则。 User user1 = new User(12, "张三"); User user2 = new User(10, "李四"); User user3 = new User(13, &a原创 2018-09-26 11:53:13 · 3062 阅读 · 0 评论 -
SpringBoot+MyBatis配置主从数据源
由于采用分布式数据库,读写分离。所以有些查询只需要从只读库查询,这样可以极大地提高查询效率。那么,如何实现在项目中配置多数据源呢?下面将根据项目实际应用对多数据源的配置进行说明。1.配置properties文件#DataSource Configspring.datasource.druid.url=jdbc:mysql://***.drds.aliyuncs.com/***?useUnic...原创 2018-10-11 09:58:47 · 5537 阅读 · 0 评论 -
算法-斐波那契数列(Fibonacci)
非递归实现/** * 斐波那契数列 * 特点:第三个数开始,每个数等于前两个的和 * 数列:1 1 2 3 5 8 13 21。。。 */ private int fibo1(int n) { //以非递归方法实现 //时间复杂度:O(n) //输入总数: int a = 1; ...原创 2018-10-19 23:42:04 · 324 阅读 · 0 评论 -
多线程学习一
首先从三个问题来记录学习的过程1.什么是线程,它与进程的关系是什么,它的作用和意义是什么?2.怎么使用多线程,具体有哪些使用方法?3.使用多线程后,带来的问题有哪些,解决方法有哪些?本片文章将介绍第一个问题一、什么是多线程,它与进程的关系是什么,它的作用和意义是什么?多线程这个词汇,对于程序员来说,并不陌生。首先了解下线程的概念,以及线程与进程的区别?1.什么是线程?线程有时候被称...原创 2018-10-31 10:41:08 · 154 阅读 · 0 评论 -
多线程学习二
1.什么是线程,它与进程的关系是什么,它的作用和意义是什么?https://blog.csdn.net/hzr0523/article/details/835772462.怎么使用多线程,具体有哪些使用方法?3.使用多线程后,带来的问题有哪些,解决方法有哪些?本片文章将介绍第二个问题一、线程的创建1.继承Tread类class TreadDemo extends Thread { ...原创 2018-11-01 17:27:00 · 149 阅读 · 0 评论 -
@FunctionalInterface的作用和观点纠正:接口其实是继承于Object的。
之前一直以为接口没有使用extends 继承于Object ,把这个作为抽象类和接口的一个区别。但今天在学习函数式接口的时候,发现接口其实是继承于Object的。@FunctionalInterfacepublic interface DenyPolicy { void reject(); boolean equals(Object val1); stat...原创 2018-11-04 16:35:33 · 3676 阅读 · 1 评论 -
SpringBoot+Freemarker+Layui学习------第一天
获取站点根目录:request.contextPath;需要在配置文件中配置相关信息:# FTL配置spring.freemarker.suffix=.ftlspring.freemarker.charset=UTF-8spring.freemarker.template-loader-path=classpath:/templates/spring.freemarker.cache...原创 2018-12-17 17:44:35 · 4150 阅读 · 0 评论 -
数据库查询注意事项及索引使用
一、Navicat数据库查询注意事项由于需要统计生产环境的数据,按月份统计的话大概是几十万一条,全部月份加起来几百万条数据,被我搞挂了。。。原因就是在关联查询时候,查询字段没有用索引字段,导致数据一直处于查询状态,无数次的点击停止按钮,却发现根本停不下来。最后不得已把进程关了,然后悲剧就来了,我改了sql,加了索引字段,也查不出数据了。只好让同事帮忙重启数据库服务。此次事故让我了解到索引的重要...原创 2018-12-25 10:23:14 · 1663 阅读 · 0 评论 -
Explain分析sql语句执行效率
一、Explain介绍及使用在工作中,我们用于捕捉性能问题最常用的就是打开慢查询,定位执行效率差的SQL,那么当我们定位到一个SQL以后还不算完事,我们还需要知道该SQL的执行计划,比如是全表扫描,还是索引扫描,这些都需要通过EXPLAIN去完成。EXPLAIN命令是查看优化器如何决定执行查询的主要方法。explain的使用很简单,在select语句前加上explain就ok了。我在use...原创 2018-12-25 17:07:10 · 1370 阅读 · 0 评论 -
String...的用法
一、前言在项目中,在检查参数是否为空的工具类中,出现了一个函数的参数列表是这种写法,于是学习了一下这种用法的使用。个人觉得这种处理还是很不错的,使得代码更加简洁。二、用法String…是java5新加入的功能,表示的是一个可变长度的参数列表。其语法就是类型后跟…,表示此处接受的参数为0到多个Object类型的对象,或者是一个Object[]。 例如我们有一个方法叫做test(String…...原创 2019-01-08 11:10:32 · 84740 阅读 · 5 评论 -
Arrays.asList()使用注意事项
在初始化集合的使用,又是需要使用list,但是如果有十来个元素,一个个add也比较麻烦,这时可使用Arrays.asList(“1”, “2”, “3”,…),来实现比较简洁的处理。但是要注意一下几点:asList 的返回对象是一个 Arrays 内部类,并没有实现集合的修改方法。Arrays.asList体现的是适配器模式,只是转换接口,后台的数据仍是数组。不能使用其修改集合相关的方法,它...原创 2019-02-25 15:32:44 · 549 阅读 · 0 评论 -
war和war-exploded的区别
在使用idea开发项目的时候,部署Tomcat的时候通常会出现下边的情况: 是选择war还是war exploded这里首先看一下他们两个的区别: war模式:将web工程以war包的形式上传到服务器 war exploed模式:将web工程以当前文件夹的位置关系上传到服务器war模式这种可以称之为是发布模式,看名字也知道,这是先打包war包,再发布;war explo...转载 2019-03-06 10:19:40 · 4616 阅读 · 0 评论 -
Quartz入门一
1.1. Quartz概述Quartz是一个任务调度框架,可以用于定时任务等。1.2. 使用我使用SpringBoot+Quartz,在pom文件中添加依赖: <!-- 定时任务 --> <dependency> <groupId>org.quartz-scheduler</groupId> ...原创 2019-03-06 18:55:11 · 176 阅读 · 0 评论 -
正则表达式--查找目标内容中指定的字符(串)
在软件开发中,正则表达式是个很有用的功能,使用正则表达式可以简化代码,省去不少时间。下面记录一个正则表达式的用法,就是检测一段文字中是否包含敏感词,如果包含敏感词,需要在页面错误提示框中提示这些敏感词。废话不多说,直接上代码: public static String keywordFilter(String content, String pattern){ Pattern...原创 2019-05-27 15:11:42 · 21028 阅读 · 0 评论 -
Docker的简单使用
一、什么是Docker?Docker 是世界领先的软件容器平台。开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用 Docker 可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用 Docker 可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为 Linux 和 Windows Server 应用发布新功能。Docker...原创 2018-09-20 16:21:37 · 190 阅读 · 0 评论 -
Java基础知识面试题
父类的静态方法能否被子类重写?父类静态方法可被子类集成,但不能被子类重写。因为静态方法在类加载的时候就分配好了内存,若子类存在和父类同名的静态方法,会重新分配内存给子类的静态方法。Demo测试:public class IODemo { public static void test() { System.out.println("父类静态方法"); }}public cl...原创 2018-09-18 15:37:22 · 221 阅读 · 0 评论 -
Java基础--集合去重与去除子集
一、概述在日常开发中,最重要的环节就是对数据的正确处理,而集合去重也是日常开发经常遇到的情况,下面简单根据个人开发遇到的情况,记录下集合去重的方法。二、案例1. 集合去子集集合去子集可采用removeAll()方法,源码如下:boolean removeAll(Collection&lt;?&gt; c)Removes from this list all of its el...原创 2018-09-07 13:31:31 · 3510 阅读 · 0 评论 -
java设计模式—装饰者模式(Decorator Pattern)
最近在看IO流相关的内容,然后发现了IO的设计就大量使用了装饰者模式,因此,决定了解一下装饰者模式到底是什么东东?一、概述 装饰者模式属于一种结构型模式,结构型类模式采用继承机制来组合接口或实现。装饰者模式可以动态的给一个对象添加额外的职责,就增加功能来说,装饰者模式比生成子类更加灵活。 类似于qq秀这种虚拟换装功能,各种服饰之间的搭配多种多样,如果增加子类,不仅会导致代码的冗余,...原创 2018-03-01 15:47:24 · 174 阅读 · 0 评论 -
Spring Boot + MyBatis + Redis整合小案例
Redis 缓存一、介绍 Redis缓存是一个高性能的key-value数据库,在大流量场景下,需要将一些经常展现和不会频繁变更的数据,存放在存取速率更快的地方,在技术选型中,常使用Redis作为缓存数据库。 应用场景:例如常见的电商场景,根据商品ID获取商品信息,这是就可以把店铺信息和商品详细信息写入redis...原创 2018-03-12 15:49:05 · 3395 阅读 · 0 评论 -
IDEA导入SSH框架项目方法总结
由于工作需要,需要导入SSH框架的项目,导入的过程遇到很多问题,所以就根据自己的实际经验写了这篇博客,希望日后能提醒自己和遇到同样问题的人。1. 导入本地项目 我是从svn检出项目。 这是项目的目录结构。2. 项目配置 &原创 2018-03-22 13:31:51 · 13439 阅读 · 1 评论 -
MySql Date_Format()出现"bad format for timestamp"错误???
MyBatis中使用实体类接收查询结果,对查询的日期字段进行了Date_Format(time,’%Y-%m-%d %H:%i’),结果出现了这个错误,原因就是实体类中的日期是Date类型的,查询出的时间不能直接转换,改成用String接受就ok了。...原创 2018-03-26 16:23:53 · 12874 阅读 · 3 评论 -
类型转换的那些事儿——浅谈.valueOf()与parseDouble() and so on
在项目中,经常需要对数据类型进行转换,一不小心,一个NPE就来了,今天做一下笔记,提醒下自己。 以前我一直记得toString()会有问题,容易抛出空指针异常,用String.valueOf()就可以了,所以我就形成了一种思维,对原创 2018-04-11 15:28:56 · 1465 阅读 · 0 评论 -
Spring Boot--整合阿里云消息队列MQ
一、概述&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;消息队列(Message Queue,简称 MQ)是阿里巴巴集团中间件技术部自主研发的专业消息中间件。产品基于高可用分布式集群技术,提供消息发布订阅、消息轨迹查询、定时(延时)消息、资源统计、监控报警等一系列消息云服务,是企业级互联网架原创 2018-05-10 11:23:10 · 7675 阅读 · 8 评论 -
BigDecimal的ROUND_DOWN()中的坑
由于计算小数,需要向下截取小数位,保留两位小数,但是用了ROUND_DOWN截取却出现了问题public class Test { public static void main(String args[]){ //0.03,0,06,0.09 double a = 0.09; double b = new BigDecimal(a)...原创 2018-06-08 11:19:41 · 31234 阅读 · 3 评论 -
SpringBoot整合阿里云消息日志服务
1.概述&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;a原创 2018-07-02 14:23:20 · 5335 阅读 · 10 评论 -
计算机中的二进制
一、概述&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;计算机中的任何数据都是二进制,而编程语言是人与计算机之间的桥梁,编译语言利用算法,解决人类使用十进制与二进制之间的鸿沟。(官方一点) &amp;amp;amp;nbsp;原创 2018-07-09 22:14:24 · 3031 阅读 · 0 评论 -
Java小算法--统计一个List连续出现1的最大次数
1.业务需求学员通关考试,达到规定的考核次数才能算作通关,需要统计学员最大的连续通关次数。2.代码实现 private int getMaxPassTimes(List<String> list) { int count_0 = 0; //不合格次数 int count_1 = 0; //合格次数 int m...原创 2018-07-26 11:14:17 · 1398 阅读 · 0 评论 -
Spring MVC——支持多种返回格式
概述由于业务需要,一个接口可能既需要返回json,又需要返回xml。针对这种情况,spring mvc提供了@pr注解来支持返回多种指定的格式。原创 2018-08-08 11:42:04 · 2085 阅读 · 0 评论 -
SpringBoot+Dubbo搭建简单小案例
一、概述由于公司项目使用了dubbo服务,但是对dubbo的原理和使用还不是很了解,仅以此片记录下dubbo的学习历程。dubbo是阿里的一个开源分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。在实际应用场景中,可以将主要的业务分离出单独的服务,提供给消费方调用。二、安装ZookeeperZookeeper是一个分布式的服务框架,是树型...原创 2018-09-16 19:52:06 · 19390 阅读 · 0 评论 -
常用工具类--图片文件处理相关
import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io...原创 2018-09-10 14:55:10 · 237 阅读 · 0 评论 -
url带中文参数请求在windows下和linux下的编码问题
在工作中遇到的一个坑,带中文参数的url(https://*/services/homepage/getArea.do?vagueName=%E5%8D%97%E4%BA%AC)在本地请求正常,但是在linux服务器上请求不到数据。原因是Spring MVC在接收参数的时候,会自动进行url解码,之所以乱码,应该是url编码和url解码的“字符集编码”不同导致的。解决方法:修改服务器上tomcat...原创 2018-02-27 13:23:17 · 2152 阅读 · 0 评论