Java底层理解
文章平均质量分 94
Genmer
这个作者很懒,什么都没留下…
展开
-
【随便聊聊 JVM原理】 虚拟机做的那些优化 - intrinsic
记录了我所了解的JVM intrinsic底层相关原创 2022-03-11 00:55:26 · 1662 阅读 · 0 评论 -
科学的线程池数量获取工具【Java】-附可用代码
文章目录前言一、科学的线程数计算二、CPU和Java中的核心和线程三、线程核心数获取四、参考资料前言最近有需求可能会使用到线程池,本来是使用本的一个简单的判断逻辑,但是为了自己代码可靠性更高,我重新查询了线程池的科学设置方法。没耐心可直接去三复制代码一、科学的线程数计算最早去了解相关的知识,看到类似以下的公式就头晕,就没有继续深究之后我的线程池数量判断就是如下int i = Runtime.getRuntime().availableProcessors();ExecutorService原创 2021-11-15 15:52:20 · 1176 阅读 · 0 评论 -
【二】Java 设计模式学习记录: 装饰者模式
文章目录一、装饰模式1.1 场景1.2 普通解决方案1.3 装饰者模式定义1.4 装饰者模式(Decorator)原理二、代码实现2.1 代码结构2.2 上代码2.3 扩展性三、 框架应用参考资料一、装饰模式1.1 场景有家奶茶店,有波霸奶茶,奶绿、奶昔等种类的奶茶,在点奶茶的时候可以选择加料(珍珠、红豆、仙草等)。这样的场景下,要求扩展新的奶茶种类时,具有良好的扩展性,改动方便,维护方便使用OO(面向对象)的方法来计算不同种类奶茶的费用,可以单点奶茶,也可以奶茶+配料1.2 普通解决方案原创 2021-08-23 20:46:29 · 373 阅读 · 1 评论 -
【零】Java设计模式[前置] - 设计模式七大原则
文章目录前言一、前置知识点1.1 bean的作用范围(就讲讲有分歧的两个,具体查看参考资料)1.1.1 singleton1.1.2 prototype1.1.3 五种作用域(参考资料截图)1.2 scope为protype的bean,spring容器到底管不管1.3 单例Bean和单例模式二、 设计模式七大原则2.1 单一职责原则(保证类的功能统一,减少耦合)2.2 接口隔离原则(保证接口定义精确,减少耦合)2.3 依赖(倒转)倒置原则(面向接口编程)2.4 里氏替换原则(如何正确使用继承)2.5原创 2021-08-15 23:40:14 · 236 阅读 · 0 评论 -
彻底清楚了,Java到底是值传递还是引用传递
文章目录前言一、 Java到底是值传递还是引用传递1.1 Java基本数据类型和引用类型1.2 数据传递方式二、结论三、参考资料前言之前在搞清楚了Java引用类型的关系,过了没多久,在看原型模式的时候又看到了Java引用的相关信息,突然发现要想起来还有点费劲,好记性不如烂笔头,记下来!之前会去了解引用类型是在学习引用类型(强引用,软引用,弱引用和虚引用,想了解看参考资料)的时候看到了如标题的问题,就去了解了。一、 Java到底是值传递还是引用传递1.1 Java基本数据类型和引用类型基本类型:原创 2021-08-15 23:38:57 · 679 阅读 · 1 评论 -
使用线程的正确姿势!
【声明】:本篇文章来自本人gitee仓库搬运至CSDN,https://gitee.com/genmers/md-notesJava线程学习记录一、实现线程的两种方法二、两种方法的本质三、线程池实现算不算一种新的方式四、参考资料一、实现线程的两种方法官方认证的两种实现线程的正确方法方法一:实现Runnble接口方法二:继承Thread类两种方法的对比方法1(实现Runnable接口)更好假如我们重写的run方法都是这样 @Override public void run()原创 2021-08-12 21:45:15 · 200 阅读 · 0 评论 -
Java内存模型 -底层原理
【声明】:本篇文章来自本人gitee仓库搬运至CSDN,https://gitee.com/genmers/md-notes文章目录一、底层原理1.1 从Java代码到CPU指令1.2 重点向下钻研二、自顶向下的好处三、JVM内存结构(和Java虚拟机运行时区域有关)3.1 一图胜千言四、Java内存模型(和Java的并发编程有关)五、Java对象模型(和Java对象在虚拟机中的表现形式有关)5.1 一图胜千言5.2 Java对象自身的存储模型5.3 OOP-KIass Model六、JMM是什么6.1原创 2021-08-12 21:40:23 · 270 阅读 · 0 评论 -
Java Synchronized关键字学习记录扩展:ReentrantLock
【声明】:本篇文章来自本人gitee仓库搬运至CSDN,https://gitee.com/genmers/md-notes本篇前置:Java Synchronized关键字学习记录2:性质和原理文章目录一、 lock锁常用方法二、 lock锁与synchronized的区别三、 ReentrantLock原理3.1 CAS: Compare and Swap,比较并交换。3.2 AQS:AbstractQueuedSynchronizer,抽象的队列式同步器四、 读ReentrantLock源码4.1原创 2021-08-12 21:35:44 · 155 阅读 · 0 评论 -
Java Synchronized关键字学习记录2:性质和原理
【声明】:本篇文章来自本人gitee仓库搬运至CSDN,https://gitee.com/genmers/md-notes本篇前置:Java Synchronized关键字学习记录1:用法文章目录一、Synchronized关键字的性质和原理1.1 性质可重入不可中断1.2 原理加锁释放锁原理可重入原理保证可见性原理synchronied缺陷二、说完了用法,我们来看看性质三、不可中断四、加锁释放锁原理五、可重入原理保证可见性的原理synchronied缺陷一、Synchronized关键字的性质和原原创 2021-08-12 21:27:25 · 192 阅读 · 0 评论 -
Java Synchronized关键字学习记录1:用法
【声明】:本篇文章来自本人gitee仓库搬运至CSDN,https://gitee.com/genmers/md-notes文章目录引言一、Synchronized的两个用法对象锁类锁第一个用法:对象锁第二个用法:类锁二、参考资料引言在开始记录之前,我来说说为什么需要学习这个关键字,以下是百度百科关于线程安全的一段描述如果一个函数能够安全地同时被多个线程调用而得到正确的结果,那么,我们说这个函数是线程安全的。++所谓“安全”,一切可能导致结果不正确的因素都是不安全的调用。++线程安全,是针对多线原创 2021-08-12 21:22:45 · 154 阅读 · 0 评论 -
关于Java的JIT(即时编译器)知识整理
前言参考资料jvm调优之分层编译关于Java的JIT知识整理Java分层编译,深入解析java虚拟机:编译概述,即时编译技术原创 2021-08-09 14:07:24 · 7986 阅读 · 0 评论 -
终于搞懂了!字符串拼接的各种姿势以及底层的小知识
前言最近在路上突然在想Java String和String Buffer和String Builder在日常工作中的使用,这就不得不提到之前写的各种String + ""的操作,又想起JVM的各种优化,就不禁想知道这个优化具体是什么样的。一、 字符串拼接的各种姿势在查找相关资料的过程中,了解到类似于如下代码 public String concatString(){ String a = "a"; String b = "b"; String c原创 2021-08-04 00:53:12 · 922 阅读 · 3 评论