自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Java技术

欢迎加入Java技术交流群:646766275

原创 Spring Cloud Stream 进阶配置——使用延迟队列实现“定时关闭超时未支付订单”

延迟队列 延迟队列 操作的对象是延迟消息,所谓 “延迟消息” 是指当消息被发送以后,并不想让消费者立刻消费消息,而是等待特定时间后,消费者才能拿到消息进行消费。 延迟队列比较经典的使用场景有: 在订单系统中,用户下单后,如果未在规定时间内(比如30分钟)支付,那么该订单会被关闭,即自动取消订单。 ...

2020-06-04 10:57:26 187 1

原创 SpringCloud——Feign使用和原理

一、使用 1、配置feign 添加依赖 在maven的pom中添加feign <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring...

2020-06-03 11:38:29 81 0

原创 SpringCloud——Ribbon使用和原理

SpringCloud中的Ribbon开源项目,提供了客户端的负载均衡算法。这篇文章,我们来介绍下他是如何实现的。为了方便理解,我们以客户端调用的流程来介绍,其中会穿插介绍相关源代码。 简单回顾下Ribbon的使用,这里强调两点: 1、在启动类Application中,添加@LoadBalance...

2020-06-03 11:38:20 42 0

原创 JAVA高级开发工程师面试系列——高并发

并行与并发 https://www.cnblogs.com/wxd0108/p/5479442.html https://blog.csdn.net/u013945548/article/details/50988456 高并发下实现高吞吐量和线程安全

2018-07-01 11:39:16 308 0

原创 JAVA高级开发工程师面试系列——Atomic

AtomicInt AtomicLong

2018-07-01 11:35:13 293 0

原创 JAVA高级开发工程师面试系列——锁

Lock Lock类也可以实现线程同步,而Lock获得锁需要执行lock方法,释放锁需要执行unLock方法; ReentrantLock ReadWriteLock Lock类有读锁和写锁,读读共享,写写互斥,读写互斥 ReentrantReadWriteLock 死...

2018-07-01 11:31:13 190 0

原创 JAVA高级开发工程师面试系列——集合

dd

2018-07-01 11:30:32 154 0

原创 JAVA高级开发工程师面试系列——多线程、线程池

Lock Lock类也可以实现线程同步,而Lock获得锁需要执行lock方法,释放锁需要执行unLock方法; ReentrantLock ReadWriteLock Lock类有读锁和写锁,读读共享,写写互斥,读写互斥 ReentrantReadWriteLock 死锁 独...

2018-07-01 11:27:40 110 0

原创 JAVA高级开发工程师面试系列——线程池

线程池原理 Executors Executor家族 Callable和Runnable区别 Runnable不返回结果,不抛出检查异常 Future家族

2018-07-01 11:02:06 77 0

原创 JAVA高级开发工程师面试系列——多线程

线程生命周期 wait和sleep,yield,notify,notifyAll区别 sleep: 不释放锁,不让出系统资源,用yeild 需要时间到或interrupt()方法 任意地方使用 必须捕获异常(有异常抛出) wait: 释放锁,让渡系统资源 需要notify()或not...

2018-07-01 10:58:35 92 0

原创 JAVA高级开发工程师面试系列——Java的数据结构

数组 相同数据类型的元素按一定顺序排列的集合,是一块连续的内存空间。优点:get和set的时间复杂度是O(1);缺点:add和remove的时间复杂度是O(n) 链表 非连续、非顺序的结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的,链表有一系列点组成。优点:add和remove...

2018-07-01 10:53:35 142 0

原创 JAVA高级开发工程师面试系列——JVM

JVM厂商 Hotspot JVM调优 避免大对象和FullGC;对象有效期保证在新生代;JVM内存扩展合理分配;操作系统 JVM内存模型(JMM,Java Memory Model) 程序计数器:线程私有,代表了线程所执行的字节码行号指示器 JAVA虚拟机栈:每个方法在执行时...

2018-07-01 10:50:57 175 0

原创 JAVA高级开发工程师面试系列——Zookeeper

zookeeper选举机制 zookeeper集群 zookeeper如何进行数据同步 zookeeper分布式锁 zookeeper角色 为什么需要Observer 架构承受较大规模Client,需要增加Server,Server增加,则选举投票耗时变长,ZK...

2018-07-01 10:47:57 367 0

原创 JAVA高级开发工程师面试系列——Nginx

Nginx负载均衡策略

2018-06-30 15:30:02 293 0

原创 JAVA高级开发工程师面试系列——搜索引擎

ElasticSearch https://blog.csdn.net/yangwenbo214/article/details/77802331 ElasticSearch选举机制 ElasticSearch如何解决脑裂问题 ElasticSearch索引过程 ElasticSea...

2018-06-30 15:16:05 407 0

原创 JAVA高级开发工程师面试系列——MySQL

MySQL随着数据量增长先后要做的事情 读写分离 表分区(Partition),提高IO:Range分区,List分区,Hash分区,Key分区 分库 分表,即分片(Sharding),提高CPU 注意的是:单表100万数据,不需要分表,优化即可;部分企业优化后单表2000万数据,5000万...

2018-06-30 15:04:04 620 0

原创 JAVA高级开发工程师面试系列——设计模式

工厂模式: 抽象工厂模式: 单例模式:饿汉式,懒汉式 外观模式: 享元模式: 代理模式: 建造者模式: 过滤器模式: 责任链模式: 观察者模式: 状态模式: 策略模式: 模板模式: 本文参考:http://www.runoob.com/design-pattern/des...

2018-06-30 14:55:10 170 0

原创 JAVA高级开发工程师面试系列——事务

事务四大特性ACID 原子性Atomicity 要么全部成功,要么全部失败 一致性Consistency 事务执行之前和执行之后保持一致性状态。如转账前A和B的钱一共是5000,转账之后,A和B的钱也一定是5000 隔离性Isolation 当前事务与其它事务不能互相干扰,事务之间保持隔...

2018-06-30 14:53:51 137 0

原创 JAVA高级开发工程师面试系列——RocketMQ

RocketMQ与Kafka区别 RocketMQ队列消费谨记 一个消费者可以消费多个队列,但一个队列只能由一个消费者消费 RocketMQ消息顺序和重复消费问题 RocketMQ特性 顺序性 消息过滤 消息持久化 消息回溯 大量消息堆积 定时消息 消息重试 ...

2018-06-30 14:50:09 16380 0

原创 JAVA高级开发工程师面试系列——Redis

Redis与Memcached对比 Redis支持的数据类型:字符串String,列表List,哈希Map,集合set,有序集合sorted set;Memcached只支持简单的key-value存储 Redis支持的持久化:可基于内存亦可持久化;Redis提供两种主要的持久化策略:RDB快...

2018-06-30 14:46:06 765 0

原创 JAVA高级开发工程师面试系列——微服务架构

本文参考:https://martinfowler.com/articles/microservices.html

2018-06-30 13:56:46 755 0

原创 JAVA高级开发工程师面试系列——SpringCloud与Dubbo对比

架构完整度 Dubbo只是实现了服务治理,而Spring Cloud下面有17个子项目(可能还会新增)分别覆盖了微服务架构下的方方面面,服务治理只是其中的一个方面,一定程度来说,Dubbo只是Spring Cloud Netflix中的一个子集。 Dubbo 提供了各种 Filter,对于...

2018-06-30 13:51:30 3781 1

原创 JAVA高级开发工程师面试系列——技术选型

背景 社区活跃度 架构完整度 文档质量

2018-06-30 13:24:26 289 0

原创 从CPU缓存看volatile为什么不能保证原子性

阅读本文前,请先阅读 https://blog.csdn.net/huayushuangfei/article/details/80717815 CPU缓存的作用 计算机在运行程序时,每条指令都是在CPU中执行的,在执行过程中势必会涉及到数据的读写。我们知道程序运行的数据是存储在主存中,这时...

2018-06-17 13:15:04 1278 3

原创 CPU缓存

CPU缓存是什么 CPU缓存(Cache Memory)是位于CPU与内存之间的临时存储器,它的容量比内存小的多但是交换速度却比内存要快得多。CPU高速缓存的出现主要是为了解决CPU运算速度与内存读写速度不匹配的矛盾,因为CPU运算速度要比内存读写速度快很多,这样会使CPU花费很长时间等...

2018-06-17 12:15:55 3553 1

原创 深圳递四方科技JAVA笔试:JUnit之TestCase和TestSuite

有如下单元测试类,请回答当用TestRunner执行该单元测试类时,输出结果是() import junit.framework.*; public class TestSimpleBean2 extends junit.framework.TestCase { public Test...

2018-05-08 21:23:04 777 0

原创 深圳递四方科技JAVA笔试:servlet, filter, listener, interceptor

以下哪种技术可以拦截web request和response进行自定义修改() A. servlet B. filter C. listener D. interceptor 面试公司给出的正确答案是:B

2018-05-08 20:53:54 326 0

原创 深圳递四方科技JAVA笔试:匹配整数的正则表达式

A. ^[1-9]d*$ B. ^-[1-9]d*$ C. ^-?[1-9]d*$ D. ^[1-9]d*|0$ 面试公司给出的正确答案是:C

2018-05-08 20:42:14 426 0

原创 MySQL索引使用情况

goods表添加索引 (goods_name,store_name,brand_name) where条件的顺序:123 select * from goods where goods_name = '商品名称' and store_name = &...

2018-05-07 00:32:50 644 0

原创 Executor家族和Future家族

Executor家族常用接口和类 Future家族常用接口和类

2018-05-06 21:01:06 140 0

原创 JAVA笔试:垃圾回收器(答案我也不知道)

关于垃圾收集的哪些叙述是对的() A. 垃圾收集能够在期望的时间释放被java对象占用的内存; B. 垃圾收集将检查并释放不再使用的内存; C. 垃圾收集允许程序开发者明确指定并立即释放该内存; D. 程序开发者必须自己创建一个线程进行内存释放的工作; 我认为正确答案应该是B,知道答案的...

2018-05-02 23:56:35 266 0

原创 JAVA笔试:线程(答案我也不知道)

下面说法正确的有: A. JAVA中的线程是非抢占式的; B. JAVA中的线程不可以共享数据; C. 每个JAVA程序至少有一个线程,即主线程; D. 一旦一个线程被创建,它就立即开始运行; E. 一个线程可能因为不同的原因停止(cease)并进入就绪状态; 我认为ABD不对,CE应...

2018-05-02 23:52:04 431 0

原创 JAVA笔试:List移除元素

import java.util.ArrayList; /** * @author 欢迎加入Java技术交流群:646766275 * */ public class Test { /** * @param args */ public static ...

2018-05-02 23:42:46 104 0

原创 JAVA笔试:List的遍历

import java.util.ArrayList; import java.util.Iterator; import java.util.List; /** * @author 欢迎加入Java技术交流群:646766275 * */ public class Test { ...

2018-05-02 23:32:47 89 0

原创 JAVA笔试:一道综合考察题(内部类,传值调用,多态)

public class Tree { private static String tree = "tree"; String getTree() { return tree; } public static class El...

2018-05-02 23:17:29 261 1

原创 静态变量可以通过类和实例操作

/** * @author 欢迎加入Java技术交流群:646766275 * */ public class Test { private static int x = 100; /** * @param args */ public sta...

2018-05-02 21:54:31 736 0

原创 多线程与CPU核心的关系

回答一:百度知道 每个单位时间内,一个CPU只能处理一个线程(操作系统:thread),以这样的单位进行,如果想要在一单位时间内处理超过一个线程是不可能的,除非是有两个CPU的实体单元。多核心技术是将多个一样的CPU放置于一个封装内(或直接将两个CPU做成一个芯片),而英特尔的HT技术是在CPU...

2018-04-12 22:50:55 6653 0

原创 hadoop之配置SSH远程连接

配置前生成公钥和密钥配置ssh, 任意目录下输入如下命令,然后一路enterssh-keygen -t rsa说明:-t是type,指定type为rsa加密,hadoop官方文档给出的是dsa加密 查看~/.ssh目录 拷贝公钥把公钥拷贝到其它待授权机器,可参照如下链接 http://blo...

2017-12-04 15:46:53 965 0

原创 hadoop之伪分布式模式

配置conf/core-site.xml conf/hdfs-site.xml conf/mapred-site.xml 格式化格式化一个新的分布式文件系统$ bin/hadoop namenode -format格式化之后,查看/tmp目录,比之前 配置环境一章,多出hadoop-ubun...

2017-12-04 15:32:34 192 0

原创 hadoop之单机模式

查看/tmp目录,比之前 配置环境一章,多出hadoop-root和hsperfdata-root两个目录

2017-12-04 14:46:35 222 0

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