目录 运行时数据区初探 运行时数据区概述 Hotspot运行时数据区 分配JVM内存空间 方法区 方法区存储内容 永久代和元空间的区别 方法区异常演示 字符串常量池 储存了哪些内容 字符串常量池案列分析 String.intern()方法  …
jdk1.8发生了一些改变,请参看最新版:http://yuanrengu.com/2020/ba184259.html 如果你去面试,面试官不问你这个问题,你来找我^_^ 下面直接来干货,先说这三个Map的区别: HashTable 底层数组+链表…
前面两篇文章记录了 Spring IOC 的相关知识,本文记录 Spring 中的另一特性 AOP 相关知识。 部分参考资料: 《Spring实战(第4版)》 《轻量级 JavaEE 企业应用实战(第四版)》 Spring 官方文档 W3CSchoo…
yml: myProps: varmaplist: key11: - t1 - t2 - t3 key22: - t11 - t22 - t33 list: - topic1 - topic2 - topic3 maps: {key1: 'value…
创建一个容量为5的线程池 ExecutorService executorService = Executors.newFixedThreadPool(5); 向线程池提交15个任务,其实就是通过线程池来启动15个线程 for(int i = 0;i…
一、获得Cipher对象 通过调用Cipher类中的getInstance静态工厂方法得到Cipher对象。 public static CiphergetInstance(String transformation); public static …
1 笨点,就是直接粘贴,手动去掉里面的判断语法 2 调用SqlSessionTemplate的方法 import org.mybatis.spring.SqlSessionTemplate; String sql= sqlsessionTemplat…
如果看过我之前的文章都知道这几天一直在更新java多线程这块的知识点,因为这块的知识点确实是比较多而且也别繁杂,因此对于java多线程基础知识点也会在两个多月的时间全部写完,这篇文章主要是针对java并发包下的一个原子类AtomicBoolean的讲…
提高java的并发编程,就不得不提volatile关键字,不管是在面试还是实际开发中 volatile都是一个应该掌握的技能。他的重要性不言而喻。因此也有必要学好。 一、为什么要用到volatile关键字? 使用一个新技术的原因肯定是当前存在了很多问…
1. 背景 public static String read(String path){ //从给定位置获取文件 File file = new File(path); } CID 1565229(1 的 1 数):操控文件系统路径、文件名或 UR…
工作中遇到一个findBugs,类型为NN_NAKED_NOTIFY压根不知道这类问题的原因。 NN_NAKED_NOTIFY:顾名思义,翻译过来为裸露的notify(),也就是说这个notify()没有找到正在wait()的对象。但是我们确实是调用…
service 是有用的相当于 xml配置中得bean id = service 也可以不指定 不指定相当于 bean id = com. service.service 就是这个类的全限定名,表示给当前类命名一个别名,方便注入到其他需要用到…
spring boot 在多环境情况下我们需要根据不同的获取不一样的值, 我们会配置在不同的文件中, 那么我们怎么获取配置的属性值呢! 下面介绍几种用法。 1. 除了默认配置在application.properties 的多环境中添加属性: 我们会…
这里略去maven工程的配置,以及junit在maven工程中的配置和使用;也不分析Mock的原理和Mockito与其他mock工具的异同。 重点讲解如何在maven junit中引入Mockito,以及使用mock完成单元测试。 1.添加Mocki…
一、介绍 在Java8以前,接口中只能有抽象方法(public abstract 修饰的方法)跟全局静态常量(public static final 常量 );但是在Java8中,允许接口中包含具有具体实现的方法,该方法称为 “默认方法”,默认方法使…