JVM 的内存结构和内存分配 a) Java 内存模型 Java 虚拟机将其管辖的内存大致分三个逻辑部分:方法区(Method Area)、Java 栈和 Java 堆。 1、方法区是静态分配的,编译器将变量绑定在某个存储位置上,而且这些绑定不会在运行时改变。 常数池,源代码中的命名常量、Strin ...
分类:
其他好文 时间:
2020-12-18 12:32:45
阅读次数:
2
一,前言 这篇博客写于 12 月 12 日,从 github[1] 上 fork 了一份 tomcat 的源代码,clone 到了本地。最近想把 tomcat 的源代码分析一下,寒假的时候有完整的时间就造个轮子。 看源码,总不能干看,边看边改,验证想法。所以这个系列从构建 tomcat 开始。首先要 ...
分类:
其他好文 时间:
2020-12-18 12:22:56
阅读次数:
3
Java最新常见面试题+答案汇总1、面试题模块汇总面试题包括以下十九个模块:Java基础、容器、多线程、反射、对象拷贝、JavaWeb模块、异常、网络、设计模式、Spring/SpringMVC、SpringBoot/SpringCloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM。如下图所示:可能对于初学者不需要后面的框
分类:
编程语言 时间:
2020-12-17 13:06:40
阅读次数:
7
1、从容器里面拷文件到宿主机 示例:容器名为s2-061_struts2_1,要从容器里面拷贝的文件路为:/usr/local/tomcat/webapps/test/js/test.js, 现在要将test.js从容器里面拷到宿主机的/root/Desktop/路径下面 在宿主机上面执行命令: d ...
分类:
其他好文 时间:
2020-12-17 12:24:57
阅读次数:
2
一、Java反射机制概述 1. 准动态语言 动态语言 可以在运行时,根据某些条件改变自身结构 Object-C、C#、JavaScript、PHP、Python 静态语言 运行时结构不可改变 Java、C、C++ 利用反射机制可以使Java获得类似动态语言的特性 2. 反射 反射机制在执行期间借助R ...
分类:
其他好文 时间:
2020-12-16 11:53:50
阅读次数:
4
1. tomcat会自动设置set-cookie,JSESSIONID=XXXXXXXXXXXXXXXX。 2. 后面浏览器的每次请求都会带上这个JSESSIONID了,如果使用tomcat这个默认设置的session的话,不同的账号使用同一个浏览器,会得到相同的session。 3. chrome ...
分类:
编程语言 时间:
2020-12-15 12:35:13
阅读次数:
5
上周公司有一个应用,一到晚上高峰期的时候RT(响应时间)就很长。后来上服务器看了下JVM的配置,发现运维在启动参数那里把-Xss给设成了10M。导致每个线程占用的内存过大,导致内存消耗过快,其它线程排队等待的情况。后来把-Xss改成1M之后,系统性能有明显的提高。 总结: 1.-Xss参数不可以设的 ...
分类:
其他好文 时间:
2020-12-15 12:13:56
阅读次数:
2
从不同角度分析垃圾收集器,可以将其划分为不同的模型。按线程数分,可以分为串行垃圾回收器和并行垃圾回收器;按照工作模式分,可以分为并发式垃圾回收器和独占式垃圾回收器; ...
分类:
编程语言 时间:
2020-12-15 11:40:39
阅读次数:
7
##异常 异常的概念 异常,就是不正常的意思。在生活中,意思说你的身体某个部位出现异常了,该部位和正常情况不一样,该部位的功能将会受到影响,在程序中的意思是: 异常:知道是在程序的运行过程中,出现的非正常情况,最终会导致JVM的非正常停止。 在Java等面向对象的编程语言中,异常本身就是一个类,产生 ...
分类:
其他好文 时间:
2020-12-14 13:45:30
阅读次数:
3
1.类加载器(将字节码文加加载到方法区 这里有一个验证的过程,错误的class将会被jvm吐出)重点 1.1 虚拟机加载器 启动类加载器:Bootstrap 通过getClassLoder获得的是Null。例如object类和String类的类加载器就是null因为权限不够 扩展类加载器:exten ...
分类:
其他好文 时间:
2020-12-14 12:54:57
阅读次数:
2