自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis基础

本片文章行文思路:1 redis 是一个什么东西,概念是什么? 2 redis 数据结构什么样的? 3 redis 持久化方式 4 复制特性 5 redis 的锁功能与典型的加锁功能的区别1 redis 是一个什么东西,概念是什么?redis 是一个远程内存 非关系型数据库,提供了不同的数据结构【主要是5钟】,各种问题也就映射到这五种数据结构上解决。可以存储ke...

2020-03-09 16:53:59 228

转载 hashMap底层实现

1 hashmap的数据结构是什么样子的?jdk 1.8 新加的内容当链表长度大于8之后(在数组长度大于64的前提下),链表就会转换为红黑树了。2 put方法怎么实现的?3 扩容机制是什么?【jdk 1.7的代码,1.8的加入了红黑树,代码比较难看】4 为什么扩容大小为2的幂次方?查找快:将Key值进行Hash后得到Hash值,Hash值得范围大概40亿,很明...

2020-03-04 15:03:01 151

转载 ArrayList LinkedList 区别

回答该题的思路:数据数据结构----->增删改查的操作区别[涉及到源码了]----->线程安全等方面------->然后回答使用时如何选择其一。答:ArrayList:底层是由动态数组组成。LinkedList:底层是双向列表构成,每一个节点(头尾节点除外)都有指向前一个节点,和下一个节点的引用。add方法:正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上...

2020-03-03 17:53:53 117

原创 codeReview--2 2020/01/11

主要是工具类的使用:字符串,时间,对象,数组等String.fromat() 方法的使用。

2020-01-11 16:39:10 215 1

原创 codeReview--1 2019/12/30

每一次的review会有很多问题暴露出来,争取每次消化两个点。真正的理解review 时讨论的东西。今天在review的时候,大家对不同的问题提出了很多建议的地方,也有不同的解决方案,有设计的不合理的,有代码写法需要优化的等等,但是在讨论的时候有个需要注意的点:我们不管讨论什么,一直在说的是软件这个行业里的事,每个行业有它独特的发展方向,所以我们在讨论各种问题的时候,记得不能脱离软件行业里写...

2020-01-02 20:20:25 218

转载 String、StringBuffer与StringBuilder的区别,及实现原理

原文链接:https://blog.csdn.net/m_Tenderness/article/details/90758848源码分析String使用final关键字修饰可以知道String是不可变的类,String中字符数组的长度你定义多少,就是多少,不存在字符数组扩容一说。内部是final修饰的char[] value,表示String类不可被继承,且value只能被初始化一次。这里的...

2019-12-26 15:58:47 261

原创 存储引擎比较

MySQL提供了多个不同的存储引擎,包括处理事务安全表的引擎和处理非事务安全表的引擎。在MySQL中,不需要在整个服务器中使用同一种存储引擎,可以对同一个表使用不同的存储引擎,MySQL 5.7支持的引擎有:InnoDB ,MyISAM ,Memory,Merge,Archive,Federate,CSV,BLACKHOLE等。InnoDB:InnoDB 是事务型数据库的首选引擎,支持事务...

2019-11-26 17:43:30 100

原创 spring AOP-----总体概念

静态AOP 时代:其特点是,相应的横切关注点以Aspect形式实现之后,会通过特定的编译器,将实现后的Aspect编译并织入到系统的静态类中。优点是,Aspect直接以java 字节码的形式编译到Java 类中,java虚拟机可以像通常一样加载java类运行(因为编译完成的Aspect是完全符合java类的规范的),不会对整个系统的运行造成任何的性能损失。缺点就是不灵活,如果横切面关注点需要改...

2019-11-03 23:38:41 83

原创 导出excel

前端时间做了一个导出excel功能,做个小记录。具体的步骤从数据库查询需要导出的数据,组装成list返回 将返回的数据转换 excel 格式的数据 将数据输出到浏览器[客户端]总体上看大致的步骤如上,下面具体讲一下步骤,第一步就不细讲了,就是个简单的查询功能。当我们拿到一个list之后,需要将其转化成对应格式的excel 。我用到的是 HSSFWorkBook 这个类,这里有个需要注意的...

2019-10-29 22:06:34 277

原创 Ioc 容器之 ApplicationContext

文章开始声明,该篇文章主要是讲IOC容器的ApplicationContext 相比 BeanFactory的区别,IOC整体思想都是一致的,那么ApplicationContext 有哪些自己的特性呢?Spring为基本的BeanFactory类型容器提供了XmlBeanFactory实现。相应地,它也为Applica- tionContext类型容器提供了以下几个常用的实现。org....

2019-10-27 23:27:53 540

原创 IOC容器之--bean的一生

容器启动之后,并不会马上就实例化相应的bean定义。我们知道,容器现在仅仅拥有所有对象的 BeanDefinition来保存实例化阶段将要用的必要信息。只有当请求方通过BeanFactory的getBean() 方法来请求某个对象实例的时候,才有可能触发Bean实例化阶段的活动。BeanFactory的getBe 法可以被客户端对象显式调用,也可以在容器内部隐式地被调用。隐式调用:对于Be...

2019-10-23 23:49:06 92

转载 建造者模式源码分析

建造者模式,对于后端开发人员来说应该是很熟悉的,我们比较常用的HttpClient框架在构建Client时就用到了建造者模式。定义惯例先来看看建造者模式的定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。UriComponents可以说建造者模式理解起来是比较的容易的。它就是将复杂类的构建与其本身解耦合,并在其构造类中完成对它不同形式的创建。在sp...

2019-10-06 15:22:01 277

转载 建造者模式

一、什么是建造者模式1、生活中的建造者模式1、盖房子我们在生活中盖房子,一般就是打地基,盖框架「用砖头或钢筋混凝土」,然后是粉刷。基本上就是这个路子。当然我们这些工作全部可以自己做,可也以找几个工人去干,当然还可以可以直接找一个设计师,直接说我就要这样的房子,然后就不管了,最后问设计师「设计师给一张纸给工人,工人就啪啪的干了」验收房子即可「至于你是如何建的过程我不关心,我只要结果」...

2019-10-06 15:19:03 216 1

原创 Ioc 容器之 BeanFactory--10-06

spring 提供了两种容器类型:BeanFactory 默认采用延迟初始化策略【lazy_load】。只有当客户端对象需要访问容器中某个受管对象的时候,才会对该受管对象进行初始化以及依赖注入的操作。所以,容器启动初期速度快,对资源有限,功能要求不是很严格的场景下,BeanFactory是比较合适的Ioc容器选择。 ApplicationContext 【讲到ApplicationConte...

2019-10-05 23:59:52 108

转载 工厂模式

最近根据公司的业务需要,封装了一些平时开发中基本都会用到的基础业务模块,其中用的最多的就是各个工厂模式了,同时也趁着这个机会复习了一下工厂模式。这篇文章会详细介绍一下各个工厂模式的优缺点,如果你能完全理解了以下三个实例那么工厂模式就不在话下了。由于业务代码不能公开,文中用到的实例会使用其他例子代替。  我们知道Java里边共有23种设计模式而工厂模式就有三种,它们分别是简单工厂模式(并不在23中...

2019-10-05 14:38:20 103

原创 Ioc的基本概念--2019-10-4

总的一句话,Sping 为我们提供了一个Ioc容器实现,用于帮助我们以依赖注入的方式管理对象之间的依赖关系。通常做法,如果我么依赖某个类或服务,最简单有效的方式就是直接在类的构造函数中新建对应的依赖类,但是,我们最终要的,其实就是直接调用依赖对象所提供的某项服务而已。ioc做的就是这个事情。结合酒吧招呼服务员那酒的场景。作为被注入的对象,想要Ioc Service Provider 为其提...

2019-10-04 15:52:46 124

原创 发票的扫码提单及请求税务云

效果:很多发票,扫码枪扫描后实时加载到界面,然后统一提交,请求税务云核验发票真假接口,返回发票相关信息。硬件:honyWell霍尼韦尔牌子的扫码枪难点:前端处理解析扫描出来的字符串。思路:1 弄清楚扫描出来的发票二维码的字符串是什么意思 2 弄清楚扫码枪的显示字符串的机制 3 将对应的字符拼接转换成提交请求的DTO解决:1 首先专票是没有校验码的【01,01,120019...

2019-09-28 17:42:07 407

原创 关于写日志的思考

业务背景:最近写项目的时候,写完后测试的时候难免出现各种意想不到的错误或者异常,此时需要排查问题解决bug环境背景:一旦上到预生产环境以后,xShell 没有权限登陆机器,没有办法看到控制台,log 日志一般只是打印了 error级别的,info 级别的日志正常是没有开启的。现状:基于上面的背景,出现的结果就是排查问题的时候,不太好定位问题,插排问题效率比较低下。思考或者注意:一...

2019-09-28 15:26:25 150

转载 https、公钥、私钥、数字签名、数字证书

原文地址:一个故事讲完https姐妹篇:什么是HTTPS1 序言今天来聊一聊https 安全传输的原理。在开始之前,我们来虚构两个人物, 一个是位于中国的张大胖(怎么又是你?!), 还有一个是位于米国的Bill (怎么还是你?!)。这俩哥们隔着千山万水,通过网络联系上了, 两个人臭味相投,聊得火热。此时正值米国大选, 张大胖亲切地“致电”Bill, 对米国总统大选的情况表...

2019-09-28 14:23:44 131

转载 http 请求java 写法

1 通过代码方式发送一个http请求的思路:建立一个httpClient 对象 http请求对象的封装【参数,header等内容】 httpClient.execute()执行请求 返回回来的结果处理官方文档代码实例//1.获得一个httpclient对象CloseableHttpClient httpclient = HttpClients.createDefault();...

2019-09-28 11:28:24 427

转载 setting.xml pom maven gradle

setting.xml:setting.xml 定位是maven的一个配置文件。有两个安装地方:${M2_HOME}/conf/settings.xml 【全局配置,对操作系统的所有使用者生效】 ${user.home}/.m2/settings.xml 【用户配置,只对当前操作系统的使用者生效】 如果以上两个都存在,内容将被合并,用户级的 setting.xml 会覆盖全局的 ...

2019-09-06 17:45:21 720

转载 ArrayList--源码分析

public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable{ //类的实现}它继承于AbstractList,实现了List, RandomAccess, Clo...

2019-07-15 23:16:29 56

转载 Object类--源码分析

Object类没有定义属性,一共有13个方法,是所有类的祖先 ,位于java.lang 包里。 private static native void registerNatives(); static { registerNatives(); }registerNatives函数前面有native关键字修饰,Java中,用native关键字修饰的函数表明该...

2019-07-11 17:52:15 122

转载 String 类--源码分析

一 :实现接口public final class String implements java.io.Serializable, Comparable<String>, CharSequence {java.io.Serializable 这个序列化接口没有任何方法和域,仅用于标识序列化的语意。Comparable<String> 这个接口只有一个c...

2019-07-08 16:42:21 100

转载 java 另起线程写法

方式1:继承Thread类步骤:1):定义一个类A继承于Java.lang.Thread类.2):在A类中覆盖Thread类中的run方法.3):我们在run方法中编写需要执行的操作:run方法里的代码,线程执行体.4):在main方法(线程)中,创建线程对象,并启动线程.(1)创建线程类对象: A类 a = new A类();...

2019-07-05 13:49:49 2908

转载 spring MVC 注解详解

原文地址:https://www.cnblogs.com/xiaoxi/p/5718894.html1、@RequestMapping@RequestMappingRequestMapping是一个用来处理请求地址映射的注解(将请求映射到对应的控制器方法中),可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。RequestMapping请求路径映射,如果标...

2019-06-29 15:05:59 87

转载 sleep和wait的区别

1、这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类。sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用了b的sleep方法,实际上还是a去睡觉,要让b线程睡觉要在b的代码中调用sleep。2、最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。sleep不出让系统资源;wa...

2019-02-20 17:33:02 78

转载 数据结构中常见的树(BST二叉搜索树、AVL平衡二叉树、RBT红黑树、B-树、B+树、B*树)

BST树       即二叉搜索树:       1.所有非叶子结点至多拥有两个儿子(Left和Right);       2.所有结点存储一个关键字;       3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;       如:              BST树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;...

2019-01-23 10:37:28 156

转载 hashMap相关

1 结构:HashMap的整体结构如下简单来说,HashMap由数组+链表组成的,数组是HashMap的主体,链表则是主要为了解决哈希冲突而存在的,如果定位到的数组位置不含链表(当前entry的next指向null),那么对于查找,添加等操作很快,仅需一次寻址即可;如果定位到的数组包含链表,对于添加操作,其时间复杂度为O(n),首先遍历链表,存在即覆盖,否则新增;对于查找操作来讲,仍需遍历...

2019-01-18 11:41:02 127

转载 Spring @Column的注解详解

就像@Table注解用来标识实体类与数据表的对应关系类似,@Column注解来标识实体类中属性与数据表中字段的对应关系。该注解的定义如下:@Target({METHOD, FIELD}) @Retention(RUNTIME) public @interface Column { String name() default ""; boolean unique() default f...

2018-12-19 11:33:55 1941

转载 Spring Data JPA 查询方法支持的关键字

Spring Data JPA 查询方法支持的关键字Table 2.3. Supported keywords inside method namesKeyword Sample JPQL snippet And findByLastnameAndFirstname … where x.lastname = ?1 and x.firstname = ?2 O...

2018-12-18 14:37:21 305

转载 MockMvc

★  MockMvc - SpringMVC单元测试的独立测试:一、简介为何使用MockMvc?        对模块进行集成测试时,希望能够通过输入URL对Controller进行测试,如果通过启动服务器,建立http client进行测试,这样会使得测试变得很麻烦,比如,启动速度慢,测试验证不方便,依赖网络环境等,所以为了可以对Controller进行测试,我们引入了MockMVC。 ...

2018-12-11 15:38:47 398

原创 linux基本操作积累

bin 存放二进制可执行文件(ls,cat,mkdir等) boot 存放用于系统引导时使用的各种文件 dev 用于存放设备文件 etc 存放系统配置文件 home 存放所有用户文件的根目录 lib 存放跟文件系统中的程序运行所需要的共享库及内核模块 mnt 系统管理员安装临时文件系统的安装点 opt 额外安装的可选应用程序包所放置的位置 proc 虚拟文件系统,存放当前内存的映射...

2018-11-30 23:18:33 84

转载 依赖注入理解

所谓依赖,举个例子说明,一个类Person,另一个类Car,如果Person的某个方法比如说drive,需要引用Car,则称Person类依赖于 Car类,延伸到对象,这种依赖关系依然成立,比如说Person类的对象boy依赖于Car类的对象toyota。再讲讲这个drive方法的实现,假定代码如下:Public Person{...public void drive(){ Car ...

2018-11-30 15:34:17 407

原创 数据库基础

1.1 登录MYSQL:  @&gt;mysql -u root -p  @&gt;密码  1.2 创建用户: 格式:grant select on 数据库.* to 用户名@登录主机 identified by '密码'  举例:    例 1:增加一个用户 test1 密码为 abc,让他可以在任何主机上登录,并对所有数据库有    查询、插入、修改、删除的权限。首先...

2018-11-29 15:49:17 129

原创 Git 相关

一 Git 是什么及流程 Git是目前世界上最先进的分布式版本控制系统。Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库二:SVN与Git的最主要的区别?SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后...

2018-11-28 14:57:47 138

原创 HashMap与Hashtable

HashMap与Hashtable都是通过对象来索引,用来索引的对象叫做key值,其对应的对象叫做value。二者很相似,但不同之处体现在一下几点:1&gt; 他们都实现了Map接口,HashMap允许空(null)键值(key)(最多允许一条记录的键为空,不允许多条记录的值为null),而Hashtable不允许。2&gt; HashMap把Hashtable的contains的方法改掉...

2018-11-27 08:45:03 170

原创 TCP/UDP及三次握手总结

用户数据协议UDP(User Datagram Protocol)       传输控制协议TCP(Transimission  Control Protocol)UDP :无连接的,即发送数据时不需要建立连接。尽最大努力的交付,即不保证可靠的交付。面向报文的,应用层交给UDP的                    报文即不合并也不拆分。UDP没有拥塞控制。UDP支持一对一,一对多,多对一和...

2018-11-25 21:50:51 2436

原创 常见问题

1 http和https的区别?https就是http和TCP之间有一层SSL层,这一层的实际作用是防止钓鱼和加密。防止钓鱼通过网站的证书,网站必须有CA证书,证书类似于一个解密的签名。另外是加密,加密需要一个密钥交换算法,双方通过交换后的密钥加解密.HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议。  它是一个安全通信通道,它基于HTT...

2018-11-25 17:17:51 84

转载 abstract class和interface有什么区别?

含有abstract修饰符的class即为抽象类,abstract 类不能创建的实例对象。含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必是抽象的。abstract class类中定义抽象方法必须在具体(Concrete)子类中实现,所以,不能有抽象构造方法或抽象静态方法。如果的子类没有实现抽象父类中的所有抽象方法,那么子类也必须定义为...

2018-11-24 15:12:41 405

空空如也

空空如也

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

TA关注的人

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