Git配置SSH 免密登录 前言:相信大家现在在工作中,都在使用Git吧。众所周知,Git有两种克隆代码的方式:一种是http,另外一种就是SSH。SSH免密登录,免去了每次登录都输入账号密码的繁琐,但是却需要配置在电脑上。下面我们就介绍下如何配置Git的SSH免密登录。前提:电脑已经安装了Git,已经有自己的Git账号一:生成SSH key 1)进入电脑的用户目录,在用户目录右键打开 Git 命令行窗口 2)创建SSH key。执行命令下面命令,点击三次回车!ssh-ke...
Redis分布式缓存为什么可以有更高的性能 前言:我们大家都知道,系统中的常用缓存主要有两种;一种是redis,一种是memberCache。memberCache在前几年是比较流行的,现在一般公司都会用Redis分布式缓存。主要是基于Redis能支持更多的数据结构,另外呢就是Redis的高性能和抗高并发的使用。因为Redis是单线程的,那么问题来了:单线程的Redis为什么反而比多线程的memberCache还能有这么好的性能呢?【Redis单线程的线程模型后面会整理发出来】主要是基于3点原因。为什么Redis可以有更高的性能呢?1.核心
线程池的7大参数以及线程池处理逻辑 1.首先我们来看一下为什么使用线程池,使用线程池能给我们的系统带来什么样子的好处?①:降低资源消耗:减少了创建线程和销毁线程的次数,每个工作线程都可以重复被利用,可执行多个任务②:提高响应速度:当任务到达时,可以不用等待线程的创建就能立即执行。③:提高线程的可管理性:线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性。使用线程池可以统一的进行分配、调优和监控。2.如何创建线程池?根据阿里编码规范手册,我们不能使用Executors工具类来帮我们创建线程池,而是需.
CPU时间片上下文切换 上下文切换一词,我最初是今天从阅读并发编程一书里面看到的词语。也就是从多线程执行环境里面得出来的词语,词义大体是这个样子的。CPU在执行多个线程的时候,会不断的切换执行的任务,就是单核的CPU也是执行多线程的执行的。只不过是CPU要不停的根据时间片来切换执行的任务。比如在执行A任务的时候执行到一定的时间,这个时候要切换到B任务的执行,在切换的时候会保存A任务执行的状态,然后把B执行了一个时间片...
Java集合框架之_泛型 泛型主要讲解以下四点:1.泛型类的使用(比较简单,此处就省略不讲解。。。)2.自定义泛型类、泛型接口、泛型方法的使用3.泛型与继承的关系4.通配符 1.自定义泛型类* 1.1:当实例化泛型类的对象时,指明泛型的类型,* 指明以后,在对应的类中所有使用泛型的位置的类型,都变为实例化中指定的泛型的类型* 1.2:如果我们自定义了泛型类型,但是在实例化中没有使用,那么默认泛型的类...
代理设计模式demo—纯手写 /* * 手写动态代理的使用,体会反射是动态语言的关键 *///定义接口interface Subject { void action();}// 定义目标类,被代理类class RealSubject implements Subject { @Override public void action() { System.out.println("我是被代理类目标对...
String字符串反转的几种方式? 这是我前段时间面试平安惠普项目的一个面试题,当时没有回答出来,特写此博客标记!//将字符串反转有几种方法!public class StringReversal { /* * 方法三:调用String对象的charAt()方法,将字符串从后往前依次取出来, * 然后添加到StringBuffer当中去,在转换成String对象 */ public static String...
Java实用类之_枚举类 有关枚举类,我们主要掌握以下几点:1.如何自定义枚举类2.如何使用关键字enum定义枚举类>常用的方法:values() 返回数组形式枚举类的对象 valueof(String name) 返回枚举类对象名字为name的对象 >如何让枚举类实现接口:可以让不同的枚举类的对象调用被重写的方法,执行的效果不同。注意:被重写的方法是放在枚举类和逗号之间的大括号里面的。示例如
Java集合框架之_泛型 泛型主要讲解以下四点:一.泛型类的使用二.自定义泛型类、泛型接口、泛型方法的使用三.泛型与继承的关系四.通配符第二:自定义泛型类、泛型接口、泛型方法的使用 1.自定义泛型类 1.1:当实例化泛型类的对象时,指明泛型的类型,指明以后,在对应的类中所有使用泛型的位置的类型,都变为实例化中指定的泛型的类型 1.2:如果我们自定义了泛型类型,但是在实例化中
Java集合框架之_HashMap特性 Map集合HashMap:1.key是用Set来存放的,不可重复;value是用Collection存放的,可以重复 一个key-value对是一个Entry,所有的Entry是用Set来存放的,也是不可重复的 2.向HashMap里面添加元素时,会调用key所在类的equals()方法,如果key相同,则后者覆盖前者存储在内存中 以下是Map集合常用的方法: 1.
Java集合框架之_TreeSet特性 1.向TreeSet中添加是元素必须是同一类型的。否则会报错。 2.可以按照添加进集合中的元素的指定的顺序来遍历;如:String,包装类等默认按照从小到大的顺序遍历 3.当向TreeSet中添加自定义类的对象时,有两种排序方法:①自然排序 ②指定排序 3.1自然排序 要求自定义类实现java.lang.Comparable接口并重写compareTo(Object obj)方法,
Java集合框架之_LinkedHashSet特性 1.LinkedHashSet是HashSet的子类 2.LinkedHashSet:使用链表维护了一个添加进集合的顺序,导致我们遍历LinkedHashSet集合元素时,是按照我们添加进去的顺序遍历的(底层存储还是按照哈希算法无序存储的) 3.LinkedHashSet插入性能略低于HashSet(原因是2),但是迭代访问Set里全部元素时,有很好的性能! @Tes
Java集合框架之_HashSet特性 Set集合我们在开发过程中一般情况下只用到HashSet这个实现类!Set接口特点:存储的元素是无序的,不可重复的。 1.元素的无序性 != 随机性。真正的无序性,是指元素在底层存储的位置是无序的。 2.不可重复性。当向Set集合中添加相同元素的时候,后面的这个添加不进去。程序不会报错! 3.Set集合没有自己独有的方法,它的方法都是继承于Collection接口中的现有方法 4...
ArrayList VS LinkedList 今天给大家简单介绍以下LinkedList和ArrayList相同点和不同点:相同点:1.List接口下面的实现类,都能存放数据,可以对数据进行增删改查插的常用操作不同点:因为两个类存储数据方式的不同,决定了两个集合类的不同点。1.存储数据的结构不同ArrayList类是对数组进行了封装,实现了长度可变的数组,而且和数组采用一样的数据存储结构,在内存中分配连续的空间;L
Jave集合框架之_LinkedList独有特性 LinkedList简介: LinkedList类是List接口的链接列表实现,它支持实现所有List接口可选的列表的操作,并且允许元素值是任何元素,包括null 数据结构:LinkedList采用链表存储方式,每个元素之间的前后顺序是通过引用的方式指定的 优点:对于频繁的插入和删除元素时效率比较高,而对于遍历和随机访问元素的效率就比较低了。 LinkedList类相对于Lis...
Java集合框架之_ArrayList常用方法 List接口继承Collection接口,可以存放一组不唯一、有序的对象。它的数据结构,导致了它的优点。 ArrayList集合类,对数组进行了封装,实现了长度可变的数组,和数组采用相同的存储方式,在内存中分配连续的空间 ArrayList优点:遍历元素和随机访问元素效率高。 List常用的方法: 增:add(Object obj) 在列表的末尾顺序添加元素,起始索引位置从0开
Java集合框架之_Collection接口 1.存储对象可以考虑 ①数组 ②集合 2.数组存储对象的特点的弊端 ①一旦创建其长度不可变 ②真实的存放数组的个数是不可知的 3.集合类:Java中的集合类主要由Map接口和Collection接口派生而来。其中Collection接口有两个常用的子接口,既List接口 和Set接口。所以经常说Java集合框架有三大类接口构成(Map接口、List接口和Set接口)...
增强for循环和for循环的区别 以下用一个面试题,简单的阐述for循环和增强for循环的区别:示例一: @Test public void mianshiTest() { String[] str = new String[]{"赵丽颖","刘德华","范冰冰"}; for(int i = 0; i < str.length; i++) { str[i] = "张艺谋"; } for (in
异常之_自定义异常 如何自定义一个异常类: ①自定义的异常类继承现有的异常类 ②提供一个序列号,提供几个重载的构造器 ③注意:子类重写父类的方法,其子类抛出的异常类型只能小于或等于被重写的父类所抛出的异常类型。 ④注意:try{ } catch( ){}处理异常时,如果有多个异常类型需要catch,那么需要按照从小到大的顺序依次来处理以下就是一个简单的自定义异常类:public class
Java类的第5大成员_内部类 内部类具有和类一样的特性,都有属性、方法、构造器 内部类分为:①成员内部类、②局部内部类 内部类我们主要研究成员内部类,主要掌握以下三点即可: ①如何创建内部类的对象(内部类又分为静态的和非静态的) ②如何区分调用内部类、外部类的变量 ③局部内部类的使用示例1:一下示例为①和②的示例,代码如下public class InnerC