![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
qq_22796957
这个作者很懒,什么都没留下…
展开
-
多线程基础-aqs源码流程+condition注意点
细节:HEAD的节点总是指向空节点Thread.interrupted();中断,复位Thread.currentThread().interrupt();中断 Nofair:lock()后直接cas更改state的值抢占锁。抢占失败后加入CLH队列中。Fair:lock()后先看有没有等待锁的线程,有的话就加入CLH队列中。加入到队列后流程就一样了,都需要被前置线程释放锁的时候唤醒。...原创 2020-07-09 17:12:30 · 114 阅读 · 0 评论 -
mybatisplus逆向工程记录
mybatisplus确实是非常实用,在创建项目是节省很多重复工作,下面记录一下。1.新建maven或者gradle工程2.添加相关依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:/.原创 2020-06-23 15:10:47 · 115 阅读 · 0 评论 -
Springboot2.x+mybatis多数据源(MySQL+Oracle)集成
背景:最近项目需求需要同时查询MySQL和Oracle的数据,项目已经上线,总结一下,以备后续查看(该文档并不是完整的项目)。项目基于gradle管理的标准的Web MVC架构:build.gradlegroup 'com.data.mult'version '1.0-SNAPSHOT'apply plugin: 'java'apply plugin: 'eclipse'apply plugin: 'application'mainClassName = 'com.data...原创 2020-06-23 13:39:44 · 1100 阅读 · 0 评论 -
Java应用程序接收信号和注册钩子关闭程序
一、接收信号1、在Linux中执行kill -l查看信号,共有64中信号2、实现SignalHandler接口并注册信号。import sun.misc.Signal;import sun.misc.SignalHandler;public class SingleTest implements SignalHandler { public static void...原创 2018-07-25 17:31:29 · 708 阅读 · 0 评论 -
Javaagent入门介绍
Javaagent是一个简单优雅的java agent,利用java自带的instrument特性+javassist字节码编辑技术,实现了无侵入的方法级性能监控。创建agent。作为agent的jar包必须有两个要求。一、必须实现premain方法二、在MANIFEST.MF文件中有Premain-Class,eclipse打包是必须指定该文件。三、执行java -jav...原创 2019-02-28 10:51:42 · 346 阅读 · 0 评论 -
Java项目查找资源文件搜索路径原理简析
一、在用eclipse构建的项目中,根目录下会有.classpath文件中指定classpath路径。 说明:kind="src"所指的路径就是classpath路径。二、在用idea构建项目中,会在根目录下的.idea/moudles/xxx_main.iml文件中指定classpath路径。 说明:url所指的路径就是classpath路径。三、Java...原创 2019-02-28 10:56:17 · 983 阅读 · 0 评论 -
自定义ClassLoader加载mysql驱动
背景:最近在研究自定义类加载器ClassLoader加载自定义目录的jar时,当加载mysql驱动时总是报ClassNotFoundException。原因:当DriverManager加载驱动时只承认当前系统的加载器加载的jar,自定义的显然不承认。3、解决办法:自定义myDriver实现Driver接口,并实现接口方法,其包含成员变量Driver即可。public cla...原创 2019-03-13 13:25:02 · 961 阅读 · 0 评论 -
ambari集成第三方应用
背景:最近遇到一个需求,公司运维人员可以通过ambari界面addservice按钮添加、启动、停止我们公司的系统,就花时间研究了一下ambari的集成。步骤:万事皆套路,ambari集成也同样,一是告诉ambari我要添加什么服务,二是告诉ambari我的服务在哪并且怎么加载的。下面我就按照这两个步骤来说明详细过程。一、告诉ambari我添加什么服务。首先要在/var/lib/amb...原创 2019-06-06 09:43:43 · 2407 阅读 · 3 评论 -
JNDI怎么理解
JNDI 是什么JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JNDI的意义和作用,就没有真正掌握J2EE特别是EJB的知识。那么,JNDI到底起什么作用?要了解JNDI的作用,我们可以从“如果不用JNDI我们怎样做?用了JNDI后我们又将怎样做?”这个问题来探...转载 2019-08-06 09:58:22 · 109 阅读 · 0 评论