摘要: 一般金融类的产品,涉及前端和后端交互的时候,都会都严格的数据安全保证。防止黑客攻击,信息篡改。 加密方式有很多,总的来说,分为2种:对称和非对称。我们先来看一下,这两种加密方式分别是什么?他们有什么区别? 对称加密: 对称加密,即采用对称的密码编码技术,他的特点是,加密和解密使用相同的秘钥。 常见的 阅读全文
posted @ 2020-01-28 23:11 未月廿三 阅读(3099) 评论(0) 推荐(0) 编辑
摘要: 常见的加密算法可以分成三类,对称加密算法,非对称加密算法和Hash算法。 对称加密 指加密和解密使用相同密钥的加密算法。对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性。假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共 阅读全文
posted @ 2020-01-28 23:10 未月廿三 阅读(545) 评论(0) 推荐(0) 编辑
摘要: 软件下载及配置 软件下载 mvn需要jdk的支持,jdk下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8 downloads 2133151.html 官方下载地址:http://maven.apache.org/d 阅读全文
posted @ 2020-01-28 21:53 未月廿三 阅读(1097) 评论(0) 推荐(0) 编辑
摘要: 最近小编自己一个人在负责一个项目的后台开发,其中有一部分是统计相关的功能,所以需要一些排序或者分组的操作,之前这种操作小编觉得还是比较麻烦的,虽热有一些现成的工具类,但是工具类的写法也是比较复杂的,但是如果使用java8 stream流的话就比较简单了,并且代码量会大大的减少,下面总结几个对map的 阅读全文
posted @ 2020-01-28 21:23 未月廿三 阅读(2092) 评论(0) 推荐(0) 编辑
摘要: ``` package com.kflh.boxApi.utils.util; import java.math.BigDecimal; /** * @program: BoxApi * @description: 计算浮点数 * @author: eterntiyz * @create: 2019-01-17 11:10 */ public class DoubleCalendar { /** 阅读全文
posted @ 2020-01-28 21:18 未月廿三 阅读(629) 评论(0) 推荐(0) 编辑
摘要: 解析案例 参考 fastJson对于json格式字符串的解析主要用到了一下三个类: JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换。 JSONObject:fastJson提供的json对象。 JSONArray:fastJson提供json数组 阅读全文
posted @ 2020-01-28 21:15 未月廿三 阅读(707) 评论(0) 推荐(0) 编辑
摘要: 可变参数 可变参数的特点: 那么可不可以使用多个可变参数作为入参呢?答案是不可以的,原因跟上一个错误差不多,这种可变参数需要放到最后一个入参,多个可变参数,不可能都最为最后一个入参。相较于String[]这种形式的入参,我理解的优势大概就是可以多个String传入,也可以Sting[]传入,就是te 阅读全文
posted @ 2020-01-28 21:10 未月廿三 阅读(530) 评论(0) 推荐(0) 编辑
摘要: 1.迭代遍历 2.for循环遍历: 3.优点还体现在泛型 假如 set中存放的是Object 阅读全文
posted @ 2020-01-28 21:07 未月廿三 阅读(1624) 评论(0) 推荐(0) 编辑
摘要: ``` 包装类型间的相等判断应该用equals,而不是'!=' Inspection info: 所有的包装类对象之间值的比较,全部使用equals方法比较。 说明:对于Integer var=?在-128至127之间的赋值,Integer对象是在IntegerCache.cache产生,会复用已有对象, 这个区间内的Integer值可以直接使用==进行判断,但是这个区间之外的所有数据,都会在堆上 阅读全文
posted @ 2020-01-28 21:06 未月廿三 阅读(1161) 评论(0) 推荐(0) 编辑
摘要: 数组转换为集合 采用java中集合自带的asList()方法就可以完成转换了 特别注意: == 因为,Arrays.asList()方法转换成的List集合类是java.util.Arrays.ArrayList下面的,它是java.util.Arrays类中自己定义的一个内部类,没有实现具体的ad 阅读全文
posted @ 2020-01-28 21:04 未月廿三 阅读(945) 评论(0) 推荐(0) 编辑
摘要: 关于java中遍历map具体哪四种方式,请看下文详解吧。 方式一 这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。 方法二 在for each循环中遍历keys或values。 如果只需要map中的键或者值,你可以通过keySet或values来实现遍历,而不是用entryS 阅读全文
posted @ 2020-01-28 20:58 未月廿三 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 先上一个场景:假如你突然想做饭,但是没有厨具,也没有食材。网上购买厨具比较方便,食材去超市买更放心。 实现分析:在快递员送厨具的期间,我们肯定不会闲着,可以去超市买食材。所以,在主线程里面另起一个子线程去网购厨具。 但是,子线程执行的结果是要返回厨具的,而run方法是没有返回值的。所以,这才是难点, 阅读全文
posted @ 2020-01-28 20:33 未月廿三 阅读(637) 评论(0) 推荐(0) 编辑
摘要: 创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 而自从Java 1.5开始,就提供了Callab 阅读全文
posted @ 2020-01-28 20:28 未月廿三 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 一.利用多线程 直接new线程 使用线程池 二.采用Spring 的异步方法去执行(无返回值) 在启动类或者配置类加上 @EnableAsync 注解. 先把longTimeMethod 封装到Spring的异步方法中,这个方法一定要写在Spring管理的类中,注意注解@Async @Async注解 阅读全文
posted @ 2020-01-28 20:26 未月廿三 阅读(30062) 评论(1) 推荐(0) 编辑
摘要: 问题:在多线程环境下,如何防止自己的变量被其它线程篡改 答案:ThreadLocal. ThreadLocal 不是用来解决共享对象的多线程访问的竞争问题的,因为ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。当线程终止后,这些值会作为 阅读全文
posted @ 2020-01-28 20:24 未月廿三 阅读(683) 评论(2) 推荐(1) 编辑
摘要: ReentrantLock实现了标准的互斥锁:一次最多只有一个线程能够持有相同ReentrantLock。但是互斥通常做为保护数据一致性的很强的加锁约束,因此,过分的限制了并发性。互斥是保守的加锁策略,避免了 “写/写”和“写/读"的重读,但是同样避开了"读/读"的重叠。在很多情况下,数据结构是”频 阅读全文
posted @ 2020-01-28 20:22 未月廿三 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 一、锁优化的思路和方法 锁优化是指:在多线程的并发中当用到锁时,尽可能让性能有所提高。一般并发中用到锁,就是阻塞的并发,前面讲到一般并发级别分为阻塞的和非阻塞的(非阻塞的包含:无障碍的,无等待的,无锁的等等),一旦用到锁,就是阻塞的,也就是一般最糟糕的并发,因此锁优化就是在堵塞的情况下去提高性能;所 阅读全文
posted @ 2020-01-28 20:21 未月廿三 阅读(405) 评论(0) 推荐(0) 编辑
摘要: 目录 "1. ReentrantLock简介" "2.ReentrantLock和synchronized的比较" "2.1 相同点" "2.2不同点" "3.ReentrantLock相比synchronized的额外功能" "3.1 ReentrantLock可以实现公平锁。" "3.2 .Re 阅读全文
posted @ 2020-01-28 20:19 未月廿三 阅读(682) 评论(0) 推荐(0) 编辑
摘要: 通过分析这两个用法的分析,我们可以理解java中锁的概念。一个是实例锁(锁在某一个实例对象上,如果该类是单例,那么该锁也具有全局锁的概念),一个是全局锁(该锁针对的是类,无论实例多少个对象,那么线程都共享该锁)。实例锁对应的就是synchronized关键字,而类锁(全局锁)对应的就是static 阅读全文
posted @ 2020-01-28 20:17 未月廿三 阅读(2462) 评论(0) 推荐(0) 编辑
摘要: 一、简介 volatile是Java提供的一种轻量级的同步机制。Java 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量,相比于synchronized(synchronized通常称为重量级锁),volatile更轻量级,因为它不会引起线程上下文的切换和调度。但是volat 阅读全文
posted @ 2020-01-28 20:13 未月廿三 阅读(308) 评论(0) 推荐(0) 编辑