- 博客(7)
- 收藏
- 关注
原创 Netty_01 NIO编程
Java BIO就是传统的Java I/O编程,其相关的类和接口在java.io。:同步阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,可以通过线程池机制改善(实现多个客户连接服务器)。【后有应用实例】BIO方式适用于连接数目比较小且固定的架构,这种方式对服务器资源要求比较高,并发局限于应用中,JDK1.4以前的唯一选择,程序简单易理解。Java NIO全称,是指JDK提供的新API。从JDK1.4开始,
2023-07-12 11:35:02
65
1
原创 JVM_05 内存模型
JVM基础篇最后笔记了,黑马的JVM讲的还是挺不错的,深入浅出,没有过多赘余内容,后续应该也会更新JVM面经系列,这节重点也是不少的,尤其涉及到锁优化,像CAS、轻重量锁、偏向锁等。
2023-07-11 23:39:58
42
原创 JVM _04 类加载与字节码技术(语法糖与类优化)
问问自己,什么时候需要自定义类加载器1)想加载非 classpath 随意路径中的类文件2)都是通过接口来使用实现,希望解耦时,常用在框架设计3)这些类希望予以隔离,不同应用的同名类都可以加载,不冲突,常见于 tomcat 容器继承 ClassLoader 父类要遵从双亲委派机制,重写 fifindClass 方法注意不是重写 loadClass 方法,否则不会走双亲委派机制读取类文件的字节码调用父类的 defifineClass 方法来加载类。
2023-07-11 23:38:18
65
原创 JVM _03 类加载与字节码技术
09 表示一个 Field 信息,00 16(22)和 00 17(23) 表示它引用了常量池中 #22 和 # 23 项来获得这个成员变量的【所属类】和【成员变量名】0a 表示一个 Method 信息,00 19(25) 和 00 1a(26) 表示它引用了常量池中 #25 和 #26项来获得这个方法的【所属类】和【方法名】0a 表示一个 Method 信息,00 06 和 00 15(21) 表示它引用了常量池中 #6 和 #21 项来获得这个方法的【所属类】和【方法名】那么这 6 个方法都是谁呢?
2023-07-11 23:35:38
46
原创 # JVM_01 内存结构
Program Counter Register 程序计数器(寄存器)作用:是记住下一条jvm指令的执行地址特点是线程私有的不会存在内存溢出Java Virtual Machine Stacks (Java 虚拟机栈)每个线程运行时所需要的内存,称为虚拟机栈每个栈由多个栈帧(Frame)组成,对应着每次方法调用时所占用的内存每个线程只能有一个活动栈帧,对应着当前正在执行的那个方法问题辨析垃圾回收是否涉及栈内存?栈内存分配越大越好吗?方法内的局部变量是否线程安全?
2023-07-11 23:31:32
43
原创 小白也能看懂的c语言队列入门问题——舞伴问题
数据结构(舞伴问题)——队列问题解决舞伴问题:假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一算法模拟上述舞伴配对问题。分析先入队的女士和男士先出队配成舞伴首先要实现用队列来存放男女跳舞人员初始化两个队列(男队和女队)//--------跳舞者个人信息----------typedef struct{ char name[20];
2021-04-29 23:11:49
2212
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人