- 博客(93)
- 收藏
- 关注
原创 全排列
什么是全排列思路:选择一个元素,对剩下的元素进行全排列,在剩下的元素中选择一个元素,对剩下的元素全排列用for循环控制元素的选取,从i开始,一直到结束,交换i和start的位置,使得选取得元素总是为第一个元素,结束得时候再将元素交换回来如果start==end就结束,说明已经到底了,将结果输出来,然后还原位置完整代码如下:fullSort方法接收三个参数,数组arr,起始位置start...
2019-08-21 11:10:58 337
原创 归并排序
归并排序过程:1.将数组划分称为两个数组,[left,(left+right)/2],[(left+right)/2+1,right]一直划分,直到条件left<right不满足最后的数组只有一个元素-2. 将两个有序数组进行合并,合并保存在新的数组中—如果两个数组都有值,比较后放入数组中-----如果一个数组中有值一个数组中没有值将另一个数组中的值填充...
2019-08-20 17:45:29 242
原创 用两个栈实现最小栈
用两个栈实现最小栈过程:入栈时候,栈A用于保存数据,并和栈B中的元素进行比较: 如果入栈元 素小于栈B中的元素,将入栈元素进入栈B中如果入栈元素大于栈B中的元素,peek()栈B中的元素进入栈B出栈时候,栈Apop()数据,栈B也一起pop数据取最小值的时候,peek()栈B的元素就是当前栈的最小值import java.util.Stack;public class ...
2019-08-20 14:12:05 567
原创 centos7中安装jenkins(采用yum安装)
centos7中安装jenkins步骤1.下载安装jenkins的环境依赖sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo2.导入密钥sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenki...
2019-08-06 22:14:26 565
原创 3.求出最大的回文字符串长度,每日气温
回文字符串class Solution { public boolean isPalindromic(String s) { int len = s.length(); for (int m = 0; m < len / 2; m++) { if (s.charAt(m) != s.charAt(len - 1 - m)) { return false;...
2019-07-20 12:53:13 159
原创 spinnaker
https://docs.spring.io/spring-cloud-spinnaker/docs/1.0.0.BUILD-SNAPSHOT/reference/htmlsingle/
2019-07-19 14:12:51 685
原创 排序算法-归并排序
排序算法–归并排序package jianzhioffer;import java.io.FilterInputStream;import java.util.function.IntPredicate;import javax.xml.stream.events.EndDocument;/** * 归并排序 * @author Administrator * */pub...
2019-07-18 23:31:14 137
原创 详解hashmap
头节点,指的是table表上索引位置的节点,是链表的头节点根节点,指的是红黑树上面的接待你,也就是没有父节点的节点红黑树的根节点一定是索引位置头节点也就是链表的头节点,红黑树通过moveRootFront方法来维持zhun’huan转换为红黑树节点之后,链表结构还存在,通过next属性维持,红黑树节点在进行操作的时候都会维护链表的结构,并不是转为红黑树节点,链表结构就不存在了在红...
2019-07-02 22:55:33 140
原创 为什么要创建索引?什么是单列索引、复合索引、主键索引、唯一索引?怎么删除索引?
为什么要创建索引mysql在默认的情况下,表中的数据记录是没有顺序的,就是说,在数据检索的时候,符合条件的数据存在表中的什么位置是不知道的,如果使用select 进行查询,数据库会从第一条数据进行检索,找到第一条符合条件的数据之后,数据库的搜索不会停止,因为符合条件的数据不止一条,也就是说,此时select要把数据库中所有的信息全部的检索一遍才结束,就是我们常说的全表扫描,如果数据表中有很多数据...
2019-06-09 09:56:39 1458
原创 什么是视图,视图的创建、删除、使用?
什么是视图?视图是一张虚拟的表,视图与数据库中存在的表不太相同。之前我们创建的表都是包含数据的,如用户信息订单信息。然而视图是不包含数据的。举例:查询王五的所有订单的情况,王五本身要从用户表user进行查找,王五有很多订单要用订单表中进行查找,每个订单中有很多商品要从订单详情中进行查找,订单中的商品是什么样子的要从商品表中进行查找,要使用到4张表,user 、order、orderdetai...
2019-06-09 07:51:13 1370
原创 mysql如何对表中的列进行增加修改删除,如何进行复制表的结构和表的数据?
mysql如何对表中的列进行增加修改和删除?alter table 表名 add 增加表中的列alter table 表名 drop 删除表中的列alter table 表名 modify 修改表中列的定义alter table 表名 change 修改表的列名和定义实例:1.创建表create table visitor( mid char(5) not null, na...
2019-06-08 21:13:58 315
原创 什么是内连接?什么是左连接什么是右连接?什么是组合查询
单表查询不能满足要求,通过多表关联实现预期的需求订单详情表orderdetail中有订单表的订单order_id和商品表的商品items_id,这两个字段称为orderdetail表的外键,他们之间存在关联关系为什么会存在关联信息?订单详情表orderdetail和商品表items为例,为什么要进行分开呢,以商品表为例,因为会存在很多一样的商品,如果每一件这种商品都使用订单表进行存储,那...
2019-06-08 16:04:35 4237
原创 bean的作用域
什么是bean的作用域?bean的作用域指的就是spring容器创建bean完成后的生命周期,就是从创建到销毁的整个过程。spring默认的作用域是Singleton。Singleton**在singleton的作用域下每一个bean实例只会被创建一次,**而spring容器在整个生命周期中都可以使用该实例,因此在默认情况下singleton,spring容器创建bean后,通过代码获取...
2019-05-31 17:06:32 846
原创 xml文件中bean的命名方式,使用注解和xml文件声明bean的对象的方法,实例化bean对象的三种方法
IOC容器管理beanbean的命名以及实例化方法,bean的命名每个交给springIOCspring容器创建的对象必须要指定名称,如果没有指定名称,spring容器将会分配一个内部名称,通过bean的名称,可以获取到bean。在基于xml的配置信息中可以使用id属性作为一个bean的名称,在同一个XML文件中,bean的id属性必须是唯一的,但是不同的XML可以相同,除了使用id作...
2019-05-31 10:52:30 2066
原创 Spring的自动装配是什么?有哪些自动装配?byType、byName、constructor、@AutoWired、@Resource、@Value有什么区别
Spring的自动装配是什么?spring中提供了向Bean中自动注入依赖的功能,这个过程就是自动装配当向bean中注入的内容非常多的时候,自动注入依赖的功能将极大的节省注入程序的时间。Spring自动装配有三种方式:byType(类型),byName(名称), constructor(根据构造函数)byType(类型)在byType(类型模式中)spring容器会基于反射查看bean定...
2019-05-30 20:33:02 10104 1
原创 什么是CAS?什么是ABA问题?
什么是CAS?与synchronzied修饰方法(静态代码、实例方法)、静态代码块不同的是,使用compareAndSwap()保证无锁执行线程安全。乐观锁总是认为访问共享资源的时候不会发生冲突,不用加锁不用等待可以不停的执行,如果出现冲突CAS保证线程执行的安全性compare(V E N)方法,V表示以前记录要更新的变量的值,E表示内存中的值,N表示要更新的新的值如果要更新的变量的值和当...
2019-05-30 07:00:02 308
原创 java中有那几种访问修饰符?默认的访问权限是什么?作用范围是什么?
java中的访问修饰符访问修饰符作用于类、方法和变量上,控制其访问权限,进行细节隐藏java中的访问修饰符有public、protected、default、private四种**public:**修饰类方法变量,对应的访问权限是:全部包的任何类protected:用protected修饰的类、方法、变量,包内的任何类以及包外继承了该类的子类才能进行访问,重点是:包外继承了该类的子类...
2019-05-29 20:29:27 17926
原创 volatile有什么用?为什么volatile变量的复合操作不具有安全性?volatile是怎么实现可见性和禁止重排序的(有序性)?具体的禁止重排优化实例?
volatile有什么作用?volatile修饰的变量能够保证可见性,volatile修饰的变量被修改后将会被强制刷新到主内存中,当某个线程读取volatile修饰的变量的时候,会将保存在该线程工作内存的变量副本清空,强制从主内存中读取该变量新的值volatile禁止重排序优化,volatile修饰的变量的写操作总是发生在对volatile变量的读操作之前volatile变量的复合操作为...
2019-05-29 17:33:33 400
原创 什么是重排序?重排序会产生什么问题?什么是happenbefore?应用happen-before的具体实例
什么是重排序?执行任务的时候,为了提高编译器和处理器的执行性能,编译器和处理器(包括内存系统,内存在行为没有重排但是存储的时候是有变化的)会对指令重排序。编译器优化的重排序是在编译时期完成的,指令重排序和内存重排序是处理器重排序编译器优化的重排序,在不改变单线程语义的情况下重新安排语句的执行顺序指指令级并行重排序,处理器的指令级并行技术将多条指令重叠执行,如果不存在数据的依赖性将会改变语句...
2019-05-28 07:47:12 5063
原创 什么是原子性可见性有序性?java内存模型是如何把保证原子性可见性有序性的
什么是原子性、可见性、有序性?原子性:原子性指的是一个操作不会被中断,操作不会受到其他线程的影响。两个线程同时对一个变量赋值,则该值要么是1要么是2,线程A和线程B互不干扰,不会被中断。要知道基本数据类型中六种类型的读写操作都是原子操作(byte short int float char boolean ),long double 因为是64位的,以此在32位的虚拟机要进行两次读取,不是...
2019-05-27 22:54:26 563
原创 工作内存与主内存是什么,硬件层面的存储架构是什么样,线程的实现原理是什么
工作内存与主内存java内存模型并不真正的存在,是一种规则规定了程序中各个变量的访问方式。线程运行的时候,每个线程创建时候jvm都会为其创建一个工作内存,java的所有的变量都存放在主内存中是共享的数据区域。线程对变量进行操作,要将变量从主内存拷贝到自己的工作内存中,线程的工作内存中存放了内存副本,操作完成之后在将变量写回到主内存中。线程之间的的传递必须要通过主内存。主内存是线程共享的包括堆和方...
2019-05-27 21:27:25 2872 1
原创 redis常见面试题
https://blog.csdn.net/hjm4702192/article/details/80518856https://www.cnblogs.com/xrq730/p/8944539.htmlhttps://www.cnblogs.com/qwangxiao/p/8921171.html1.为什么要使用redis从性能和并发的角度,当然也可以作为分布锁从性能角度上来看---...
2019-05-26 22:53:14 87
原创 equals和==有什么区别
equals和==有什么区别?==== 是用来比较值是否相同的这个值可以是基本类型的值,或者是引用类型的地址public class Main {public static void main(String[] args) { int n=3; int m=3; System.out.println(n==m); ...
2019-05-26 14:38:07 381
原创 如何判断是值传递还是引用传递
值传递public static void valueCrossTest(int age,float weight){ System.out.println("传入的age:"+age); System.out.println("传入的weight:"+weight); age=33; weight=89.5f; System.out.println("方...
2019-05-25 22:53:01 1395
原创 深入理解java内存模型,以及基本数据类型的不同类型的变量的保存方式
https://mp.weixin.qq.com/s/Qp6Cc0mlRLnrToNy5-3zegjava虚拟机被分为三个子系统:类加载子系统,运行时数据区,执行引擎java内存模型指的就是运行时常量池:1.方法区:所有类级别数据都将保存在这里,包括静态变量,每个jvm种只有一个方法区,是一个共享的资资源,存放类信息,静态变量,常量,静态方法,成员方法等2.堆区:所有的对象和他们相应...
2019-05-25 15:45:51 1031 2
原创 进程与线程的区别
计算机的核心就是cpu,承担了所有的计算任务,就像一座工厂时刻在运行。假定工厂的电力有限,一次只能供给一个车间使用,就是说,一个车间开工的时候,龙一个车键必须停工,背后的含义是,单个cpu一次只能运行一个任务进程像是工厂车间,代表cpu所能处理的单个任务,任意时刻,cpu总是运行一个进程,其他进程处于非运行状态一个车间里,可以有很多工人,他们协同完成一个任务,线程就是车间里的工人,一个进程中...
2019-05-25 09:26:05 116
原创 详细介绍cookie和session的区别
https://www.cnblogs.com/andy-zhou/p/5360107.htmlCookieCookie就是由服务器发给客户端的特殊信息,而这些信息以文本文件的方式存放在客户端,然后客户端每次向服务器发送请求的时候都会带上这些特殊的信息。当用户使用浏览器访问一个支持Cookie的网站的时候,用户会提供包括用户名在内的个人信息并且提交至服务器;接着,服务器在向客户端回传相应的超...
2019-05-24 22:53:37 167
原创 重写和重载有什么区别
面向对象的三大特性:继承多态封装重写和重载有什么区别是面试中经常遇到的一个问题重载(overLoading)方法重载就是让类用统一的方式处理不同类型的数据的一种手段,多个同名函数同时存在,具有不同的参数个数和类型。返回值的类型可以相同也可以不相同,无法以返回值的类型作为从在函数的区分,可以抛出不同的异常,调用方法的时候,通过传递给他们不同的参数个数和参数类型来决定具体使用哪个方法,是一个类中...
2019-05-23 22:50:10 2430
原创 synchronized作用于实例方法、静态方法、代码块的三种作用方式
synchronsized有三种应用方式:synchronized作用于实例方法,sychronized作用于静态方法,synchronized同步代码块造成线程安全问题的原因,有共享数据,多个线程操作共享数据。解决方式,保证同一时刻只有一个线程操作数据,其他线程必须在线程处理完成之后在进行,访问互斥synchronized保证统一时刻只有一个线程可以执行某个方法或者某个代码块中的共享数据进...
2019-05-22 17:21:41 3623 1
原创 mysql中b树索引hash索引的特点、使用场景、使用限制、以及索引的优化策略
**索引:告诉存储引擎如何快速的找到表中的数据**,当表中的数据少查询少,索引的性能可能显示不出来,因为这个时候表中的数据基本上可以缓存到内存中,就算是进行全表扫描也不会太慢,随着表中的数据越来越多,查询频率也越来越多,内存已经不能完全缓存数据的时候,索引的功能就显示出来了 实际工作中,总是忽略或者过分的强调索引,太多或者太少都会带来不好的影响 mysql支持的索引类型,m...
2019-05-20 11:47:39 2254
原创 高可用mysql--------视频
读写分离就是对数据库所做的读操作和写操作分离开 ,而进行mysql主从复制的主要目的是分担主库的读负载,因为对大多数应用来说数据库要承受的读的负载要远远高于写的负载,为什么要进行读写分离,因为写负载是不能够分担的,而且只能在主库上进行,因为进行读写分离,可以让主库更专注的进行写操作使用中间件的优缺点:中间件能够对sql语句进行语法分析,自动完成读写分离,如果是select读请求的话会将相关的操...
2019-05-19 23:18:02 139
原创 mysql架构
一 mysql复制功能1.mysql的复制功能,是构建基于mysql数据库的大规模高性能的基础数据库不同,由于数据库中负载严重的时候,因为数据库事务性要求,不能通过简单的增加数据库服务器的方式来分担读写负载,而mysql的复制功能为我们提供了分担读负载的好办法,只做简单的复制还是不能分担写负载的,只能分担读负载,同时mysql的复制功能,不仅能够分担读负载也为高可用,灾难恢复,备份等提供了更...
2019-05-18 16:50:07 271
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人