随笔分类 -  JAVA基础篇

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

点击右上角即可分享
微信分享提示