java-基础知识
文章平均质量分 61
buyulian
这个作者很懒,什么都没留下…
展开
-
ZGC 垃圾收集器染色指针详解
通过过程演示详细介绍ZGC染色指针原理原创 2022-12-30 22:06:26 · 1073 阅读 · 0 评论 -
Intellij IDEA运行报 Command line is too long 解法
有时候我们运行程序的时候会出现如下错误该错误解决方法:打开 Run/Debug Configurations,Configuration Tab页下有个 Shorten command line 选项,将该选项改为 JAR manifest 或 classpath file·。如下图:这三个选项含义如下:none:默认选项,idea不会缩短命令行。如果命令行超出了OS限制,这个想法将无法运行您的应用程序,但是工具提示将建议配置缩短器。JAR manifest:id..原创 2020-07-28 15:23:41 · 681 阅读 · 0 评论 -
java 该使用哪种 垃圾收集器?
原文链接:https://docs.oracle.com/en/java/javase/14/gctuning/available-collectors.html#GUID-414C9D95-297E-4EE3-B0D9-36F158A83393我们不生产文档,我们只是官方文档的搬运工。Selecting a CollectorUnless your application has rather strict pause-time requirements, first run your..转载 2020-06-30 10:51:35 · 273 阅读 · 0 评论 -
彻底理解 ThreadLocal 什么情况下会造成内存泄露
网上有许多关于ThreadLocal 的文章,读了很多,总感觉他们说的 ThreadLocal 造成内存泄露的理由很牵强,今天就看源码彻底解析一下ThreadLocal。源码就不放了,直接放梳理好的类和对象的引用图。下面对这张图做下解释大方框代表堆里的对象,里面蓝色的小方框代表该对象的成员变量。实线代表强引用,虚线代表弱引用。那么我们先不考虑场景,根据这张图,T...原创 2019-12-09 21:44:02 · 1421 阅读 · 0 评论 -
idea 常用快捷键
Alt+Insert ,自动生成javabean以及其他代码自动生成Ctrl+P,可以显示参数信息Ctrl+Alt+L,格式化代码Ctrl+R,替换文本Ctrl+F,查找文本Shift+F6,重构 – 重命名Ctrl+X,删除行Ctrl+D,复制行Ctrl+Shift+Space,自动补全代码ctrl + 左键 tab 页 打开文件所在系统默认文件浏览器位置...原创 2019-04-25 13:44:23 · 233 阅读 · 0 评论 -
java 中的强引用、软引用、弱引用、虚引用
强引用强引用就是最普通的引用,只要一个对象存在一个强引用,就证明它还活着,它就不能被垃圾回收器回收 软引用软引用存在的意义是什么呢?对于如下场景,我们想实现一个本地缓存,但是如果在短时间内有大量对象被放入了缓存会发生什么问题呢?内存溢出。那我们怎么解决这个问题呢?如果能在内存溢出前把缓存的对象给回收了就好了。对,但怎么实现这一机制呢?嗯,加个软引用吧,我们就把软引用定义...原创 2019-02-11 14:53:21 · 175 阅读 · 0 评论 -
spring 事务管理在类内部调用时失效问题
因为 spring 事务管理是通过 AOP 来实现的,外部类调用时会先调用代理类,代理类再调用实际类。而类内部调用时,是实际类内部调用,不经过代理类,而事务管理实在代理类层面实现,所以类内部调用事务管理会失效。...原创 2018-12-14 17:07:09 · 395 阅读 · 0 评论 -
为什么我觉得 nio 比 aio 更适合高并发
nio 是同步非阻塞的,aio 是异步非阻塞的,初看,肯定是异步的更好更高级啊,那为什么我觉得 nio 比 aio 更适合高并发呢?嗯,一定是哪儿出了问题。这个要涉及到它们两个的具体实现和使用了。首先,我们想象 bio 高并发的最主要限制条件是什么?阻塞。对,阻塞是对资源极大的浪费,但 nio 和 aio 两个都是非阻塞的,这个问题不是决定原因。那么,第二限制条件呢?线程。对,就是线程...原创 2018-12-01 21:37:45 · 1371 阅读 · 1 评论 -
java中 方法参数是值传递还是引用传递 ?
对象是引用传递,原始类型数据是值传递实际上把方法参数中对象参数看做是对象的引用,那么对象引用也是值传递它符合值传递的一切的特征,即我们可以通过对象引用的参数去改变它所指向对象的属性,但我们却无法改变这个对象引用参数所指向的对象。...原创 2018-11-14 20:13:32 · 276 阅读 · 0 评论 -
JDK 的命令行工具
一、jps 查询正在运行的虚拟机进程。-m输出虚拟机进程启动时传递给main()函数的参数-l输出进程执行的主类的全名-v输出虚拟机进程启动时的JVM参数 二、jinfo 查看虚拟机配置参数信息 三、jstack 生成java虚拟机当前时刻的线程快照-F:当正常输出请求不被响应时,强制输出线程栈堆。-l:显示关于锁的附加信息。-m:显示本地方法栈 ...原创 2018-11-12 14:56:02 · 245 阅读 · 0 评论 -
阿里巴巴面试题含答案
原文地址 : https://studygolang.com/articles/15688 【阿里天猫、蚂蚁、钉钉面试题目】不会做别着急:文末有答案以及视频讲解,架构师资料1. junit用法,before,beforeClass,after, afterClass的执行顺序2. 分布式锁3. nginx的请求转发算法,如何配置根据权重转发4. 用hashmap实现red...转载 2018-10-23 10:32:41 · 2592 阅读 · 0 评论 -
java 基础知识总结
Object 类有几个方法,每个方法的作用和原理是什么?抽象类和接口的区别基本类型和包装类型的区别什么是反射面个对象的三个特性Java 回调机制重载和重写的区别Java 集合框架的使用和原理以及源码实现内部类相关知识向上转型和向下转型强制类型转换Public Private Protect Friend 的区别变量命名相关规则Java 中的语法糖原创 2017-09-17 22:47:57 · 204 阅读 · 0 评论 -
java 线程的状态转换
Java 线程的状态转换在源码上,Java 线程所有的状态对应 State 类的枚举。 新建(New):创建后未调用 start 方法的线程的状态。 运行(Runable): 对应操作系统线程状态的就绪状态和运行状态的总和。 无限期等待(Waiting): 调用 Object.wait() 方法和 Thread.join()方法和 LockSupport.park()原创 2017-09-17 20:28:27 · 313 阅读 · 0 评论 -
Synchronized 实现原理
以下摘录总结自 > 互斥同步(MutualExclusion&Synchronization)是常见的一种并发正确性保障手段。而 synchronized 就是通过互斥同步来实现的。而互斥是实现同步的一种手段,临界区(CriticalSection)、互斥量(Mutex)和信号量(Semaphore)都是主要的互斥实现方式。在Java中,最基本的互斥同步手段就是synchronize原创 2017-09-15 11:19:20 · 237 阅读 · 0 评论