自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (1)
  • 收藏
  • 关注

转载 业务复杂=if else?刚来的大神竟然用策略 工厂彻底干掉了他们!

对于业务开发来说,业务逻辑的复杂是必然的,随着业务发展,需求只会越来越复杂,为了考虑到各种各样的情况,代码中不可避免的会出现很多if-else。一旦代码中if-else过多,就会大大的影响其可读性和可维护性。首先可读性,不言而喻,过多的if-else代码和嵌套,会使阅读代码的人很难理解到底是什么意思。尤其是那些没有注释的代码。其次是可维护性,因为if-else特别多,想要新加一个分...

2019-10-24 13:41:06 840

转载 org.apache.commons.lang3.StringUtils中的StringUtils常用方法全面解析

public staticbooleanisEmpty(CharSequencecs)常用函数之一,判断字符串是否为""或者null StringUtils.isEmpty(null) = trueStringUtils.isEmpty("") = trueStringUtils.isEmpty(" ") = falseStringUtils....

2019-10-31 14:15:59 950

转载 apache-commons 常用工具类

前言见过大多数公司都有封装自己的工具类,很多已经有人实现了方法又重新实现一遍,不仅代码质量得不到保证,而且性能,并发都会有问题;反正我一般不用公司封装的工具类,像 apache.commons ,springutil 中都已经有很多现成的工具可以使用了,没必要重复造轮子;本文章主要是说一下有哪些比较常用的工具可以使用,不一定全面,大神勿踩。引用包说明本文引用的所有包如下<d...

2019-10-31 14:13:13 848

转载 Java中关于Null的9个解释(Java Null详解)

对于Java程序员来说,null是令人头痛的东西。时常会受到空指针异常(NPE)的骚扰。连Java的发明者都承认这是他的一项巨大失误。Java为什么要保留null呢?null出现有一段时间了,并且我认为Java发明者知道null与它解决的问题相比带来了更多的麻烦,但是null仍然陪伴着Java。我越发感到惊奇,因为java的设计原理是为了简化事情,那就是为什么没有浪费时间在指针、操作符重载、多...

2019-10-31 11:05:17 1090

原创 java中的null是值还是对象

严格讲既不是基础类型也不是对象类型,是一个特殊的类型,并可以看作允许cast成任意类型的对象。There is also a special null type, the type of the expression null, which has no name. Because the null type has no name, it is impossible to declare ...

2019-10-31 10:58:37 1168

转载 浅谈java中null是什么,以及使用中要注意的事项

1.null既不是对象也不是一种类型,它仅是一种特殊的值,你可以将其赋予任何引用类型,你也可以将null转化成任何类型,例如:Integer i=null;Float f=null;String s=null;但是不能把null赋值给基本类型,如int ,float,double等int k=null ----------编译器会报错cannot convert from null...

2019-10-31 10:52:32 579

转载 Notepad++如何让打开的文件排在左边菜单栏

点击Notepad++菜单栏中【设置】—【首选项】;(推荐学习:notepad的使用)在【常用】界面中【文件列表面板】勾选【显示】;我们可以看到之前打开的的文件,也都排在左边菜单栏中。以上就是Notepad++如何让打开的文件排在左边菜单栏的详细内容...

2019-10-30 19:43:00 9676

转载 使用BeanUtils.describe将对象转换成Map时,数组字段的值只获取到第一个元素

情景:在开发过程中,需要将两个对象实体的值进行对比处理:使用BeanUtils.describe将两个对象转换成Map进行遍历对比数据问题:发现BeanUtils.describe转换后的Map的泛型是<String,String>此时获取到的字段如果是数组类型的话只获取了第一个元素解决:使用PropertyUtils.describe方法的到的Map的泛型是<Str...

2019-10-27 22:27:39 1933

转载 关于BeanUtils.describe的使用

最近在做项目的时候,接触了BeanUtils.describe方法,头一次使用BeanUtils类,感觉很好用,但是在加载的过程中却遇到一些问题。在MyEclipse中自带的引入:importcom.sun.org.apache.commons.beanutils.BeanUtils;结果在运行BeanUtils.describe方法是报错:Caused by: com.sun...

2019-10-27 22:22:36 2401

转载 new一个对象的时候发生了什么

一、引言如你所知,Java是一门面向对象的编程语言。我们平常在写代码的时候也是在不停的操作各种对象,那么当你在写出User user = new User();这样一行代码的时候,JVM都做了些什么呢?二、了解对象1、内存布局在Hotspot虚拟机中一个对象的内存布局分为三个部分:对象头、实例数据、对齐填充。 对象头又有两部分的信息,第一部分是用于存储对象自身的运行数据(Ha...

2019-10-24 12:58:54 1018

转载 详述 IntelliJ IDEA 中恢复代码的方法

在我们日常开发项目的时候,难免遇到在开发过程中由于某种原因,想要将代码恢复到前一版本的情景。特别地,在我们删除了某些代码,想要恢复之前删除的代码的时候,了解这个在 IntelliJ IDEA 中恢复代码的方法就显得尤为重要啦!现在,以博主之前写的测试代码为例,进行详细的讲解:如上图所示,这是博主之前写的测试恒等运算符和equals()区别的测试类。接下来,我们在这段代码中添加一条输出语句:...

2019-10-24 12:55:26 448

转载 oracle最强大函数之一decode函数的使用

decode的几种用法1:使用decode判断字符串是否一样DECODE(value,if1,then1,if2,then2,if3,then3,...,else)含义为IF 条件=值1 THEN    RETURN(value 1)ELSIF 条件=值2 THEN    RETURN(value 2)    ......ELSIF 条件=值n THEN    RETURN(...

2019-10-23 14:14:30 316

转载 Oracle中decode函数用法解析以及常用场景

一、decode函数的两种形式第一种形式含义解释:decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)该函数的含义如下:IF 条件=值1 THEN    RETURN(翻译值1)ELSIF 条件=值2 THEN    RETURN(翻译值2)    ......ELSIF 条件=值n THEN    RETURN(翻译值n)ELSE   ...

2019-10-23 14:09:56 1088

转载 oracle中 decode()函数简介

今天看别人的SQL时看这里面还有decode()函数,以前从来没接触到,上网查了一下,还挺好用的一个函数,写下来希望对朋友们有帮助哈!decode()函数简介:主要作用:将查询结果翻译成其他值(即以其他形式表现出来,以下举例说明);使用方法:Select decode(columnname,值1,翻译值1,值2,翻译值2,…值n,翻译值n,缺省值)From talbena...

2019-10-23 13:50:52 895

转载 oracle的 listagg() WITHIN GROUP ()函数使用

1.使用条件查询 查询部门为20的员工列表-- 查询部门为20的员工列表SELECT t.DEPTNO,t.ENAME FROM SCOTT.EMP t where t.DEPTNO = '20' ;效果:2.使用 listagg() WITHIN GROUP () 将多行合并成一行(比较常用)SELECT T .DEPTNO, listagg (T ...

2019-10-23 11:43:34 492

转载 oracle12c取消wm_concat函数,如何重建或使用替代方案?

1、问题描述wm_concat函数是oracle的非公开函数,在新版的oracle中不支持该函数。虽然其不支持,但是为了方便统计数据,我们是可以重新创建该函数的,或者,我们也可以使用其替代函数,listagg,下面我们就这两种方式分别写出对应解决方案2、解决方案2.1创建wm_concat函数--首先使用dba账号登录oracle数据库--解锁wmsys用户alter u...

2019-10-23 11:39:43 684

原创 oracle sql WM_CONCAT函数

我想给WM_CONCAT(Z.ORIGIN) as 用地指标来源一个查询条件写法应该是怎么样的各位大佬这是我的sqlSELECT T.IID, T.PROJ_NAME, WM_CONCAT(Z.ORIGIN) as 用地指标来源FROM UT_SP_PROJ_BUILD T, OT_BATCHAPPLY O, UT_SP_ZBLY ZWHE...

2019-10-23 11:32:40 755

转载 SQL_wm_concat函数实验:实现字段合并

wm_concat函数:字段合并函数目标:根据某字段相同值,实现其它某字段合并【实验】使用实验scott用户下的emp表SQL> select * from emp;--先来查看一下emp表的全部内容EMPNO JOB MGR HIREDATE SAL COMM DEPTNO ENAME----- --------- ----- ----------- --------...

2019-10-23 11:08:26 571

转载 NotePad 常用快捷键总结

1. 文件相关快捷键 动作定义 Ctrl-O 打开文件 Ctrl-N 新建文件 Ctrl-S 保存文件 Ctrl-Alt-S 文件另存为 Ctrl-Shift-S 保存所有打开文件 Ctrl-P 打印 Alt-F4 退出程序 Ctrl-Tab 文件标签跳转,跳至下一个打开文件 Ctrl-Shift-Tab...

2019-10-23 10:12:09 405

转载 JAVA消息队列之ActiveMQ入门

消息中间件前言本文只适合初级入门,阐述了消息中间件的基础概念,和部分实践,理论性比较强。为什么要使用消息中间件有一家专业做保险的大公司,他有一套保险系统,记录着保险销售的所有信息,他在全国有38家分公司,每一家分公司都有自己的保险系统,总公司与分公司之间有着保单数据共享的关系,总公司每销售一份保险都要向分公司提供该保单的基本信息,而分公司每销售一份保险也需要向总公司和其他分公司提供...

2019-10-21 14:56:55 472

转载 ActiveMQ详细入门使用教程

ActiveMQ介绍 MQ是消息中间件,是一种在分布式系统中应用程序借以传递消息的媒介,常用的有ActiveMQ,RabbitMQ,kafka。ActiveMQ是Apache下的开源项目,完全支持JMS1.1和J2EE1.4规范的JMS Provider实现。特点:1、支持多种语言编写客户端2、对spring的支持,很容易和spring整合3、支持多种传输协议:TC...

2019-10-21 14:35:03 347

转载 个人理解简单工厂模式和策略模式的区别【二】

工厂模式和策略模式看着很像,经常让人混淆不清;它们的区别在哪里,需要细细体味;相似点在模式结构上,两者很相似;差异用途不一样 工厂是创建型模式,它的作用就是创建对象; 策略是行为型模式,它的作用是让一个对象在许多行为中选择一种行为; 关注点不一样 一个关注对象创建 一个关注行为的封装 解决不同的问题 工厂模式是创建型的设计模式,它接受指令,创建...

2019-10-18 22:31:00 240

转载 个人理解简单工厂模式和策略模式的区别【一】

刚刚接触设计模式的时候,我相信单例模式和工厂模式应该是用的最多的,毕竟很多的底层代码几乎都用了这些模式。自从接触了一次阿里的公众号发的一次文章关于 DDD的使用 以后,就逐渐接触了策略模式。现在在项目中运用最多的也是这几种设计模式了,用了设计模式给我的感受就是感觉代码没那么冗余了,再注入一点贫血,充血模型之后,感觉在 service 层面代码看上去很舒服很简洁。首先,我个人感觉...

2019-10-18 22:26:56 317

转载 Spring Boot---Tomcat与Undertow 吞吐量对比

测试工具:Jmeter Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类...

2019-10-17 14:53:46 1569

转载 SpringBoot服务器压测对比(jetty、tomcat、undertow)

官方说:For servlet stack applications, the spring-boot-starter-web includes Tomcat by including spring-boot-starter-tomcat, but you can use spring-boot-starter-jetty or spring-boot-starter-undertow inst...

2019-10-17 14:49:28 1489

转载 理解maven命令package、install、deploy的联系与区别

我们在用maven构建java项目时,最常用的打包命令有mvn package、mvn install、deploy,这三个命令都可完成打jar包或war(当然也可以是其它形式的包)的功能,但这三个命令还是有区别的。下面通过分别执行这三个命令的输出结果,来分析各自所执行的maven的生命周期。mvn clean packagemvn clean installmvn c...

2019-10-15 18:32:50 338

转载 说实话,你的API接口在高并发面前不堪一击!

衡量一个接口是否能够支撑高并发,我们最先想到的就是他的QPS是多少,影响QPS大小的关键因素是你的系统是否支持分布式、高并发,当提起这几三个词的时候,是不是很多人都认为分布式=高并发=多线程?当面试官问到高并发系统可以采用哪些手段来解决,或者被问到分布式系统如何解决一致性的问题,是不是一脸懵逼?确实,在一开始接触的时候,不少人都会将三者混淆,误以为所谓的分布式高并发的系统就是能同时供海量用...

2019-10-15 11:41:41 486

转载 Spring的BeanUtils的copyProperties方法需要注意的点

背景最近项目中在和第三方进行联调一个接口,我们这边发送http请求给对方,然后接收对方的回应,代码都是老代码。根据注释,对方的SDK中写好的Request类有一个无法序列化的bug,所以这边重新写了一个Request类,基本属性都是相同的,但是重点是有一个属性是静态内部类,还有两个是list属性,类似于下面这样:private List<Order> orders;priv...

2019-10-15 11:36:38 1347

转载 Java时间处理类SimpleDateFormat的parse和format方法的正确使用

Java中怎么才能把日期转换成想要的格式呢,或把字符串转换成一定格式的日期,如把数据库中的日期或时间转换成自己想要的格式,JAVA中提供了SimpleDateFormat类可以实现。SimpleDateFormat 是一个各种项目中使用频度都很高的类,主要用于时间解析与格式化,频繁使用的主要方法有parse和format.parse方法:将字符串类型(java.lang.String)解析...

2019-10-15 10:56:11 1024

转载 java是编译型还是解释型语言

Java这个语言很非凡!一、你可以说它是编译型的:因为所有的Java代码都是要编译的,.java不经过编译就什么用都没有。二、你可以说它是解释型的:因为java代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释运行的,那也就算是解释的了。三、但是,现在的JVM为了效率,都有一些JIT优化。它又会把.class的二进制代码编译为本地的代码直接运行,所以,又是编译的。...

2019-10-14 20:42:45 402

转载 什么是编译型语言和解释型语言

什么是编译型语言和解释型语言计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器码。计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器码。而这种转换的方式有两种:...

2019-10-14 20:40:48 503

转载 DataGrip常用的快捷键总结2

Data Grip常用的快捷键总结: 管理数据库连接:Ctrl+Alt+Shift+S 文件视图窗口:Alt+2 进入一个文件:Ctrl+Shift+N 打开最近的文件:Ctrl+E 导航栏:Alt+Home 全局搜索:双击Shift Ctrl+Enter:执行选中的SQL语句 Ctrl+Shift+左右箭头:调整列宽度(...

2019-10-14 15:27:09 3260 1

转载 一文深度揭秘Redis的磁盘持久化机制

前言Redis 是内存数据库,数据都是存储在内存中,为了避免进程退出导致数据的永久丢失,需要定期将 Redis 中的数据以数据或命令的形式从内存保存到本地磁盘。当下次 Redis 重启时,利用持久化文件进行数据恢复。Redis 提供了 RDB 和 AOF 两种持久化机制,前者将当前的数据保存到磁盘,后者则是将每次执行的写命令保存到磁盘(类似于 MySQL 的 Binlog)。本文将详细介绍 R...

2019-10-14 14:07:12 499

转载 java RMI原理

定义RMI(Remote Method Invocation)为远程方法调用,是允许运行在一个Java虚拟机的对象调用运行在另一个Java虚拟机上的对象的方法。这两个虚拟机可以是运行在相同计算机上的不同进程中,也可以是运行在网络上的不同计算机中。Java RMI:Java远程方法调用,即Java RMI(Java Remote Method Invocation)是Java编程语言里,一种...

2019-10-13 23:34:49 343

转载 java rmi 使用教程【三】

RMI:远程方法调用(Remote Method Invocation)。能够让在某个java虚拟机上的对象像调用本地对象一样调用另一个java 虚拟机中的对象上的方法。RMI远程调用步骤:1,客户对象调用客户端辅助对象上的方法2,客户端辅助对象打包调用信息(变量,方法名),通过网络发送给服务端辅助对象3,服务端辅助对象将客户端辅助对象发送来的信息解包,找出真正被调用的方法以及该...

2019-10-13 23:23:24 421

转载 java rmi 使用教程【二】

目录一、什么是RPC 二、什么是RMI 三、RMI使用步骤 四、代码示例参考文章正文一、什么是RPCRPC全称是remote procedure call,即远程过程调用。它是一种协议,用于从远程计算机上请求服务。例如有两台服务器A和B,A上的应用想要调用B上应用的方法,但是他们在不同的服务器,所以不能通过内存调用的方式,所以我们理所当然地去考虑通过网络来实现函数调用。RP...

2019-10-13 23:15:00 456

转载 java rmi 使用教程【一】

RMI,是Remote Method Invocation(远程方法调用)的缩写,即在一个JVM中java程序调用在另一个远程JVM中运行的java程序,这个远程JVM既可以在同一台实体机上,也可以在不同的实体机上,两者之间通过网络进行通信。java RMI封装了远程调用的实现细节,进行简单的配置之后,就可以如同调用本地方法一样,比较透明地调用远端方法。RMI包括以下三个部分:Regist...

2019-10-13 23:08:45 719 1

转载 SecureCRT中文乱码问题的解决

最近开始使用SecureCRT,但发现中文一直是乱码:上网搜查时编码问题,于是就把编码改为了UTF-8:然而并没有解决问题,中文变成了?:编码修正后,还是不行,点击Font,发现字符集是西文,马上修改成中文GB2312确定保存后,中文正常显示了:小结:影响中文显示一般先考虑编码方式,再考虑字符集设置。...

2019-10-12 15:29:26 370

转载 svn更新失败提示cleanup的解决方法

svn更新失败提示cleanup的解决方法 一般出现这个提示,兄弟姐妹,请首先看下你是不是正在打开着svn的某个文件,在打开某个文件的情况下,去update会造成svn 更新锁定。首先关掉打开的所有svn文档,然后右键找到cleanup然后如下如执行cleanup ,记得一定要勾上break write locks一般这样操作后就好了,可以去update了...

2019-10-11 11:29:25 2316 1

转载 代码整洁 vs 代码肮脏

写出整洁的代码,是每个程序员的追求。《clean code》指出,要想写出好的代码,首先得知道什么是肮脏代码、什么是整洁代码;然后通过大量的刻意练习,才能真正写出整洁的代码。WTF/min是衡量代码质量的唯一标准,Uncle Bob在书中称糟糕的代码为沼泽(wading),这只突出了我们是糟糕代码的受害者。国内有一个更适合的词汇:屎山,虽然不是很文雅但是更加客观,程序员既是受害者也是加害者。...

2019-10-10 19:04:25 264

Java8 新特性.rar

Java8新特性,包含代码实例与技术文档。

2020-03-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除