自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java面试锁的问题,锁升级

经典面试题回顾基础原理回顾CAS 原理简单看下jdk中一个cas原理的运用 : unsafe.class public final int getAndAddInt(Object var1, long var2, int var4) { int var5; do { var5 = this.getIntVolatile(var1, var2); } while(!this.compareAndSwapInt(va

2020-08-11 15:35:04 734 1

原创 java面试问答总结

1.为什么加索引之后查询速度就会变快?按理说

2020-08-06 23:22:16 132

原创 java8补充——函数式编程、新增时间类函数

1、函数式接口函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。public interface PersonSay { void sayMessage(String message);} public static void main(String[] args) { PersonSay ps = (message) -> { System.out.println("hello" + message

2020-08-05 16:36:42 9426

原创 spring注解驱动开发

1、传统的写配置文件的方式,配置一个类然后使用是用下面的方法:使用:2、使用注解的方式://告诉spring这是一个配置类@Configurationpublic class Anno { //给容器中注册一个bean,类型为返回值类型 id是默认方法名作为id @Bean public Person person(){ return new Person("hdx",27); }}使用: public static

2020-08-05 15:08:49 147

原创 springboot源码解析

1、springboot是什么?脚手架,纵观框架的发展过程,最终由springboot出来做了SSM的整合,方便程序员偷懒,因为SSM整合过程中有很多的配置,很多的依赖,很容易出错,也不方便快速开发。2、spring创建对象的过程,图解开始springboot源码讲解1、springboot的启动过程1、解释下beanFactory和factoryBean之间的区别?二者都是用来生产对象的,但是factoryBean提供了三个方法,其中一个是getObject().

2020-08-03 00:41:09 139

原创 rabbitmq延迟队列——订单超时

从单体应用到微服架构:可以先讲服务根据业务进行解耦,然后再做集群,这样在应用层就解决了大量的并发和计算数据库层面的演变:读写分离,分库分表,对于秒杀这样的很多热点数据可以放到redis 缓存里面。对于搜索的内容还需要搜索引擎(分布式搜索引擎)订单延时的回顾比如一个秒杀活动,很多人同时抢,有些人抢到了,但是一直没有支付,后面的人没抢到,当时又很想买,这样就造成了想买的下不到单的情况,最终会导致商品销量不好。这样就需要延迟队列来解决超时不支付,订单自动取消,库存系统加回去。其他用户可...

2020-06-16 18:19:06 1130

原创 springboot webflux

函数式编程:网上也没有清晰的定义,我个人理解函数式编程和非函数编程是这样的:有流相关的一些思想,并能运用到工作中,我们就可以说自己会函数式编程。为什么要使用函数式编程?和命令式编程区别?命令式编程你要告诉计算机怎样做,才能实现什么样的功能,但是在函数式编程里面你只需告诉计算机需要什么样的功能,具体怎样做不需要告诉他,不需要关注实现的细节比如:找到最小值:你需要告诉程序怎样去比较才能找出最小的值,这样的编程叫命令式编程用了函数式编程,直接java8就搞定了,个人认为函数式编程更..

2020-06-15 15:48:46 245

原创 docker专题讲解——超详细

docker路线Docker概述 Docker安装 Docker命令镜像命令 容器命令 操作命令...Docker镜像 Docker数据卷 Docker网络原理 idea整合Docker Docker compose (集群版实操) Docker swarm jenkins也需要学docker 概述1、项目多环境的情况下需要部署很多套,环境部署相当麻烦,部署多了还有可能部署错了,所以是费时费力的。2、当打包jar包的时候顺便把运行的环境也打包进去,docke.

2020-06-01 22:00:13 337

原创 springcloud微服务系列课程——1

为什么需要将单一应用拆成微服务——微服务优点根据业务的不同将服务拆分成一个一个的应用,实现完全的解耦 每个服务都很小,多个服务之间可以并行开发互不影响 微服务能使用不同的语言开发(不同语言之间可以通过sidecar进行相互调用) 每个服务都可以有自己的数据库,也可以用公共的微服务缺点机器内存消耗大,每个服务单独部署,都要启动一个jvm 随着服务数量增多,难以维护 服务间通信的成本变高了 因为是分布式部署,所以问题追踪难 运维压力增大,当服务比较多的时候需要配合自动化部署工具.

2020-06-01 20:30:09 218

原创 多线程并发编程——1

哪些情况下会使用到多线程1、通过并行计算,提高程序的性能2、通过开启多线程的方式解决网络IO、响应等待的问题 解释:比如socket的accept,当客户端发送来一个请求,必须等accept之后才能继续往下执行,当多个客户端同时发起请求的时候,Tomcat的就会在线程池里面用多个线程的方式并行处理,从而解决一个一个等待的现象。多线程常见的3种的实现方式第一种:继承Thread类:重写run()方法public class TestThread extends Thread{..

2020-05-31 10:13:17 165

原创 final和static的作用、静态变量&成员变量&局部变量的定义和区别

final和static的作用: 一、final final是java关键字,被final修饰的变量值无法改变,代表“终态”的意思。final类不能被继承,没有子类,final类中的方法也默认是final类型的 final修饰的方法不能被子类覆盖,但是可以被继承 final成员变量表示常量,只能被赋值一次,赋值后值不再改变。 final不能用于修饰构造方法。 1、final类: 如果设计类的时候希望这个类不被子类继承,并且确认这个类不...

2020-05-25 17:39:37 1524

[电脑组装与维护从入门到精通].飞龙科技.扫描版.pdf

内容很详细,很适合初学者和中等技术水平的人阅读

2016-04-20

java面试宝典

2016-04-20

空空如也

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

TA关注的人

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