自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (9)
  • 收藏
  • 关注

原创 AQS底层原理实现

AQS底层原理 概念 AQS是一个同步队列,全名为AbstractQueuedSynchronizer,它是一个同步工具,是Lock用来实现线程同步的核心组件。 AQS的功能分为两种:独占和共享 独占锁:每次只能有一个线程获取锁,比如ReentrantLock是以独占的方式实现互斥 共享锁:允许多个线程同时获取锁,并发的访问共享资源,比如ReentrantReadWriteLock 内部实现 AQS队列内部维护的是一个FIFO的双向链表。每个Node由线程封装,当线程争抢锁失败后会封装成Node加入 AQS

2020-10-16 23:56:29 1524

原创 Git reset三个参数图解

git reset –mixed(默认) 作用 同 git reset 会把staging重置到指定提交的状态,并把指针指向这个提交,本地工作目录空间不变 撤销add 作用图: –soft 作用: 只移动 HEAD 到指定的 commit,但保留原先暂存区和工作目录的内容,同时会将指定 commit 之后提交的内容设置到staging中 不会影响workspace和staging中的代码 撤销commit 作用图 –hard 作用 在重置HEAD和branch时,会把workspace和staging重

2021-05-06 16:33:59 416

原创 Git命令

Git命令 Git基本结构 Git基本命令 git add -p 分步add .:add所有文件 git checkout git checkout HEAD -- <filename>:将filename恢复到最近的一次提交的状态 git checkout HEAD~2-- <filename>:将filename恢复到倒数第二次提交的状态 git revert revert前 revert后 git revert <version> 作用 反做,去除掉版本ver

2021-05-06 13:29:48 264

原创 Linux基础

Linux基础 Linux安装 分区 分区名 作用 分区大小 boot 引导分区 1G swap 交换分区,充当临时内存 与运行内存大小一致 root 根目录 其余全部 boot:引导分区 1G swap:交换分区 运行内存打下 root:其余全部 Linux基础知识 目录结构 Linux中,一切皆文件 目录 作用 1 /bin 常用 (/usr/bin /usr/local/bin) 存放最经常使用的命令 2 /sbin (/usr/bin

2021-04-22 11:08:56 202

原创 设计模式(一)——单例模式

单例模式 概念 所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类 只能存在一个对象实例,并且 该类只提供一个取得其对象实例的方法(静态方法)。 饿汉式(静态常量) 步骤如下: 构造器私有化 (防止 new ) 类的内部创建对象 向外暴露一个静态的公共方法。getInstance 代码实现 //饿汉式(静态变量) class Singleton { //1. 构造器私有化, 外部能new private Singleton() { } //2.本

2021-01-25 21:36:48 162

原创 还看不懂UML类图的,那就看看这一篇,简单易懂

UML类图 依赖 只要是在类中用到了对方,那么他们之间就存在依赖关系。如果没有对方,连编绎都通过不了 符号:虚线普通箭头 public class PersonServiceBean { private PersonDao personDao;//类 public void save(Person person){} public IDCard getIDCard(Integer personid){} public void modify(){ D

2021-01-24 20:48:53 163

原创 IDEA中新建的MAVEN项目,yml文件不显示绿叶子,MVANE项目管理显示灰色

有时候新建的Maven项目会出现这样的问题 很多小伙伴不知道怎么去解决,其实是因为Maven忽略了这个工程。 解决方法如下: 如果目录还是没有好的话,可以手动一下 至此,问题解决完成

2020-12-23 09:12:20 1132

原创 Java泛型应用

泛型 为什么要有泛型 就像是垃圾回收一样,如果只有一个垃圾桶,那么还要去分什么是可回收,什么是不可回收的。但是如果给垃圾桶 贴上标签,让它只能放可回收的或不可回收的,那么处理的时候就可以直接处理。 好处: 它解决了元素存储的安全问题。 解决获取元素时,需要类型强制转换的问题。 泛型的概念 所谓泛型(JDK1.5之后),就是允许在定义类、接口时通过一个标识表示类中某个属性的类 型或者是某个方法返 回值及参数类型。这个类型参数将在使用时(例如, 继承或实现这个接口,用这个类型声明变量、创建对象时) 确定(

2020-12-22 15:58:54 225

原创 Java的时间处理(jdk8之前以及之后)

Java8之前 Date 初始化 方式一:使用当前时间 //构造器一:创建当前时间的对象 Date date1 = new Date(); //显示当前的年月日,时分秒 System.out.println(date1.toString()); //Mon Dec 21 15:52:03 CST 2020 //返回时间戳,1970年1月1日到现在的毫秒数 System.out.println(date1.getTime()); //1608537123085 方式二:指定时间 //构造器二:指定

2020-12-21 21:48:54 676

原创 Java10&Java11新特性——代码示例

Java10 2018年3月发布,Java9和Java10都不是长期支持的版本。JAVA11是长期支持的版本。 JDK10一共定义了109个新特性,其中包含12个JEP(对于程序员来讲,真 正的新特性其实就一个),还有一些新 API和JVM规范以及JAVA语言规范上 的改动。 JEP是指(JDK Enhancement Proposal特性加强提议) 局部变量类型推断 产生背景 开发者经常抱怨Java中引用代码的难度,局部变量的显示类型声明,常常被认为是不必须的。 好处 减少了啰嗦和形式的代码,避免了信息

2020-12-19 20:18:28 513 1

原创 Jdk9的新特性——代码示例

Java9 新特性 红色:重要改变 绿色:语法改变 黄色:API改变 模块化系统 jShell命令 多版本兼容jar包 接口的私有方法 钻石操作符的使用升级 语法改进:try语句 String存储结构变更 便利的集合特性:of() 增强的StreamAPI 全新的HTTP客户端API Deprecated的相关API javadoc的HTML5支持 javaScript引擎升级:Nashorm java的动态编译器 目录结构改变 java9之前

2020-12-18 16:52:09 374 2

原创 Java1.8新特性——代码示例

Java新特性 Java8 新特性简介 速度更快 代码更少 强大的Stream API 便于并行 最大化减少空指针异常 Nashorn引擎, Lambda表达式 Lambda本质:作为函数式接口的实例 使用箭头函数 public void test1(){ Runnable r1 = new Runnable() { @Override public void run() { System.out.println("dddd");

2020-12-17 21:20:08 338

原创 Java网络编程

网络编程 网络编程概述 一:网络编程中有两个主要的问题, 1.如何准确的定位网络上一台或多台主机,定位主机上特定的应用 2.找到主机后如何进行高效的数据传输 二:网路编程中的两个要素 对应问题一:IP和端口号 对应问题二:提供网络通信协议,TCP/IP参考模型 三:通信要素——IP和端口号 1:Java中,使用InetAddress类代表IP IP与端口 IP 使用InetAddress类代表IP public static void main(String[] args) throws Unk

2020-12-17 21:11:21 1230 3

原创 IO流代码演练(非纯概念)

IO流 File类概述 绝对路径:文件真正存在的路径,例如D:/wamp/www/img/icon.jp 相对路径:自己相对与目标的位置,例如…/icov.jpg, ./表示当前目录,…/表示上一级目录,/表示当前根目录 File类只设置文件或目录的创建,删除,修改时间,文件大小,重命名等方法,不涉及写入或读取文件内容的操作,如需读取文件内容或者写入,则必须通过IO流去实现 //相关获取方法 File file = new File("ceshi.txt"); File file2 = new File("

2020-12-16 16:36:43 185

原创 Java后端面试知识点思维导图

不是很多,之后会继续更新的,把我能想到的先写上了,还是有些作用的 百度云资源(尚硅谷的资源): 链接:https://pan.baidu.com/s/1hWI8XJjt7yXuEk0YVOG_qw 提取码:fhps 复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V4的分享 B站资源: 1:狂神说 2:尚硅谷 面试资源: https://blog.csdn.net/ThinkWon/article/details/104778621(这个包括了很多很多,把里面的知识点都弄会,面试就成

2020-10-19 23:24:32 1159

原创 ArrayList底层实现

ArrayList底层原理 概述 ArrayList是基于数组实现的,是一个动态数组,其容量能自动增加。 ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List L)函数返回一个线程安全的ArrayList类,也可以使用concurrent并发包下的CopyOnWriteArrayList类 ArrayList实现了Serializable接口,因此它支持序列化,能够通过序列化传输,实现了RandomAcc

2020-10-17 22:44:15 810

原创 JVM(一):还不懂JVM的内存结构?那就看看这一篇

JVM(一):内存区域与内存溢出异常 最近买了《深入理解Java虚拟机这本书》,将自己的学习记录一下 概述 jvm的优点 1:虚拟机自动内存管理机制,不需要为每一个new去写配对的delete/free代码(也就是说不容易出现内存溢出的情况) 2:程序员将内存管理的权利交给了java虚拟机,方便开发 JVM运行时的数据区域 私有(线程独享):程序计数器、java虚拟机栈、本地方法栈 公有:方法区、堆 程序计数器 作用:程序计数器是一块很小的内存空间,可以看作是当前线程所执行的字节码的行号指示器 简单来说,

2020-09-06 00:06:26 250

原创 jdk1.8中文文档免费提取

谷歌版本的jdk 链接:https://pan.baidu.com/s/1q3Oen5P3s-8JfCuAJcaGXQ 提取码:qufb

2020-07-22 22:50:25 287

原创 IDEA中明明从指定maven仓库中引入了jar包,但运行时却到C盘去找了

昨天重新买了个电脑,重新装好IDEA,导入之前的配置,重新设置好maven 后,满心欢喜的开始写代码,然而,当我使用Junti4测试时,界面是这样的。 仿佛一切都没有问题,没有报错,在External Libraries中也有需要的两个依赖,但是跑一把,提示junit包找不到??? 第一反应是maven配置出问题了,赶紧去maven配置看一下 发现红框之内的忘记修改了,是之前旧电脑中maven所在的位置,自信的改 好,再跑一把,?????????又错了 于是又跑回去再检查一遍,没有问题,再去maven的

2020-06-17 08:41:05 2317 1

原创 java设计模式——设计原则

设计原则 单一职责原则 概述 对类来说的,即一个类应该只负责一项职责。如类A负责两个不同职责:职责1,职责2。 当职责1需求变更而改变 A时,可能造成职责2执行错误,所以需要将类A的粒度分解为 A1,A2 单一职责原则注意事项和细节 降低类的复杂度,一个类只负责一项职责。 提高类的可读性,可维护性 降低变更引起的风险 通常情况下,我们应当遵守单一职责原则,只有逻辑足够简单,才可以在代码级违反单一职责原则;只有类中方法数量足够少,可以在方法级别保持单一职责原则 接口隔离原则 概述 客户端不

2020-06-03 09:40:47 208

原创 Java枚举类与注解

枚举类与注解 枚举类 类的对象是有限个的,确定的可使用枚举 例如星期、性别、季节、支付方式等 当需要定义一组常量时,强烈建议使用枚举类 阿里云代码规范中不允许出现魔法值哦,如下 //魔法值 if("男".equal(sex)){ //此时这里的男为魔法值,因为未进行定义 return "这是个男生" } 解决方法 //解决方法 final String MAN = "男" if(MAN.equal(sex)){ //但是如果有很多个常量 return "这是个男生" } 但是这样的确符

2020-05-28 18:23:46 546

原创 你还不会使用反射吗?——Java反射机制

Java反射机制 点击下载文档资料 概述 Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期间借助于Reflection API取得任何类的内部消息,并能直接操作任意对象的内部属性及方法 加载完类后,在堆内存的方法区会产生一个Class对象(一个类只有一个),这个对象包含了类的完整结构信息 正常方式:引入需要的’包类’名称 ->通过new实例化 -> 取得实例化对象 反射方式:实例化对象 -> getClass()方法 -> 得到完整的’包类’名称 Ja

2020-05-27 01:53:29 291

原创 Vue笔记组件、路由、Vuex(一)

第一次上传自己的笔记,记得不是很全,希望各位见谅,后续会继续完善 Vue基础语法 基础指令 v-html 将html内容嵌入到当前标签里 <!-- 显示数据 --> <div id="app" v-html="url"> </div> <script> var app = new Vue({ el: "#app", data: { message: '<a href="

2020-05-19 19:07:03 457

QQ抓IP工具包

可以通过此软件抓取QQ好友的包,自动解析,捕获IP地址,无病毒,安全

2019-02-01

C语言心形代码源代码

C语言心形代码源代码,带有颜色变换,适合表白。

2019-03-10

计算机算法资料

计算机各种算法资料,包括源码等等,以及教程PPT。欢迎下载

2019-04-02

Spinrg+SpirngMvc+Mybatis+Maven整合项目,打开即用

Spinrg+SpirngMvc+Mybatis+Maven整合项目,打开即用,使用者只需要更改其中的配置即可,

2020-04-06

SpringBoot.md

Springboot教程代码,包括缓存、任务、消息,检索、安全、分布式、定时任务、redis缓存、邮件任务等

2020-04-06

Spring+SpringMvc+Mybatis的整合

Spring+SpringMvc+Mybatis的整合,内有测试controller,打开即可使用,所有相关配置已经配置好,使用者只需要更改数据库的账号密码即可

2020-04-06

A4大小软件设计师.rar

10年到18年的全部软件设计师的真题,包括答案详解

2019-09-14

CodeBlocks——MSDev98

汉化版的CodeBlocks,将文件替换即可使用

2019-03-10

软件设计师上午下午题总结.rar

软件设计师上午下午题总结,不是真题,只是总结,给大家一个学习的方向

2019-09-14

空空如也

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

TA关注的人

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