自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

男人放得下自己的高傲,才能撑得起自己的野心

我们都是从小白开始,互相学习,不断进步

  • 博客(155)
  • 资源 (1)
  • 收藏
  • 关注

转载 spring参数效验 @JSONField

FastJson中的注解@JSONField,一般作用在get/set方法上面,常用的使用场景有下面三个:修改和json字符串的字段映射【name】 格式化数据【format】 过滤掉不需要序列化的字段【serialize】一、修改字段映射使用方法:  private Integer aid;  // 实体类序列化为json字符串的时候,此类的aid字段,序列化为json中...

2019-02-28 14:31:50 1130

原创 ConcurrentHashMap和Hashtable的区别

为什么我们需要ConcurrentHashMap和CopyOnWriteArrayList同步的集合类(Hashtable和Vector),同步的封装类(使用Collections.synchronizedMap()方法和Collections.synchronizedList()方法返回的对象)可以创建出线程安全的Map和List。但是有些因素使得它们不适合高并发的系统。它们仅有单个锁,对整...

2018-11-26 18:13:08 119

转载 HashMap的工作原理

从本文你可以学习到:什么时候会使用HashMap?他有什么特点? 你知道HashMap的工作原理吗? 你知道get和put的原理吗?equals()和hashCode()的都有什么作用? 你知道hash的实现吗?为什么要这样实现? 如果HashMap的大小超过了负载因子(load factor)定义的容量,怎么办?当我们执行下面的操作时:   1 ...

2018-11-26 18:01:20 182

转载 java设计模式之适配器模式

适配器模式的用途  用电器做例子,笔记本电脑的插头一般都是三相的,即除了阳极、阴极外,还有一个地极。而有些地方的电源插座却只有两极,没有地极。电源插座与笔记本电脑的电源插头不匹配使得笔记本电脑无法使用。这时候一个三相到两相的转换器(适配器)就能解决此问题,而这正像是本模式所做的事情。适配器模式的结构  适配器模式有类的适配器模式和对象的适配器模式两种不同的形式。类适配器模式  ...

2018-07-19 10:57:29 124

转载 java的设计模式建造者模式

简单介绍: 建造者模式/生成器模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。建造者模式实现过程通常分成 2 个步骤:构建(Builder)和装配(Director)。此处的英文不是对汉字的翻译而是为了说明这两个步骤需要用到的接口类型。应用场景: 1) 对象的创建:建造者模式是...

2018-07-19 10:56:21 117

转载 java设计模式之抽象工厂模式

简单介绍:抽象工厂模式是所有形态的工厂模式中最为抽象的。抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型(不是指实现类)的情况下,能够创建多个产品族的产品对象。产品族可以通入下图理解:在上图中,有多个发动机、轮胎和座椅,它们都可以看作是单独的产品,我们将发动机、轮胎和座椅组成一个产品族,用于区分其他的发动机、轮胎和座椅。每个产品族又可以划分成高端、中端和低端系列产品。三、实...

2018-07-19 10:55:24 98

转载 redis 配置文件 aof持久化

默认情况下Redis会异步的将数据导出到磁盘上。这种模式对许多应用程序已经足够了,#但是如果断电或者redis进程出问题就会导致一段时间内的更新数据丢失(取决与配置项)##这种只增文件是可选的能够提供更好的体验的数据持久化策略。#举个例子,如果使用默认的配置数据fsync策略,在服务器意外断电的情况下redis只会丢失一秒中内的更新数据,#或者当redis进程出问题但操作系统运转正常时,redis...

2018-07-09 19:58:21 234

转载 Redis的持久化操作配置和原理

RDB是redis将内存数据存储到磁盘文件的其中一种方式(另一种是AOF)。我们可以在redis.conf文件中,做一些针对RDB的设置。参考“redis 配置文件 snapshotting RDB数据库快照部分”,有中英文的对照翻译。################################ 快照 ################################# # # Save ...

2018-07-09 18:03:08 130

原创 数据库索引

简介编辑索引是对数据库表中一个或多个列(例如,employee 表的姓名 (name) 列)的值进行排序的结构。例如这样一个查询:select * from table1 where id=10000。如果没有索引,必须遍历整个表,直到ID等于10000的这一行被找到为止;有了索引之后(必须是在ID这一列上建立的索引),即可在索引中查找。由于索引是经过某种算法优化过的,因而查找次数要少的多。可见,...

2018-07-08 10:49:24 165

转载 Spring整合JMS(一)——基于ActiveMQ实现

1.3消息监听器MessageListener在Spring整合JMS的应用中我们在定义消息监听器的时候一共可以定义三种类型的消息监听器,分别是MessageListener、SessionAwareMessageListener和MessageListenerAdapter。下面就分别来介绍一下这几种类型的区别。1.3.1MessageListenerMe...

2019-11-07 14:24:46 303

转载 Spring整合JMS(一)——基于ActiveMQ实现

1.1JMS简介JMS的全称是Java Message Service,即Java消息服务。它主要用于在生产者和消费者之间进行消息传递,生产者负责产生消息,而消费者负责接收消息。把它应用到实际的业务需求中的话我们可以在特定的时候利用生产者生成一消息,并进行发送,对应的消费者在接收到对应的消息后去完成对应的业务逻辑。对于消息的传递有两种类型,一种是点对点的,即一个生产者和...

2019-11-07 13:44:23 254

原创 java @Data 注解 set get 方法

@Data 注解在实体类的使用可省去生成GET,SET方法你有没有觉得在每个实体类中都要生成get,set方法很麻烦,要是需求的变化,需要再加一个字段,添加属性后则又要添加其get,set方法现有一个很好用的注解能解决这个麻烦1,idea中装上 lombok-plugin 这插件,按照idea的提示安装完,重启idea即可完成安装 本人的这已经安装了2,...

2019-10-16 15:20:54 4685

原创 项目启动中报错Address already in use: bind

启动项目时,报出如下错误,通过错误提示可以看到端口被占用了。查看日志可以看到被占用的端口为10001这个问题的解决方案:打开cmd命令行,执行命令netstat -ano|findstr "10001"查看10001端口是否被占用及占用此端口的PID,从下图中可以看到占用端口的进程ID(PID)为11660执行命令tasklist|findstr "11660"...

2019-10-09 14:35:37 619

原创 如何重写hashCode()和equals()方法

转载:http://blog.csdn.net/neosmith/article/details/17068365hashCode()和equals()方法可以说是Java完全面向对象的一大特色.它为我们的编程提供便利的同时也带来了很多危险.这篇文章我们就讨论一下如何正解理解和使用这2个方法.https://blog.csdn.net/u012767369/article/details/...

2019-09-08 16:35:42 157

原创 RocketMQ学习-Broker-1

领域模型MQ领域语言描述RocketMQ做的事情,producer构建Message,发送给broker的指定topic,broker负责将消息投递到指定topic下的队列,并记录消息队列的offset,consumer利用拉模式拉取消息进行消费。ddd-for-rmq.png启动过程BrokerControllerBrokerController是broker模块的核心控...

2019-09-05 23:34:08 490

转载 spring 参数校验

spring 参数校验注解在写一些controller协议的时候,有些时候从前端传过来的参数较多,好的办法是定义一个实体类来封装请求参数,但是用实体类封装参数后,无法对参数值进行校验,可以使用spring的@Validated 结合java validation、hibernate validation注解进行校验。1.@validated 注解@Validated isorg...

2019-09-04 17:50:38 194

原创 RabbitMQ:四种ExChange用法

RabbitMQ:四种ExChange用法tonytonyyang 2017-08-21 17:50:49 浏览5971RabbitMQ发送消息时,都是先把消息发送给ExChange(交换机),然后再分发给有相应RoutingKey(路由)关系的Queue(队列)。ExChange和Queue之前是多对多的关系。RabbitMQ 3.0之后创建ExChange时,有四种类型可选“f...

2019-08-13 18:47:55 294

原创 RSA 加密,解密,加签,验签

一、RSA加密简介  RSA加密是一种非对称加密。可以在不直接传递密钥的情况下,完成解密。这能够确保信息的安全性,避免了直接传递密钥所造成的被破解的风险。是由一对密钥来进行加解密的过程,分别称为公钥和私钥。两者之间有数学相关,该加密算法的原理就是对一极大整数做因数分解的困难性来保证安全性。通常个人保存私钥,公钥是公开的(可能同时多人持有)。  二、RSA加密、签名区别  加密和签名...

2019-08-13 12:00:25 200

转载 使用RESTful风格开发Java Web

什么是RESTful风格?REST是REpresentational State Transfer的缩写(一般中文翻译为表述性状态转移),REST 是一种体系结构,而 HTTP 是一种包含了 REST 架构属性的协议,为了便于理解,我们把它的首字母拆分成不同的几个部分:表述性(REpresentational): REST 资源实际上可以用各种形式来进行表述,包括 XML、JSON ...

2019-07-25 12:18:19 309

转载 代理模式是什么,Spring AOP还和它有关系?

定义什么是代理模式?代理模式,也叫委托模式,其定义是给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。它包含了三个角色:Subject:抽象主题角色。可以是抽象类也可以是接口,是一个最普通的业务类型定义。RealSubject:具体主题角色,也就是被代理的对象,是业务逻辑的具体执行者。Proxy:代理主题角色。负责读具体主题角色的引用,通过真实角色的业务逻辑方法来实...

2019-07-22 13:56:41 156

转载 数据库web管理工具treesoft的安装与使用

treesoft官网:http://www.treesoft.cn/dms.htmltreesoft分TreeDMS和TreeNMS TreeDMS支持MySQL,Oracle,PostgreSQL, SQL Server, MongoDB, Hive 下载地址:https://pan.baidu.com/s/1Zzvz2jCVaqQ7QOOV9OP21g TreeNMS支持...

2019-07-01 15:07:53 6509

原创 windows 环境配置nginx +tomcat 集群

通俗点将,负载均衡就是因为访问流量太大,导致项目访问不流畅、甚至宕掉,所以通过一种分流的方式来缓解这种情况。一、 工具nginx-1.8.0apache-tomcat-6.0.33二、 目标实现高性能负载均衡的Tomcat集群:三、 步骤1、首先下载Nginx,要下载稳定版:2、然后解压两个Tomcat,分别命名为apache-tomcat-6....

2019-04-28 14:51:14 246

转载 mysql中utf8和utf8mb4区别

utf8mb4的出现MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。为什么要用utf8mb4那上面说了既然utf8能够存下大部分中文汉字,那为什么还要使用...

2019-04-21 19:36:29 172

转载 深入理解Java中this关键字的使用

Java提供了一个this关键字,this关键字总是指向调用该方法的对象。根据this出现的位置的不同,this作为对象的默认引用有两种情形。构造器中引用该构造器正在初始化的对象。 在方法中引用调用该方法的对象。this关键字最大的作用就是让类中一个方法,访问该类里的另一个方法或者实例变量。假设定义了一个Person类,这个Person对象的eat()方法需要调用它的move()方法,则如...

2019-04-21 19:35:51 253

转载 如何实现一个简单的RPC

RPC的实现原理正如上一讲所说,RPC主要是为了解决的两个问题:解决分布式系统中,服务之间的调用问题。 远程调用时,要能够像本地调用一样方便,让调用者感知不到远程调用的逻辑。还是以计算器Calculator为例,如果实现类CalculatorImpl是放在本地的,那么直接调用即可:现在系统变成分布式了,CalculatorImpl和调用方不在同一个地址空间,那么就必须要进...

2019-03-19 16:40:04 181

转载 eclipse 插件ERMster 生成其它格式的文件。

eclipse ERMaster插件安装 利用ERMaster快速生成db维护文档原啃不动地大坚果 发布于 2018/02/23 13:40字数 88阅读 2477收藏 4点赞 0评论 1开发十年,就只剩下这套架构体系了! >>> 1.插件获取ERMaster插件:https://sourceforge.net/projects/e...

2019-03-19 10:40:29 1241

转载 如何在Linux中使用命令行卸载软件

Linux系统中常用的一个操作就是安装各种软件,因为linux的强大功能也是依赖各种各样的软件来实现的。下面我们就来讲一下在Linux中怎么使用命令行卸载软件。我们分为两个部分来讲,分别是:1. 通过Linux自带的包管理器命令卸载软件2. 通过rm命令来删除软件工具/原料 Linux系统 通过Linux自带包管理器命令卸载软件 1 所有的Linux系统中都带...

2019-03-01 10:56:50 1354

转载 Java中的注解 - @NotNull

比如说,你写了一个后台系统,接收用户的请求,经过运算后返回结果,很通用的一个实现方案。假定所有的方法都需要校验参数是否为空,不然就可能有NullPointerException,如果系统有N个接口,每个接口参数有M个,你需要写N * M个if判断语句。如if (StringUtils.isBlank(request.getA())) { throw new IllegalArgume...

2019-02-28 09:24:57 41440 9

原创 Linux -crontab 定时任务时间配置

名称 : crontab使用权限 : root用户和crontab文件的所有者语法 :crontab [-e [UserName]|-l [UserName]|-r [UserName]|-v [UserName]|File ]说明 :crontab 是用来让使用者在固定时间或固定间隔执行程式之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是...

2019-02-27 16:04:39 909

转载 JWT入门教程

一、跨域认证的问题互联网服务离不开用户认证。一般流程是下面这样。1、用户向服务器发送用户名和密码。2、服务器验证通过后,在当前对话(session)里面保存相关数据,比如用户角色、登录时间等等。3、服务器向用户返回一个 session_id,写入用户的 Cookie。4、用户随后的每一次请求,都会通过 Cookie,将 session_id 传回服务器。5、服务器收到 s...

2019-02-25 15:45:55 726 1

转载 MySQL中的运算符使用

1.算数运算符 加 mysql> select 1+2; 减 mysql> select 2-1; 乘 mysql> select 2*3; 除 mysql> select 5/3; 商 mysql> SELECT 5 DIV 2; 模 mysql> select 5%2,mod(5,2); 2.比较运算符 等于 mysql> ...

2019-02-21 19:51:50 150

转载 Java中的DataInputStream和DataOutputStream的作用

1.有时没有必要存储整个对象的信息,而只是要存储一个对象的成员数据,成员数据的类型假设都是Java的基本数据类型,这样的需求不必使用到与Object输入、输出相关的流对象,可以使用DataInputStream、DataOutputStream来写入或读出数据。下面是一个例子:Java代码package ysu.hxy;public class Member {private String...

2019-02-20 17:00:38 981

原创 Java 一次性读取整个txt.文件,并解析

private void executeTransaction(String file) throws Exception { String filePath=file.replace("/","\\"); BusinessObjectManager bom = null; Business...

2019-02-20 09:35:10 3628

转载 map.toString() 和 JSONObject.toJSONString( map ) 的结果是有区别的

1 .Map<String, Integer> map = new HashMap<>();map.put( "staff9", 1 );map.put( "staff1", 3 );System.out.println( map.toString() );    // 结果是 {staff9=1, staff1=3}    // JSONObject...

2019-02-15 13:46:05 2307

转载 java 循环读取数据

1.最常用的方法。循环找出该位子的list元素for(int i = 0;i < list.size(); i ++){System.out.println(list.get(i));}2.利用Iterator 类和while方法Iterator it1 = list.iterator();while(it1.hasNext()){System.out.println(it1.n...

2019-02-14 16:49:59 1658

转载 indexof

利用循环和indexof()方法继续查找第二次出现的位置public class Test{public static void main(String[] args){int count = 0;int index = 0;for(;;){String s = "sunjavahpjavaaokjavajavahahajavajavagoodjava";String sToF...

2019-01-19 15:18:01 361

转载 VirtualBox,又一款可以替代VMware运行Linux的虚拟机

目前,虚拟机方面最受欢迎的是VMware,除此之外便是VirtualBox了,虽然每款软件都有各自的优缺点,但完全不影响我们的正常使用,相比之下确实是最好用的虚拟机了,如果你是一位已经安装了VMware,却又想尝鲜的朋友,不妨两个都试试,毕竟,实践出真知嘛。点击安装这里给大家以Ubuntu18.0为例演示一下,VirtualBox里安装Linux的及具体步骤。直接上图哈。新建命名...

2019-01-18 11:40:45 1869

转载 JPA QL和HQL支持的函数

JPA QL和HQL支持的函数博客分类:  Database JPA QL和HQL支持的函数. 不区分大小写√通过 ⊙测试没结果,但没出错 ×未通过方法     说明     类型     支持   测试结果HQL 使用方法   ABS(n)     取绝对值    数学函数    JPA QL HQL √   ABS(column_name[数字类...

2018-12-28 14:38:52 1294

转载 jPA jpql

JPQL就是一种查询语言,具有与 SQL 相类似的特征, JPQL 是完全面向对象的,具备继承、多态和关联等特性,和hibernate HQL很相似。 查询语句的参数JPQL 语句支持两种方式的参数定义方式 : 命名参数和位置参数 。 。在同一个查询语句中只允许使用一种参数定义方式。 命令参数的格式为:“ : + 参数名”例:Query query = em.creat...

2018-12-28 14:38:02 329

转载 Springboot 的 @Component 、@ConfigurationProperties 使用

一、Spring的@ValueSpring EL表达式语言,支持在XML和注解中表达式,类是于JSP的EL表达式语言。在Spring开发中经常涉及调用各种资源的情况,包含普通文件、网址、配置文件、系统环境变量等,我们可以使用Spring的表达式语言实现资源的注入。 Spring主要在注解@Value的参数中使用表达式。注入普通字符串 注入操作系统属性 注入表达式运算结果 ...

2018-12-19 11:58:01 3941

css3参考手册

非常好用,参考手册,希望大家可以根据我的参考手册好好学习,这样才能更好的了解前段,移动端的开发。

2018-09-06

空空如也

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

TA关注的人

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