
Java
文章平均质量分 91
java的一些基础
Drifting Kern
各位观众老爷多多关注!!!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
一文流:JVM精讲(多图提醒)
自定义的类加载器,可以自行实现 ClassLoader 以实现加载同名的Java,这常用于加载自定义插件。原创 2024-12-16 18:18:40 · 1118 阅读 · 0 评论 -
Maven 最详细的settings.xml 配置文件解释
Maven settings.xml详解settings.xmlmaven的主配置文件缺省名称为 settings.xml 其完整结构如下(为了方便阅读,删除了注释部分):<?xml version="1.0" encoding="UTF-8"?><settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance原创 2021-03-01 10:01:11 · 11659 阅读 · 1 评论 -
Maven POM的艺术
Maven POM的艺术Maven 知识的累积者Maven 是为了简化 基于Java的项目的构建而生的。说到简化, 对于没有经历过复杂构建过程的人而言, 很难理解 Maven 的简化含义。为了了解 Maven 到底如何帮助我们 简化了项目构建。我们首先需要对Maven诞生之前的项目构建过程有一个大概的了解。项目构建的先行者 Ant在Maven 之前,程序员通常使用 ant 来构建 Java项目, ant 意即蚂蚁, 是Apache 基金会下的跨平台(基于JAVA)的构件工具。每个ant项目都包含一原创 2021-03-01 10:03:26 · 284 阅读 · 0 评论 -
MAVEN 属性
MAVEN pom文件中可以使用 ${} 引用键值对属性,MAVEN的属性主要包括以下几类内置属性XML标签属性pom.xml 标签属性settings.xml 标签属性环境变量属性Java系统属性,通过JAVA代码 System.getProperties() 获得的所有属性操作系统的环境变量POM文件中自定义的Properties属性1. 内置属性(Maven预定义,用户可以直接使用)内置属性值属性描述basedir表示项目根目录,即包含pom.原创 2021-08-23 13:03:01 · 1267 阅读 · 1 评论 -
MyBatis-Plus 初步使用心得-连表分页查询的实现
MyBatis-plus 是基于mybatis的增强工具,是一款稳定强大的工具。配置安装参考:https://mp.baomidou.com/guide/install.html#release经过一段时间的初步使用 mybatis-plus 的核心功能 CRUD接口和 代码生成器都有所接触。以下是一些心得,会逐步更新CRUD接口的使用-连表分页查询entity的创建需要添加主键策略和...原创 2019-01-09 20:47:48 · 16723 阅读 · 12 评论 -
Mybatis 学习总结10 mybatis的缓存机制
mybatis的缓存机制缓存的概念什么是Mybatis缓存Mybatis缓存分类一级缓存:SqlSession级别,默认开启,且不能关闭。二级缓存:Mapper级别,默认关闭,可以手动开启。代码自测(以下为本人自测,也可以查看上文连接)一级缓存(scope :SqlSession)二级缓存(scope:mapper)前文引用 https://blog.youkuaiyun.com/lovezhaohaimi...原创 2019-04-18 18:14:12 · 430 阅读 · 0 评论 -
Mybatis/tk-Mybatis/Mybatis-plus 中generator(代码生成器)的使用
mybatis-generator 代码生成器的应用原创 2020-08-28 18:36:25 · 5327 阅读 · 0 评论 -
Mybatis学习总结9 日志
日志引入jar包mybatis配置文件配置日志logImpl日志配置文件 log4j.propertiesMybatis 的内置日志工厂提供日志功能,内置日志工厂将日志交给以下其中一种工具作代理:SLF4JApache Commons LoggingLog4j 2Log4jJDK loggingMyBatis 内置日志工厂基于运行时自省机制选择合适的日志工具。它会使用第一个查找得...原创 2019-04-18 16:27:18 · 199 阅读 · 0 评论 -
mybatis异常 栏位索引超过许可范围:2,栏位数:1。
异常信息Caused by: org.apache.ibatis.type.TypeException: Error setting non null for parameter #2 with JdbcType null . Try setting a different JdbcType for this parameter or a different configuration pro...原创 2019-12-20 11:49:15 · 8285 阅读 · 2 评论 -
mybatis学习总结4 mybatis的xml配置
在mybatis的配置xml文件中,首先需声明xml的类型<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">configuration除头部和xml文件类型声明外,整个文件被一对con...原创 2019-04-16 15:12:21 · 175 阅读 · 0 评论 -
mybatis 学习总结3 表字段与javabean字段的映射
mybatis 学习总结3 表字段与javabean字段的映射1.驼峰转换2.sql语句中的 AS 关键字 --- 起别名3.resultMap建立字段映射上文 MyBatis 学习总结2 CRUD-实现 https://mp.youkuaiyun.com/mdeditor/89314180#有时候我们封装的javabean与库表的字段并不能一一对应,我们需要做一些必要的配置以保证数据能够正确的获取。总...原创 2019-04-15 19:24:29 · 3577 阅读 · 0 评论 -
MyBati 学习总结8 SqlSessionFactory 以及 SqlSession
SqlSessionResources类SqlSessionFactorySqlSession执行语句方法分页参数 **RowBounds**,SqlSession的事务控制Session级别的 本地缓存SqlSession是mybatis的 主要java接口。SqlSession 由 SqlSessionFactory 对象创建,SqlSessionFactory 则 由 SqlSessio...原创 2019-04-18 09:51:10 · 415 阅读 · 0 评论 -
Java日志框架 Round One- SLF4J(1.7.25) + Logback(1.2.3)
Logback的应用和配置1 logback介绍2 logback架构介绍2.1 Logger 日志2.1.1 LoggerContext 上下文2.1.2 Level 有效层级2.1.3 层级结构与配置传递2.2 Appender 日志输出者2.2.1 Appender接口结构2.2.2 常用的appender简单介绍2.2.2.1 ConsoleAppender 输出到控制台2.2.2.2...原创 2020-03-26 19:11:02 · 1508 阅读 · 0 评论 -
Java日志框架 Round Two- SLF4J(1.7.25) + Log4j2(2.10.0)
因为log4j2在使用上与logback的适用和配置上比较类似,因此不多赘述。有兴趣的小伙伴可以直接到log4j官网查阅log4j的历史与演变。本文仅简单的在demo项目中引进并使用log4j2,仅考虑普通的软件项目的需求,完成基础的配置文件,并展示使用效果。关于log4j2和logback的比较对logback有兴趣的小伙伴可以参考我的另外一篇博文:Java日志框架 Round One- ...原创 2020-04-23 18:13:02 · 735 阅读 · 0 评论 -
JAVA 日志框架 SLF4J 源码解析: 一次简单的日志输出过程
SLF4J 日志输出流程源码部分解析1.前期准备1.1 下载源代码1.2 项目结构1.3 编写测试代码2.源码解析2.1 获取日志实例2.1.1 获取日志工厂2.1.1.1 工厂初始化2.1.1.1.1 绑定2.1.1.1.2 版本兼容性检查2.1.1.2 获取工厂结果处理及返回2.1.1.2.1 初始化的ONGOING_INITIALIZATION处理2.1.2 从工厂获取日志实例2.2 打印...原创 2020-03-23 19:22:31 · 5349 阅读 · 1 评论 -
Servlet 3.1 Servlet革命性特性,SpringBoot诞生基础
声明:本文基于Servlet3.1规范翻译整理,如有谬误,烦请指正。JSR 340,原文请查阅 https://www.jcp.org/en/jsr/summary?id=Servlet+3.1本文中的示例代码 可以 从https://gitee.com/Ouroboros_K/springboot2-demo.git项目中的servlet-service模块中获得1 Servlet 概括Servlet 是基于Java技术的Web组件Servlet 用于生成动态内容。动态: 数据动态.原创 2021-04-24 15:48:25 · 1324 阅读 · 1 评论 -
springboot多例模式的实现
在bean类中加注解@Scope(“proptype”) 发现仍然是单例模式。代码如下:service/** * @author Kern * @Title: ExcelTemplateServiceImpl * @ProjectName swms-java * @Description: TODO * @date 2019-7-815:14 */@Scope("prototy...原创 2019-07-09 14:13:20 · 12653 阅读 · 7 评论 -
Springboot + Swagger3 集成和配置
Springboot + Swagger3 集成和配置1.创建Springboot项目2. 配置Swagger2.1 (必选)添加开关注解@EnableOpenApi2.2 (可选)自定义首页属性 Docket配置3. 使用第三方UI本文将简单介绍Springboot 集成 Swagger3,关于Springboot + Swagger2 可以查看: Springboot + Swagger2 集成和配置基于前文的基础,简单介绍下swagger3,Swagger3在Swagger2的基础上进行了部分原创 2020-09-09 16:13:37 · 51677 阅读 · 26 评论 -
Springboot + Swagger2 集成和配置
Springboot + Swagger21. 构建springboot项目2. 配置Swagger2.1 添加开关注解@EnableSwagger22.2 (3.0.0版本必选)配置Swagger 相信从事java编程的小伙伴们都非常清楚了,他是一个成熟的基于OpenApi规范的api文档构成框架。本文简单讲解springboot + Swagger2的集成。关于Swagger的使用,可以自行查阅相关资料。1. 构建springboot项目选择IDEA的Spring Initializr 进行快速构原创 2020-09-09 15:49:48 · 2931 阅读 · 0 评论 -
Springboot 为RESTful Web服务启用Cors跨源请求 的四种方式
转自 springboot设置Cors跨域的四种方式前言:CorsFilter / WebMvcConfigurer / @CrossOrigin 需要SpringMVC 4.2以上的版本才支持,对应SpringBoot 1.3 版本以上都支持这些CORS特性。不过,使用SpringMVC4.2以下版本的小伙伴也不用慌,直接使用方式4通过手工添加响应头来授权CORS跨域访问也是可以的。方式1:返回新的CorsFilterimport org.springframework.context.an转载 2020-09-09 16:35:55 · 419 阅读 · 0 评论 -
Spring 基础学习 在IDEA上使用Maven构建一个简单的Spring 项目(xml配置形式)
在IDEA上使用Maven构建一个简单的Spring 项目1. 创建maven项目2.Pom文件中 引入Spring依赖3. 编写xml配置文件3.1 基础的xml配置文件3.2 Spring xml 配置文件头部解析3.3 编写一个 配置了 ioc 自动注入 和一个简单切面的 spring - xml配置文件。1. 创建maven项目idea 上 new 一个 project 选择maven...原创 2019-11-04 18:34:34 · 904 阅读 · 0 评论 -
Spring 源码学习,上下文加载过程
package springBeanFactory;import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationCo...原创 2019-11-05 10:53:22 · 259 阅读 · 0 评论 -
Spring 基础学习 框架framework
SPRING 框架1.什么是框架 what is software framework1.1 个人理解1.2 软件框架的特定2. Spring框架简介2.1 Spring框架是一个为了解决企业应用开发的复杂性的开源框架。2.2 Spring是一个轻量级的控制反转(ioc)和面向切面(aop)的容器框架2.3 Spring框架组成1.什么是框架 what is software framework...原创 2019-11-04 16:24:29 · 217 阅读 · 0 评论 -
Java IO 模型 B站课程(尚硅谷)学习总结
IO模型就是用什么样的通道进行数据的发送和接收,很大程度上决定了程序通信的性能。Java共支持3种网络编程模型/IO模式:BIO,NIO,AIO1. IO模型介绍Java BIOBlocking IO,阻塞io服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情就会造成不必要的连接开销。Java NIONon-Blocking IO,同步非阻塞io服务器实现模式为一个线程处理多个请求(连接),即客户端发送的连接请求都会注原创 2022-04-06 18:06:21 · 1221 阅读 · 5 评论 -
多线程基础-ThreadLocal
讲解 threadLocal原创 2021-12-27 11:42:58 · 956 阅读 · 0 评论 -
@Valid 注解详解 Java Bean Validation的前世今生
Spring @Valid 注解 校验实体属性1 @Valid 介绍1.1 关于JSR 3031.2 关于validation包1.3 关于Spring Hibernate Validator支持的约束集(constraints)2 简单的使用3 Spring-aop 统一处理参数校验3.1 aop utils1 @Valid 介绍1.1 关于JSR 3031.2 关于validation包...原创 2019-09-17 18:21:18 · 69446 阅读 · 3 评论 -
深入剖析synchronized关键字的底层原理
转发自知乎: https://zhuanlan.zhihu.com/p/114132797前序在Java并发编程当中, 我们会非常的熟悉synchronized关键字, 在JDK1.5之前, 仅仅只能通过该关键字来实现线程的同步, 在很多的文章中, 我们都或多或少的会听到[synchronized关键字是一个非常重的操作,但是在JDK1.6开始, 已经有了很大的改观]这样的一句话, 这时我就会疑惑, 为啥synchronized关键字是一个非常重的操作呢?1.6开始到底有了什么样的改观呢?然而这些转载 2021-09-16 21:55:01 · 443 阅读 · 0 评论 -
多线程基础-synchronized
一个简单的并发问题package cn.kerninventor.demo.multithread.sync;/** * @author kern */public class TestCase { private int number = 0; public void addNumber() { for (int i = 0; i < 100000; i++) { number = number + 1; }原创 2021-09-16 21:54:00 · 290 阅读 · 0 评论 -
多线程基础-并发问题产生的三大根源
多线程基础 Java线程什么是冯诺伊曼结构、哈佛结构、改进型哈佛结构性能之殇:从冯.诺伊曼瓶颈谈起究竟什么是冯.诺伊曼瓶颈我是一个CPU:这个世界慢死了本文转载自:并发理论基础:并发问题产生的三大根源 - 勤劳的小手的文章 - 知乎 并发问题变幻莫测,一谈到并发就显得非常高深,一般的程序员对于并发问题也是头疼不已,但是随着网络互联越来越普遍,大规模用户访问网站程序也越来越频繁,并发问题又无法避免。在我们解决并发问题前首先要理解产生并发问题的根源是什么,所有并发处理的工具只是针对这些根源问题.转载 2021-09-16 21:51:49 · 611 阅读 · 0 评论 -
多线程基础-Java线程
1. 什么是多线程1.1 多线程简介线程是进程中的任务单元,是计算机cpu执行指令的最小单元。简单的说,一个计算机中有多个进程,进程相当于我们使用的各个软件,而一个进程中有多个线程。计算机软件的实际运行是由多个线程完成执行的。cpu通过分配时间片给某个进程中的某个线程在时间片内执行该线程的任务,某个时刻中计算机的一个cpu实际上只执行一个线程的任务,cpu非常快速在多个线程间分配时间片来完成用户发出的预期指令。由于计算机指令的执行速度和时间片切换相对于人类而言是非常快的,所以在人类看来,似乎计算机在一段原创 2021-09-16 21:50:03 · 535 阅读 · 0 评论 -
JDK的完整安装
1 JDK 简介JDK是Java语言的软件开发环境。全称Java Development Kit(java开发工具包)。包括用于开发Java小程序和应用程序的 JVM(java虚拟机),编译器,调试器,JRE(java runtime environment,java运行环境)和其他工具。JDK按照版本主要分为ME版本,SE版本和EE版本,其中ME版本为微型版,主要用于移动设备和嵌入式设备上(如手机,PDA,电视机顶盒、打印机等)的java开发。SE版本为标准版。EE版本为企业版。企业版的部分版本需要付费原创 2021-03-15 09:19:03 · 10027 阅读 · 1 评论 -
Java 面向对象编程特性:封装 继承 多态
谈到java的特性,很多程序员会在第一时间说出,“Java是面向对象编程的语言”。这句话本身是没有错的,但是,为了完全理解 Java和面向对象之间的关系(即完全理解什么是面向对象编程,与之不同的还有什么?java作为面向对象编程的一类语言,如何实现了面向对象编程思想),我们还需要简单了解一下具有其他编程思维的一些语言,例如机器语言,汇编语言,面向过程编程语言,了解这些语言的过程实际上也揭示了计算机语言从底层语言到高级语言的变化,从简陋到复杂,从晦涩到易懂的一个过程是如何演变的。1 机器语言1001010原创 2021-03-15 09:15:59 · 787 阅读 · 0 评论