随笔分类 -  JVM

摘要:需求 系统遇到这样一个需求,线上环境在配置文件发生变动时,可以不用经过重启,通过刷新接口的方式得到配置文件的加载,主要目的是为了迅速部署,避免因手动重启,处理不及时导致积压的问题 问题 1.程序中如何获取修改后的配置2.某些配置值是应用在bean里面的,在程序初始化的时候已经注入,如何修改这一部分。 阅读全文
posted @ 2021-02-02 14:30 charyGao 阅读(10240) 评论(0) 推荐(0)
摘要:在 Spring + SpringMVC 环境中,一般来说,要实现定时任务,我们有两中方案,一种是使用 Spring 自带的定时任务处理器 @Scheduled 注解,另一种就是使用第三方框架 Quartz ,Spring Boot 源自 Spring+SpringMVC ,因此天然具备这两个 Sp 阅读全文
posted @ 2020-12-01 16:55 charyGao 阅读(230) 评论(0) 推荐(0)
摘要:跨源资源共享(CORS)是一种安全概念,允许限制在Web浏览器中实现的资源.它可以防止JavaScript代码产生或消耗不同来源的请求. 例如,您的Web应用程序在8080端口上运行,并且使用JavaScript尝试从9090开始使用RESTful Web服务港口.在这种情况下,您将在Web浏览器上 阅读全文
posted @ 2020-11-05 10:58 charyGao 阅读(192) 评论(0) 推荐(0)
摘要:JVM工作原理 JVM 主要由 ClassLoader 和 执行引擎 两子系统组成. 任何一个Java类的main方法运行都会创建一个JVM实例, 当main函数结束时, JVM实例也就结束了. JVM实例启动时默认启动几个守护线程, 比如: 垃圾回收的线程, 而 main 方法的执行是在一个单独的 阅读全文
posted @ 2020-09-24 18:14 charyGao 阅读(205) 评论(0) 推荐(0)
摘要:from:https://www.baeldung.com/a-guide-to-java-enums 1. 概述 在这篇文章中,我们将看到什么是Java 枚举,它解决了什么问题,以及它们在实践中的一些设计模式。 在Java 5中引入了"enum"关键字。它表示一种特殊类型的类,该类始终扩展自jav 阅读全文
posted @ 2020-08-10 11:21 charyGao 阅读(263) 评论(0) 推荐(0)
摘要:from:https://www.marcobehler.com/guides/a-guide-to-logging-in-java 本指南指导您发现,理解和正确地使用Java日志库(如Log4j2,Logback或java.util.logging)。 日志“似乎”像是一个非常简单的主题,但在实践 阅读全文
posted @ 2020-08-04 17:37 charyGao 阅读(266) 评论(0) 推荐(0)
摘要:说到Java内存区域,可能很多人第一反应是“堆栈”。首先堆栈不是一个概念,而是两个概念,堆和栈是两块不同的内存区域,简单理解的话,堆是用来存放对象而栈是用来执行程序的。其次,堆内存和栈内存的这种划分方式比较粗糙,这种划分方式只能说明大多数程序员最关注的、与对象内存分配关系最密切的内存区域是这两块,J 阅读全文
posted @ 2020-07-29 19:38 charyGao 阅读(172) 评论(0) 推荐(0)
摘要:JAVA虚拟机的生命周期 一个运行时的Java虚拟机实例的天职是:负责运行一个java程序。当启动一个Java程序时,一个虚拟机实例也就诞生了。当该程序关闭退出,这个虚拟机实例也就随之消亡。如果同一台计算机上同时运行三个Java程序,将得到三个Java虚拟机实例。每个Java程序都运行于它自己的Ja 阅读全文
posted @ 2020-07-29 19:00 charyGao 阅读(152) 评论(0) 推荐(0)
摘要:一、背景1.1 SMP(Symmetric Multi-Processor)对称多处理器结构,它是相对非对称多处理技术而言的、应用十分广泛的并行技术。在这种架构中,一台计算机由多个CPU组成,并共享内存和其他资源,所有的CPU都可以平等地访问内存、I/O和外部中断。虽然同时使用多个CPU,但是从管理 阅读全文
posted @ 2020-07-29 10:51 charyGao 阅读(1032) 评论(0) 推荐(0)
摘要:java编码中的中文问题是一个老生常谈的问题了,每次遇到中文乱码LZ要么是按照以前的经验修改,要么则是baidu.com来解决问题。阅读许多关于中文乱码的解决办法的博文后,发现对于该问题我们都(更加包括我自己)没有一个清晰明了的认识,于是LZ想通过这系列博文(估计只有几篇)来彻底分析、解决java中 阅读全文
posted @ 2020-07-29 10:35 charyGao 阅读(252) 评论(0) 推荐(0)
摘要:一、为什么需要垃圾回收 如果不进行垃圾回收,内存迟早都会被消耗空,因为我们在不断的分配内存空间而不进行回收。除非内存无限大,我们可以任性的分配而不回收,但是事实并非如此。所以,垃圾回收是必须的。 二、哪些内存需要回收? 哪些内存需要回收是垃圾回收机制第一个要考虑的问题,所谓“要回收的垃圾”无非就是那 阅读全文
posted @ 2020-07-28 16:41 charyGao 阅读(236) 评论(0) 推荐(0)
摘要:一、Java基础 1、Java面向对象的三个特征与含义 三大特征是:封装、继承和多态。 封装是指将某事物的属性和行为包装到对象中,这个对象只对外公布需要公开的属性和行为,而这个公布也是可以有选择性的公布给其它对象。在Java中能使用private、protected、public三种修饰符或不用(即 阅读全文
posted @ 2020-07-28 11:05 charyGao 阅读(303) 评论(0) 推荐(0)
摘要:一、Callable 与 Runnable 先说一下java.lang.Runnable吧,它是一个接口,在它里面只声明了一个run()方法: public interface Runnable { public abstract void run();} 由于run()方法返回值为void类型,所 阅读全文
posted @ 2020-07-28 10:41 charyGao 阅读(154) 评论(0) 推荐(0)
摘要:一、读写锁简介 现实中有这样一种场景:对共享资源有读和写的操作,且写操作没有读操作那么频繁。在没有写操作的时候,多个线程同时读一个资源没有任何问题,所以应该允许多个线程同时读取共享资源;但是如果一个线程想去写这些共享资源,就不应该允许其他线程对该资源进行读和写的操作了。 针对这种场景,JAVA的并发 阅读全文
posted @ 2020-07-28 10:39 charyGao 阅读(197) 评论(0) 推荐(0)
摘要:public class Singleton { private static Singleton singleton; private Singleton() { } public static Singleton getInstance() { if (singleton == null) {/ 阅读全文
posted @ 2020-07-21 14:43 charyGao 阅读(787) 评论(0) 推荐(0)
摘要:Tomcat 总体结构 从上图中可以看出 Tomcat 的心脏是两个组件:Connector 和 Container。 Connector 组件是可以被替换,这样可以提供给服务器设计者更多的选择,因为这个组件是如此重要,不仅跟服务器的设计的本身,而且和不同的应用场景也十分相关,所以一个 Contai 阅读全文
posted @ 2020-07-15 17:48 charyGao 阅读(441) 评论(0) 推荐(0)
摘要:需要知道的是:finally的语句会先于try或者catch的返回语句之前执行,如果finally中有return语句,那么try或catch中的return语句会被finally中的return覆盖,不建议在finally中放return 情况一:try、catch和finally中都有retur 阅读全文
posted @ 2020-05-07 21:41 charyGao 阅读(725) 评论(0) 推荐(0)
摘要:我在使用springboot时,当代码有问题时,发现控制台打印下面信息: Connected to the target VM, address: '127.0.0.1:42091', transport: 'socket' log4j:WARN No appenders could be foun 阅读全文
posted @ 2020-05-07 16:54 charyGao 阅读(1444) 评论(0) 推荐(1)
摘要:fastJson 1、String转换为JSONObject String param = "{\"age\":\"24\",\"name\":\"cool_summer_moon\"}"; JSONObject jsonObject = JSONObject.parseObject(param); 阅读全文
posted @ 2020-05-07 10:37 charyGao 阅读(981) 评论(0) 推荐(0)
摘要:一. 内部类基础 在 Java 中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。下面就先来了解一下这四种内部类的用法。 1. 成员内部类 成员内部类是最普通的内部类,它的定义为位于另一个类的 阅读全文
posted @ 2020-04-11 23:42 charyGao 阅读(221) 评论(0) 推荐(0)