摘要:
阮一峰的个人网站,廖雪峰的官方网站,酷 壳 – COOLSHELL,MacTalk-池建强的随想录 JAVA NIO指南,并发编程网 ,专注 WEB 端开发,翟永超的技术博客,阿里云开发者中心,程序员小灰的博客,申龙斌的程序人生,蜗窝科技 数据库存储引擎研发专家,系统技术非业余研究,人间指南,生栋说 阅读全文
摘要:
在使用MyBatis作为Java项目的ORM框架时,在Mapper接口中传递参数需要通过@Param注解指定参数名称,这样才能在Mapper接口对应的xml文件中引用到对应名称的参数。如果不在Mapper接口中明确使用@Param注解时将会报错:找不到指定名称的参数。 追根溯源,这要从MyBatis 阅读全文
摘要:
在说明如何使用Maven模块化管理的继承和聚合机制之前,需要先澄清一些概念性的东西: 1.Maven是什么? 2.什么是Maven模块化管理? 3.Maven模块化管理的继承和聚合机制是什么含义? Maven是什么 Maven是Java项目开发中使用的一种依赖包管理工具,与其功能相似的还有另外一个叫 阅读全文
摘要:
icon图标生成 favicon.io 在线生成文本icon图标。 自制字体图标 第一步:制作或从Iconfont-阿里巴巴矢量图标库下载需要的矢量icon的svg格式(如:可以把png格式的图片转化为svg)。 第二步:将svg导入在线转换网址并生成font。 第三步:写less(或者css),定 阅读全文
摘要:
打包报错无效的目标发行版 有可能的原因:环境变量JAVA_HOME所指向路径的java版本与java命令的版本不一致,参考:记一个maven编译打包低级错误"Fatal error compiling: 无效的目标发行版: 11"的解决。 阅读全文
摘要:
jobs和workspace占用空间过大 解决办法:修改job配置,丢弃掉旧的构建。 jenkins jobs和workspace占用空间过大 阅读全文
摘要:
在构建历史中显示构建者和分支名 在构建后执行Groovy脚本来实现,参考: Jenkins在历史中展示构建者和分支名 添加Groovy Postbuild: manager.addShortText(manager.getEnvVariable("BUILD_USER")) manager.addS 阅读全文
摘要:
xxl-job任务执行器调度的实现机制 整体上来讲,就是在xxl-job-admin中通过调用任务执行器的HTTP接口,实现对任务执行器的调度。 具体又可以分为2个层面进行剖析,如下: 任务执行器侧: 当在项目中引入xxl-job-core组件之后,如果是在Spring容器环境中,会通过XxlJob 阅读全文
摘要:
在内网部署Jekins服务之后,安装插件总是会非常卡,甚至就无法安装插件。这是因为在Jekins的默认更新配置中,更新地址为https://updates.jenkins.io,需要想办法将更新地址修改为国内的镜像地址才行,同时还需要将Jenkins更新配置文件的地址修改为本地地址。 具体操作步骤如 阅读全文
摘要:
所谓的免安装就是就是使用MySQL服务端二进制压缩包部署服务,而不是直接通过包管理器方式安装MySQL服务器。 如下示例为在CentOS7环境免安装MySQL 8.0.31服务器。 在安装之前需要先检查下是否已经通过包管理器安装过MySQL服务器,如果已经安装,则先把安装的卸载。 $ rpm -qa 阅读全文
摘要:
本文阐述常用开源协议的商用限制。 GPL协议 如果在项目中使用了GPL协议的组件,那么项目也必须是GPL协议的。即:“我帮了你,你也要帮助别人”。 更进一步说,使用了GPL协议软件的项目也必须是开源项目,而且必须遵守GPL协议。 如果商用项目是闭源的,则不能使用GPL协议软件。 LGPL协议 LGP 阅读全文
摘要:
如何在logback配置中使用application.yml中属性 SpringBoot中logback.xml使用application.yml中属性 示例模板: <?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- 读取sprin 阅读全文
摘要:
私服搭建 如下讲解如何基于Docker方式快速搭建Nexus3私服。 编写docker-compose.yaml文件,内容如下: version: '2' services: nexus3: image: sonatype/nexus3:3.72.0 container_name: nexus3 r 阅读全文
摘要:
Docker端口映射不能访问 现象:在公司内网虚拟机上使用Docker部署的禅道服务,之前访问一直都好好的,突然在某天的某个时间点就无法正常访问了,在主机上查看端口映射都是正常的(而且端口也同样被占用了),通过telnet命令也确实无法访问通。 原因排查: Linux未开启内核转发功能,如下: # 阅读全文
摘要:
关于RocketMQ的单节点部署官方文档已经描述得非常清楚了,这里只是做一个简单的备忘。 如下安装步骤均基于最新的Apache RocketMQ 5.3.0实现。 下载安装RocketMQ 直接下载官方编译后的二进制包到本地并解压。 $ unzip rocketmq-all-5.3.0-bin-re 阅读全文
摘要:
问题描述 项目xx基于Spring Boot框架,其<parent>配置如下: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <vers 阅读全文
摘要:
安装Multipass 使用Multipass可以很方便地启动Ubuntu虚拟机,同时支持Windows,Mac和Linux平台。 不同的操作系统平台安装Multipass的方式有所不同,Linux平台通过snap进行安装:sudo snap install multipass,而Windows和M 阅读全文
摘要:
Arthas是一款线上监控诊断产品,通过全局视角实时查看应用负载、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。 安装 如下阐述的是全量安装方式,这样就可以以离线方式使用Arth 阅读全文
摘要:
关于线上问题 Java应用的线上问题,总结起来大概分为几类:CPU占用高,内存溢出,执行结果不对。 CPU占用高 引起CPU占用高的原因可能有多种,比如: 代码进入死循环 并发请求量大 频繁Full GC 打印日志太过于频繁 内存溢出 导致内存溢出的原因可能是: 分配的Java堆空间不够,可以通过启 阅读全文
摘要:
写在前面 线上环境突然出现Java进程CPU占用率持续超过100%的问题,该如何排查并定位呢? 问题一:我们如何知道线上环境的那个服务器(或者哪个Docker容器)出现了CPU持续高的故障了呢? 如果是有比较完善的监控设施,当出现CPU持续高时可以通过发送报警通知的方式告知开发人员,如果没有监控通知 阅读全文
摘要:
之所以要阅读OpenJDK源码,是因为Sun JDK的某些源码是缺失的,以JDK 1.8为例,sun.reflect,sun.rmi及其子包下的类都是没有源码的。 如下以下载Open JDK 1.8源码为例进行说明。 下载Open JDK源码文件,如下载zip格式的压缩包。 解压Open JDK源码 阅读全文