自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(103)
  • 资源 (1)
  • 收藏
  • 关注

翻译 [spring基础之ioc] 1.2 容器概述

我们同样通过官方文档的方式,逐步学习:spring 官方文档The org.springframework.context.ApplicationContext interface represents the Spring IoC container and is responsible for instantiating, configuring, and assembling the beans. The container gets its instructions on what object

2021-04-07 11:52:59 241

原创 【跟着源码学英语】 Map.java 是个接口

不定时java源码学习,这次是Map.java

2021-04-02 17:44:57 261

原创 【跟着官网学】mybatis-001 :入门

本文参考官网地址:点我直达这是【跟着官网学】mybatis的第一篇文章。每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先配置的 Configuration 实例来构建出 SqlSessionFactory 实例。一、XML配置XML 配置文件中包.

2020-11-29 22:17:53 223

原创 [spring基础] 1. 理解SpringIOC思想

IOC是与AOP齐名,作为spring的重要特性之一,必知必会,如果你以前和我一样只是胡乱用过,现在,是时候展现真正的技术了,一起学习下:一、如何理解我们要来简要的看下spring官网对IOC的一些描述:IoC is also known as dependency injection (DI). It is a process whereby objects define their dependencies (that is, the other objects they work with)

2020-09-06 10:43:01 194

转载 [系统设计]电商 & 秒杀系统-设计思路和实现方法

本文为转载:查看原文mark 一篇关于秒杀系统的设计思路,以后仔细学习一、秒杀业务分析正常电子商务流程(1)查询商品(2)创建订单(3)扣减库存(4)更新订单(5)付款(6)卖家发货秒杀业务的特性(1)低廉价格(2)大幅推广(3)瞬时售空(4)一般是定时上架(5)时间短、瞬时并发量高;二、秒杀技术挑战假设某网站秒杀活动只推出一件商品,预计会吸引1万人参加活动,也就说最大并发请求数是10000,秒杀系统需要面对的技术挑战有:对现有网站业务造成冲击秒杀活动只是网站营

2020-08-28 22:22:13 878

原创 [java设计模式]我眼中的抽象工厂模式

千呼万唤的抽象工厂模式,它来了!上一篇分享的工厂模式,它在这里定义 :抽象工厂模式(Abstract Factory),提供了一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。假设你已经了解了工厂模式,那么我们对比一下工厂模式和抽象工厂的类图:工厂模式:抽象工厂模式:那么,如何理解呢?在介绍工厂模式的时候时候,我自己胡诌了一个面点和面点厂的例子,这次,我们还是用这个例子进行说明,只是稍微换一个方式:说明:面点厂相当于父类,具体的面点继承于面点厂的“加面”和“加糖”的

2020-08-06 15:01:10 141

转载 [java并发] java高并发系列 - 第29天:高并发中常见的限流方式

原文链接:查看原文感谢公众号“ 路人甲Java”的分享,如有冒犯,请联系删除,快去关注他吧本文内容:介绍常见的限流算法通过控制最大并发数来进行限流通过漏桶算法来进行限流通过令牌算法来进行限流限流工具类RateLimiter常见的限流的场景秒杀活动,数量有限,访问量巨大,为了防止系统宕机,需要做限流处理国庆期间,一般的旅游景点人口见多,采用排队方式做限流处理医院看病通过发放排队号来做限流处理常见的限流算法通过控制最大并发数来进行限流使用漏桶算法来进行限流使用

2020-08-04 17:59:46 221

原创 [Spring基础]原来,Spring实现定时器是这样的!

项目中偶尔会用到定时任务的执行,比如定时发短信,定时发送对账文件等等,今天,我们就一起学习下,在Spring中如何实现定时器!1 Java自带的定时器1.1 介绍对没错,它就是Timer,我们来了解下它的身份:所在包:java.util作者:Josh Bloch出生日期:JDK1.3直系亲属:Object个人简历:一堆English别怕,下面是英语学习时间:A facility for threads to schedule tasks for future execution

2020-08-04 10:09:55 631

原创 [资源分享] 这是我收集到的资源!

分享一些自己收集到的资源,等硬盘满了,找起来方便,长期更新1. 数据库相关mycat数据库中间件官方文档:mycat-definitive-guide.pdf2. java相关阿里java开发手册泰山版Java编程思想 - 第四版Java并发编程的艺术Spring Cloud微服务实战技术的高度不会因为分享而降低,而会因善于分享和使用分享而提高!...

2020-08-03 16:34:42 313

原创 [java工具类] AES加密解密工具类

AES是一种对称加密方式,加密解密同用一个Key,常用类,不解释 package com.wr.park_toolkit.utils; import java.util.Properties; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import org.apache.tomcat.util.codec.b

2020-07-29 16:09:24 791

原创 [java工具类]MD5withRSA签名算法工具类

加密 & 解密 & 签名 若想深究,还是有点深度的,本身密码学就是一门单独的学科,先会用,有个感性的认识,之后慢慢研究!package com.wr.park_toolkit.utils;import java.security.InvalidKeyException;import java.security.KeyFactory;import java.security.KeyPair;import java.security.KeyPairGenerator;import

2020-07-29 15:33:04 868

原创 [java工具类] 请求参数工具类

在开发过程中,我们经常需要将请求参数进行 & 拼接,以下是一个工具类,可以将Map中的数据转换为 & 格式的请求参数:package com.wr.park_toolkit.utils;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.HashMap;import java.util.List;import java.util

2020-07-29 14:17:06 690

原创 [java设计模式]我眼中的工厂模式

工厂模式,又叫工厂方法模式,其应用非常广泛,今天我们一起学习下工厂模式:1.1 定义工厂方法模式(Factory Method) :定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。如果你已经了解了简单工厂模式,对于工厂模式的定义就会更加清楚一些,我们还是用加减法的例子,先通过类图来对比一下简单工厂模式和工厂模式的区别:简单工厂模式:工厂模式:意思就是,与简单工厂相比,我们实例化具体的实体的工作交给了其子类或实现类,而不是由自己来完成。文字描述.

2020-07-28 23:33:42 192

原创 【java基础】java泛型[一]——使用泛型的三种方式

一、为啥要使用泛型?以前没有泛型的时候,泛型的设计时通过继承来实现的。ArrayList只维护一个Object引用的数组,存在了两个问题:获取一个值时,必须进行强制类型转换可以向其中添加任何类型的值而现在,泛型提供了更好的解决方法,使用 {类型参数}:var files = new ArrayList<String>();//或ArrayList<String> files = new ArrayList<>();二、Java泛型的应用场景Jav

2020-07-28 15:00:27 672

转载 [java并发概念篇]乐观锁与悲观锁

原文地址何为悲观锁与乐观锁乐观锁对应于生活乐观的人总是想着事情往好的方向发展,悲观锁对应生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能以场景而定说一种人好于另外一种人。悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其他线程)。传统的关系型数据库里面就用到了很多这种锁机制,比如 行锁,表锁,读锁,写锁等,都是在做操作之前先上

2020-07-27 17:27:01 131

原创 [java设计模式] 我眼中的简单工厂模式

在学习简单工厂模式之前,我们先来复习下设计模式的六大原则:1.1 设计模式的六大原则开闭原则(Open Close Principle)开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类。里氏代换原则(Liskov Substitution Principle)里氏代换原则(Liskov Substitution Principl.

2020-07-24 21:01:55 184 1

原创 [技术书单] 图灵Python图书阅读路径

买了本图灵出版的Python书籍,附赠了张 “图灵Python图书阅读路径”,虽然存在很大的为了卖书的成分,不过,图灵的书确实还是不错的,绘制成电子思维导图,与诸君分享学习:

2020-07-24 00:51:45 711 1

原创 [springBoot]震惊!多线程中使用@Autowired居然会发生这样的事!

近期,在项目中需要用到多线程,而且需要读取配置文件中RocketMq的相关参数,于是乎自自然而然的将配置文件映射到实体类中(据说Spring不建议这样干?),重复三遍,以后具体查一下:为什么Spring不建议将配置映射到实体类?为什么Spring不建议将配置映射到实体类?为什么Spring不建议将配置映射到实体类?然后,自然而然的用@Autowired在多线程中注入这个实体类!就这样奇迹发生了…在多线程中注入的实体类一直 空指针异常,而在test中却完全没问题,说明我的映射是成功了的,那,为啥?

2020-07-21 15:09:59 1608

原创 [java设计模式] 我眼中的单例模式(二)

上一篇[java设计模式] 我眼中的单例模式(一) 我们介绍了一些单例(单件)模式的基本概念,本文将对其中介绍的几种实现方式进行介绍:1. 饿汉模式类加载的时候就创建实例优点:类加载的时候就创建一次实例,避免了多线程同步问题缺点:即使单例没被用到也会创建,浪费内存public class Singleton{ private static Singleton instance = new Singleton(); private Singleton(){} public static Si

2020-07-19 17:08:53 119

原创 [java设计模式] 我眼中的单例模式(一)

本篇将对单例模式的定义及应用场景部分进行简要描述定义: 确保一个类只有一个实例,并且提供一个全局访问点。属于设计模式三大类中的 创建型模式特点:只有一个实例自我实例化提供全局访问点优点:由于单例模式只生成一个实例,所以能够节约资源,减少性能开销,提高系统效率,同时也能够严格控制客户对它的访问。缺点:正是因为系统中只有一个实例,这样就导致了单例类的职责过重,违背了“单一职责原则”,同时也没有抽象类,这样扩展起来会有一定困难。常见的实现方式:饿汉式懒汉式双重检锁式静态

2020-07-19 17:02:57 121

原创 [springBoot基础] yml配置文件学习

Spring boot 项目中,yaml的配置文件越来越受欢迎,本篇文章将对文件的格式以及在SpringBoot的简单使用方法进行记录说明1. 关于名字YAML:YAML Ain’t Markup Languageyml 和xml相比,更加简化yml和json相比,更加优雅2. 语法以空格的缩进程度来控制层级关系。空格的个数不重要,对齐即视为同一层级不能用tab空格大小写敏感支持字面量,对象,数组三种数据结构,也支持复合结构字面量:字符串,布尔类型,数值,日期。字符串默认不加.

2020-07-18 01:02:49 356

原创 [spring-jpa]定义查询方法

背景:假设我们有一个数据表叫Person,有ID(Number)、NAME(Varchar2)、AGE(Number)、ADDRESS(Varchar2)几个字段;对应的实体类叫Person,分别有id(long),name(String),age(Integer),address(String)。1. 根据属性名查询Spring Data jpa 支持通过定义在Repository接口中的方法名来定义查询,而方法名时根据实体类的属性名来确定的。常规查询。根据属性名来定义查询的方法,示例如下:

2020-07-14 08:59:18 315

原创 [docker基础] 如何查看docker的IP地址等信息

docker部署过程中,可能会用到docker容器的地址,使用的命令是:docker inspect [contianer-id or container-name]比如,我们查看一下docker中rabbitmq的容器信息:首先,我已经启动了一个容器:并且启动成功了:使用命令查看docker 容器信息:这个命令有点长,感兴趣的同学,可以自行慢慢研究,拉到最下面,就可以看见容器IP地址信息了...

2020-07-12 00:47:39 2104

原创 [java基础] java.io与java.nio

整理一张Java.io包的结构图,留着以后慢慢学习而对于Java.nio,处理的方式便不是字符或字节,而是以Channel(通道)、Buffer(缓冲区)和Selector(选择器)为核心的,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。Selector(选择区)用于监听多个通道的事件(比如连接打开,数据到达),因此,单个线程可以监听多个通道。两者的区别是:Java.io是面向流的,而NIO是面向缓冲区的特此记录,后面会详细学习并附上例子!我是Aran,一起终身学习~...

2020-07-06 23:44:50 211

原创 [git] 如何删除仓库中的文件或文件夹

近日,一阵狂风乱做,扰的我心神不宁,结果一个push就把一个无关之人送上了github,真是天有不测风云,居然不支持直接删除,那要怎么把它删掉呢,于是乎,烧香求度娘,结果原来如此:git rm -r --cached nobody 命令解释:git:不解释rm:remove-r:recursive(递归)--cachedUse this option to unstage and remove paths only from the index. Working tre

2020-07-05 18:09:34 454 1

转载 [spring-aop](一)入门篇-基础概念

一、什么是AOP?AOP(Aspect Oriented Programming),即面向切面编程。众所周知,OOP(面向对象编程)通过的是继承、封装和多态等概念来建立一种对象层次结构,用于模拟公共行为的一个集合。OOP从纵向上区分出一个个的类来,而AOP则从横向上向对象中加入特定的代码。AOP使OOP由原来的二维变为三维了,由平面变成立体了。AOP采用"横切"的技术,剖解开封装的对象内部,将影响了多个类的公共行为封装到一个可重用模块。将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于

2020-07-02 23:02:02 225

原创 [读书]《增长黑客》- 第三章:确定增长杠杆

你是否面临以下问题:如何确定产品的增长杠杆如何明确产品的增长等式什么是关键性指标?如何将产品报告变得简洁明了?数据可以准确的说明一切吗?增长的关键指标是一成不变的吗?在本章中,你可以找到答案!以下是本章的精华笔记:...

2020-06-26 11:47:47 322

原创 [java基础] Java中的内部类基础

一、内部类介绍1.1 什么是内部类顾名思义,就是定义在另一个类的内部的类1.2 为什么要使用内部类?内部类可以对同一个包中的其他类隐藏内部类方法可以访问定义这个类的作用域中的数据,包括原本私有的数据二、内部类的划分成员内部类静态内部类方法内部类匿名内部类为了更好的理解内部类,我们定义如下两个类,后面的所有说明都基于这两个类:package com.aran.innerClass;/** * 一个外部类 * * @Author Aran * @Date 2020

2020-06-25 19:01:52 145

转载 [java并发] java并发系列 - 第 28 天:实战篇,微服务日志的痛,一并帮你解决

原文链接:查看原文感谢公众号“ 路人甲Java”的分享,如有冒犯,请联系删除,快去关注他吧本文内容:日志有什么用?日志存在的痛点?构建日志系统日志有什么作用?系统出现故障的时候,可以通过日志信息快速定位问题,修复bug,恢复业务提取有效数据,做数据分析使用日志存在的痛点?先介绍下多数公司采用的方式:目前比较流行的是采用springCloud (或者dubbo)做微服务,按照业务拆分为多个独立的服务,服务采用集群的方式部署在不同的机器上,当一个请求过来的时候,可能会调用很

2020-06-24 16:41:18 188

原创 [读书]《增长黑客》- 第二章:好的产品是增长的根本

诚如本章的标题所言,追求增长的前提是拥有一个好的产品,想要实现更快,更迅猛的增长,首先要将更多的精力放在产品带给用户的惊喜中,也就是所谓的“啊哈时刻”,这一时刻的出现,便是增长团队首先要完成的。以下是本章的精华笔记:我是Aran,与你一起,终身学习!...

2020-06-23 08:00:41 337

原创 [java基础]logback日志按照日志级别输出

logback日志按照日志级别输出:<configuration> <property name="APP_NAME" value="parkApi"/> <property name="LOG_HOME" value="log" /> <contextName>${APP_NAME}</contextName> <!-- 控制台日志输出 --> <appender name="stdou

2020-06-22 17:32:06 757

原创 [java基础]将请求参数排序并拼接

在日常的开发中,我们经常需要在请求参数签名前,对请求参数的参数名进行排序并拼接,再次记录,与君分享:先上代码:package com.wr.park_toolkit.utils;import java.util.ArrayList;import java.util.Collections;import java.util.HashMap;import java.util.List;import java.util.Map;/** * 请求参数工具类 * * @author ara

2020-06-22 15:03:58 2009

原创 [Linux命令] ll,来来,给你看点东西

看好了啊,是 ll,不是ii。ll其实并不是Linux下的一个基本命令,它实际上是 ls -l 的一个别名(alias)也就是说:输出的内容,咋一看,或许有点蒙,我们一起百度一下:我们从左到右逐个学习:一、文件属性文件属性就是文件的操作权限和类型信息,其中一共有20位,其中“-”为占位符,而:第一位为文件属性标识,如果输出为 ’d‘,则表示为一个目录,否则为一个文件后面的依次九尾,每三位又分为一组,每一组分别对应着读(r-read)、写(w-write)、执行(xv),第一组设置

2020-06-20 10:27:11 409

原创 [Linux命令] Cat是一只可爱的猫

1.作用cat 命令用于连接文件并打印到标准输出设备上。2. 使用权限所有使用者3. 语法格式cat [-AbeEnstTuv] [–help] [–version] fileName4. 参数格式-n 或 --number:由 1 开始对所有输出的行数编号。-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。-v 或 --show-nonprinti

2020-06-19 21:03:52 307

转载 [工具使用]在Idea中如何将maven镜像切换到国内?

本文为转载,请支持原作者:查看原文在日常使用Idea进行开发中,经常会遇到因网络问题导致maven中的依赖无法导入的问题,将拉取的地址改为国内地址可以解决此问题:以阿里的maven镜像为例:http://maven.aliyun.com/nexus/content/groups/public/Widnows中,打开Idea,依次打开:Settings -> 搜索mavenMac中:Intellij IDEA -> Preferences -> 搜索maven自

2020-06-19 15:29:47 470

转载 [java基础]Java中Lambda表达式详解

本文为转载:查看原文为什么使用lambda?在java中我们很容易将变量赋值,比如:int a = 0;int b = a;但是我们如何将一段代码和一个函数赋值给一个变量?这个变量应该是什么类型?在javascript中,可以用一个对象来存储:var t=function(){ int a=1; a=a+1; alert(a);} 在java中,直到java8的lambda的特性问世,才有办法解决这个问题什么是lambda什么是lambda?lambda在程序中

2020-06-19 11:11:20 723 1

转载 [java并发] java高并发系列 - 第27天:实战篇,接口性能提升几倍原来这么简单

原文链接:查看原文感谢公众号“ 路人甲Java”的分享,如有冒犯,请联系删除,快去关注他吧案例讲解电商app都有用过吧,商品详情页,需要给他们提供一个接口获取商品相关信息:商品基本信息(名称、价格、库存、会员价格等)商品图片列表商品描述信息数据库中我们用了3张表存储上面的信息:商品基本信息表:t_goods(字段:id【商品id】,名称、价格、库存、会员价格等)商品图片信息表:t_goods_imgs(字段:id、goods_ids【商品id】、图片路径),一个商品会有多张图片

2020-06-18 11:00:15 379

原创 [java基础] int 和 Integer的爱恨情仇

下面是一段经典的程序:package com.aran.basicDataType;/** * @Author Aran * @Date 2020/6/16 6:42 下午 */public class IntegerAndInt { public static void main(String[] args) { Integer v1 = 10; Integer v2 = 10; System.out.println(v1 == v2

2020-06-17 17:52:55 160

转载 [java并发] java高并发系列 - 第26天:学会使用JUC中常见的结合,常看看

原文链接:查看原文感谢公众号“ 路人甲Java”的分享,如有冒犯,请联系删除,快去关注他吧本文内容:了解JUC常见集合,学会使用ConcurrentHashMapConcurrentSkipListMapConcurrentSkipListSetCopyOnWriteArraySet介绍Queue接口ConcurrentLinkedQueueCopyOnWriteArrayList介绍Deque接口ConcurrentLinkedDequeue...

2020-06-17 17:22:38 195

转载 [java并发] java高并发系列 - 第25天:掌握JUC中的阻塞队列

原文链接:查看原文感谢公众号“ 路人甲Java”的分享,如有冒犯,请联系删除,快去关注他吧本文主要内容:掌握Queue、BlockingQueue接口中常用的方法介绍6种阻塞队列,及相关场景示例重点掌握4种常用的阻塞队列Queue接口队列是一种先进先出(FIFO)的数据结构,java中用 Queue 接口来表示队列。Queue 接口定义了6个方法:public interface Queue<E> extends Collection<E>{ bool

2020-06-16 17:26:36 240

wrKeyBoard.zip

移动端键盘插件,简单方便,请按照指定方式调用,如有什么问题,请邮件[email protected]

2019-08-10

空空如也

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

TA关注的人

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