![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
编程吴彦祖
pluto
展开
-
问题:JVM运行会加载那些类,求问了解的前辈;具体看内容,谢谢
1.问题来源2.测试程序:// vm: -XX:+TraceClassLoadingpublic class HashCodeTest { public static void main(String[] argv) { while (true){ } }}3.控制台打印加载类没有截图完;大概是tr.jar下的;4.问题:这些类是什么时候触发加载的; 谁触发的(JVM源码,进程运行时,涉原创 2020-08-01 17:06:33 · 413 阅读 · 0 评论 -
JAVA异步编程-JDK-CompletableFuture实践与原理
1.文章目录ComPletableFuture概述 CompletableFuture实践 CompletableFuture主要源码导读2.CompletableFuture概述CompleatableFuture是对Future的增强,我们知道Future的局限性,CompleatableFuture可以通过编程方式显式设置计算结果和状态,并且可以作为一个计算阶段,当他完成时还能触发另一个函数/行为; 当多个线程调用CompletableFuture的complete,cancel方式只原创 2020-06-02 21:16:23 · 584 阅读 · 0 评论 -
JAVA并发编程-AQS原理&RenntrantLock源码导读
1.文章目录AQS概述,类结构,源码导读; RenntractLock源码,实现细节导读;2.AQS概述&类结构 AbstractQueuedSynchronizer 抽象同步队列简称 AQS ,它是实现同步器的基础组件, 并发包中锁的底层就是使用 AQS 实现的;AQS 是一个FIFO的双向队列,其内部通过节点 head tail 首和队尾元素,队列元素的类型为Node 其中 Node 中的 thread 变量用来存放进入 AQS 队列里面的线程: Node 节点内部的...原创 2020-06-02 11:23:54 · 567 阅读 · 0 评论 -
JAVA异步编程-JDK中FutureTask实践与原理
1.文章目录Future接口概述 FutureTask概述 FutureTask显式线程,线程池实现; FutureTask类结构,源码导读; FutureTask局限性;2.JDK 中Futurepublic interface Future<V> { // 取消任务 boolean cancel(boolean mayInterruptIfRunning); // 任务是否取消 boolean isCancelled(); /原创 2020-06-01 21:45:06 · 447 阅读 · 0 评论 -
JAVA-异步编程-线程和线程池实现异步编程,线程池源码导读
1.文章内容如何使用线程,线程池实现异步编程; 线程池的原理2.使用线程实现异步编程 任务类public class Task { // taskA public static void doSomethingA() { try { // 模拟耗时 Thread.sleep(200); System.out.println("taskA done"); } cat..原创 2020-06-01 17:14:40 · 383 阅读 · 0 评论 -
JAVA并发包-AtomicInteger
1.简介JUC 包提供 了一系列的原子性操作类,这些类都是使用非阻塞算法 CAS 现的 ,相 比使用锁 现原 性操作这在性能上有很大提高。由于原子性操作类的原理都大致相同。CAS原理:在Java发展初期,java语言是不能够利用硬件提供的这些便利来提升系统的性能的。而随着java不断的发展,Java本地方法(JNI)的出现,使得java程序越过JVM直接调用本地方法提供了一种便捷的方式,因而java在并发的手段上也多了起来。而在Doug Lea提供的cucurenct包中,CAS理论是它实现整个原创 2020-05-30 09:06:37 · 253 阅读 · 0 评论 -
Dubbo源码解析-Dubbo-Register-RedisRegister
1.Redis注册中心 redis支持很多的数据结构类型,key_value模式,内存存储数据,因此速度很快,效率很高; dubbo利用JRedis来连接到Redis分布式哈希键-值数据库,JedisPool是一个线程安全的网络连接池。可以用JedisPool创建一些可靠Jedis实例,可以从池中获取Jedis实例,使用完后再把Jedis实例还回JedisPool。这种方式可以避免创建大量socket连接并且会实现高效的性能。2.RedisRegistry 继承F...原创 2020-05-27 16:26:43 · 662 阅读 · 0 评论 -
Dubb源码解析-Dubbo-Register-ZookeeperRegister
1.ZookeeperRegister模块简介 本文章针对Zookeeper注册中心,注册,订阅源码设计导读;至于Zookeeper的优势,特点我们不做太多讲解; 下图为zookeeper存放数据的原理,为树状;因此我们这个模块本质要做的就是:将Zookeeper的数据存放,删除:Dubbo集成CuratorFramework,客户端可以对Redis进行连接,删除,修改,新增节点,添加监听器等操作,来满足我们的业务需求; 数据...原创 2020-05-27 09:48:29 · 607 阅读 · 0 评论 -
Dubbo源码解析-Dubbo-Register-API
1.注册中心作用 从官网摘的图,我们可以简单了解其流程;服务提供者在注册中心进行注册(本质是存放一些关键数据:提供者IP,Port,serviceKey,method,version,group等等信息); 服务消费者进行订阅(消费者获取提供者的关键数据); 消费者与注册中心通过监听器对数据进行同步(如果服务提供者的信息修改,销毁,新增,监听器来同步); 服务消费者调用服务提供者(根据获取的信息,进行调用,简单理解为:给服务提供者Socket端口发送数据,等待响应); 调...原创 2020-05-26 21:53:37 · 1226 阅读 · 0 评论 -
MySql常见知识梳理
MySql简介数据库系统(Database system)= 数据库管理系统(DBMS,Database Management System)+数据库(Database)数据库管理系统(DBMS)可分为两类:一类为基于共享文件系统的DBMS,另一类为基于客户机-服务器的DBMS。Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational...原创 2019-11-01 17:31:11 · 509 阅读 · 0 评论