自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 收藏
  • 关注

翻译 java中List、Array、Map、Set等集合相互转换

在java中,我们经常需要对List、Array等做一些转换操作,当然转换方法有很多种,但哪种方法既方便又高效呢?在这里向大家介绍一下集合间的最佳转换方法。1.List转换为Array:List<String> list = new ArrayList<String>();list.add("China");list.add("Switzerland"...

2020-03-26 18:11:49 82

原创 ArrayList的工具类

/** * * @param listObj 原来的大List * @param groupNum 分隔成小List中,每个小List的元素的个素数 * @param <T> * @return */ public static <T> List<List<T>> getSu...

2020-02-27 12:37:38 113

原创 Redis相关实践的博客

https://mp.weixin.qq.com/s/6kc08VxgvaaNYB9Vsk7OWA(redis使用的问题,包括:业务区分,优雅地扩容,监控发现异常等)https://mp.weixin.qq.com/s/VwORYHmTJif7hoqJIXenEQ(基于redis实现分布式锁的分析,以及需要注意的问题,最后着重讲了Redlock方式实现分布式锁,可以看看)...

2019-06-21 00:18:26 97

原创 算法相关的博客

https://mp.weixin.qq.com/s/2iAkyvc8SCLZn1qMi96smQ(详细介绍了关于一致性哈希算法)

2019-06-21 00:11:11 67

转载 面试相关总结

Redis相关面试总结:https://mp.weixin.qq.com/s/FisWF_WbELCRBn_YzFJmNA(由redis分布式锁, 队列相关,集群相关的总结)https://mp.weixin.qq.com/s/DP8pX-a-Cbdag-O3fEX2xw(关于虚拟机的面试相关总结)https://mp.weixin.qq.com/s/txtkkFOD1HIwg8...

2019-05-26 11:20:30 53

原创 大佬的博客收藏

1)慕课网上的博客大佬(小柒2012),里面由很多,大佬实采坑总结,以及一些技术的总结, 并由github, 可以学到很多东西, 比如由python的学习, Ngnix的实际经验等,是很不错的学习资料https://www.imooc.com/u/1215284/articles...

2019-05-12 11:34:53 357

原创 java中关于ip地址的工具类AddressUtils

package com.itstyle.common.utils;import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.UnsupportedEncodingExcep...

2019-05-11 16:43:03 999

原创 java中对于金额计算的BigDecimalUtils

package com.itstyle.common.utils;import java.math.BigDecimal;import org.apache.commons.lang3.StringUtils;public class BigDecimalUtils { /** * 除法 */ public static BigDecimal divide(String ...

2019-05-11 16:39:13 764

原创 一些不错的博客

关于Elastic-Job:https://www.toutiao.com/a6603712732548039175/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1&timestamp=1537576149&app=news_article&utm_source=weixin&i...

2019-05-11 12:48:39 141

原创 开源项目的gitHub地址,可供学习

1:项目介绍; 当前后端分离,权限管理模块 由于商业协议,原本的项目不能共享给各位小伙伴,因此我专门做了一个开源项目,这个项目的功能整体来说比较多,但是考虑到这个系列的文章主要是向大家介绍权限管理模块,因此其他模块都被我暂时阉割掉了,不过小伙伴们可以放心,权限管理模块的代码一行都没有删除,涉及到权限管理的代码和数据都是完整的,可以直接运行的。小伙伴将以管理员的身份登录到后台系统,登录成...

2019-05-09 09:11:56 282

原创 电商系统商品中心产品设计

由于商业性质决定了电商业务支撑系统必须具备稳定性、可扩展、安全性强等特点,PM在设计产品架构时,应充分考虑到业务发展需要,尽量将各模块隔离,商品模块建个商品中心,订单模块建个订单中心。只有在产品设计上有模块化思想,具有前瞻性,技术在开发时才会考虑业务隔离,当业务调整、功能新增时,开发可迅速进行,避免牵一发而动全身的事情反复发生。对电商公司来讲,最核心最难做的三部分:商品、订单、库存。商品...

2019-03-09 20:09:18 3789

原创 30岁之后,更应该在意以下10点

30岁之后,感觉自己的整个世界都变了。以前靠勤奋就能赢,30岁以后的世界,勤奋完全不够用了。观察周围的很多人,总觉得每个人身上的成功秘诀都不一样。但不置可否的是,30岁以后的世界,是多元化的,通往成功的道路,突然生出很多内容。勤奋的路能让你一直还不错,但你发现,自己很努力所取得的成就,似乎没有比别人信手拈来的更好。到底是为什么呢?是别人成功的背后有什么猫腻吗?其实,是因为你还用2...

2019-03-09 18:01:29 194

原创 mysql中整数类型后面的数字

mysql中整数类型后面的数字mysql数据库中以 :数据类型(m) 来约束数据,其中 数字m在不同的数据类型中表示含义是不同的,整型数系统已经限制了取值范围,tinyint占1个字节、int占4个字节所以整型数后面的m不是表示的数据长度,而是表示数据在显示时显示的最小长度.tinyint(1) 这里的1表示的是 最短显示一个字符。tinyint(2) 这里的2表示的是 最短显示两个字符,...

2019-03-01 12:54:33 417

原创 Mysql的binary、char、varchar区别

mysql的binary、char、varchar区别:binary:保存二进制字符串,它保存的是字节而不是字符,没有字符集限制。binary(8)可以保存8个字符,每个字符占1个字节,共占8个字节进行比较时是按字节进行比较,而不是按字符(char),按字节比较比字符简单快速.按字符比较不区分大小写,而binary区分大小写char:使用固定长度的空间进行存储,char(4)存储4个...

2019-03-01 11:12:39 658

原创 减少代码中过多的嵌套

由于是开发的一些小经验,就直接上链接了,有空就可以看下了:1:接口分层2:使用多态,不同的类别分开, 当然这还可以抽象3:使用maphttps://mp.weixin.qq.com/s/5u80Rqg588HCTT8MgQbLTA ...

2019-01-27 21:53:52 622

原创 java中对于一些简单的条件匹配使用ScriptEngineManage

原理:ScriptEngineManage          java中调JavaScript的eval() 函数实现字符串的运算(ScriptEngineManger); 相关实现代码:        //1:新户判断是否年龄已满22周岁(新户又年龄的限制,老户没有) int userType = orderBorrowInfo.getUserType...

2019-01-18 11:23:36 394

原创 RabbitMQ 消息队列可靠性代码实现

1,实现rabbitmq所需要依赖包&lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-amqp&lt;/artifactId&gt; &lt;version&gt;${spring-boot.version}&l...

2018-09-25 16:31:37 192

原创 数据分库分表 Sharding JDBC

本文介绍sharding的基本思想和理论上的切分策略Sharding JDBC:1:基本思想  Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上 ,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在一个server上 ;如果表并不多,但每张表的数...

2018-09-24 01:38:19 721

原创 elastic-job的原理简介

elastic-job :1,简介      是当当开源的一款非常好用的作业框架,在这之前,我们开发定时任务一般都是使用quartz ,对于业务量小的话 quartz是可以满足我们的要求的,使用quartz对于大的业务量的不足:     a)quartz应用服务多节点部署,可能会重复多次执行而引发系统逻辑的错误 。     b)quartz的集群仅仅只是用来HA,节点数量的增加并不...

2018-09-22 17:01:17 731

原创 一些不错的博客

1:关于java的一些设计模式和一些算法:https://blog.csdn.net/lemon_tree12138/article/details/49777467关于Elastic-Job:https://www.toutiao.com/a6603712732548039175/?tt_from=weixin&utm_campaign=client_share&wx...

2018-08-26 11:25:21 151

原创 java设计模式:(工厂模式)

1:工厂模式是一种比较常见的创建模式, 在实际开发中也是常常使用到。2:工厂模式的形式:    2.1)简单工厂模式,而对于简单工厂模式来说,它是为了让程序有一个更好地封装,降低程序模块之间的耦合程度,对于简单的工厂模式,其实也可以将其理解成为一个创建对象的工具类。在这个工具类里面,我们就可以进行一些其他操作,比如对象的初始化。这样就避免了把对象初始化的大量代码(如果有大量代码的话)放在构...

2018-08-26 02:11:29 78

原创 java设计模式:(策略模式)

1:策略模式的描述   把它们一个个封装起来,并且使他们可以相互替换。这样策略模式就可以独立使用它们的客户端变化。   策略模式其实是为了解决,同一个问题有多个不能的解决方式,也就是说提供了多种不同的解决策略,比如,我们对一个数组  进行排序。那么这里就有冒泡排序、快速排序、归并排序等等不同的算法,这里我们就可以说这些是不同的策略。2:策略模式的具体实现:  2.1)公共接口(比如...

2018-08-26 01:16:58 70

原创 java设计模式:(适配器模式)

1:情景    不同国家的插座,插头不一样,美国的插座,提供110伏电压,三孔插座,中国的插座,提供220伏电压,二孔插座,这个时候你去美国旅游的时候,美国只有三孔插座,这个时候如果没有适配器的话,你就不能给手机充电,所以需要用到适配器,一头转换成二孔插座(给手机充电),另一头插到三孔插座,同理适配器模式也是这么实现的, 下面看具体的实现:2:java适配器模式的具体实现:总共7个类 ...

2018-08-26 00:43:31 82

原创 java中生成随机数工具类RandomUtils

/** * 根据需要生成指定长度的纯数字随机数,这个随机数的每一位都是从(0-9)这个产生的一位 * @param date * @return */ public static String getNewRandomCode(int codeLen) { java.util.Random randomCode = new java.util.Random(); Str...

2018-05-02 14:23:43 1549

原创 Mybatis的传入参数parameterType类型

1. MyBatis的传入参数parameterType类型分两种    1. 1. 基本数据类型:int,string,long,Date;     1. 2. 复杂数据类型:类和Map2.获取参数中的值:    2.1  基本数据类型:#{参数} 获取参数中的值    2.2  复杂数据类型:#{属性名}  ,map中则是#{key}3.案例:3.1:基本类型&lt;sql id="Base_...

2018-04-28 18:08:03 203

原创 阿里云Redis的开发规范

一、键值设计1.key名设计(1)【建议】: 可读性和可管理性    以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:id   (2)【建议】: 简洁性   保证语义的前提下,控制key的长度,当key较多时,内存占用也不容忽视2.value设计(1)【强制】:拒绝bigkey(防止网卡流量、慢查询)    string类型控制在10KB以内,hash、list、se...

2018-04-28 15:52:54 520

原创 Mybatis中输出映射-resultType与resultMap的区别

一、resultType1:使用resultType进行输出映射,只有查询出来的列名和pojo(实体bean)中的属性名一致,该列才可以映射成功。2:如果查询出来的列名和pojo中的属性名全部不一致,没有创建pojo对象。3:只要查询出来的列名和pojo中的属性有一个一致,就会创建pojo对象使用时一般是:输出为简单类型是,查询出来的结果集只有一列,可以使用简单类型进行输出映射;输出为pojo对象...

2018-04-28 15:08:35 362

原创 java 中的静态代码块、构造代码块、构造函数以及Java类初始化顺序

静态代码块:用staitc声明,jvm加载类时执行,仅执行一次;构造代码块:类中直接用{}定义,每一次创建对象时执行;执行顺序优先级:静态块,main(),构造块,构造方法。a)构造函数:1.对象一建立,就会调用与之相应的构造函数,也就是说,不建立对象,构造函数时不会运行的;2.构造函数的作用是用于给对象进行初始化;3.一个对象建立,构造函数只运行一次,而一般方法可以被该对象调用多次;b)构造代码...

2018-04-28 14:35:26 123

原创 java中bean工具类BeanUtil

import org.egg.enums.CommonErrorEnum;import org.egg.exception.CommonException;import org.springframework.beans.BeanUtils;import org.springframework.util.CollectionUtils;import java.beans.BeanInfo...

2018-04-28 00:27:00 1244

原创 java中json与bean互转的工具类JsonUtil

import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import com.alibaba.fastjson.serializer.SerializerFeature;import java.util.*;/** * @author wanghang * @Description ...

2018-04-28 00:23:20 3474

原创 Java中用于发送http请求的工具类HttpRequestUtil

项目环境:jdk1.8+spring4.3.12如果jdk的版本比较低或者spring的版本比较低的话,或许有些包引用不到。在项目开发中,经常用调用http接口,下面是封装apache的httpclient工具类。import org.apache.http.client.config.RequestConfig;import org.apache.http.client.methods.Clo...

2018-04-28 00:07:24 9840 1

原创 Date的工具类DateUtil

import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import org.apache.commons.codec.binary.StringUtils;import org.apache.xmlbea...

2018-04-10 10:53:04 450

原创 理解分布式事务,分布式事务的解决方案

1:分布式事物的理解:      分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务节点上,分布式事务需要保证这些小操作要么全部成功,要么全部失败;本质上来说,分布式事务就是为了保证不同数据库的数据一致性。2:分布式失误产生的原因:a)数据库分库分表;   当数据库单表一年...

2018-03-30 21:25:30 3881 2

原创 Spring Mvc 防御CSRF攻击

1)CSRF的一些简单的理解:       CSRF :中文名称:跨站请求伪造,缩写为:CSRF/XSRF。        CSRF攻击可以这么理解:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账……造成的问题包括:个人隐私泄露以及财产安全。         CSRF的原理:

2017-09-07 00:04:42 723

原创 对于卡券类兑换的,随机生成兑换码(数字和字母的字符串)

package com.test;import java.util.Random;public class RedeemCodeUtils { public static void main(String[] args) { String st1 = createBigSmallLetterStrOrNumberRadom(8); String st2 = createSmall...

2017-08-24 01:33:17 8031 1

原创 关于java中对小数的精确处理

java 中提供BigDecimal对小数的精确处理a) 通常用到下面的方法: 保留两位小数, 四舍五入setScale(int newScale, int roundingMode)- newScale:保留的小数位数- roundingMode:精度取值方式roundingMode的取值有一下几个:ROUND_CEILING大于等于该数的那个最近值R

2016-11-04 17:37:52 5462

原创 关于redis中使用锁机制,( 实现分布式锁和任务队列)

Redis为单进程单线程模式,Redis本身没有锁的概念,Redis对于多个客户端连接并不存在竞争,但是在Jedis客户端对Redis进行并发访问时会发生连接超时、数据转换错误、阻塞、客户端关闭连接等问题,对于这些问题对此有2种解决方法:1.客户端角度,为保证每个客户端间正常有序与Redis进行通信,对连接进行池化,同时对客户端读写Redis操作采用内部锁synchronized。2.

2016-11-03 23:40:25 21954 1

原创 java中的IO流

字节流:OutputStream:它是字节输出流的顶层父类,并且是一个抽象类,不能new对象,字节输出流,由它的子类FileOutputStream负责写的操作。                  并且在创建FileOutputStream对象时, 要指定路径。InputStream:它是字节输入流的顶层父类,并且是一个抽象类,不能new对象,字节输入流,也是由它的子类FileInpu

2016-11-02 14:12:00 183

原创 关于spring事物的隔离级别和事物的传播行为

事物的隔离级别:Spring事务的隔离级别有五种 a)DEFAULT:使用数据库默认的事务隔离级别. b)UNCOMMITTED:这是事务最低的隔离级别,它充许令外一个事务可以看到这个事务未提交的数据, 这种隔离级别会产生脏读,不可重复读和幻像读。 c)COMMITTED:保证一个事务修改的数据提交后才能被另外一个事务读取。另外一个事务不能读取该事务未提交的数据, 可以

2016-11-01 19:58:31 603

原创 java中的反射技术

1: java中的反射机制: a)在Java 运行时 环境中,对任意一个类, 可以知道这个类所有的属性和方法。b)任意一个对象,可以动态地获取类的信息,然后调用类中的方法, 也是基于java中的反射。2: java中反射能够提供的功能:a)在运行时判断任意一个对象所属的类.b)在运行时构造任意一个类的对象.c)在运行时调用任意一个对象的方法.3 :Java 反射

2016-10-30 17:50:44 407

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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