Java
文章平均质量分 63
懒猫-DustFree
此人确实很懒,动都不想动
展开
-
PostgreSQL入门
简介PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES的许多领先概念只是在比较迟的时候才出现在商业网站数据库中。PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。同样,PostgreSQL也可以用许多方法扩展,例如通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等原创 2022-02-09 16:15:48 · 1161 阅读 · 0 评论 -
spring TransactionalEventListener 使用不当引发的bug小记
事故现场:原创 2021-08-27 18:06:50 · 1164 阅读 · 0 评论 -
JVM java内存模型
JMM 定义JMM即Java内存模型(Java memory model),在JSR133里指出了JMM是用来定义一个一致的、跨平台的内存模型,是缓存一致性协议,用来定义数据读写的规则。线程堆栈上面分别有什么?线程栈所有基本类型的局部变量局部变量只能通过变量副本在线程间传递线程执行时,方法的所有基本类型的局部变量会直接存在栈上面,而基本类型的包装类(Byte、Long)和自定义的类这一类的对象直接方法堆里面,栈中使用直接该对象的局部变量副本堆所有引用类型的变量的对象都存在堆上线原创 2021-08-17 20:55:36 · 96 阅读 · 0 评论 -
JVM 内存结构
JVM 内存布局规定了 Java 在运行过程中内存申请、分配、管理的策略,保证了 JVM 的高效稳定运行线程私有:程序计数器、虚拟机栈、本地方法栈线程公有: 堆、方法区线程私有的内存区域和线程的生命周期一致,会随着线程销毁而销毁。程序计数器Program Counter Register: Register命名 来自于PC的CPU寄存器,寄存器存储了指令的相关线程信息。这里的程序计数器是JVM 对物理PC寄存器的一种模拟作用存储将要执行代码的地址,由执行引擎去执行指令为什么要用程序计数.原创 2021-08-11 20:00:46 · 124 阅读 · 0 评论 -
JVM 类加载机制
类的生命周期类加载大致分为加载、验证、准备、解析、初始化五个阶段,其中加载、验证、准备、初始化顺序是固定的,解析的顺序不一定。它在某些情况下可以在初始化阶段之后开始,这是为了支持Java语言的运行时绑定(也成为动态绑定或晚期绑定)。并且这些阶段是顺序开始,而不是顺序执行或者完成,它们可能是交叉混合执行。类加载加载阶段的三个步骤:通过类型全限定名找到类的二进制字节流将字节流的静态存储结构转换为方法区运行时的数据结构在java堆中生成一个代表这个类的java.lang.Class对象,作为方法区原创 2021-08-05 13:06:09 · 220 阅读 · 3 评论 -
JVM 字节码文件
计算机不能直接运行java代码,要先运行虚拟机,再由java虚拟机运行编译后java代码。为什么不能直接运行java代码?计算机所有的操作都是通过一个个指令集汇集后去完成的。java 是高级语言,只有人才能理解它的逻辑,机器是无法识别。所以需要将java文件编译成JVM能后识别的字节码文件,这样JVM才能正确的识别代码转换后的指令去正确的执行它。java代码转换成字节码文件后,在交由部署到不同平台JVM去读取执行。从而实现了一次编译,到处运行。JVM 不只是支持java,衍生了很多基于JVM的原创 2021-08-04 19:41:49 · 162 阅读 · 0 评论 -
liquibase-groovy-dsl 使用
什么是liquibaseLiquibase 是一个用于跟踪,管理和应用数据库变化的开源的数据库重构工具。它将所有数据库的变化(包括结构和数据) 都保存在XML文件中,便于版本控制。通俗点就是将你的数据库脚本转为xml记录下来,其中包含了你对数据库的改变,以及数据库的版本信息,方便数据的升级和回滚等操作。什么是liquibase-groovy-dslliquibase是通过xml去记录数据库脚本,有时候看着不怎么直观,而liquibase-groovy-dsl就是遵循liquibase的语法通过使用g原创 2021-06-24 20:10:23 · 560 阅读 · 2 评论 -
Minio 的安装以及使用
MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。官网地址:https://docs.min.io/cn/minio 安装windows 下安装下载二进制文件minio.ex原创 2021-06-24 19:36:05 · 324 阅读 · 0 评论 -
多线程练习-熊吃蜂蜜
要求现在有一个罐子,两只熊,十只蜜蜂,每只蜜蜂每隔十秒产生一滴蜂蜜,熊大一次吃5滴蜂蜜,熊二一次吃10滴蜂蜜,吃完就不吃了。实现罐子的实现static class Contanier { private int honey; public Contanier() { } public void add() { synchronized (Contanier.class) {原创 2021-05-12 11:41:13 · 200 阅读 · 0 评论 -
mybaits collection使用autoMapping注意点
mybaits 在resultMap 中使用autoMapping 时出现以下情况<collection property="persons" ofType="io.ztx.infra.dto.PersonDTO" autoMapping = "true"> <id property="id" column="person_id"/> <res...原创 2020-04-27 13:32:01 · 2297 阅读 · 0 评论 -
docker私仓库--Harbor的安装
Harbor仓库的安装前置条件:主机上已经安装了docker以及docker-compose在下载Harbor离线包通过以下的地址去选择安装包:https://storage.googleapis.com/harbor-releases下载离线包wget --continue https://storage.googleapis.com/harbor-releases/releas...原创 2019-11-13 16:27:51 · 162 阅读 · 0 评论 -
springMVC文件下载和上传
springMvc文件上传和下载文件上传使用MultipartFile接收文件大致步骤:获取文件进行文件和保存路径的操作判断文件是否存在,不存在就新建一个保存文件,并进行其他操作(存入数据库等)返回操作提示信息 @PostMapping("/upload") @ResponseBody public String uploadFile(@RequestP...原创 2019-07-23 15:26:25 · 137 阅读 · 0 评论 -
冒泡排序的实现及优化
冒泡实现原理冒泡排序是交换排序中最简单的排序方法,基本思想是两两比较相邻的关键码,如果反序就反过来交换。 for(int i=0;i<arr.length-1;i++) { for(int j=0;j<arr.length-1;j++) { if(arr[j]>arr[j+1]) { temp=arr[j];//将下标为j的值赋值给temp ...原创 2018-11-08 21:43:40 · 154 阅读 · 0 评论 -
SpringBoot项目部署到服务器报错
今天把写好的SPringBoot项目放到服务器上总是报错在自己的电脑上可以运行Exception in thread &quot;main&quot; java.lang.ClassNotFoundException: com.kc.MyCaseApplication.java at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at j...原创 2019-01-03 16:55:10 · 304 阅读 · 0 评论 -
layui breadcrumb append a元素 lay-separator 失效
今天在用layui做一个demo时,发现一个问题。面包屑导航代码 <span class="layui-breadcrumb" lay-separator="/" lay-filter="bread"> <a href="">娱乐</a> <a href="">八卦&am原创 2019-03-04 13:14:00 · 2459 阅读 · 1 评论 -
maven 学习记录--maven安装及常用命令
1.maven安装i.到maven的官网下载mavenii.配置maven到系统环境变量中(path中加入maven文件所在的目录路径)我的maven路径:F:\studyFIlePackge\Devlopment Tools\Maven\apache-maven-3.6.01.创建环境变量:MAVEN_HOME2.在path路径下添加:%MAVEN_HOME%\bin可以验证...原创 2019-03-30 16:06:16 · 150 阅读 · 0 评论 -
个人编程资源整理
maven项目管理利器——maven: https://www.imooc.com/learn/443本人最近才学maven,感觉这个将的很好,推荐一下Gitgit在线文档中文版:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000很详细的git教程,按照文档上来,很...原创 2019-04-04 22:38:21 · 199 阅读 · 0 评论 -
maven学习记录--archetype插件的使用
1.archetype插件archetype作用:自动创建maven目录骨架类似于下面的maven骨架src -main -java -test -java2.archetype两种方式首先应通过在目标目录命令行执行方式一: archetype:generate archetype:generate ##(按照提示进行选择) ## 在执行过程...原创 2019-04-03 11:43:37 · 1671 阅读 · 0 评论 -
简单了解常见的架构模式
1.MVC(单体架构)单体架构模式就是常说的mvc开发模型。将系统所有功能、模块的耦合关系都放在一个应用之中,比如:一个项目开发所有的文件都会以打包成一个jar包或者war包的形式放置到服务器上面。1.1单体架构特点打包成一个独立的单元(以一个jar包或者war包的形式放置到服务器上面)一个应用只在一个进程的方式运行1.2单体架构优点易于管理易于部署1.3单体架构的缺点...原创 2019-06-04 23:40:59 · 286 阅读 · 0 评论 -
Springboot+Shiro统一异常处理包含Ajax
1.采用方式这里通过 @ControllerAdvice和@ExceptionHandler 的异常处理方式2.具体步骤1.创建统一异常处理类(GlobalExpetion)2.定义判断是否是Aajx请求的方法 public boolean isAjax(HttpServletRequest request) { return (request.getHeader("X...原创 2019-06-05 00:07:17 · 1804 阅读 · 0 评论 -
JAVA(手写)简单实现ArrayList和LinkedList
JAVA(手写)简单实现ArrayList和LinkedList大家都知道在java学习中list类的实现类中有ArrayList 和LinkedList,其中ArrayList是使用数组实现,而LinkedList则是用链表实现的。今天就自己去用java去简单实现一下它们。1.ArrayList的实现1.类必须的属性一个object的数组list的长度2.基本代码`public c...原创 2018-11-08 21:02:28 · 811 阅读 · 0 评论