Java学习
文章平均质量分 87
fllow_wind
这个作者很懒,什么都没留下…
展开
-
如何自己实现一个热加载?如何定义自己的类加载器?
如何自己实现一个热加载?热加载:在不停止程序运行的情况下,对类(对象)的动态替换热加载是指可以在不重启服务的情况下让更改的代码生效,热加载可以显著的提升开发以及调试的效率,它是基于 Java 的类加载器实现的,但是由于热加载的不安全性,一般不会用于正式的生产环境。在默认情况下,类加载器是遵循双亲委派规则的。所以我们要实现热加载,那么我们需要加载的那些类就不能交给系统加载器来完成。所以我们要自定义类加载器来写我们自己的规则。我们怎么才能手动写一个类的热加载呢?Java 程序在运行的时候,首先会把原创 2021-08-17 14:39:34 · 1006 阅读 · 0 评论 -
为什么Java中只有值传递?
按值调用(call by value):表示方法接收的是调用者提供的值,而按引用调用(call by reference)表示方法接收的是调用者提供的变量地址。一个方法可以修改传递引用所对应的变量值,而不能修改传递值调用所对应的变量值Java 程序设计语言总是采用按值调用。也就是说,方法得到的是所有参数值的一个拷贝,也就是说,方法不能修改传递给它的任何参数变量的内容。例子1:public static void main(String[] args) { int num1 = 10;原创 2021-06-16 09:15:54 · 122 阅读 · 0 评论 -
狂神说Java-网络编程(笔记和源码)
文章目录网络编程1.1 概述1.2 网络通信的要素1.3 IP地址1.4 端口1.5 通信协议1.6 TCP协议TCP文件上传初识Tomcat1.7 UDPUDP聊天实现多线程在线咨询1.8 URL下载文件网络编程笔记源码:https://gitee.com/fllow-wind/network-programming1.1 概述计算机网络:计算机网络是指将地理位置不同的计算机及其外部部件,通过通信线路连接起来,在网络编程协议下,实现不同计算机之间的信息共享以及信息交流的计算机系统。网络编程的目原创 2021-05-19 15:10:39 · 1510 阅读 · 1 评论 -
狂神说Java-JVM入门(笔记合集)
文章目录JVM探究1. JVM的位置2. JVM体系结构3. 类加载器4.双亲委派机制5. 沙箱安全机制组成沙箱的基本组件:6. Native(重点)7. PC寄存器8. 方法区9. 栈10. 堆新生区、老年区、永久区堆内存调优Jprofiler11. GC:垃圾回收复制算法标记清除算法总结12. JMMJVM探究请你谈谈对JVM的理解?java8虚拟机和之前的变化更新?什么是OOM,什么是栈溢出StackOverFlowError?怎么分析?JVM的常用调优参数有哪些?内存快照如何抓取,怎么分原创 2021-05-19 14:49:45 · 2415 阅读 · 0 评论 -
狂神说java--多线程笔记(及源码)
多线程1.线程 进程 多线程多线程:多条执行路径,主线程与子线程并行交替执行(普通方法只有主线程一条路径)。程序:指令和数据的有序集合,本身没有任何运行的含义,是一个静态的概念。进程:在操作系统中运行的程序就是进程,即执行程序的一次执行过程,是一个动态的概念。一个进程可以有多个线程,比如视频中同时听声音,看图像,看弹幕等。线程是CPU调度和执行的基本单位。注意: 很多多线程是模拟出来的,真正的多线程是指有多个cpu,即多核,如服务器。如果是模拟出来的多线程,即在一个cpu的情况下,在同一个原创 2021-05-10 10:03:56 · 1325 阅读 · 0 评论 -
java虚拟机内存区域--JVM体系结构
运行时数据区原文链接:https://zhuanlan.zhihu.com/p/92426088java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有的区域则依赖用户线程的启动和结束而建立和销毁。1.程序计数器程序计数器(Program Counter Register)是一块较小的内存空间,它记录当前线程执行字节码的行数。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执转载 2021-05-08 17:48:31 · 107 阅读 · 0 评论