自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (2)
  • 收藏
  • 关注

原创 git 多仓库配置

1.配置多仓库2. 清理global配置,添加仓库级的配置清理全局配置git config --global --unset user.namegit config --global --unset user.email2.添加仓库级的配置跳转到项目的工作目录进行仓库级配置git config user.name “xxxxxx”git config user.email “xxxxx”...

2022-04-22 19:40:18 747

原创 面试题:线程

这里写目录标题Java中的线程和操作系统的线程有什么关系?线程池提交任务有哪几种方式?分别有什么区别?submit() 与 execute()的区别调用start()方法和直接调用run()方法的区别?Java中的线程和操作系统的线程有什么关系?线程池提交任务有哪几种方式?分别有什么区别?提交任务有两种方式:java.util.concurrent.ExecutorService#submit(java.util.concurrent.Callable)java.util.concu

2021-10-12 18:57:06 147

原创 数据结构 红黑树 hashMap(jdk8)

啥打法是否

2021-09-26 20:01:18 2542 1

原创 面试题 Java8 HashMap为什么是使用红黑树的数据结构

Java8 HashMap为什么是使用红黑树的数据结构前言问题为什么使用红黑树结构,不使用其他树状结构? 比如 BST, AVL 等前言java8 HashMap的底层实现是 数组+链表/红黑树(链表节点格式大于8)来实现的。问题为什么使用红黑树结构,不使用其他树状结构? 比如 BST, AVL 等红黑树 二叉查找树(BST) 平衡二叉树(AVL) 他们都是二叉树,分别在二叉树的基础上做了不同的特性限制二叉查找树(BST) 性能最差时可以达到O(n), 类似的但列表结构平衡二叉

2021-09-26 19:33:09 388

原创 JAVA基础串联( HashMap)

HashMap前言HashMap 为什么是线程不安全的。关联问题前言我们都知道HashMap是线程不安全的,在多线程环境中不建议使用,多线程下建议使用 currentHashMap 分段锁机制Collections.synchronizedMap(new HashMap<>());HashMap 为什么是线程不安全的。系统梳理前:HashMap实现了Map接口,底层是由数组+链表的的结构实现, 数组是一个固定大小的数据结构,数组每次数量到达最大临界值时需要动态扩容,扩容的底层实

2021-09-26 16:59:09 95

原创 JAVA基础串联(Dubbo的SPI机制 VS JDK的SPI机制)

Dubbo的SPI机制 VS JDK的SPI机制1.什么是SPI2.SPI和API的使用场景6.总结1.什么是SPI SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的接口,它可以用来启用框架扩展和替换组件。 SPI的作用就是为这些被扩展的API寻找服务实现。2.SPI和API的使用场景API (Application Programming Interface)在大多数情况下,都是实现方制定接口并完成对接口的实现,调用方仅仅依赖接口调用

2021-09-22 18:55:14 81

原创 JAVA基础串联(review)

项目中为什么要进行review?·review目的: 项目可以高质量的交付,review原则: 遵守每个项目的自有规范(尽量统一,符合java开发手册),提出review人自己的观点与建议,若存在严重分歧时,参考java开发手册review的结果: 将review结果进行记录并分享给全员review的范围有哪些?设计方案 reviewcode review业务需求reviewreview的最终结果是什么?提升团队的代码质量统一开发人员的技术风格提升技术人员的开发水平注意

2021-09-22 16:57:10 278

原创 知识点,使用CompletableFuture模仿分布式事务

/** * f描述业务, 使用CompletableFuture模仿分布式事务。 * 业务: * 几个人一起吃火锅, * a:我去买菜 * b:我去买锅 * c:我去买燃气灶 (遇到了燃气灌爆炸,取消吃饭活动) * d:我去酒水 */@Slf4jpublic class TestA { public static void main(String[] args) throws InterruptedException {

2021-09-18 14:55:35 732

原创 JAVA基础 线程的状态转换,Thread status

Thread 详解1.join()方法1.join()方法public class ThreadJoinTest { /** * Join(): 又叫做:等待线程死亡(Waits for this thread to die.) * * 测试case说明: * join()方法只会使宿主线程(或者说调用t.join()的线程)进入等待池并等待t线程执行完毕后才会被唤醒。并不影响同一时刻处在运行状态的其他线程。 * join源码中,只会调用wait方法,并没有

2021-09-17 19:29:08 489

原创 JAVA基础串联(无脑) 如何保证服务的幂等性

如何保证服务的幂等性方式1.业务上若使用MQMQ的作用是什么?系统引入MQ的优缺点。如何保证MQ的消费幂等性:MQ与异步,技术上应该如何选择?关联知识点(TODO 待完善)方式1.业务上若使用MQMQ的作用是什么?削峰填谷:使用MQ可以解决短时间内爆发式的请求任务,以保证服务的健壮性··· ··· MQ第一个使用场景就是商品秒杀以及产品抢购等异步解耦: 使系统间的调用没有必要紧耦合,顺序消费(先进先出、发布和订阅的模式、持久化、分布式和消息确认)分布式事务系统引入MQ的优缺点。优

2021-09-17 14:04:57 99

原创 JAVA基础串联(二) 异步编程 CompletableFuture FutureTask ExecutorCompletionService CountDownLatch

JAVA基础串联多线程 异步的实现方式什么是异步编程一、异步编程有哪些实现方式?1.2 异步编程实现方式2:实现Runnable1.3 异步编程实现方式3:实现Callable1.5 异步编程实现方式:completableFuture11117.spring 的异步框架 Spring WebFlux异步编程的demo待完善知识点多线程 异步的实现方式什么是异步编程java通常的编程是线性的 同步编程,比如funcA -->内部调用funcB --> 内部调用funcC,此时funcC、

2021-09-15 19:33:22 205

原创 java基础串联(一) StringBuilder的线程不安全

java基础串联一、String VS StringBuilder、StringBuffer的区别1.0 验证字符串是不可变的1.1 StringBuilder VS StringBuffer的区别1.1.1 代码验证以上观点1.2 为什么**StringBuffer**是线程安全的1.2.1 验证StringBuffer是安全的1.2.2 验证StringBuilder是不安全的1.3 关联点 synchronized 关键字的含义是什么?1.4 关联点 创建线程有哪几种方式?待完善一、String V

2021-09-15 15:15:39 1306 1

原创 linux 常用命令 杂记

linux 显示文件大小命令ls -alh 参数h来直观显示大小,会使用G、M等来显示大文件

2021-08-13 13:18:12 92

原创 JAVA基础 Collection

Collection拓扑图ArrayList 与 LinkedList的区别是什么?拓扑图ArrayList 与 LinkedList的区别是什么?相同:ArrayList 与 linkedList 都实现了List接口不同:ArrayList 与 linkedList的底层实现(逻辑与物理结构)不同。ArrayList 是基于动态数组的数据结构来实现。linkedList 是基于链表数据结构来实现。业务的使用方向分析:1.在末尾追加元素:Arraylist的开销是固定的,可能会导

2021-08-12 16:58:31 80

原创 JAVA基础(0) 杂记

线性时间复杂度同一个问题可以用不同的算法来解决, 而一个算法的质量优劣是由"时间复杂度","空间复杂度"作为评判依据线性时间复杂度, 就是 时间复杂度的线性阶O(n)常数 O(1) eg: hash算法对数阶 O(logn == log2n)线性 O(n) eg:遍历算法对数 O(nlogn)平方 O(n^2)...

2021-08-10 11:07:08 52

原创 JAVA基础 为什么重写equals()方法时, 要求必须重写hashCode()方法

什么是hashCode方法,该方法的含义是什么?hashCode值的不唯一性类若没有重写hashCode(),默认使用 Object的hashCode()方法生成散列码,Object默认是使用对象的地址计算散列码。下面的示例, 由于散列码不同,所以map中没有找到key,此时应该重写 hashCode(), 但是重写 hashCode()还不够, 同时也必须重写equals() 方法,因为不同对象的hashCode有可能是相同的hashCode值,同时也说明了hashCode值的不唯一性重写equ

2021-08-09 18:19:20 109

原创 JAVA基础 native

JAVA基础一、关键字 native一、关键字 nativenative的含义是什么? native: 含义是"原生",表示调用非JAVA实现的其他语言类库,比如 C 、 C++java中为什么引入 native?1. JAVA的弊端是"JAVA无法对操作系统底层进行操作"。2. JAVA是通用性的高级语言, JAVA不能覆盖诸多系统的本地语言(原生语言)。3. 由native修饰的方法,不需要使用JAVA语言实现,由其他语言的类库来实现。eg: public native int has

2021-08-09 12:06:27 100

原创 JAVA 练习题【基础】

预测 下面的程序 输出什么public class Base { private int data; public Base() { data = 5; } public int getData() { return this.data; }}class Derived extends Base{ private int data; public Derived(){ data = 6;

2021-08-05 15:03:12 59

原创 函数编程 JAVA8 @FunctionalInterface

JAVA为什么引入函数式编程Stream 与 MapReduce 思想上有什么关系**reduce 与 reduce() 有什么区别 **@FunctionalInterface的默认函数 与 default关键字的含义有什么区别?@FunctionalInterfacepublic interface Function<T, R> {/** * Applies this function to the given argument. * * @param t the func

2021-08-03 12:14:44 199

原创 函数编程 JAVA8

问题的引出什么是函数式编程JAVA8 为什么引入函数是编程函数式编程与命令式编程的本质区别是什么?后续需要单独整理的专题。函数式编程 与scala正文1.什么是命令式编程(imperative)命令式编程的主要思想是:关注计算机的执行步骤C++ JAVA Python 均是采用命令式的编程思想eg:要把大象装冰箱第一步:把冰箱门打开第二步:把大象装进去第三步:把冰箱门带上(关上)这是一种很常见的 步骤式的逻辑思维2.什么是函数式编程(functional)

2021-07-29 15:42:41 88

原创 JVM 小小案例01

問題:下面代码最终输出是什么?通过解题过程,抛出一个新问题,如何描述 成员变量与局部变量在栈中的变量?栈的归属是什么?public class TestA { public String str="6"; /** * 问题: 最终输出的是 几? * 解题过程 * <ol> * <li>1.在栈中创建变量"sv"; 在堆中穿创建引用变量 "new TestA()"</li> *

2021-07-16 16:25:24 48

原创 设计模式--未梳理

这不是一个什么宏大的构想,只是开发过程中的直觉与期望。 或许它来自对其他领域的借鉴,或许只是设计模式原则的某种侧重。设计模式中常用到的关系继承UML图标:实现 空心三角形实现UML图标:虚线 空心三角形依赖UML图标:虚线 箭头" >"诠释:方法形参说明: 禁止双向依赖关联[引用]UML图标:实线(双向关联) ; 或 实线+箭头(单向关联)诠释:类引用的成员变量聚合UML图标:实线 + 空心菱形诠释:聚合用来表示集体与个体之间的关联关系。例如班级与学生之间存在聚合关

2021-07-12 19:27:23 39

原创 英文单词 音标对应关系

单词单词的音标单词发音部分字符字符的音标发音(谐音)chain[tʃeɪn]chtʃ吃chain[tʃeɪn]aiei哎...

2021-07-09 16:46:10 567

原创 函数编程 JAVA8 Stream

public class DataUtils { private static final String PATTERN_YYYYMMDDHHMMSS = "yyyy-MM-dd HH:mm:ss"; public static Date asDate(LocalDate localDate) { return Date.from(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());

2021-06-16 16:12:28 44

原创 开发工具 jmeter

链接: link.图片: 带尺寸的图片: 居中的图片: 居中并且带尺寸的图片:

2021-06-02 10:53:21 113 1

原创 JAVA基础 jdk8 Optional

/** * optionalAPI用法说明 * <p> * 注意点: public final class Optional<T> { } 实体没有实现Serializable接口, * 所以不能作为实体属性, 不可以做为RPC框架的返回值 * </p> */public class OptionalTest implements Serializable { public static void main(Stri

2021-05-21 17:07:32 58

原创 函数编程 JAVA8 Stream

待续排序 public static void testSorted() { List<Integer> numList = Arrays.asList(1, 3, 7, 5, 2, 9, 6, 4); List<Integer> collect = numList.stream().sorted().collect(Collectors.toList()); log.info("sort is {}", JSONObject.to

2021-05-08 15:02:06 97

原创 java8 把存在树状结构的集合转换为存在层级关系的树状结构

/** * 将存在树状结构的集合转换为存在层级关系的树状结构 */@Slf4jpublic class CityListToTreeTest { public static void main(String[] args) { // 做源数据 String citysJsonStr = "[{\"name\":\"河北\",\"code\":\"hebei\",\"parent\":null},{\"name\":\"石家庄\",\"code\":\"sh

2021-05-07 16:00:59 794 1

原创 GIT使用笔记

在当前分支的基础上检出新分支git checkout -b feature/iter_3将新分支推送到远程git push -u origin feature/iter_3缓存本地代码git stash pushgit pullgit stash pop

2021-04-28 15:20:29 33

原创 CentOS7下git服务的搭建(服务器端)

1.准备yum安装git服务, 查看yum的的git版本 > yum info git //查看 yum 源仓库的 Git 信息查看最新版的gityum方式安装:可以选择使用yum方式安装 或 使用自定义方式安装 > yum install -y git #执行该命令进行Git安装安装成功后,查看git版本信息 > git --versio...

2020-04-07 00:31:10 398

原创 Centos7下nginx的安装与配置

1.yum安装编译工具及库文件 yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel2 手动安装2.1可选择手动下载,编译&安装PCRE库(让 Nginx 支持 Rewrite 功能) # 下载安装包 wget http://jaist.dl.sourceforge.net/pr...

2020-03-19 17:25:01 207

原创 org.mapstruct.Mapper

1.什么是Mapper?MapStruct是一个代码生成器,简化了不同的Java Bean之间映射的处理。mapstruct是一个基于java注解生成类型安全bean2.Mapper有什么作用?3.示例小样: 直接贴代码// 示例小样1 @Mapper(uses = { SuperheroAlignmentMapper.class }, componentModel = "spri...

2020-02-19 19:24:36 16079

原创 spring-core org.springframework.core.convert.converter.Converter

Spring Converter1.converter包下的接口定义2.1 Converter接口 :使用最简单,最不灵活;2.2 ConverterFactory接口 :使用较复杂,比较灵活;2.3 GenericConverter接口 :使用最复杂,也最灵活;2.1 Converter 接口定义package org.springframework....

2020-02-19 01:01:06 3621

原创 @EnableConfigurationProperties 注解的含义与使用说明

@Component || @Controller || @Service@Configuration@ConfigurationProperties@EnableConfigurationProperties以上注解的关系梳理:

2020-02-17 00:33:03 14296 1

原创 mybatis generator 说明

1.添加依赖:2.pom文件: &lt;dependency&gt; &lt;groupId&gt;org.mybatis&lt;/groupId&gt; &lt;artifactId&gt;mybatis&lt;/artifactId&gt; &lt;version&gt;3.2.3&lt;/version&gt; &lt;/

2018-07-17 07:53:16 345

原创 redis 使用记录

incr命令 1. 如果key为空时,expire 有效时间是无效的,注意结果的返回值

2018-07-17 07:44:43 555

原创 Idea 使用说明 配置说明 颜色说明

1.idea 提交版本控制后,文件的颜色含义:白色:已经加入版本控制,**已经提交,文件无修改**。蓝色:已经加入版本控制,**已经提交,文件有修改**。 绿色:已经加入版本控制, **没有提交**红色:没有加入版本控制灰色:版本控制已经**忽略**该文件(就是说,不会再添加到版本控制中)。...

2018-04-08 13:05:12 1415

原创 idea 各种配置

1.问题:工程中不显示隐藏文件2.实现步骤: 3.idea如何打开视图,展示类的所有方法(Eclipse中的outline)–直接上图:

2018-04-05 20:56:47 449

原创 常用注解说明 @Value

目的:简化项目中properties配置文件的读取。 解决方案:Spring提供了@Value的方式读取,可以简化项目的配置。1.@Value Spring配置文件(方式一)&lt;context:property-placeholder ignore-resource-not-found="true" local-override="true" location="class...

2018-03-27 22:31:18 904

原创 centeros 7 搭建vsftpd服务

系统环境: centeros 7.3 参考文献: http://pcvc.net/blog/2015/08/09/centos-7-installation-configuration-do-vsftpd-ftp-service/ ===========================vsftp的搭建=========================== 1.判断系统是否安装vsftp

2017-12-28 18:33:26 498

java-ee7-html5-websocket-example

使用javaEE7的websocket技术,tomcat7容器 + html5 完成即时通信样例

2013-12-28

W3CSchool.chk

所有的 js css DOM ajax jquery 文档

2013-07-04

空空如也

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

TA关注的人

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