![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
文章平均质量分 55
秋日的晚霞
Java领域优质创作者 新星计划·第三季【Java后端】第二名
展开
-
【Java】单例模式的五种实现方式以及为什么推荐枚举类
构造私有 静态成员 提供方法获取测试一下由于 是静态的 不管你有没有调用方法去拿这个实例,他也会先加载到内存中同时,还能通过反射创建出多个对象。原创 2024-06-11 17:09:14 · 605 阅读 · 0 评论 -
【Java Web】如何写一个简单的TomCat服务器
如何写一个简单的TomCat服务器1. 目标1)提供服务,接收请求(Socket通信)2)请求信息封装成Request对象(Response对象)3)客户端请求资源,资源分为静态资源(html)和动态资源(Servlet)4)资源返回给客户端浏览器2.流程图3.pom文件配置<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"原创 2022-05-01 22:03:43 · 1782 阅读 · 5 评论 -
JAVA虚拟机下篇 之 JVM的垃圾回收机制和算法 以及JAVA中的引用
什么是GC(垃圾回收机制)在系统运行过程中,会产生一些无用的对象,这些对象一直占着内存,如果不对这些对象进行清除,会导致内存资源耗尽. 所以就需要GC垃圾回收机制 回收 堆 和 方法区的内存怎么判断垃圾对象JVM采用引用计数法和可达性分析法判断一个对象是否需要被回收引用计数法每个对象创建的时候,给对象绑定一个计数器,每当一个引用指向这个对象的时候,计数器加一;每当有一个指向改对象的引用被删除时,计数器减一.这样当没有引用指向改对象时,计数器为0,表示这个对象是垃圾了,可以被回收了优点 : 实原创 2022-03-15 23:39:13 · 2769 阅读 · 12 评论 -
JAVA虚拟机上篇 之 JVM的组成和类的加载过程 图文并茂
JVMJVM组成1.方法区(线程共享)方法区解释方法区是线程共享的内存区域,用于存储被JAVA虚拟机加载的类信息,常量,静态变量即时编译后的数据什么是即时编译即时编译: 为了平衡启动和执行的效率,JVM结合解释执行和编译执行的特点,进行解释执行并对热点代码进行编译优化,这样的执行过程叫即时编译异常当方法区的内存无法满足内存分配时,将抛出OutOfMemoryError错误注意事项1.8及之后叫元空间,使用物理内存,不受JVM内存限制 常量池移到了堆中2.堆(线程共享)堆解释堆是虚原创 2022-03-15 23:08:21 · 2621 阅读 · 15 评论 -
使用jsoup入门java爬虫 案例
1.导入依赖 <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.14.3</version> <!-- or latest version --> </dependency>2.获取代理原创 2022-03-11 18:02:19 · 6098 阅读 · 14 评论 -
‘mvn‘ 不是内部或外部命令,也不是可运行的程序
首先看环境变量配置有没有写错如果都没问题解决方法:在Path中添加:%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;原创 2021-06-23 08:26:13 · 223 阅读 · 0 评论