自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

思念十年后

拥有一颗无所畏惧的心,勇往直前

  • 博客(477)
  • 资源 (5)
  • 收藏
  • 关注

原创 keepalived 主备都存在vip, keepalived主备跨网段配置;keepalived主备服务器不在同一个网段怎么配置

keepalived 主备都存在vip, keepalived主备跨网段配置;keepalived主备服务器不在同一个网段怎么配置

2023-09-01 11:06:58 1937 1

原创 18 Java并发机制的底层实现原理_volatile实现原理

volatile关键字volatile的两条实现原则(Lock前缀的作用)Lock前缀指令会引起处理器缓存回写到内存。一个处理器的缓存回写到内存会导致其他处理器的缓存无效。volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。volatile不会引起线程上下文的切换和调度,故而volatile的执行成本比synchronized低。

2023-08-10 16:30:34 301

原创 17 synchronized关键字使用 synchronized方法、synchronized块

同进程的多线程共享同一块存储空间,当多个线程同时访问某块内存空间时,就存在并发问题。为了保证数据在方法中被访问时的正确性,在访问时加入锁机制synchronized;当线程获得对象的排它锁,该线程独占资源,其他线程必须等待其使用后释放锁即可。synchronized方法控制对象的访问,每个对象对应一把锁,每个synchronized方法都必须获得该方法对象的锁才能执行,否则会阻塞线程,方法执行时独占该锁,知道方法执行完毕才会释放锁。synchronized修饰的代码块,会在object对象上加一个监视器。

2023-08-09 22:56:34 610

原创 16 ScheduledThreadPoolExecutor定时任务详解,schedule,scheduleWithFixedDelay,scheduleAtFixedRate避坑指南

ScheduledThreadPoolExecutor的功能与Timer类似,但 ScheduledThreadPoolExecutor功能更强大、更灵活。Timer对应的是单个后台线程,而ScheduledThreadPoolExecutor可以在构造函数中指定多个对应的后台线程数。ScheduledThreadPoolExecutor主要用来在给定的延迟之后运行任务,或者定期执行任务。ScheduledThreadPoolExecutor还提供了非常灵活的API,用于执行任务。

2023-08-08 22:31:50 370

原创 15 Executor框架,ThreadPoolExecutor、FixedThreadPool,SingleThreadExecutor,CachedThreadPool,Executors工具类

Executor框架、ExecutorService、ExecutorsFixedThreadPool 可重用固定线程数的线程池SingleThreadExecutor 单线程线程池CachedThreadPool 可调整线程数的线程池Executor框架的执行流程Executor框架的成员 ThreadPoolExecutor、ScheduledThreadPoolExecutor、 Future接口、Runnable接口、Callable接口和Executors

2023-08-08 15:05:48 71

原创 14 Java线程池ThreadPoolExecutor详解,线程池的实现原理,创建线程池,提交任务execute和submit,关闭线程池,根据任务特性合理地配置线程池,线程池的监控

`Java中的线程池 ThreadPoolExecutor ☆☆☆`线程池的实现原理线程池的创建 ThreadPoolExecutor向线程池提交任务的方法execute()、submit()关闭线程池 shutdown或shutdownNow方法来关闭线程池通过任务特性合理地配置线程池任务的性质:CPU密集型任务、IO密集型任务和混合型任务。任务的优先级:高、中和低。任务的执行时间:长、中和短。任务的依赖性:是否依赖其他系统资源,如数据库连接。建议使用有界队列线程池的监控

2023-08-08 11:02:50 100

原创 13 Java 多线程见的通信 volatile synchronized,Java多线程等待通知机制, ThreadLocal的使用

Java支持多个线程同时访问一个对象或者对象的成员变量,由于每个线程可以拥有这个变量的拷贝(虽然对象以及成员变量分配的内存是在共享内存中的,但是每个执行的线程还是可以拥有一份拷贝,这样做的目的是加速程序的执行,这是现代多核处理器的一个显著特性),所以程序在执行过程中,一个线程看到的变量并不一定是最新的。一个线程修改了一个对象的值,而另一个线程感知到了变化,然后进行相应的操作,整个过程开始于一个线程,而最终执行又是另一个线程。关键字synchronized可以修饰方法或者以同步块的形式来进行使用,它。

2023-08-08 10:50:19 114

原创 12 线程休眠 sleep,线程礼让 yield, Thread.join()的使用,线程过期的suspend()、resume()和stop()

每个线程终止的前提是前驱线程的终止,每个线程等待前驱线程 终止后,才从join()方法返回。一个线程A执行了B.join()时,当前线程A等待B线程终止之后才执行线程A剩下部分。yield() 暂停当前线程,使当前线程从running状态变为Ready状态,join方法相当于插队执行,最早插队的是main,依次为0-9,故执行顺序如上。a.join()方法,等待a线程执行完毕,再执行其他线程,其他线程阻塞。join()保证线程B的可见性,即线程B中修改的变量,线程A可见。多执行几次,会发现不一样的结果。

2023-08-07 23:38:08 184

原创 11 线程的中断 interrupt(),InterruptedException 安全的终止线程,线程优雅停止

通过标识位或者中断操作的方式能够使线程在终止时有机会去清理资源,而不是武断地 将线程停止,因此这种终止线程的做法显得更加安全和优雅。如果该线程已经处于终结状态,即使该线程被中断过,在调用该线程对象的isInterrupted()时依旧会返回false。中断状态是线程的一个标识位,而中断操作是一种简便的线程间交互方式,而这种交互方式最适合用来取消或停止任务。线程通过检查自身是否被中断来进行响应,线程通过方法isInterrupted()来进行判断是否被中断,

2023-08-07 23:32:03 112

原创 10 守护线程,线程优先级

优先级高的线程分配时间片的数量要多于优先级低的线程。​ 睡眠,当前线程睡眠一段时间,暂时将cpu让给其他线程执行,睡眠时间到了,就开始竞争cpu。通过调用Thread.setDaemon(true)将线程设置为Daemon线程。守护线程随Java虚拟机退出而退出。即main线程执行完毕后,守护线程立即终止。Daemon线程是一种支持型线程,它主要被用作程序中后台调度以及支持性工作。Java虚拟机中不存在非Daemon线程的时候,Java虚拟机将会退出。​ 当前线程正则执行的时候停下来进入等待队列。

2023-08-07 23:22:16 158

原创 09 Java多线程的状态详解 NEW, RUNNABLE, BLOCKED, WAITING, TIME_WAITING, TERMINATED,jstack查看dump文件中线程的状态

Java多线程的状态详解 NEW, RUNNABLE, BLOCKED, WAITING, TIME_WAITING, TERMINATED,jstack查看dump文件中线程的状态

2023-08-07 23:15:36 120

原创 08 启动线程;为什么说Java中只有Thread代表线程;静态代理 Thread类; 使用Lambda表达式更快捷编写线程

启动线程;为什么说Java中只有Thread代表线程;静态代理 Thread类; 使用Lambda表达式更快捷编写线程

2023-08-07 23:06:29 39

原创 05 并发编程挑战,上下文切换问题,死锁问题,受限于硬件和软件的资源问题

并发编程上下文切换如何减少上下文切换减少上下文切换实战死锁资源限制的挑战什么是资源限制资源限制引发的问题如何解决资源限制的问题在资源限制情况下进行并发编程

2023-08-07 22:55:18 271

原创 06 为什么需要多线程;多线程的优缺点;程序 进程 线程之间的关系;进程和线程之间的区别

不是说多线程是可以提高效率,怎么又说多线程慢呢。这里慢单纯指的是线程之间切换时消耗的时间和CPU的时钟周期相比慢。针对内存寻址、硬盘寻址是有提升的。CPU在执行A任务(A没有执行完)时,切换到任务B,需要保存A的上下文内容,等待CPU切换到执行A任务使用。:是操作系统进程中能够独立执行的实体(控制流),是处理器调度和分派的基本单位。可以看成是进程内的多条执行路径。软件的目的:提高人们的工作效率,简化工作流程。:进程是计算机中的程序关于某数据集合上的一次运行活动,,是操作系统结构的基础。

2023-08-07 22:51:12 1303

原创 07 Java创建线程的方式;继承 extends java.lang.Thread类;实现Runnable接口;实现callable接口;创建多线程三种方式的优缺点

获取返回值一般需要使用 FutureTask.isDone()方法来判断线程是否执行完。执行上述代码:主线程和Thread线程交替输出,说明CPU随机调度执行线程。每个线程都有获取CPU的机会。推荐使用该方法创建线程:避免单继承的局限性,方便同一个对线被多个线程使用。Java单继承特性,如果已经继承其他类,则不能再继承Thread类。实现callable接口,需要返回值类型。重写call()方法,需要抛出异常。get() 获取返回值。调用Start()方法。调用Start()方法。

2023-08-07 22:47:39 97

原创 SleepUtils工具类 方便直接调用Java线程sleep方法不需要捕获异常

SleepUtils工具类 方便直接调用Java线程sleep方法。

2023-08-07 22:41:48 231

原创 【Docker_01 环境准备】WSL2安装ubuntu;WSL2安装CentOS;安装Terminal;系统找不到指定文件错误;Error: Failed to download metadata

windos安装WSL2WSL2默认安装 (建议使用手动安装)WSL2手动安装安装ubuntuUbuntu默认安装C盘下面,安装之前可以修改windows默认软件安装路径。WSL安装Ubuntu 启动报“系统找不到指定文件” 错误解决方案安装TerminalTerminal 教程WSL2安装CentOS需要下载CentOS WSL更新CentOS报错 Error: Failed to download metadata for repo 'appstream': Cannot prepa

2023-05-29 23:46:50 1003

转载 Java查看字节码

java 如何查看 字节码javap -v

2023-04-01 21:52:03 437 1

原创 keepalived部署成功,ping不通,telnet也不通

keepalived VIP ping不通keepalived telnet 不通keepalived 创建虚拟ipkeepalived 删除虚拟ip

2023-03-27 19:27:46 1008

原创 如何在IDEA 中新建javaweb项目

idea中创建 java web项目添加web模块idea缺少webapp

2023-03-27 19:12:58 89

原创 IDEA 中没有Tomcat server 实测有效

idea添加自己的tomcat。

2023-03-27 19:11:12 624

原创 Java Annotation注解详释;注解格式,注解的本质,java内置注解,注解的组成,元注解,自定义注解

基本数据类型String类型枚举类型注解以上类型的数组类型/*** 自定义注解 多个参数*/ @Retention(value = RetentionPolicy . RUNTIME) //@Target(value = ElementType.TYPE) 多个值使用{} @Target({"清华" , "北大" };// returnOverride方法返回一个注解 Override returnOverride();

2023-03-22 06:00:00 176

原创 10 Tomcat 配置文件server.xml详解

tomcat server.xml

2023-03-21 22:46:10 1298

原创 26 shell编程 sed 命令追查找[关键字] 并在该行附近修改文本

sed命令 在关键字附加 追加 新增 替换 修改文本

2022-07-27 20:54:51 1314

原创 09 Tomcat Jasper(JSP引擎)详解

Jasper (JSP引擎)简介JSP 编译方式运行时 编译过程编译结果 - 存放位置Tomcat Jsp预编译JSP编译原理JSP 编译过程

2022-07-03 18:12:35 805

原创 08 Tomcat 启动流程源码解析 catalina.sh Bootstrap的main方法 Init方法 load方法 server init方法 services init方法 executor

Tomcat启动流程源码解析启动startup.bat、startup.shcatalina.shBootstrap的main方法Bootstrap Init方法Bootstrap daemon.load(args)Catalina load方法server init 方法services init方法executor init 方法总结

2022-06-30 23:56:18 269

原创 07 Tomcat 请求处理流程详解,Tomcat 请求流程设计架构

Tomcat 请求处理流程详解Tomcat 请求流程设计架构

2022-06-24 07:30:00 427

原创 06 Tomcat 启动流程详解 Tomcat的Lifecycle生命周期接口 Tomcat 各组件的默认实现类 Server、Service、Container、Executor、Connector

Tomcat 启动流程详解 Tomcat的Lifecycle生命周期接口 Tomcat 各组件的默认实现类 Server、Service、Container、Executor、Connector

2022-06-23 21:00:00 420

原创 05 Tomcat 容器 catalina,Tomcat 的模块分层结构,Catalina 各个组件的职责,Container 结构以及组件的含义,Tomcat的配置文件server.xml

Tomcat 的模块分层结构Servlet容器 CatalinaCatalina 各个组件的职责Container 结构Container各个组件的含义Tomcat的配置文件server.xml

2022-06-22 23:21:51 862

原创 04 Tomcat 连接器 Coyote,工作原理,IO模型,协议,EndPoint 通信监听的接口,Processor协议处理接口,ProtocolHandler协议接口,Adapter对象转换

Coyote 工作原理Coyote 的 IO模型与协议Tomcat 支持的IO模型Tomcat 支持的应用层协议连接器Coyote 中的组件EndPoint 通信监听的接口Processor :Coyote 协议处理接口ProtocolHandler : Coyote 协议接口Adapter 负责Request、ServletRequest对象的转换...

2022-06-22 00:17:16 542

原创 03 Tomcat架构简介

HTTP协议HTTP协议的工作原理HTTP服务器 架构Tomcat架构核心功能核心组件

2022-06-21 22:20:38 463

原创 02 Tomcat目录结构解析;idea导入tomcat源码启动;tomcat源码学习

Tomcat的目录结构Tomcat 启动 停止 访问Tomcat源码下载,导入IDE启动创建pom.xmlapache-tomcat-8.5.42-src版本的pom.xmlidea 导入项目Tomcat项目 步骤启动Tomcat过程中遇到的问题java: -source 1.5 中不支持 diamond 运算符TestCookieFilter报错java: 找不到符号 符号: 变量 CookieFilterorg.apache.jasper.JasperException无法编译...

2022-06-15 21:30:00 328

原创 01 Tomcat web服务器简述,下载,安装,基本功能,Tomcat在web应用部署中作用,如何下载安装Tomcat

软件架构C/S 客服端/服务器端B/S 浏览器/服务器端web应用特点Servlet接口规范Tomcat和web应用如何协作web服务器常见的web服务器软件(servlet容器)Tomcat 作为Servlet容器的基本功能Servlet规范规定,Servlet容器 接收请求访问特定Servlet的流程Tomcat版本和JDK版本Tomcat下载安装...

2022-06-14 17:39:17 190

原创 内存溢出 weblogic weblogic.servlet.internal.session.MemorySessionContext / MemorySessionData

问题描述在一次项目非功能压力测试过程中。发生内存溢出现象。通过mat工具分析dump,MemorySessionContext和MemorySessionData占用内存居高不下。weblogic weblogic.servlet.internal.session.MemorySessionContextweblogic weblogic.servlet.internal.session.MemorySessionDataMemoryAnalyzer 打开失败,修改内存MemoryAnaly

2022-05-01 20:53:13 424

原创 04 Java NIO 获取channel的三种方式 对象调用getChannel() 方法 通过FileChannel.open() 方式 通过FileChannel.open() 方式 分散(Sc

05 Java NIO channel通道Channeljava.nio.channels.Channel 接口的主要实现类获取通道的三种方法FileChannel 的常用方法通道Channeljava.nio.channels.Channel 接口的主要实现类获取通道的三种方法FileChannel 的常用方法获取通道方法一 :对象调用getChannel() 方法获取通道方法二 :通过FileChannel.open() 方式获取通道方法三 :通过Files.newByteChannel方

2022-03-08 23:42:59 1783

原创 03 Java NIO allocateDirect()和allocate()区别

03 Java NIO allocateDirect和allocate区别allocateDirect()和allocate()区别直接与非直接缓冲区allocateDirect()和allocate()区别allocateDirect:分配直接缓冲区,将缓冲区简历在物理内存中,可以提交效率allocate:分配字节接缓冲区,将缓冲区简历在JVM的内存中下图是JDK中对这两个方法详解直接与非直接缓冲区字节缓冲区要么是直接的,要么是非直接的。如果为直接字节缓冲区,则 Java 虚拟机

2022-03-07 19:41:58 871

原创 02 Java NIO 缓冲区buffer详解 设置缓冲区大小;数据存入缓冲区;读写模式的切换;从缓冲区读取数据

Java NIO 缓冲区buffer详解缓冲区 Buffer缓冲区的基本属性buffer缓冲区常用方法缓冲区的管理方式

2022-03-06 22:49:11 1589

原创 Windows执行jps命令无任何输出问题,亲测有效。

jps 命令设置,windows无法执行jps

2022-03-02 20:23:59 3482 2

原创 xxx.jar The project contains another dependency with the same archive name

The project contains another dependency with the same archive name

2022-02-22 16:38:48 433

原创 无限局域网适配器WLAN 物理地址一直变?

为什么无限局域网适配器WLAN 物理地址一直变

2022-01-12 11:12:13 2394

hash-2.0.rar

“安装macOS xxxx”应用程序副本已损坏,不能用来安装macOS。该工具用来教研macOS镜像是否出错。

2019-12-31

SpringMVC.rar

最近spring官网不能访问受限,一些jar包下载受限,提供springmvc5.1.8版本的jar供小伙伴们使用

2019-12-02

SpringMvc开涛.rar

PDF,源代码 开涛学SpringMVC 第一章源代码下载 第二章 Spring MVC入门 源代码下载 第四章 Controller接口控制器详解 源代码下载 第五章 处理器拦截器详解——跟着开涛学SpringMVC 第六章 注解式控制器详解 第七章 注解式控制器的数据验证、类型转换及格式化

2019-06-14

Tao-reviewboard-master.zip

Eclipse 代码review 插件,下载后 Tao-reviewboard-master\Tao-reviewboard-master\doc文件夹中Tao-ReviewBoard_UseGuide.docx 使用文档 \updatesite\plugins中的jar 放入eclipse plugins中即可

2019-06-04

SQL SERVER 数据库语法集合

数据库语法集合:数据库的创建、数据表的穿件及相关约束的指定、数据的增删改、数据查询,等等

2015-01-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除