Java
冷小鱼
博客以实战为主,欢迎大家留言讨论。
展开
-
KKFileView 4.3 Centos7.9安装部署
基于Centos7部署了最新版本的KKfile,归纳总结了全流程,供大家参考,欢迎交流讨论。原创 2023-11-07 18:31:36 · 4299 阅读 · 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 · 823 阅读 · 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 · 360 阅读 · 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 · 1207 阅读 · 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 · 308 阅读 · 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 · 707 阅读 · 0 评论 -
云原生中间件引进
原创 2020-08-18 15:30:06 · 334 阅读 · 1 评论 -
Dubbo3.0 简介
原创 2020-08-18 15:00:07 · 7525 阅读 · 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 · 201 阅读 · 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 · 256 阅读 · 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 · 551 阅读 · 0 评论 -
Spring Batch 使用指南
Spring Batch的核心概念 如下图,JobLancher启动job,一个job包含若干step,每个step又包含一个ItemReader(读数据),ItemProcessor(处理数据),和ItemWriter(输出数据),job的元数据和运行状态则存储在JobRepository中。 Spring batch主要...原创 2019-01-22 20:25:53 · 1019 阅读 · 0 评论 -
Spring 国际化 MessageSource
假设我们正在开发一个支持多国语言的Web应用程序,要求系统能够根据客户端的系统的语言类型返回对应的界面:英文的操作系统返回英文界面,而中文的操作系统则返回中文界面——这便是典型的i18n国际化问题。对于有国际化要求的应用系统,我们不能简单地采用硬编码的方式编写用户界面信息、报错信息等内容,而必须为这些需要国际化的信息进行特殊处理。简单来说,就是为每种语言提供一套相应的资源文件,并以...转载 2019-01-22 17:46:03 · 587 阅读 · 0 评论 -
Java 泛型(generics)
目录 概述特性通配符泛型类泛型接口泛型方法概述 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。 泛型的本质是为了参数化类型(在不创建新的类型的情况下,...原创 2019-01-19 15:25:37 · 553 阅读 · 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 · 1657 阅读 · 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 · 305 阅读 · 0 评论 -
Spring Boot 热启动
目的:修改类文件可以马上编译发布,提高了工作效率步骤:第一步:修改pom.xml<!-- 热启动 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifa...原创 2019-01-11 19:15:10 · 1144 阅读 · 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 · 16460 阅读 · 0 评论 -
Pinyin4j 的使用 Pinyin4jUtils工具类
官网功能1.支持简体中文和繁体中文字符。2.支持转换到汉语拼音,通用拼音, 威妥玛拼音(威玛拼法), 注音符号第二式, 耶鲁拼法和国语罗马字。3.支持多音字,即可以获取一个中文字符的多种发音。4.支持多种字符串输出格式,比如支持Unicode格式的字符ü和声调符号(阴平 "ˉ",阳平"ˊ",上声"ˇ",去声"ˋ")的输出。5.能够根据中文字符获取其对应的拼音,而且拼音的格式可以定...原创 2019-07-10 15:23:57 · 842 阅读 · 0 评论 -
Java 面试之数据库
原文:https://blog.csdn.net/u012102104/article/details/79773362Redis介绍Redis 基于C语言开发的一种非关系型数据库,数据放在内存,使用RDB[快照]方式或者AOF[日志]方式持久化。 Redis的优势包括速度、对富数据类型的支持(String、Hash、List、Set、Zset)、原子性操作、通用性。Redis使用场...转载 2019-01-02 14:26:28 · 1510 阅读 · 0 评论 -
Java 方法使用final 修饰参数的作用
Java 方法使用final 修饰参数的作用在方法参数前面加final关键字就是为了防止数据在方法体中被修改。主要分两种情况: 第一,用final修饰基本数据类型; 第二,用final修饰引用类型。第一种情况,修饰基本类型(非引用类型)。这时参数的值在方法体内是不能被修改的,即不能被重新赋值。否则编译就通不过。例如: public class TestFinal {public v...转载 2019-01-28 13:55:00 · 445 阅读 · 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 · 361 阅读 · 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 · 6139 阅读 · 2 评论 -
Java word 内容读取
1、添加依赖关系(网上好多帖子没有写依赖,害我找半天)<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.0.0</vers...原创 2018-09-20 20:33:47 · 26209 阅读 · 17 评论 -
分布式唯一ID的几种生成方案
分布式ID的特性唯一性:确保生成的ID是全网唯一的。 有序递增性:确保生成的ID是对于某个用户或者业务是按一定的数字有序递增的。 高可用性:确保任何时候都能正确的生成ID。 带时间:ID里面包含时间,一眼扫过去就知道哪天的交易。 分布式ID的生成方案1. UUID算法的核心思想是结合机器的网卡、当地时间、一个随记数来生成UUID。优点:本地生成,...原创 2019-08-08 18:47:50 · 699 阅读 · 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 · 2031 阅读 · 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 · 246 阅读 · 0 评论 -
SpringBoot2 Redis连接池
连接池配置pom.xml 增加: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> ...原创 2019-05-07 11:28:24 · 3963 阅读 · 0 评论 -
Banner
在项目的resource目录下,修改或者新建“banner.txt”的文件,那么项目启动的时候,就会看到这些图案了。以下参考网站:https://www.bootschool.net/ascii-art/search挑几个好看的banner留下来^_^ ...原创 2019-04-29 20:33:20 · 1289 阅读 · 2 评论 -
行政区划
行政区划有国家的标准,简称国标。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 · 249 阅读 · 0 评论 -
JAVA 正则表达式 RegexUtil
Java 表单注册常用正则表达式验证工具类,常用正则表达式大集合。pom依赖: <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> ...原创 2019-04-22 16:04:15 · 442 阅读 · 0 评论 -
Java 面试之线程与锁
原文:https://blog.csdn.net/u012102104/article/details/79772952进程、线程 进程是操作系统分配资源的最小单元,线程是操作系统调度的最小单元。一个进程一般包括多个线程,这些线程共享本进程的内存和资源。线程的状态实现线程的几种方式继承Thread类创建线程实现Runnable接口创建线程实现Callable接口创建新线程(可用...转载 2019-01-02 14:16:14 · 217 阅读 · 0 评论 -
Java 面试之语言基础
八种基本数据类型的大小,以及他们的封装类类 型大小封 装 类byte1字节Byteshort2字节Shortint4字节Integerlong8字节Longfloat4字节Floatdouble8字节Doublechar2字节Characterboolean–BooleanJava与C++对比...转载 2018-12-31 12:00:15 · 182 阅读 · 0 评论 -
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 · 1565 阅读 · 0 评论 -
JPA 多条件、多表查询
JPA对于简单的查询操作确实很给力,但是涉及到多表、多条件、分页的场景就不是很好实现了。可行的解决方案1、多条件public interface BaseRepository<T,ID extends Serializable> extends JpaRepository<T,ID>, JpaSpecificationExecutor<T>使用...原创 2018-10-25 11:28:51 · 3805 阅读 · 0 评论 -
Spring data JPA方法命名规则
关键字 方法命名 sql where字句 And findByNameAndPwd where name= ? and pwd =? Or findByNameOrSex where name= ? or sex=? Is,Equals findById,findByIdEquals where id= ? Between ...转载 2018-10-17 17:50:17 · 877 阅读 · 0 评论 -
Spring Data JPA 写SQL语句也可以如此简单
在使用 Spring DataJPA的时候,通常我们只需要继承JpaRepository 就能获得大部分常用的增删改查的方法。有时候我们需要自定义一些查询方法,可以写自定义 HQL 语句像这样 /***根据关注者id查找所有记录(查找关注的人的id)**@paramfromUserId*@return*/...原创 2018-10-17 15:40:55 · 29701 阅读 · 3 评论 -
Swagger2 使用说明
@Api:用在请求的类上,表示对类的说明 tags="说明该类的作用,可以在UI界面上看到的注解" value="该参数没什么意义,在UI界面上也看到,所以不需要配置"示例:@Api(tags="APP用户注册Controller")@ApiOperation:用在请求的方法上,说明方法的用途、作用 value="说明方法的用途、作用" note...原创 2018-10-22 10:30:33 · 858 阅读 · 0 评论 -
Java日志框架-logback的介绍及配置使用方法(纯Java工程)
说明:内容估计有些旧,2011年的,但是大体意思应该没多大变化,最新的配置可以参考官方文档。一、logback的介绍Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的...原创 2018-10-19 15:12:16 · 2775 阅读 · 0 评论 -
Base64 + 变为 空格 问题分析
JDK1.8之前Base64是第三方的,1.8已经纳入JDK中,JAVA就是这么谦虚。话不多说,很多人应该遇到过Base64 encode之后再decode出错的问题,问题一般都是由于发起了URL请求造成的。网上很多的解决方案,再次贴出我的解决方案。查看源码可以知道,有很多实例的,错怪了jdk啊,是自己不会用。关键代码片段如下: //URL传输 final static Base...原创 2018-10-06 22:55:30 · 2484 阅读 · 0 评论