
Java
文章平均质量分 52
Cofer_Yin
这个作者很懒,什么都没留下…
展开
-
【Java】一文读懂逃逸分析
逃逸分析(Escape Analysis)是一种编译器优化技术,它分析程序中的对象分配,以确定对象的作用域和生命周期。具体来说,逃逸分析要确定一个对象是否会逃逸出它被创建的方法或者作用域,换句话说,就是判断对象的引用是否会被传递到当前方法或作用域之外。**栈上分配:**如果逃逸分析确定某个对象不会逃逸出方法,那么这个对象可以在栈上分配内存,而不是在堆上。栈上分配的好处是当方法执行完毕后,对象的内存可以立即被释放,这样可以避免垃圾收集器的介入,减少垃圾回收的开销。不进行逃逸分析的情况下,每次调用。原创 2024-01-23 20:01:22 · 1141 阅读 · 0 评论 -
公平锁和非公平锁
我们知道,公平锁是在抢锁过程中排队,而非公平锁是在抢锁过程中不排队。但其实不好理解,不排队,就是插队放到队伍的头位置吗?? 肯定不是,为了进一步理解,下面有一段代码。 //非公平锁 final boolean nonfairTryAcquire(int acquires) { final Thread current = Thread.currentThread(); int c = getState(); if (c == 0) { //区别重.原创 2021-08-10 17:00:49 · 360 阅读 · 0 评论 -
线程池keepAliveTime参数的进一步解读
在读线程池源码,对keepAliveTime有了进一步的理解,这里记录一下。从源码一步步往下走吧。ThreadPoolExecutor中Worker子类 // 循环查看并运行thread的一个核心方法 final void runWorker(Worker w) { Thread wt = Thread.currentThread(); Runnable task = w.firstTask; w.firstTask = null; .原创 2021-08-10 16:45:53 · 977 阅读 · 0 评论 -
Mybatis如何执行一个SQL命令
平时我们在spring中用Mybatis的时候,都是用一个Mapper接口,然后通过xml或者注解进行配置。ServiceImpl @Override public List<Map<String, Object>> getSignImgs(Map<String, Object> params) { return modulesMapper.getSignImgs(params); }ModulesMapper @.原创 2021-08-06 10:11:24 · 440 阅读 · 0 评论 -
Java基础
文章目录Java基础1.面向对象的特征封装继承多态2.基本数据类型3.int&Integer4.Math.round(-11.5)5.参数传递6.StringBuilder,StringBuffer7. JVM 加载 class 文件的原理机制8.接口与抽象类9.final10.try..finally11.线程通信图12.面向对象六原则一法则13.设计模式14.为什么要用单例模式而不是直接使用类方法15.重写16.重载17.Java中的基本数据类型占几个字节18.Integer自动拆装箱的问题19原创 2021-05-18 21:24:07 · 767 阅读 · 0 评论