
Java
冷小鱼
博客以实战为主,欢迎大家留言讨论。
展开
-
Maven的-pl -am -amd参数学习
假设现有项目结构如下dailylog-parent|-dailylog-common|-dailylog-web三个文件夹处在同级目录中 dailylog-web依赖dailylog-common dailylog-parent管理dailylog-common和dailylog-web。根据资料已知:参数 全称 释义 说明 -pl --proje...转载 2019-08-26 16:33:41 · 1218 阅读 · 0 评论 -
SpringMVC 原理及详细使用
在 Spring MVC 应用程序中,RequestDispatcher (在 Front Controller 之下) 这个 servlet 负责将进入的 HTTP 请求路由到控制器的处理方法。 在对 Spring MVC 进行的配置的时候, 你需要指定请求与处理方法之间的映射关系。 要配置 Web 请求的映射,就需要你用上 @RequestMapping 注解。 @Request...原创 2018-09-06 18:24:22 · 211 阅读 · 0 评论 -
SpringMvc 跨域
一、SpringMvc跨域支持从Spring MVC 4.2 开始增加支持跨域访问 二、使用方法1、某个方法支持跨域访问在方法上增加@CrossOrigin注解,如下:Java代码 @RequestMapping("/crossDomain2") @ResponseBody @CrossOrigin public String crossDomain...转载 2018-09-08 13:50:14 · 355 阅读 · 0 评论 -
Spring Cloud 未来发展方向
原创 2020-05-14 20:21:35 · 1139 阅读 · 0 评论 -
LambdaQueryWrapper SQL日志打印
【代码】LambdaQueryWrapper SQL日志打印。原创 2022-09-29 14:10:51 · 4367 阅读 · 2 评论 -
并发量,QPS,TPS,看这一篇就够了
目录引子饭店问题网站类比饭店分析性能测试软件性能测试的基本概念和计算公式一、软件性能的关注点二、软件性能的几个主要术语引子饭店问题饭店优化网站类比饭店分析当一条请求从客户端发起时,它遵循着以上的线路传递,线性完成。这家网站的性能关键,在于应用服务器上。就像餐厅的服务能力,主要取决于后厨团队一样。当多个客户端同时发起请求时,服务器必须具备一定的“并行”能力,否则后续进来请求会排队而且可能超时。上图画的是一个,但一般都服务...原创 2020-09-02 16:31:12 · 4636 阅读 · 0 评论 -
KKFileView 4.3 Centos7.9安装部署
基于Centos7部署了最新版本的KKfile,归纳总结了全流程,供大家参考,欢迎交流讨论。原创 2023-11-07 18:31:36 · 5522 阅读 · 2 评论 -
CertPathValidatorException: Path does not chain with any of the trust anchors
由于安全考虑,MYSQL开启了SSL,通过JAVA代码链接的时候就报错了。解决方案如果数据库没有开启SSL,那么修改 useSSL=true 为 useSSL=false。如果开启了SSL,那么按照以下步骤解决。MSYQL默认安装的data 目录下:拷贝三个文件到本地:进入你的JRE证书目录打开命令行工具,切换到当前目录下执行:WindowsLinux提示输入密码:默认密码为 changeit提示是否信任:是如果出现请使用管理员打开命令行工具操作成功后...原创 2022-07-11 15:15:36 · 881 阅读 · 0 评论 -
JVM 内存监控 (1.8)
引子当JAVA应用程序出现OOM(内存溢出)的时候可以使用JMX及JDK自带的工具监测JVM运行情况。添加JVM启动参数10.25.14.31—需要修改为被监控且运行JVM的服务器IP地址3999—需要修改为服务器空闲的端口追加以下参数-Xms512m-Xmx1024m-Dcom.sun.management.jmxremote-Djava.rmi.server.hostname=10.25.14.31-Dcom.sun.management.jmxremote.port=399.原创 2021-11-04 17:42:26 · 395 阅读 · 0 评论 -
LogBack 打印 ES的DSL日志信息
本文适用于JAVA项目试用LOGBACK作为日志处理框架的场景。1.、修改配置文件。需要在 logback-logstash.xml 中追加以下代码段:<logger name="org.springframework.data.elasticsearch.core" level="DEBUG"/>位置如下:2、重新启动你的应用程序。红色框后面的就是DSL3、验证。把DSL粘贴到Head中,执行查询操作。需要在URL指定索引,DSL中没有描述索引的。4、排查问题DSL原创 2021-08-20 18:19:09 · 1268 阅读 · 0 评论 -
Java泛型中extends和super的区别?
区别<? extends T>和<? super T>是Java泛型中的“通配符(Wildcards)”和“边界(Bounds)”的概念。<? extends T>:是指“上界通配符(Upper Bounds Wildcards)”<? super T>:是指“下界通配符(Lower Bounds Wildcards)”副作用上界<? extends T>不能往里存,只能往外取下界<? super T>...原创 2020-08-27 00:02:51 · 338 阅读 · 1 评论 -
JDK 5、6、7、8、9、10、11、12、13、14 新特性汇总
JDK5 新特性自动拆装箱 Foreach 静态导入 可变参数 Var args 枚举 格式化输出 泛型 ProcessBuilder 内省 线程并发库(JUC) 监控和管理虚拟机 元数据JDK6 新特性Desktop类和SystemTray类 使用JAXB2来实现对象与XML之间的映射 理解STAX 使用Compiler API 轻量级Http Server API 插入式注解处理API(Pluggable Annotation Processing API)原创 2020-08-20 21:46:44 · 727 阅读 · 0 评论 -
云原生中间件引进
原创 2020-08-18 15:30:06 · 354 阅读 · 1 评论 -
Dubbo3.0 简介
原创 2020-08-18 15:00:07 · 7563 阅读 · 1 评论 -
Lambda表达式 入门实战
import cn.sh.ideal.bean.UserBean;import java.util.*;import java.util.function.Function;import java.util.stream.Collectors;import java.util.stream.Stream;/** * Lambda表达式写法 * * @author gilbert */public class LambdaDemo { /** * 功能描述 无参无返.原创 2020-07-24 13:55:30 · 224 阅读 · 0 评论 -
JAVA 获取操作系统属性
主要通过以下方法来获取:System.getProperty("java.io.tmpdir") 是获取操作系统的缓存临时目录可选择的属性如下:java.version Java运行时环境版本 java.vendor Java运行时环境供应商 java.vendor.url Java供应商的 URL java.home Java安装目录 java.vm.specification.version Java虚拟机规范版本 java.vm.spec原创 2020-07-03 17:30:34 · 269 阅读 · 0 评论 -
JVM 启动参数配置DEMO
/usr/lib/jvm/jdk1.8.0_131/bin/java -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpP...原创 2019-10-28 13:01:24 · 583 阅读 · 0 评论 -
Base64 + 变为 空格 问题分析
JDK1.8之前Base64是第三方的,1.8已经纳入JDK中,JAVA就是这么谦虚。话不多说,很多人应该遇到过Base64 encode之后再decode出错的问题,问题一般都是由于发起了URL请求造成的。网上很多的解决方案,再次贴出我的解决方案。查看源码可以知道,有很多实例的,错怪了jdk啊,是自己不会用。关键代码片段如下: //URL传输 final static Base...原创 2018-10-06 22:55:30 · 2542 阅读 · 0 评论 -
shiro springboot 整合
目录 shiro 介绍shiro 名词解释shiro 框架结构认证过程 授权流程 与spring boot 整合目录结构 POM依赖Application.yml SQL脚本实体DAO,这里用JPA ServiceService.impl config,配置类controllerhtml 参考:shiro 介绍s...原创 2019-01-06 23:31:19 · 358 阅读 · 0 评论 -
MyBatis 如何传递参数(全)
一、单个参数:public List<XXBean> findXXBeanList(String xxCode); <select id="findXXXBeanList" parameterType="java.lang.String" resultType="XXBean"> select t.* from tableName t where t...原创 2019-01-12 16:09:41 · 1824 阅读 · 0 评论 -
Java 泛型(generics)
目录 概述特性通配符泛型类泛型接口泛型方法概述 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。 泛型的本质是为了参数化类型(在不创建新的类型的情况下,...原创 2019-01-19 15:25:37 · 581 阅读 · 0 评论 -
Spring 国际化 MessageSource
假设我们正在开发一个支持多国语言的Web应用程序,要求系统能够根据客户端的系统的语言类型返回对应的界面:英文的操作系统返回英文界面,而中文的操作系统则返回中文界面——这便是典型的i18n国际化问题。对于有国际化要求的应用系统,我们不能简单地采用硬编码的方式编写用户界面信息、报错信息等内容,而必须为这些需要国际化的信息进行特殊处理。简单来说,就是为每种语言提供一套相应的资源文件,并以...转载 2019-01-22 17:46:03 · 622 阅读 · 0 评论 -
Spring Batch 使用指南
Spring Batch的核心概念 如下图,JobLancher启动job,一个job包含若干step,每个step又包含一个ItemReader(读数据),ItemProcessor(处理数据),和ItemWriter(输出数据),job的元数据和运行状态则存储在JobRepository中。 Spring batch主要...原创 2019-01-22 20:25:53 · 1131 阅读 · 0 评论 -
Java 方法使用final 修饰参数的作用
Java 方法使用final 修饰参数的作用在方法参数前面加final关键字就是为了防止数据在方法体中被修改。主要分两种情况: 第一,用final修饰基本数据类型; 第二,用final修饰引用类型。第一种情况,修饰基本类型(非引用类型)。这时参数的值在方法体内是不能被修改的,即不能被重新赋值。否则编译就通不过。例如: public class TestFinal {public v...转载 2019-01-28 13:55:00 · 470 阅读 · 0 评论 -
Log4j、Log4j 2、JUL、JCL 、SFL4J 、Logback 与 Lombok 的使用
Log4JLog4j = Log for Java.Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、数据库等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。Log4j有7种不同的log级别,按照等级从低到高依次为:TRACE<DEBUG<INFO&...转载 2019-03-14 13:36:47 · 390 阅读 · 0 评论 -
JDK时区与电脑系统时区不一致,导致时间new date不对
解决方案方案一修改JVM启动参数 -Duser.timezone=Asia/Shanghai方案二代码设置环境变量System.out.println(TimeZone.getDefault()); //输出当前默认时区 final TimeZone zone = TimeZone.getTimeZone("GMT+8"); //获取中国时区 TimeZone....原创 2019-04-08 16:17:17 · 6271 阅读 · 2 评论 -
JAVA 正则表达式 RegexUtil
Java 表单注册常用正则表达式验证工具类,常用正则表达式大集合。pom依赖: <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> ...原创 2019-04-22 16:04:15 · 470 阅读 · 0 评论 -
行政区划
行政区划有国家的标准,简称国标。http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2018/index.htmlJAVA语言爬取代码示例:import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.Fi...原创 2019-04-28 13:31:12 · 263 阅读 · 0 评论 -
Banner
在项目的resource目录下,修改或者新建“banner.txt”的文件,那么项目启动的时候,就会看到这些图案了。以下参考网站:https://www.bootschool.net/ascii-art/search挑几个好看的banner留下来^_^ ...原创 2019-04-29 20:33:20 · 1314 阅读 · 2 评论 -
SpringBoot2 Redis连接池
连接池配置pom.xml 增加: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> ...原创 2019-05-07 11:28:24 · 3988 阅读 · 0 评论 -
Pinyin4j 的使用 Pinyin4jUtils工具类
官网功能1.支持简体中文和繁体中文字符。2.支持转换到汉语拼音,通用拼音, 威妥玛拼音(威玛拼法), 注音符号第二式, 耶鲁拼法和国语罗马字。3.支持多音字,即可以获取一个中文字符的多种发音。4.支持多种字符串输出格式,比如支持Unicode格式的字符ü和声调符号(阴平 "ˉ",阳平"ˊ",上声"ˇ",去声"ˋ")的输出。5.能够根据中文字符获取其对应的拼音,而且拼音的格式可以定...原创 2019-07-10 15:23:57 · 892 阅读 · 0 评论 -
Centos 安装 JDK8
1. 下载jdk8官网连接http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html不要用wget 否则解压会出错2.进入linux usr 创建java文件 mkdir /usr/javacd /usr...转载 2019-07-18 14:52:30 · 259 阅读 · 0 评论 -
使用@ConditionalOnExpression决定是否生效注释
前置 application.yml 的内容如下:#消费者总开关,0关1开mq.cumsumer.enabled=1#rocketmq消费者开关,true开启,false关闭rocketmq.comsumer.enabled=false#rabbitmq消费者开关,true开启,false关闭rabbitmq.comsumer.enabled=true 布尔型 ...原创 2019-08-13 15:10:42 · 2075 阅读 · 0 评论 -
分布式唯一ID的几种生成方案
分布式ID的特性唯一性:确保生成的ID是全网唯一的。 有序递增性:确保生成的ID是对于某个用户或者业务是按一定的数字有序递增的。 高可用性:确保任何时候都能正确的生成ID。 带时间:ID里面包含时间,一眼扫过去就知道哪天的交易。 分布式ID的生成方案1. UUID算法的核心思想是结合机器的网卡、当地时间、一个随记数来生成UUID。优点:本地生成,...原创 2019-08-08 18:47:50 · 725 阅读 · 0 评论 -
Spring Boot 热启动
目的:修改类文件可以马上编译发布,提高了工作效率步骤:第一步:修改pom.xml<!-- 热启动 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifa...原创 2019-01-11 19:15:10 · 1170 阅读 · 0 评论 -
Mybatis中Mapper映射文件详解(默认值)
Mapper映射文件是一个xml格式文件,必须遵循相应的dtd文件规范,如ibatis-3-mapper.dtd。我们先大体上看看支持哪些配置?如下所示,从Eclipse里截了个屏:从上图可以看出,映射文件是以&amp;lt;mapper&amp;gt;作为根节点,在根节点中支持9个元素,分别为insert、update、delete、select(增删改查);cache、cache-ref、resultM...转载 2019-01-17 11:49:13 · 16655 阅读 · 0 评论 -
Spring Boot 自定义属性值
如果想自己定义一些属性,比如我需要配置邮箱的相关参数,放到统一配置中就不太清晰,那么就自定义配置了。下面是配置的初始化,关注“host”配置,变量名一定和配置文件的属性名一致,切记。 使用MailConfig.host ...原创 2018-11-01 14:37:43 · 237 阅读 · 0 评论 -
Spring Jpa 返回自定义实体
非常曲折,今日终于成功了,分享下。场景:返回用户的信息列表,包含角色名称。(用户表只有角色表的ID)实现:方法一:@Transient查了很多资料,有的说加到实体类上,有的说加到属性上,有的说加到get方法上,不好意思都不好使。如果直接在用户实体增加角色名称,那么增删改都会报错,提示找不到这个属性,查询可以。如果加了Transient,增删改都可以了,查询不可以。有哪位仁兄生效...原创 2018-10-30 13:25:41 · 6187 阅读 · 6 评论 -
Java 反射 set get
直接上代码,可以用。package com.xxx.xxx.util;import java.beans.IntrospectionException;import java.beans.PropertyDescriptor;import java.lang.reflect.Field;import java.lang.reflect.Method;import org.slf4...原创 2018-10-23 18:21:01 · 1588 阅读 · 0 评论 -
JPA 多条件、多表查询
JPA对于简单的查询操作确实很给力,但是涉及到多表、多条件、分页的场景就不是很好实现了。可行的解决方案1、多条件public interface BaseRepository<T,ID extends Serializable> extends JpaRepository<T,ID>, JpaSpecificationExecutor<T>使用...原创 2018-10-25 11:28:51 · 3846 阅读 · 0 评论