- 博客(23)
- 资源 (9)
- 收藏
- 关注
原创 AQS底层原理实现
AQS底层原理概念AQS是一个同步队列,全名为AbstractQueuedSynchronizer,它是一个同步工具,是Lock用来实现线程同步的核心组件。AQS的功能分为两种:独占和共享独占锁:每次只能有一个线程获取锁,比如ReentrantLock是以独占的方式实现互斥共享锁:允许多个线程同时获取锁,并发的访问共享资源,比如ReentrantReadWriteLock内部实现AQS队列内部维护的是一个FIFO的双向链表。每个Node由线程封装,当线程争抢锁失败后会封装成Node加入AQS
2020-10-16 23:56:29 1400
原创 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 315
原创 Git命令
Git命令Git基本结构Git基本命令git add-p 分步add.:add所有文件git checkoutgit checkout HEAD -- <filename>:将filename恢复到最近的一次提交的状态git checkout HEAD~2-- <filename>:将filename恢复到倒数第二次提交的状态git revertrevert前revert后git revert <version>作用反做,去除掉版本ver
2021-05-06 13:29:48 178
原创 Linux基础
Linux基础Linux安装分区分区名作用分区大小boot引导分区1Gswap交换分区,充当临时内存与运行内存大小一致root根目录其余全部boot:引导分区 1Gswap:交换分区 运行内存打下root:其余全部Linux基础知识目录结构Linux中,一切皆文件目录作用1/bin 常用 (/usr/bin /usr/local/bin)存放最经常使用的命令2/sbin (/usr/bin
2021-04-22 11:08:56 127
原创 设计模式(一)——单例模式
单例模式概念所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类 只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。饿汉式(静态常量)步骤如下:构造器私有化 (防止 new )类的内部创建对象向外暴露一个静态的公共方法。getInstance代码实现//饿汉式(静态变量)class Singleton { //1. 构造器私有化, 外部能new private Singleton() { } //2.本
2021-01-25 21:36:48 97
原创 还看不懂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 99
原创 IDEA中新建的MAVEN项目,yml文件不显示绿叶子,MVANE项目管理显示灰色
有时候新建的Maven项目会出现这样的问题很多小伙伴不知道怎么去解决,其实是因为Maven忽略了这个工程。解决方法如下:如果目录还是没有好的话,可以手动一下至此,问题解决完成
2020-12-23 09:12:20 1029
原创 Java泛型应用
泛型为什么要有泛型就像是垃圾回收一样,如果只有一个垃圾桶,那么还要去分什么是可回收,什么是不可回收的。但是如果给垃圾桶贴上标签,让它只能放可回收的或不可回收的,那么处理的时候就可以直接处理。好处:它解决了元素存储的安全问题。解决获取元素时,需要类型强制转换的问题。泛型的概念所谓泛型(JDK1.5之后),就是允许在定义类、接口时通过一个标识表示类中某个属性的类 型或者是某个方法返回值及参数类型。这个类型参数将在使用时(例如, 继承或实现这个接口,用这个类型声明变量、创建对象时)确定(
2020-12-22 15:58:54 142
原创 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 556
原创 Java10&Java11新特性——代码示例
Java102018年3月发布,Java9和Java10都不是长期支持的版本。JAVA11是长期支持的版本。JDK10一共定义了109个新特性,其中包含12个JEP(对于程序员来讲,真 正的新特性其实就一个),还有一些新API和JVM规范以及JAVA语言规范上 的改动。JEP是指(JDK Enhancement Proposal特性加强提议)局部变量类型推断产生背景开发者经常抱怨Java中引用代码的难度,局部变量的显示类型声明,常常被认为是不必须的。好处减少了啰嗦和形式的代码,避免了信息
2020-12-19 20:18:28 419 1
原创 Jdk9的新特性——代码示例
Java9新特性红色:重要改变绿色:语法改变黄色:API改变模块化系统jShell命令多版本兼容jar包接口的私有方法钻石操作符的使用升级语法改进:try语句String存储结构变更便利的集合特性:of()增强的StreamAPI全新的HTTP客户端APIDeprecated的相关APIjavadoc的HTML5支持javaScript引擎升级:Nashormjava的动态编译器目录结构改变java9之前
2020-12-18 16:52:09 291 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 247
原创 Java网络编程
网络编程网络编程概述一:网络编程中有两个主要的问题,1.如何准确的定位网络上一台或多台主机,定位主机上特定的应用2.找到主机后如何进行高效的数据传输二:网路编程中的两个要素对应问题一:IP和端口号对应问题二:提供网络通信协议,TCP/IP参考模型三:通信要素——IP和端口号1:Java中,使用InetAddress类代表IPIP与端口IP使用InetAddress类代表IPpublic static void main(String[] args) throws Unk
2020-12-17 21:11:21 1138 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 132
原创 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 979
原创 ArrayList底层实现
ArrayList底层原理概述ArrayList是基于数组实现的,是一个动态数组,其容量能自动增加。ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List L)函数返回一个线程安全的ArrayList类,也可以使用concurrent并发包下的CopyOnWriteArrayList类ArrayList实现了Serializable接口,因此它支持序列化,能够通过序列化传输,实现了RandomAcc
2020-10-17 22:44:15 712
原创 JVM(一):还不懂JVM的内存结构?那就看看这一篇
JVM(一):内存区域与内存溢出异常最近买了《深入理解Java虚拟机这本书》,将自己的学习记录一下概述jvm的优点1:虚拟机自动内存管理机制,不需要为每一个new去写配对的delete/free代码(也就是说不容易出现内存溢出的情况)2:程序员将内存管理的权利交给了java虚拟机,方便开发JVM运行时的数据区域私有(线程独享):程序计数器、java虚拟机栈、本地方法栈公有:方法区、堆程序计数器作用:程序计数器是一块很小的内存空间,可以看作是当前线程所执行的字节码的行号指示器简单来说,
2020-09-06 00:06:26 165
原创 jdk1.8中文文档免费提取
谷歌版本的jdk链接:https://pan.baidu.com/s/1q3Oen5P3s-8JfCuAJcaGXQ提取码:qufb
2020-07-22 22:50:25 216
原创 IDEA中明明从指定maven仓库中引入了jar包,但运行时却到C盘去找了
昨天重新买了个电脑,重新装好IDEA,导入之前的配置,重新设置好maven后,满心欢喜的开始写代码,然而,当我使用Junti4测试时,界面是这样的。仿佛一切都没有问题,没有报错,在External Libraries中也有需要的两个依赖,但是跑一把,提示junit包找不到???第一反应是maven配置出问题了,赶紧去maven配置看一下发现红框之内的忘记修改了,是之前旧电脑中maven所在的位置,自信的改好,再跑一把,?????????又错了于是又跑回去再检查一遍,没有问题,再去maven的
2020-06-17 08:41:05 2035
原创 java设计模式——设计原则
设计原则单一职责原则概述对类来说的,即一个类应该只负责一项职责。如类A负责两个不同职责:职责1,职责2。 当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为 A1,A2单一职责原则注意事项和细节降低类的复杂度,一个类只负责一项职责。提高类的可读性,可维护性降低变更引起的风险通常情况下,我们应当遵守单一职责原则,只有逻辑足够简单,才可以在代码级违反单一职责原则;只有类中方法数量足够少,可以在方法级别保持单一职责原则接口隔离原则概述客户端不
2020-06-03 09:40:47 146
原创 Java枚举类与注解
枚举类与注解枚举类类的对象是有限个的,确定的可使用枚举例如星期、性别、季节、支付方式等当需要定义一组常量时,强烈建议使用枚举类阿里云代码规范中不允许出现魔法值哦,如下//魔法值if("男".equal(sex)){ //此时这里的男为魔法值,因为未进行定义 return "这是个男生"}解决方法//解决方法final String MAN = "男"if(MAN.equal(sex)){ //但是如果有很多个常量 return "这是个男生"} 但是这样的确符
2020-05-28 18:23:46 461
原创 你还不会使用反射吗?——Java反射机制
Java反射机制点击下载文档资料概述Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期间借助于Reflection API取得任何类的内部消息,并能直接操作任意对象的内部属性及方法加载完类后,在堆内存的方法区会产生一个Class对象(一个类只有一个),这个对象包含了类的完整结构信息正常方式:引入需要的’包类’名称 ->通过new实例化 -> 取得实例化对象反射方式:实例化对象 -> getClass()方法 -> 得到完整的’包类’名称Ja
2020-05-27 01:53:29 219
原创 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 363
Spinrg+SpirngMvc+Mybatis+Maven整合项目,打开即用
2020-04-06
Spring+SpringMvc+Mybatis的整合
2020-04-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人