随笔分类 - JAVA基础篇
发表于 2022-05-24 11:10阅读:1064评论:0推荐:1
摘要:垃圾标记算法 垃圾回收算法 major gc、minor gc、full gc、mixed gc 又是什么,怎么触发的 垃圾回收器的介绍 Safe Point 和 Safe Region 什么是 TLAB 和 PLAB ? CMS、G1 新生代的 GC 如何避免全堆扫描 CMS 和 G1 为了防止并
阅读全文 »
发表于 2021-10-30 16:41阅读:321评论:2推荐:0
摘要:没啥好说的,在座的各位都是靓仔 List 数组 Vector 向量 Stack 栈 Map 映射字典 Set 集合 Queue 队列 Deque 双向队列 关注公众号,一起交流,微信搜一搜: 潜行前行 一般队列的通用方法 操作方法 抛出异常 阻塞线程 返回特殊值 超时退出 插入元素 add(e) p
阅读全文 »
发表于 2021-03-16 20:36阅读:193评论:1推荐:0
摘要:前言 平时并发编程,除了维护修改共享变量的场景,有时我们也需要为每一个线程设置一个私有的变量,进行线程隔离,java提供的ThreadLocal可以帮助我们实现,而讲到ThreadLocal则不得不讲讲java的四种引用,不同的引用类型在GC时表现是不一样的,引用类型Reference有助于我们了解
阅读全文 »
发表于 2021-03-14 15:37阅读:420评论:0推荐:0
摘要:jdk8之前我们一直在用Date、Calender和SimpleDateFormat,但它的API不够强大,还存在线程安全问题,一直被人诟病。jdk8提供了新的时间API,在java.time包里的类是不可变且线程安全的,它和Joda是同一个作者实现的,因此借鉴了Joda很多特点,如果你用习惯Joda,可以很方便地切换到java.time类的使用
阅读全文 »
发表于 2021-03-14 15:30阅读:1668评论:0推荐:0
摘要:和前端进行数据交互时或者和第三方商家对接时,需要对隐私数据进行加密。单向加密,对称加密,非对称加密,其对应的算法也各式各样。java提供了统一的框架来规范
阅读全文 »
发表于 2021-01-06 23:21阅读:631评论:0推荐:0
摘要:前言 在使用多线程并发编程的时,经常会遇到对共享变量修改操作。此时我们可以选择ConcurrentHashMap,ConcurrentLinkedQueue来进行安全地存储数据。但如果单单是涉及状态的修改,线程执行顺序问题,使用Atomic开头的原子组件或者ReentrantLock、CyclicB
阅读全文 »
发表于 2020-12-07 10:16阅读:1527评论:0推荐:0
摘要:前言 平时操作集合数据,我们一般都是for或者iterator去遍历,不是很好看。java提供了Stream的概念,它可以让我们把集合数据当做一个个元素在处理,并且提供多线程模式 流的创建 流的各种数据操作 流的终止操作 流的聚合处理 并发流和CompletableFuture的配合使用 关注公众号
阅读全文 »
发表于 2020-12-05 15:52阅读:568评论:1推荐:1
摘要:前言 以前需要异步执行一个任务时,一般是用Thread或者线程池Executor去创建。如果需要返回值,则是调用Executor.submit获取Future。但是多个线程存在依赖组合,我们又能怎么办?可使用同步组件CountDownLatch、CyclicBarrier等;其实有简单的方法,就是用
阅读全文 »
发表于 2020-10-08 10:25阅读:3571评论:2推荐:2
摘要:java泛型的详细介绍
阅读全文 »
发表于 2020-10-05 09:59阅读:1445评论:0推荐:3
摘要:(目录) 随着多进程多线程的出现,对共享资源(设备,数据等)的竞争往往会导致资源的使用表现为随机无序 例如:一个线程想在控制台输出"I am fine",刚写到"I am",就被另一线程抢占控制台输出"naughty",导致结果是"I am naughty";对于资源的被抢占使用,我们能怎么办呢?当
阅读全文 »
发表于 2020-10-04 11:39阅读:1146评论:0推荐:0
摘要:java注解深入解析,注解和反射、动态代理的相关应用。还有函数式接口的原理介绍
阅读全文 »
发表于 2020-09-28 22:53阅读:517评论:1推荐:2
摘要:JAVA反射机制,JDK动态代理。Classd\Constructor\Method\Field
阅读全文 »
发表于 2020-09-06 15:20阅读:227评论:0推荐:0
摘要:目录 1 异常的分类和继承关系 2 几种常见异常类的解析 3 Java异常关键字 4 开发过程处理异常注意点 5 异常和AutoCloseable(1.7-JDK的语法糖) 6 throw和throws的区别 7 guava的Throwables类了解一下 欢迎指正文中错误 关注公众号,一起交流 参
阅读全文 »
发表于 2020-08-30 10:23阅读:203评论:0推荐:0
摘要:目录 1 四种内部类 2 内部类的使用场景和优点 3 成员内部类 4 成员内部类的访问范围详解 5 静态内部类 6 局部内部类 7 匿名内部类 欢迎指正文中错误 关注公众号,一起交流 参考文章 1 四种内部类 成员内部类 静态内部类 局部内部类 匿名内部类 2 内部类的使用场景和优点 内部类的优点:
阅读全文 »
发表于 2020-08-16 22:05阅读:708评论:0推荐:1
摘要:目录1 对象的实例化过程2 类的加载过程3 触发类加载的条件4 对象的实例化过程5 类加载器和双亲委派规则,如何打破双亲委派规则欢迎指正文中错误关注公众号,一起交流参考文章 1 对象的实例化过程 对象的实例化过程是分成两部分:类的加载初始化,对象的初始化 要创建类的对象实例需要先加载并初始化该类,m
阅读全文 »
发表于 2020-08-16 11:05阅读:219评论:0推荐:0
摘要:目录1 JVM的内存区域布局2 JVM五大数据区域介绍3 JVM运行时内存布局和JMM内存模型区别4 JMM内存模型交互操作欢迎指正文中错误关注公众号,一起交流参考文章 1 JVM的内存区域布局 java代码的执行步骤有三点 java源码文件->编译器->字节码文件 字节码文件->JVM->机器码
阅读全文 »
发表于 2020-08-02 14:35阅读:398评论:0推荐:0
摘要:目录 1 JAVA.IO字节流 2 JAVA.IO字符流 3 乱码问题和字符流 4 字符集和字符编码的概念区分 5 URI概念的简单介绍 6 URL概念及与URL的区别 7 Spring.Resource与Spring资源获取方式 8 ResourceLoader 获取资源 9 JAVA.Prope
阅读全文 »
发表于 2020-07-26 15:51阅读:240评论:0推荐:0
摘要:目录 1 JAVA线程的实现原理 2 JAVA线程的生命周期 3 JAVA线程的几种常用方法 4 线程池及其优点 5 JDK封装的线程池 6 线程池原理之执行流程 7 阻塞队列的简单了解 8 Executors的四种线程池浅析 9 如果优雅地关闭线程池 10 线程池为什么使用的是阻塞队列 11 线程
阅读全文 »
发表于 2020-07-14 22:38阅读:315评论:0推荐:0
摘要:目录 1 java内存模型,JMM(JAVA Memory Model) 2 CPU高速缓存、MESI协议 3 指令重排序和内存屏障指令 4 happen-before原则 5 synchronized内存语义 6 volatile的内存语义 7 final内存语义 8 synchronized,v
阅读全文 »
发表于 2020-07-11 19:15阅读:263评论:0推荐:0
摘要:目录 1 Object的内存结构和指针压缩了解一下 2 Object的几种基本方法 3 == 、 equals、Comparable.compareTo、Comparator.compara 四种比较方法 4 方法的重写和重载 5 构造方法是否可被重写 6 Object的equals和hashCod
阅读全文 »