java
文章平均质量分 90
截教教主
这个作者很懒,什么都没留下…
展开
-
Excel导入优化
导入优化过程原创 2022-10-11 14:51:18 · 119 阅读 · 1 评论 -
Spring中涉及的设计模式
1.简单工厂(非23种设计模式中的一种)实现方式:BeanFactory。Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对象,但是否是在传入参数后创建还是传入参数前创建这个要根据具体情况来定。实质:由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。实现原理:bean容器的启动阶段:读取bean的xml配置文件,将bean元素分别转换成一个BeanDefinition对象。然后通过BeanDefinitionReg原创 2021-10-02 17:10:17 · 88 阅读 · 0 评论 -
线上排查问题大全
CPU一般来讲我们首先会排查cpu方面的问题。cpu异常往往还是比较好定位的。原因包括业务逻辑问题(死循环)、频繁gc以及上下文切换过多。而最常见的往往是业务逻辑(或者框架逻辑)导致的,可以使用jstack来分析对应的堆栈情况。使用jstack分析cpu问题我们先用ps命令找到对应进程的pid(如果你有好几个目标进程,可以先用top看一下哪个占用比较高)。接着用top -H -p pid来找到cpu使用率比较高的一些线程然后将占用最高的pid转换为16进制printf '%x\n' pid得到n原创 2021-10-02 16:30:40 · 177 阅读 · 0 评论 -
MySQL 定时备份数据库
在操作数据过程中,可能会导致数据错误,甚至数据库奔溃,而有效的定时备份能很好地保护数据库。本篇文章主要讲述了几种方法进行 MySQL 定时备份数据库。一. mysqldump命令备份数据在MySQL中提供了命令行导出数据库数据以及文件的一种方便的工具mysqldump,我们可以通过命令行直接实现数据库内容的导出dump,首先我们简单了解一下mysqldump命令用法:#MySQLdump常用mysqldump -u root -p --databases 数据库1 数据库2 > xxx.sql原创 2021-09-28 17:13:54 · 74 阅读 · 0 评论 -
jvm摘录
jvm模型JVM包含两个子系统和两个组件,两个子系统为Class loader(类装载)、Execution engine(执行引擎);两个组件为Runtime data area(运行时数据区)、Native Interface(本地接口)。Class loader(类装载):根据给定的全限定名类名(如:java.lang.Object)来装载class文件到Runtime data area中的method area。Execution engine(执行引擎):执行classes中的指令。原创 2021-07-19 20:39:52 · 108 阅读 · 0 评论 -
JAVA定时任务的创建方式
Quartz表达式生成地址:http://cron.qqe2.com/支持生成定时任务表达式和反解析,使用Quartz表达式的定时任务如下xxl-jobspringboot 的 @ScheduledQuartz 框架一、job 定时任务的五种创建方式1、使用线程创建 job 定时任务/** * TODO 使用线程创建 job 定时任务 * @author 曹德顺 */public class JobThread { public static class Demo01转载 2021-07-11 17:19:42 · 327 阅读 · 0 评论 -
Spring容器中的Bean是否线程安全
Spring容器中的Bean是否线程安全,容器本身并没有提供Bean的线程安全策略,因此可以说Spring容器中的Bean本身不具备线程安全的特性,但是具体还是要结合具体scope的Bean去研究。Spring 的 bean 作用域(scope)类型singleton:单例,默认作用域。prototype:原型,每次创建一个新对象。request:请求,每次Http请求创建一个新对象,适用于WebApplicationContext环境下。session:会话,同一个会话共享一个实例,不同会话使原创 2021-07-01 11:31:04 · 125 阅读 · 0 评论 -
并发问题ConcurrentHashMap、CopyOnWriteArrayList
线程重用导致用户信息错乱生产环境中,有时获取到的用户信息是别人的。查看代码后,发现是使用了ThreadLocal缓存获取到的用户信息。ThreadLocal适用于变量在线程间隔离,而在方法或类间共享的场景。若用户信息的获取比较昂贵(比如从DB查询),则在ThreadLocal中缓存比较合适。问题来了,为什么有时会出现用户信息错乱?案例使用ThreadLocal存放一个Integer值,代表需要在线程中保存的用户信息,初始null。先从ThreadLocal获取一次值,然后把外部传入的参数设置到Th原创 2021-06-30 17:06:21 · 423 阅读 · 0 评论 -
反射机制的理解
一.概念反射就是把Java的各种成分映射成相应的Java类。Class类的构造方法是private,由JVM创建。反射是java语言的一个特性,它允程序在运行时(注意不是编译的时候)来进行自我检查并且对内部的成员进行操作。例如它允许一个java的类获取他所有的成员变量和方法并且显示出来。Java 的这一能力在实际应用中也许用得不是很多,但是在其它的程序设计语言中根本就不存在这一特性。例如,Pascal、C 或者 C++ 中就没有办法在程序中获得函数定义相关的信息。(来自Sun)JavaBean 是原创 2021-05-31 16:59:47 · 125 阅读 · 0 评论 -
java技术点汇总介绍
站在运筹帷幄的角度来看,一名厉害的 Java 后端程序员都需要懂得哪些知识呢?我想,这也是很多读者迫切想知道的一个问题,因为如果不站在一个宏观的角度的话,所有学过的知识点都是零散的,就感觉像一只迷路的小鹿,跌跌撞撞的,总感觉欠点火候,对吧?怎么把知识点串联起来,形成知识图谱或者知识体系,就显得非常重要了。接下来,我根据这些年磨破滚打的一些经验,给大家简单科普一下,如果有漏掉的内容,希望读者朋友们在留言区指出来。1)MVC 框架:MVC 模式是软件工程中的一种软件架构模式,可以把软件系统分为三个基本部分:原创 2021-05-31 16:49:11 · 469 阅读 · 0 评论