![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
东非大裂谷
这个作者很懒,什么都没留下…
展开
-
AES128详解
https://www.cnblogs.com/luop/p/4334160.htmlhttps://blog.csdn.net/u013605322/article/details/83443612转载 2020-11-05 20:32:14 · 1751 阅读 · 0 评论 -
@Value和@Bean注解的执行顺序问题
Springboot中使用@Configruation和@Bean一起将Bean注册到ioc容器中,而@Value常用于将yml配置文件中的配置信息注入到类的成员变量中。当@Configruation、@Bean和@Value出现在同一个类中时,@Bean会比@Value先执行,这会导致当@Bean注解的方法中用到@Value注解的成员变量时,无法注入(null)的情况。例如在为Feign创建配置类,以实现Feign的权限验证时,需要将yml文件中的用户名和密码注入到配置类的成员变量中,@Bean注解方法则原创 2020-09-16 10:13:20 · 4305 阅读 · 1 评论 -
spring springboot websocket 不能注入( @Autowired ) service bean 报 null 错误
原文:https://blog.csdn.net/m0_37202351/article/details/86255132spring 或 springboot 的 websocket 里面使用 @Autowired 注入 service 或 bean 时,报空指针异常,service 为 null(并不是不能被注入)。解决方法:将要注入的 service 改成 static,就不会为nu...转载 2019-06-19 09:37:53 · 352 阅读 · 0 评论 -
使用JDK自带工具keytool生成ssl证书
https://blog.csdn.net/dwyane__wade/article/details/80350548keytool-genkey-alias tomcat(别名)-keypass 123456(别名密码)-keyalg RSA(生证书的算法名称,RSA是一种非对称加密算法)-keysize 1024(密钥长度,证书大小)-validity ...转载 2019-06-14 16:30:10 · 525 阅读 · 0 评论 -
解决java.io.IOException: DerInputStream.getLength(): lengthTag=111, too big.
在用keytool生成服务器端SSL证书后,启动springboot时,报错java.io.IOException: DerInputStream.getLength(): lengthTag=111, too big.使用了以下命令行:keytool -genkey -alias tomcat -keypass 123456 -keyalg RSA -keysize 1024 -valid...原创 2019-06-14 16:52:43 · 16400 阅读 · 1 评论 -
springboot2.x 的 RedisCacheManager变化
原文:https://blog.csdn.net/Mirt_/article/details/80934312springboot2.x 的 RedisCacheManager变化由于最近在学着使用redis做缓存,使用的是springboot2.x来搭建的项目。看了看网上的一些教程,但是大多数教程都是基于1.x的版本来讲解的,但是springboot2.x之后发生了一些变动,网上想...转载 2019-06-03 19:10:55 · 2600 阅读 · 0 评论 -
java局部内部类和匿名内部类
1.局部内部类java局部内部类就是在方法中定义的类,它仅在该方法中有效。因为它不能在该方法之外使用,因此它不能使用访问控制符和static修饰。它的应用场景是:在java代理模式中,可以直接在方法中用局部内部类实现某些接口或继承某些类,返回代理对象。(局部内部类只用来返回接口或父类的对象,然后就失去了它的价值)public interface InnerInterface { ...原创 2019-06-16 11:46:28 · 2200 阅读 · 0 评论 -
Java消息队列_为何使用消息队列
原文:https://www.cnblogs.com/panxuejun/p/7765705.html消息队列的使用场景是怎样的?经常听到诸如rebbitmq,activemq,请教一下各位前辈消息队列的使用场景是怎样的,什么时候会用到它校验用户名等信息,如果没问题会在数据库中添加一个用户记录 如果是用邮箱注册会给你发送一封注册成功的邮件,手机注册则会发送一条短信 分析用户...转载 2019-06-12 10:07:50 · 295 阅读 · 0 评论 -
Java消息队列_消息队列的使用
原文:https://www.cnblogs.com/linjiqin/p/5720865.html关于消息队列的使用一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ二、消息...转载 2019-06-12 10:09:21 · 895 阅读 · 0 评论 -
Java11要来了,不如学学Java8的Lambda
原文:https://baijiahao.baidu.com/s?id=1614680282522143196&wfr=spider&for=pc前言Java11前两天都发布了,而自己Java8还没搞明白,真是羞为称自己为Java程序员。今天就让我们来通俗易懂的聊一聊Java8中的Lambda表达式~简单上手通过Lamda表达式,可以变换为:...转载 2019-06-25 21:50:56 · 390 阅读 · 0 评论 -
什么是单例模式
原文:https://zhuanlan.zhihu.com/p/51854665什么是单例模式?保证整个系统中一个类只有一个对象的实例,实现这种功能的方式就叫单例模式。为什么要用单例模式?1、单例模式节省公共资源比如:大家都要喝水,但是没必要每人家里都打一口井是吧,通常的做法是整个村里打一个井就够了,大家都从这个井里面打水喝。对应到我们计算机里面,像日志管理、打印机、数据库...转载 2019-05-13 16:51:29 · 20043 阅读 · 10 评论 -
Spring单例与线程安全小结
原文:cnblogs.com/doit8791/p/4093808.html一、Spring单例模式与线程安全Spring框架里的bean,或者说组件,获取实例的时候都是默认的单例模式,这是在多线程开发的时候要尤其注意的地方。单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。当多用户同时请求一个服务时,容器会...转载 2019-05-16 15:00:23 · 95 阅读 · 0 评论 -
jdk keytool生成https证书
第一次生成的时候没有指定storetype为PKCS12,但springboot配置文件里是这样写的:http: port: 8084server: port: 8083 protocol: HTTP / 1.1 #证书的路径. ssl: #证书的路径. key-store: classpath:keystore.p12 #证书密码 k...原创 2019-05-10 22:57:24 · 99 阅读 · 0 评论 -
Springboot不能直接以JSONArray作为参数接收json数组字符串
前端js代码var initTree = [ { "text": "Title/Notes", "href": "#TitleNotes" }, { "text": "Options", "href": "#Options" }, {原创 2019-01-09 21:34:42 · 12449 阅读 · 3 评论 -
JAVA Session
https://www.cnblogs.com/xdp-gacl/p/3855702.htmlhttps://blog.csdn.net/qq_40939905/article/details/81843346转载 2019-03-11 08:55:22 · 75 阅读 · 0 评论 -
单例模式(Singleton)应用场景和优缺点
概述:单例(Singleton)模式要求一个类有且仅有一个实例,并且提供了一个全局的访问点。这就提出了一个问题:如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?客户程序在调用某一个类时,它是不会考虑这个类是否只能有一个实例等问题的,所以,这应该是类设计者的责任,而不是类使用者的责任。 从另一个角度来说,Singleton模式其实也是一种职责型模式。因为我们创建了一个对象,这个对象扮演了...转载 2019-03-11 10:54:01 · 177 阅读 · 0 评论 -
10分钟了解jwt
https://baijiahao.baidu.com/s?id=1608021814182894637&wfr=spider&for=pc转载 2019-03-21 15:00:11 · 145 阅读 · 0 评论 -
GET和POST两种基本请求方法的区别
原文:https://www.cnblogs.com/logsharing/p/8448446.htmlGET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,...转载 2019-03-25 10:32:12 · 102 阅读 · 0 评论 -
深入理解HashMap(一)
原文:https://juejin.im/post/5a6694e8f265da3e347b63c7HashMap主要用来做什么?为什么要这么做?hashmap我们都用过很多次了,主要目的就是为了加快我们的查找速度。我们学过数据结构的都知道,数组的查询和修改速度很快,但是增加一个元素或者删除一个元素就很慢,但是链表就反过来,链表是增加和删除一个元素很快,查询和修改就很慢。 通常来说,我们为...转载 2019-04-29 16:45:54 · 149 阅读 · 0 评论 -
为什么HashMap是线程不安全的,实际会如何体现?
原文:https://www.cnblogs.com/zlslch/p/7635070.html为什么HashMap是线程不安全的,实际会如何体现? 第一,如果多个线程同时使用put方法添加元素。 假设正好存在两个put的key发生了碰撞(hash值一样),那么根据HashMap的实现,这两个key会添加到数组的同一个位置,这样最终就会发生其中一个线程的put的数据被覆盖。 ...转载 2019-04-29 16:47:00 · 385 阅读 · 0 评论 -
Spring单例模式与线程安全
原文:https://www.javazhiyin.com/18845.html,http://www.cnblogs.com/doit8791/p/4093808.html一、Spring单例模式与线程安全Spring框架里的bean,或者说组件,获取实例的时候都是默认的单例模式,这是在多线程开发的时候要尤其注意的地方。单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例...转载 2019-05-14 17:14:43 · 105 阅读 · 0 评论 -
ThreadLocal就是这么简单
原文:https://juejin.im/post/5ac2eb52518825555e5e06ee前言今天要研究的是ThreadLocal,这个我在一年前学习JavaWeb基础的时候接触过一次,当时在baidu搜出来的第一篇博文ThreadLocal,在评论下很多开发者认为那博主理解错误,给出了很多有关的链接来指正(可原博主可能没上博客了,一直没做修改)。我也去学习了一番,可惜的是当时还...转载 2019-05-15 11:37:52 · 69 阅读 · 0 评论 -
Java - 线程安全的 HashMap 实现方法及原理
原文:https://liqianglv2005.iteye.com/blog/2025016Java HashMap 是非线程安全的。在多线程条件下,容易导致死循环,具体表现为CPU使用率100%。因此多线程环境下保证 HashMap 的线程安全性,主要有如下几种方法:使用 java.util.Hashtable 类,此类是线程安全的。 使用 java.util.concurre...转载 2019-06-26 15:47:01 · 1461 阅读 · 0 评论 -
HashMap实现方法概述
HashMap的实现思路:HashMap是采用数组( table[] ) + 链表存储的,table数组的每个元素都是一个链表。链表的核心数据结构是Node:static class Node<K,V> implements Map.Entry<K,V> { final int hash; final K key; ...原创 2019-06-26 23:24:16 · 474 阅读 · 0 评论 -
Java正则表达式
正则表达式:通过定义字符串模式,来搜索、编辑和处理文本。Java对正则表达式的支持有两种,一种是通过Regex包的Pattern和Matcher类配合使用,另一种是通过String类对象的split, replace,matches方法等直接使用。Pattern, Matcher类,配合使用Pattern.matches //只能匹配一次结果Pattern patter...原创 2019-06-24 10:52:40 · 81 阅读 · 0 评论 -
ArrayList源码解析
原文:https://www.cnblogs.com/zhangyinhua/p/7687377.html阅读目录(Content)一、ArrayList简介 1.1、ArrayList概述 1.2、ArrayList的数据结构 二、ArrayList源码分析 2.1、继承结构和层次关系 2.2、类中的属性 2.3、构造方法 2.4、核心方法 2.4.1...转载 2019-07-12 10:36:12 · 103 阅读 · 0 评论 -
ReentrantLock 源码解析(JDK1.8)
原文:https://www.jianshu.com/p/4e54802c965f另外可参考:https://www.jianshu.com/p/a533cbb740c6 https://blog.csdn.net/qyp199312/article/details/70598480ReentrantLock简单使用demo如下:Lock lock = new Reentran...转载 2019-07-18 20:12:40 · 121 阅读 · 0 评论 -
java中的CAS和原子类的实现(JDK1.8)
原文:https://www.jianshu.com/p/a533cbb740c6什么是CASCAS的全称为Compare-And-Swap,直译就是对比交换。是一条CPU的原子指令,其作用是让CPU先进行比较两个值是否相等,然后原子地更新某个位置的值,经过调查发现,其实现方式是基于硬件平台的汇编指令,就是说CAS是靠硬件实现的,JVM只是封装了汇编调用,那些AtomicInteger类便...转载 2019-07-20 08:52:39 · 180 阅读 · 1 评论 -
Java中的公平锁和非公平锁实现详解
原文:https://blog.csdn.net/qyp199312/article/details/70598480#cas%E5%92%8Cvolatile-java%E5%B9%B6%E5%8F%91%E7%9A%84%E5%9F%BA%E7%9F%B3文章目录前言ReentrantLock的可重入性分析synchronized的可重入性ReentrantLock的可重入性Re...转载 2019-07-20 08:55:02 · 159 阅读 · 0 评论 -
图解JVM GC过程
原文:https://www.jianshu.com/p/314272e6d35b1. Minor GC(1) Minor GC过程假设现在Heap内存大小为20M,其中年轻代为10M,老年代为10M,年轻代中Eden区6M,From区2M,To区2M,新创建的对象首先往Eden区分配,当再次分配一个对象,假设大小为1M,此时Eden区已经没有足够空间来给这个对象分配内存,如图所示:...转载 2019-07-27 19:53:02 · 638 阅读 · 0 评论 -
JVM堆区新生代为什么有两个Survivor
原文:https://www.jianshu.com/p/3d3fc356e31cJVM内存模型中, Heap区被分为新生代和老年代两个区域, 新生代又分为Eden+Survivor1+Survivor2. 新生代收集算法主要使用复制算法, 老年代收集算法主要使用标记-清理或标记-整理算法.堆内存划分新生代在发生首次YGC的时候, Eden内存活的对象会被复制到S1....转载 2019-07-27 19:54:01 · 742 阅读 · 0 评论 -
十大经典排序算法(动图演示)
原文:https://www.cnblogs.com/onepixel/p/7674659.html0、算法概述0.1 算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此...转载 2019-07-28 14:44:35 · 100 阅读 · 0 评论 -
十大经典排序算法最强总结
原文:https://blog.csdn.net/hellozhxy/article/details/799118670、排序算法说明0.1排序的定义对一序列对象根据某个关键字进行排序。0.2 术语说明稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面; 不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面; 内排序:所有排序操作都在内存中...转载 2019-08-13 21:04:04 · 176 阅读 · 0 评论 -
JAVA Cloneable接口
原文:https://blog.csdn.net/u013916933/article/details/51590332一、引言Cloneable接口是Java开发中常用的一个接口, 它的作用是使一个类的实例能够将自身拷贝到另一个新的实例中,注意,这里所说的“拷贝”拷的是对象实例,而不是类的定义,进一步说,拷贝的是一个类的实例中各字段的值。在开发过程中,...转载 2019-08-20 15:33:06 · 267 阅读 · 0 评论 -
Java Callable、Future的两种使用方式
Java Callable、Future的两种使用方式1. Callable+Futurepublic class Test { public static void main(String[] args) { ExecutorService executor = Executors.newCachedThreadPool(); Task task ...转载 2019-07-16 15:34:26 · 151 阅读 · 0 评论 -
线程池,这一篇或许就够了
原文:https://liuzho.github.io/2017/04/17/%E7%BA%BF%E7%A8%8B%E6%B1%A0%EF%BC%8C%E8%BF%99%E4%B8%80%E7%AF%87%E6%88%96%E8%AE%B8%E5%B0%B1%E5%A4%9F%E4%BA%86/为什么用线程池 创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效...转载 2019-07-16 10:42:42 · 106 阅读 · 0 评论 -
Java并发编程:Lock
原文:https://www.cnblogs.com/dolphin0520/p/3923167.html在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。 也许有朋友会问,既然都可以通过synchroni...转载 2019-07-08 20:03:48 · 91 阅读 · 0 评论 -
Java hashCode() 和 equals()的若干问题解答
原文:https://www.cnblogs.com/skywang12345/p/3324958.html本章的内容主要解决下面几个问题:1equals() 的作用是什么?2equals() 与 == 的区别是什么?3hashCode() 的作用是什么?4hashCode() 和 equals() 之间有什么联系?第1部分 equals() 的作用...转载 2019-07-09 09:43:39 · 87 阅读 · 0 评论 -
java集合遍历的几种方式总结及比较
原文:https://www.cnblogs.com/leskang/p/6031282.html集合类的通用遍历方式, 用迭代器迭代:Iterator it = list.iterator();while(it.hasNext()) { Object obj = it.next();}Map遍历方式:1、通过获取所有的key按照key来遍历//Se...转载 2019-07-09 17:26:25 · 113 阅读 · 0 评论 -
红黑树(一)之 原理和算法详细介绍
原文:https://www.cnblogs.com/skywang12345/p/3245399.html目录1 红黑树的介绍2 红黑树的应用3 红黑树的时间复杂度和相关证明4 红黑树的基本操作(一) 左旋和右旋5 红黑树的基本操作(二) 添加6 红黑树的基本操作(三) 删除 作者:Sky Wang 于 2013-08-08 ...转载 2019-07-13 15:02:00 · 133 阅读 · 0 评论