![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java知识
文章平均质量分 65
sallai xu
对方太懒无简介
展开
-
JAVA 垃圾回收器
Java的垃圾回收机制是一项重要的自动内存管理技术,它使开发人员不必担心手动释放内存。了解垃圾回收的基本原理、分代收集和不同的垃圾回收器有助于编写高性能的Java应用程序。原创 2023-10-07 11:11:24 · 143 阅读 · 0 评论 -
【ThreadLocal的初步理解与使用】
文章目录前言一、ThreadLocal是什么?二、ThreadLocal有什么好处?二、简单示例1.引入库2.读入数据总结前言在使用到多线程的时候,我们有时候经常能看到ThreadLocal这个类的身影,那他究竟有什么用途,又适用什么场景解决了什么问题呢?下面跟随文章一起分析了解提示:以下是本篇文章正文内容,下面案例可供参考一、ThreadLocal是什么? ThreadLocal是在包package java.lang的类,随意默认是不用我们手动引入的。我们可以简单的理解为他是一个Map用原创 2022-02-17 23:39:53 · 331 阅读 · 0 评论 -
Java多线程下载同一个文件的实现,断点续传(Range)
如何实现多线程来下载一个文件多线程现在一些场景还是可以起到加速下载的作用的,例如github下载文件的时候有时候只有100kb/s或者更低,但是github下载服务是支持断点续传的。所谓的断点续传就是服务端支持返回所需文件的指定部分。举个栗子,master.zip 总10000字节数,我们只需要5001-10000的部分,我们可以通过设置请求头的方式来告诉服务端我们需要哪部分Range: bytes=5001-10000 所涉及知识线程池io流HttpURLConnection获取g原创 2022-01-22 12:52:26 · 1243 阅读 · 3 评论 -
创建线程的几种方式(常见)
java中线程创建的几大方式首先需要弄懂,Thread 这个类,该类在package java.lang; 该包下是一些比较常用的,默认自动导入。Thread 类的比较重要的两个方法,不要搞混。start() start方法用于创建线程run() run方法用是用于并发执行代码逻辑的入口方法。(单独运行run方法是不会新建线程执行的)...原创 2022-01-17 15:51:18 · 401 阅读 · 0 评论 -
springmvc 找不到 org.springframework.web.servlet.DispatcherServlet错误
在学习spring mvc 的时候,搭建完环境时访问路径报404,日志显示servlet[springmvc]标记为不可用java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet22-Dec-2020 22:47:38.640 信息 [RMI TCP Connection(4)-127.0.0.1] org.apache.catalina.core.ApplicationContext.原创 2020-12-22 23:02:27 · 6787 阅读 · 8 评论 -
什么,你还不会写单例模式?
单例模式(Singleton)也叫单态模式,从字面意思可以看出就是在这程序中,只有唯一的个实例。主要思想:(控制创建权利)私有化构造方法(给一个获取单一实例对象入口)写个静态方法,每次返回同一实例引用主要由两种模式1.饿汉式(静态常量)在类加载的时候就会实例化public class Singleton{ private final static Singleton singleton = new Singleton(); private Singleton(){} p原创 2020-12-01 21:35:14 · 64 阅读 · 0 评论 -
写一个死锁和简单排查命令
什么是死锁?话不多说,上定义死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。知道了死锁定义,那么下面简单写一个死锁的例子class HoldThread implements Runnable{ private String strA; private String strB; public HoldThread(原创 2020-11-29 21:23:39 · 245 阅读 · 1 评论 -
虚拟机修改系统参数信息
通过System.getProperties() 可以获取运行时的系统参数代码示例: @Test public void properties() throws IOException { Properties properties = System.getProperties(); Set<Map.Entry<Object, Object>> entries = properties.entrySet(); for(Ma原创 2020-11-29 16:52:40 · 2388 阅读 · 0 评论 -
java 线程池ThreadPoolExecutor
线程池提交任务↓执行任务←否核心线程池是否已满↓是将任务放入缓存队列←否等待队列是否已满↓是创建线程执行任务←否线程池是否达到最大线程↓是执行拒绝策略处理无法处理的任务使用线程池三种方式ExecutorService threadPool = new Executors.newFixedThreadPool(5)//一池固定数量线程ExecutorService threadPool = n...原创 2020-11-29 16:45:26 · 138 阅读 · 1 评论