自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 Maven中一些常用的命令

# 版本号mvn -v # 运行help插件中system目标,如果help插件本地不存在会先去下载mvn help:system# mvn 插件名称:help 查看插件的帮助文档mvn clean:help# 运行spring-boot插件中的run目标mvn spring-boot:run# 编译当前目录项目mvn compile# 部署当前目录下项目mvn deploy# 项目安装的远程 跳过测试mvn install -Dmaven.test.skip=true

2021-07-02 17:58:15 168

原创 一份比较完整的maven配置

该配置列出maven的pom文件中创建的一些配置方式仅供参考<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0

2021-07-02 16:16:45 218

转载 Maven环境配置你都知道了吗?

Maven多环境构建1.Maven属性自定义属性内置属性Settings属性java系统属性环境变量属性实操2.Maven多环境maven中设置 maven-resources-plugin:2.6插件复制 resources资源文件时的编码格式设置资源文件内容动态替换自定义替换的分隔符指定需要替换的资源文件使用profiles处理多环境构建问题开启默认环境配置通过maven属性来控制环境的开启(自定义属性)启动的时候指定多个环境查看目前有哪些环境配置分散问题1.Maven属性自定义属性&lt

2021-07-02 14:15:43 169

原创 synchronized锁深入骨髓

Synchronized锁分析对象在堆中存储结构1.Mark Work(2个字来存储)(32位系统)synchronized就是表中的重量级锁,包含一个指向一个monitor对象的指针。2.关于monitor对象JVM中使用ObjectMonitor来实现(C++)ObjectMonitor() { _header = NULL; _count = 0; //记录个数 _waiters = 0, _recursions

2021-03-25 10:41:53 144 1

原创 字符编码的秘密(ASCII,Unicode,UTF-8,utf8mb4,utf8mb4_unicode_ci,utf8_bin,utf8mb4_general_ci )

字符编码的秘密(ASCII,Unicode,UTF-8,utf8mb4,utf8mb4_unicode_ci,utf8_bin,utf8mb4_general_ci )ASCII码在计算机种中,1 字节对应 8 位二进制数,而每位二进制数有 0、1 两种状态,因此 1 字节可以组合出 256 种状态。如果这 256 中状态每一个都对应一个符号,就能通过 1 字节的数据表示 256 个字符。美国人于是就制定了一套编码(其实就是个字典),描述英语中的字符和这 8 位二进制数的对应关系,这被称为 ASCII

2021-03-15 17:30:49 597

转载 持续集成(Jenkins)

什么是持续集成持续集成( Continuous integration , 简称 CI )指的是,频繁地(一天多次)将代码集成到主干。持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。通过持续集成, 团队可以快速的从一个功能到另一个功能,简而言之,敏捷软件开发很大一部分都要归功于持续集成。根据持续集成的设计,代码从提交到生产,整个过程有以下几步。提交流程的第一步,是开发者向代码仓库提交代码

2021-02-26 16:56:22 821

转载 Cron表达式

cron表达式详解Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:(1) Seconds Minutes Hours DayofMonth Month DayofWeek Year(2)Seconds Minutes Hours DayofMonth Month DayofWeek一、结构corn从左到右(用空格隔开):秒 分 小时 月份中的日期 月份 星期中的日期 年份二、各字段的含义字段 允许值 允许的特殊字符

2021-02-20 11:35:56 127

原创 百度AI车辆图像识别JavaSDK使用原来这么简单?

百度AI车辆图像识别SDK简单使用1.首先我进入百度AI开放平台官方:http://ai.baidu.com/?track=cp:aipinzhuan|pf:pc|pp:AIpingtai|pu:title|ci:|kw:100057922.找到车辆型识别3.点击技术文档4.java SDK文档5.idea中创建maven项目,并导入依赖<dependency> <groupId>com.baidu.aip</groupId> <a

2021-02-18 11:09:38 951

转载 ElasticSearch有些事你应该知道

ES有些事你应该知道1.是什么?Elasticsearch 是一个实时的分布式存储、搜索、分析的引擎,并具有强大的模糊/相关性查询。2.数据结构?Term Dictionary:我们输入一段文字,Elasticsearch会根据分词器对我们的那段文字进行分词(也就是图上所看到的Ada/Allen/Sara…),这些分词汇总起来我们叫做Term Dictionary。在Term Dictionary中的词由于是非常非常多的,所以我们会为其进行排序,等要查找的时候就可以通过二分来查,不需要遍历整个Te

2021-01-29 11:27:04 195

原创 ElasticSearch 查询DSL之~复合查询

ElasticSearch 查询DSL之~复合查询ElasticSearch 复合查询分类bool queryPOST _search{ "query": { "bool" : { "must" : {}, "filter": {}, "must_not" : {}, "should" : {}, "minimum_should_match" : 1, "boost" : 1.0 } }}由一个

2021-01-27 18:23:13 259

原创 来谈谈 BlockingQueue 阻塞队列实现类 java.util.concurrent.DelayQueue(JDK1.8 源码分析)

DelayQueue源码刨析文章目录DelayQueue源码刨析前言一、DelayQueue源码部分1.构造器2.成员变量3.主要方法入队offer方法出队总结前言public class DelayQueue extends AbstractQueueimplements BlockingQueue {AbstractQueue:Queue队列的基本骨架BlockingQueue:阻塞队列接口Delayed:延迟接口,含有getDelayed方法返回对象剩余延迟时间,该接口实现了Comp

2020-10-15 21:04:39 225

原创 来谈谈 BlockingQueue 阻塞队列实现类 java.util.concurrent.PriorityBlockingQueue(JDK1.8 源码分析)

PriorityBlockingQueue源码刨析文章目录PriorityBlockingQueue源码刨析前言一、PriorityBlockingQueue源码部分1.构造方法2.成员变量3.主要方法heapify建堆方法入队方法出队总结前言public class PriorityBlockingQueueextends AbstractQueueimplements BlockingQueue, java.io.Serializable {提示:以下是本篇文章正文内容,下面案例可

2020-10-15 20:46:36 156

原创 来谈谈 BlockingQueue 阻塞队列实现类 java.util.concurrent.LinkedBlockingQueue(JDK1.8 源码分析)

LinkedBlockingQueue源码刨析文章目录LinkedBlockingQueue源码刨析前言一、LinkedBlockingQueue源码部分1.构造方法2.成员变量3.主要方法1.入队操作2.出队操作总结前言public class LinkedBlockingQueue extends AbstractQueue implements BlockingQueue, java.io.Serializable AbstractQueue:父类为Qu

2020-10-15 19:38:53 252 1

原创 来谈谈 java.util.Queue 和 java.util.concurrent.BlockingQueue 接口规范(JDK1.8 源码分析)

Queue / BlockingQueue 接口规范文章目录Queue / BlockingQueue 接口规范前言一、Queue 源码部分二、BlockingQueue 源码部分前言普通队列接口和阻塞队列接口简单介绍提示:以下是本篇文章正文内容,下面案例可供参考一、Queue 源码部分public interface Queue<E> extends Collection<E> { /** * Inserts the specified elem

2020-10-12 20:42:29 147

原创 来谈谈 BlockingQueue 阻塞队列实现类 java.util.concurrent.ArrayBlockingQueue(JDK1.8 源码分析)

ArrayBlockingQueue 源码刨析文章目录ArrayBlockingQueue 源码刨析前言一、ArrayBlockingQueue 源码部分1.构造方法2.成员变量3.主要方法1.入队操作2.出队操作总结前言public class ArrayBlockingQueue extends AbstractQueueimplements BlockingQueue, java.io.SerializableAbstractQueue:父类为QueueBlockingQueue:

2020-10-12 20:25:37 204

原创 来谈谈本地变量 java.lang.ThreadLocal 和 java.lang.InheritableThreadLocal(JDK1.8 源码分析)

本地变量源码刨析文章目录本地变量源码刨析前言一、ThreadLocal 源码部分1.构造器2.成员方法3.主要方法二.分析InheritableThreadLocal类前言ThreadLocal / InheritableThreadLocal / Thread 之间关系1.我们都知道共享变量是可以被所有线程访问大的变量,因此访问这些变量的时候我们可能需要对其进行同步以防止多个线程访问时而导致的数据不一致的情况。而本地变量则时线程所私有的,一般情况下一个线程是无法直接去访问到另一个线程的私有变

2020-10-12 18:59:07 332

原创 来谈谈 java.util.concurrent.atomic 并发包中原子类(AtomicXxxx JDK1.8 源码分析)

Atomic(原子相关类)# 系列文章目录为了保证对变量的正确修改我们使用JUC并发包中的原子类文章目录Atomic(原子相关类)# 系列文章目录并发包(原子类)一、基本类型原子类AtomicInteger源码分析二、数组类型原子类AtomicIntegerArray源码分析三、引用类型原子类AtomicStampedReference源码分析四、对象属性修改原子类AtomicIntegerFieldUpdater源码分析并发包(原子类)提示:以下是本篇文章正文内容,下面案例可供参考一、

2020-10-09 19:55:17 312

原创 String中的intern()方法分析(图文并茂容易理解)

String类中的intern()方法。 /** * Returns a canonical representation for the string object. * <p> * A pool of strings, initially empty, is maintained privately by the * class {@code String}. * <p> * When the intern method ...

2020-08-27 19:26:50 284

原创 leetcode零钱兑换

class Solution { public int DP(int[] arr , int num){ int[] dp = new int[num + 1]; for(int i = 0 ; i < num + 1 ; i++) dp[i] = -1; dp[0] = 0; for...

2020-03-14 00:26:07 127

原创 leetcode 灯泡开关问题

public static int bulbSwitch(int n) { int num = 1; //暴力求解方法超时// int[] bulb = new int[n];////// for(int i = 1 ; i <= n ; i++){// if(i == 1){// ...

2020-03-11 11:32:37 378

原创 设计模式之责任链模式

责任链 [图片来源百度百科]<本模式关键在于"链",即...

2019-11-06 20:17:45 175

原创 设计模式之桥接模式

桥接模式 [图片来源百度百科]<桥接模式中桥字是桥梁的意...

2019-11-06 10:38:36 223

转载 Java基础 -- 深入理解Java类型信息(Class对象)与反射机制

目录一 RTTI概念二 Class对象1、Class对象的加载2、Class.forName()方法3、Class字面常量4、理解泛化的Class对象引用5、关于类型转换的问题6、instanceof 关键字与isInstance方法三 反射技术1、Constructor类及其用法2、Field类及其用法3、Method类及其用法4、反射包中的Array类四 动态代理...

2019-10-25 12:18:53 255

原创 设计模式之迭代器模式

迭代器模式<本模式主要作用在于,对于不同数据结构存储的数据(如数组,树,链表,散列表等),我们用相同的方式对其进行迭代遍历,对客服隐藏了底层数据结构的细节,客服只需获得该类迭代器,既可以通过相同的方式进行迭代>[ 图片来源百度百科 ]以下我们来看具体使用到迭代器的例子。我们假设我们系统中有两个类,他们都是用来存东西的,只不过使用的存储方式不同而已。...

2019-10-16 12:36:37 83

原创 设计模式之适配器模式/外观模式

适配器模式<适配器模式主要作用是进行接口的转换。当将新的类加入到并没有按原来接口规范的类中时,我们可以定义一个适配器类(他拥有原来类的引用),来包装加入的类,并且实现原来的接口,实际调用的还是被适配的方法。使得无需改动客服端代码的情况下加入新的不符合原来接口规范的类到旧的系统中去>[ 图片来源百度百科 ]在现实生活中我们有很多适配器模式的场...

2019-10-12 21:35:41 129

原创 设计模式之单例模式

单例模式< 单例模式简而言之就是某各类只能被实例化一次 ,JVM中不能存在两个对象 。 实现该模式的方式也比较简单,就是将类的构造器设置成私有的,然后提供一个公开的方法获取该唯一的实例 ,以下是具体的单例类实现方式>第一种实现方式public class Singleton { private static Singleton single; ...

2019-10-07 15:34:44 69

原创 设计模式之命令模式

命令模式[ 图片来源百度百科 ]何为命令,就是发出的指令。比如说我们军训教官要我们立正就是一道命令,而此时我们就是命令的执行者实现者(我们必须立马立正 ) 。一般而言命令的发起和执行是绑定在一起的,就比如说我们调用一个方法,就是启动一个命令并且去执行他,这样的坏错在于同一个调用者依赖于具体的实现指令的类,当实现指令的类变更时相应的调用者的代码也需要改变,因此耦合性高。而此...

2019-10-07 14:21:02 149

原创 设计模式之工厂模式

工厂模式<工厂模式大致分为 3类: 简单工厂,工厂方法 , 抽象工厂。工厂是个生产东西的地方 ,比如我们java中new一个对象。我们都知道,当我们代码中存在 new 时 我们就 依赖于new的这个具体类 , 而工厂模式的作用就在于,把new一个对象的任务都交给他来做,而其他类只需要有他的引用就可以了,这样的好处在于该类(其他类)与具体类进行分离(解耦),该类(其他类)无需关心...

2019-10-04 20:41:16 122

原创 设计模式之装饰者模式

装饰者模式[图来自百度百科]故名思意装饰者模式,就是一个装饰者去装饰一个被装饰者。(犹如穿衣搭配)其中装饰者与被装饰者有共同的父类(祖先类),比如上面的图被装饰者是Component 的子类 ConcreteComponent , 装饰者是 Decorator 的子类 ,Decorator 又是 Component 的子类。其中用到的原则有: ...

2019-09-27 23:39:25 417

原创 数据库之各类范式(1NF,2NF,3NF,BCNF,4NF)

1,第一范式(1NF) 关系属性不可再分。2,第二范式(2NF) 关系中 非主属性 完全函数 依赖于候选键。(solve:解决了非主属性部分函数依赖于候选键。 problem:非主属性之间存在函数 依赖。存在传递函数依赖。)主属性: 包含在候选键中的属性的属性(所有候选键的并集)。非主属性:不包含候选键任何属性的属性。例子1:R(A,B,C,D...

2019-09-21 00:10:25 1294

原创 设计模式之观察者模式

观察者模式< subject-observer><本文以及之后的文章是作者阅读 HeadFirst 设计模式 阅读笔记,以及个人见解>[来自百度百科的一张图片]本模式开始于一个实际的例子,天气新闻推送系统,我们作为用户,每当天气发生变化时服务器端便会发送变化的天气信息给我们这些订阅了他的用户,用户对信息进行相关的处理,然后将其呈现出来。当然...

2019-09-21 00:02:40 82

原创 设计模式之策略者模式

策略者模式首先介绍几个设计模式里面的原则,后面会一 一提到。1,将代码中变的部分与不变的部分分离开来,独立出来。2,针对接口编程。3,多组合少继承。<本文以及之后的文章是作者阅读 HeadFirst 设计模式 阅读笔记,以及个人见解>本模式开始于一个鸭子模型。有一只鸭子类 Duck 他会飞 fly() 游泳swim() 叫quack()......

2019-09-19 11:34:45 111

原创 分页机制

分页操作系统管理内存的一种方式。他是将内存划分成一个一个页面,然后通过页表进行逻辑地址到物理地址的映射从而访问具体的物理地址。分页更好的对内存的划分与访问,但是也增加了系统的开销。例如页表本身占据一定的内存以及访问实际的物理内存时还需先访问页表。一般来说每个进程会分配到一个页表。最后对页表的设计需要谨慎。页表结构以上是一个cpu生成的一个逻辑地址空间,他需要通过页表将其映射...

2019-09-18 12:23:16 527

原创 银行家算法(预先知道系统资源需求合理分配预防死锁)

银行家算法<代码实现>import java.util.Arrays;public class Banker { public static int[] available = {3 , 3 ,2}; //系统资源剩余个数 public static int[][] allocation = { {0 , 1 , 0}, //系...

2019-09-11 12:05:34 369

原创 分析(深入计算机系统) TINYWeb服务器

/* $begin tinymain *//* * tiny.c - A simple, iterative HTTP/1.0 Web server that uses the * GET method to serve static and dynamic content. */#include "csapp.h"void doit(int fd);void read...

2019-08-25 10:58:19 457

原创 系统调用函数 fork() 入门

先了解进程概念1,进程 :进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示。[来源于百度百科]fork() 函数的主要作用是在父进程调用的基础上创建一个其的子进程。子进程是一个相对的概念,他会复制父进程的数据代码等部分,是完...

2019-08-01 17:18:47 798

原创 数据库系统概念一书中事务的总结

事务一,什么是事务? 构成单一逻辑工作单元的操作集合。是访问并且可能更新各种数据项的一个程序执行单元。事务用形如begin transaction 和 end transaction 界定,并且由其之间的全部操作组成。二,事务的四大特性(ACID)用一个简单事务模型来说明事务的各个特性。设事务T为用户A给B转50$。 T...

2019-06-20 11:22:14 576

原创 Struts2 类型转换详解

1,基于OGNL类型转换1普通对象类型转换(struts2 内部自动转换)public class TypeTo { //该对象为 转换对象 private User user; public String execute(){ return Action.SUCCESS; } public User getUser() { return user;...

2019-05-12 18:47:40 160

原创 设计模式之六大原则

1、开闭原则(Open Close Principle)在面向对象编程领域中,开闭原则规定“软件中的对象(类,模块,函数等等)应该对于扩展是开放的,但是对于修改是封闭的”,这意味着一个实体是允许在不改变它的源代码的前提下变更它的行为。该特性在产品化的环境中是特别有价值的,在这种环境中,改变源代码需要代码审查,单元测试以及诸如此类的用以确保产品使用质量的过程。遵循这种原则的代码在扩展时并不...

2019-05-11 14:20:56 169

原创 哈夫曼树之文件压缩解压

数据结构课程设计时写的#include&lt;windows.h&gt;//使用时间时调用 /////////////////////////////#ifndef T_MS //#define T_MS //DWORD start,stop; //#endif /////////////...

2018-12-20 14:51:35 2637

空空如也

112343214312

2024-02-29

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除