![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 58
拿着核武器的程序员
一念百草生,一念山河成,人间最美,不过鲸落
展开
-
Lambda表达式总结
Lambda作为Java8的新特性,本篇文章主要想总结一下常用的一下用法和api。原创 2023-08-06 14:38:37 · 204 阅读 · 0 评论 -
Java类加载器ClassLoader总结
1.类加载器概述java类的加载由虚拟机来完成的,虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验,转换解析和初始化最终形成可以被虚拟机直接说那个的java类型,这就是虚拟机的类加载机制。2.类的生命周期3.类加载器分类Java 中的类加载器大致可以分成两类,一类是系统提供的,另外一类则是由 Java 应用开发人员编写的。系统提供的类加载器主要有下面三个:1.引导类加...原创 2018-10-11 15:35:00 · 399 阅读 · 0 评论 -
Java中CAS原理分析
通过上面的AtomicInteger源码的阅读,我对CAS的理解:CAS操作是不加锁的, 它每次都假设自己可以执行成功, 然后它就去尝试执行了,成功就返回,否则就一直循环去不断地尝试。这样做比加锁和释放锁的性能是要高的。但是如果一直都是失败的,这样长时间的循环(自旋)会给CPU带来很大的开销。其次CAS还会有ABA的问题,比如我原来value的值为 A, 期间改成了B,后来有变成了A,这个时候某一个线程去执行CAS的之后就会认为value的值没有更改过。但是实际却变化过了。原创 2023-03-27 11:33:31 · 641 阅读 · 0 评论 -
Java总结篇系列:Java泛型
https://www.cnblogs.com/lwbqqyumidi/p/3837629.html转载 2019-03-19 14:29:20 · 205 阅读 · 0 评论 -
Lambda表达式使用2
1.概述本篇主要介绍lambda中常用的收集器,收集器的作用就是从数据流中生成需要的数据接口。最常用的就是Collectors.toList(),只要将它传递给collect()函数,就能够使用它了。在我们使用收集器的时候经常会用到“方法引用”这样的简写语法:方法引用:ClassName::methodName2.代码示例按照收集器的作用分类公共代码:@Data@NoArgsCo...原创 2018-12-13 11:30:28 · 303 阅读 · 0 评论 -
单元测试框架PowerMock
1.概述Mockito 是一个针对 Java 的单元测试模拟框架,它与 EasyMock 和 jMock 很相似,都是为了简化单元测试过程中测试上下文的搭建而开发的工具。 PowerMock 也是一个单元测试模拟框架,它是在其它单元测试模拟框架的基础上做出的扩展。通过提供定制的类加载器以及一些字节码篡改技巧的应用,PowerMock 现了对静态方法、构造方法、私有方法以及 Final 方法的...原创 2018-12-04 19:18:47 · 557 阅读 · 0 评论 -
Java并发编程:CountDownLatch、CyclicBarrier和 Semaphore
原文出处: 海子在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。以下是本文目录大纲:一.CountDownLatch用法二.CyclicBarrier用法三.Semaphore用法一.CountDownLatch用法CountDownLat...转载 2018-11-19 10:37:59 · 143 阅读 · 0 评论 -
Lambda表达式使用
一、常用概念1.函数接口:函数接口是只有一个抽象方法的接口,用作Lambda表达式的类型。例如:ActionListener接口就是一个函数接口只有一个抽象方法,由于定义在接口中abstract关键字可以不写2.可以使用以下图表示ActionEvent ----> ActionListener上图表示:箭头左边表示 参数; 箭头指向的表示接口;若接口后面还有箭头...原创 2018-11-15 20:05:01 · 315 阅读 · 0 评论 -
java读取classpath下文件方法总结
项目中一般都会遇到需要读取classpath下文件的问题,今天我打算把我知道的方式都整理一下,做一个记录方便以后查询,以下就是具体的方式: // classpath目录下 URL resource = TestASM.class.getResource("/"); // classpath+该类所在路径 URL resource1 =...原创 2018-11-06 16:58:38 · 11549 阅读 · 0 评论 -
java RMI介绍及入门
远程方法调用1.概述分布式计算的关键是远程方法调用,在一台计算机上的某些代码希望调用另一台计算机上的某个对象的方法。本文介绍的RMI协议就可以解决这种问题。2.工作原理基本结构如上:1.当客户端要调用远程方法时,实际上调用的是保存在客户端的一个普通对象,叫存根(stub)存根将远程方法所需参数打包成一组字节。对参数编码的过程称为参数编组,目的是转换成适合在虚拟机之间进行传递的格式。最...原创 2018-11-03 15:05:35 · 343 阅读 · 0 评论 -
java静态代理与动态代理理解
#1.静态代理其实就是一个典型的代理模式实现,在代理类中包装一个被代理对象,然后影响被代理对象的行为代码示例:// 接口public interface Hello {public void sayHello(String name);}// 实现类@Slf4jpublic class HelloImpl implements Hello { @Override...原创 2018-11-01 15:06:38 · 369 阅读 · 0 评论 -
java SPI机制学习笔记
1.机制简介SPI的全名为Service Provider Interface.是JDK内置的一种服务发现机制,在java.util.ServiceLoader的文档里有比较详细的介绍。简单的总结下javaspi机制的思想:是一种将服务接口与服务实现分离以达到解耦、大大提升了程序可扩展性的机制。引入服务提供者就是引入了spi接口的实现者,通过本地的注册发现获取到具体的实现类,轻松可插拔。2...原创 2018-10-10 16:32:03 · 357 阅读 · 0 评论 -
ThreadLocal源码理解
什么是ThreadLocal threadlocal是本地线程变量,为变量在每个线程中创建副本代码demopublic class ThreadLocalTest { ThreadLocal<Long> longLocal = new ThreadLocal<>(); ThreadLocal<String> stringLocal =...原创 2018-08-03 19:06:19 · 193 阅读 · 1 评论