随笔分类 -  Java进阶

摘要:垃圾收集算法 分代收集理论 当前虚拟机的垃圾收集都采用分代收集算法,这种算法没有什么新的思想,只是根据对象存活周期的不同将内存分为几 块。一般将java堆分为新生代和老年代,这样我们就可以根据各个年代的特点选择合适的垃圾收集算法。 比如在新生代中,每次收集都会有大量对象(近99%)死去,所以可以选择 阅读全文 »
posted @ 2022-06-12 17:34 宁君 阅读(121) 评论(0) 推荐(0) 编辑
摘要:启动shell进程后,发现进程长时间运行无法结束,同时失去响应。这个问题的原因是shell脚本或者命令在运行的过程中会向标准输出或者标准错误输出写出数据,但JVM又没有去读,导致缓冲区满,进而导致进程阻塞。这个问题的解决的方法比较简单,既然问题是缓冲区满之后没有及时清理,那么只要在Java代码里去读 阅读全文 »
posted @ 2021-05-31 14:09 宁君 阅读(1466) 评论(0) 推荐(0) 编辑
摘要:第一种模型(直连) 在上图的模型中,有以下概念: P:生产者,也就是要发送消息的程序 C:消费者:消息的接受者,会一直等待消息到来。 queue:消息队列,图中红色部分。类似一个邮箱,可以缓存消息;生产者向其中投递消息,消费者从其中取出消息。 第二种模型(work quene) Work queue 阅读全文 »
posted @ 2021-05-28 12:20 宁君 阅读(92) 评论(0) 推荐(0) 编辑
摘要:java反射 什么是反射? 一种动态实例化对象,并且可以获取到实例对象的属性,方法,并对其进行一些操作 常规调用对象 在 Java 中创建对象,获取属性,调用对象的方法通常都是通过 Object o = new Object(), 然后通过 o.getXXX(), o.setXXX() o.doSo 阅读全文 »
posted @ 2020-12-25 22:30 宁君 阅读(87) 评论(0) 推荐(0) 编辑
摘要:1.BIO、NIO和AIO的区别? BIO 一个线程只做一件事,效率慢. NIO 一个线程做多个事,效率块.(原理见 java_NIO) AIO Netty概念 NIO框架,它提供了对TCP、UDP和文件传输的支持 Netty特点 1)设计 统一的API,适用于不同的协议(阻塞和非阻塞) 基于灵活、 阅读全文 »
posted @ 2020-12-19 15:13 宁君 阅读(135) 评论(0) 推荐(0) 编辑
摘要:NIO概念 NIO与原来的IO有同样的作用和目的,但是使用 的方式完全不同,NIO支持面向缓冲区的、基于 通道的IO操作。NIO将以更加高效的方式进行文 件的读写操作。 精髓 NIO 可以让服务器端使用一个或有限几个线程来同 时处理连接到服务器端的所有客户端 NIO是一个全栈工程师 IO 与 NIO 阅读全文 »
posted @ 2020-12-19 15:01 宁君 阅读(100) 评论(0) 推荐(0) 编辑
摘要:什么是java的深浅拷贝? 浅拷贝 就是很肤浅的拷贝,只拷贝了别人的地址。没有拷贝地址里面的值。地址里面的值改变后,就都改变了。 深拷贝 就是很深入的拷贝,深入到核心的拷贝,拷贝了别人地址里面的值,别人的值改变后,我不受影响。 阅读全文 »
posted @ 2020-12-19 10:02 宁君 阅读(83) 评论(0) 推荐(0) 编辑

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