
面试
文章平均质量分 72
馥钰
好人一生平安!道阻且长,行则将至!
选择一条自己喜欢的路,向前走,莫回头!
天道酬勤!
学海无涯,温故而知新!
线下不努力,线上出问题!线上出问题,努力全白费!
分布式系统、高并发、大流量,分布式计算、分布式存储!
展开
-
使用ForkJoin
使用ForkJoin - 廖雪峰的官方网站Java 7开始引入了一种新的Fork/Join线程池,它可以执行一种特殊的任务:把一个大任务拆成多个小任务并行执行。我们举个例子:如果要计算一个超大数组的和,最简单的做法是用一个循环在一个线程内完成:┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐└─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘还有一种方法,可以把数组拆成两部分,分别计算,最后转载 2022-02-25 10:38:51 · 131 阅读 · 0 评论 -
什么是单点登录(SSO)
什么是单点登录(SSO) - 知乎前言只有光头才能变强。文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y在我实习之前我就已经在看单点登录的是什么了,但是实习的时候一直在忙其他的事,所以有几个网站就一直躺在我的收藏夹里边:在前阵子有个读者来我这投稿,是使用JWT实现单点登录的(但是文章中并没有介绍什么是单点登录),所以我觉得是时候来整理一下了。简单代码实现JWT(json web token)完成SSO单转载 2022-02-07 16:09:51 · 1116 阅读 · 0 评论 -
OAuth2.0与SSO比较
OAuth2.0与SSO比较_咖啡男孩之SRE之路-优快云博客_oauth2.0与ssoOAuth是Open Authority的缩写,是令牌代替用户密码访问应用的又一标准,前面一期介绍过SSO单点登录(SpringBoot模拟单点登录),也是令牌登陆的一种方式。OAuth2.0最典型的授权码认证方式:资源服务器和鉴权服务器都是属于资源所有方,也就是最终的服务提供方,第三接入方需要先与鉴权服务器申请合作获取客户编码。对于资源服务器来说,需要做的是1 accessToken和cl转载 2022-02-07 15:48:00 · 1922 阅读 · 0 评论 -
一看就懂的DDD-(Domain Drive Design领域驱动设计)设计思想
本篇文章根据以下视频教程整理而来,除了广告部分,整体课程质量还是非常通俗易懂,讲的软件开发中的变更问题,也是深有体会!2小时掌握宇宙最强DDD(Domain driven design)DDD领域驱动设计实战_哔哩哔哩_bilibili我的总结...原创 2021-12-28 16:34:38 · 990 阅读 · 0 评论 -
wc命令
Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。1.命令格式:wc [选项]文件...2.命令功能:统计指定文件中的字节数、字数、行数,并将统计结果显示输出。该命令统计指定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所指定文件的总统计数。3.命令参数:转载 2017-08-12 17:02:24 · 364 阅读 · 0 评论 -
Spring之AOP由浅入深
1.AOP的作用 在OOP中,正是这种分散在各处且与对象核心功能无关的代码(横切代码)的存在,使得模块复用难度增加。AOP则将封装好的对象剖开,找出其中对多个对象产生影响的公共行为,并将其封装为一个可重用的模块,这个模块被命名为“切面”(Aspect),切面将那些与业务无关,却被业务模块共同调用的逻辑提取并封装起来,减少了系统中的重复代码,降低了模块间的耦合度,同时提高了系统的可维护性。2.DI...转载 2017-08-15 12:33:36 · 240 阅读 · 0 评论 -
Java动态代理的两种实现方法
AOP的拦截功能是由java中的动态代理来实现的。说白了,就是在目标类的基础上增加切面逻辑,生成增强的目标类(该切面逻辑或者在目标类函数执行之前,或者目标类函数执行之后,或者在目标类函数抛出异常时候执行。不同的切入时机对应不同的Interceptor的种类,如BeforeAdviseInterceptor,AfterAdviseInterceptor以及ThrowsAdviseIntercepto转载 2017-08-15 15:01:24 · 258 阅读 · 0 评论 -
java的动态代理机制详解
在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的功能,我们更需要学习的是其底层是怎么样的一个原理,而AOP的原理就是java的动态代理机制,所以本篇随笔就是对java的动态机制进行一个回顾。在java的动态代理机制中,有两个重要的类或接口转载 2017-08-15 15:03:32 · 213 阅读 · 0 评论 -
java动态代理原理及解析
代理:设计模式代理模式是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个真实对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。通过代理层这一中间层,有效的控制对于真实委托类对象的直接访问,同时可以实现自定义的控制策略(spring的AOP机制),设计上获得更大的灵活性。java动态代理的类和接口(jdk1.6源码转载 2017-08-15 15:32:37 · 425 阅读 · 0 评论 -
SpringMVC工作原理
SpringMVC框架介绍Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 We转载 2017-08-15 15:52:26 · 240 阅读 · 0 评论 -
深入理解java虚拟机(十) Java 虚拟机运行时栈帧结构
运行时栈帧结构栈帧(Stack Frame) 是用于虚拟机执行时方法调用和方法执行时的数据结构,它是虚拟栈数据区的组成元素。每一个方法从调用到方法返回都对应着一个栈帧入栈出栈的过程。每一个栈帧在编译程序代码的时候所需要多大的局部变量表,多深的操作数栈都已经决定了,并且写入到方发表的 Code 属性之中,一次一个栈帧需要多少内存,不会受到程序运行期变量数据的影响,仅仅取决于具体的虚拟机实现。转载 2017-08-15 15:55:17 · 258 阅读 · 0 评论 -
闲谈Tomcat性能优化
Tomcat在各位JavaWeb从业者常常就是默认的开发环境,但是Tomcat的默认配置作为生产环境,尤其是内存和线程的配置,默认都很低,容易成为性能瓶颈.幸好Tomcat还有很多的提升空间.下文介绍一下Tomcat优化,可以分为内存,线程,IO.一:Tomcat内存优化,启动时告诉JVM我要一块大内存(调优内存是最直接的方式)Windows 下的catalina.bat转载 2017-08-15 16:40:59 · 263 阅读 · 0 评论 -
grep 命令
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响转载 2017-08-14 11:44:52 · 417 阅读 · 0 评论 -
linux 下查找文件或者内容常有命令
whereis 查找软件的安装路径-b 只查找二进制文件-m 只查找帮助文件-s 只查找源代码-u 排除指定类型文件-f 只显示文件名-B 在指定目录下查找二进制文件-M 在指定目录下查找帮助文件-S 在指定目录下查找源代码locate 在文件索引数据库中搜索文件-d 搜索指定数据库updatedb更新文件索引数据库f转载 2017-08-14 11:44:33 · 299 阅读 · 0 评论 -
秒杀系统架构分析与实战
0 系列目录秒杀系统架构秒杀系统架构分析与实战1 秒杀业务分析正常电子商务流程(1)查询商品;(2)创建订单;(3)扣减库存;(4)更新订单;(5)付款;(6)卖家发货秒杀业务的特性(1)低廉价格;(2)大幅推广;(3)瞬时售空;(4)一般是定时上架;(5)时间短、瞬时并发量高;2 秒杀技术挑战假设某网站秒杀活动只推出一件商品,预计会转载 2017-08-14 11:00:42 · 334 阅读 · 0 评论 -
Java多线程知识小抄集(三)
本文主要整理博主遇到的Java多线程的相关知识点,适合速记,故命名为“小抄集”。本文没有特别重点,每一项针对一个多线程知识做一个概要性总结,也有一些会带一点例子,习题方便理解和记忆。51. SimpleDateFormat非线程安全当多个线程共享一个SimpleDateFormat实例的时候,就会出现难以预料的异常。主要原因是parse()方法使用calendar来生成返回转载 2017-08-14 11:33:24 · 106 阅读 · 0 评论 -
Java多线程知识小抄集(二)
本文主要整理博主遇到的Java多线程的相关知识点,适合速记,故命名为“小抄集”。本文没有特别重点,每一项针对一个多线程知识做一个概要性总结,也有一些会带一点例子,习题方便理解和记忆。27. ConcurrentHashMapConcurrentHashMap是线程安全的HashMap,内部采用分段锁来实现,默认初始容量为16,装载因子为0.75f,分段16,每个段的HashEntr转载 2017-08-14 11:33:49 · 295 阅读 · 0 评论 -
Java多线程知识小抄集(一)
本文主要整理博主遇到的Java多线程的相关知识点,适合速记,故命名为“小抄集”。本文没有特别重点,每一项针对一个多线程知识做一个概要性总结,也有一些会带一点例子,习题方便理解和记忆。1. interrupted与isInterrupted的区别interrupted():测试当前线程是否已经是中断状态,执行后具有状态标志清除为false的功能。 isInterrupted():转载 2017-08-14 11:34:12 · 324 阅读 · 0 评论 -
设计模式:各个模式间的对比
建造者模式、抽象工厂模式、工厂模式的区别建造者模式和抽象工厂模式 与抽象工厂模式相比,建造者模式返回一个组装好的完整产品,而抽象工厂模式返回一系列相关的产品,这些产品位于不同的产品登记结构,构成了一个产品族。在抽象工厂模式中,客户端实例化工厂类,然后调用工厂方法获取所需产品对象,而在建造者模式中,客户端可以不直接调用建造者的相关方法,而是通过指挥者类来指导如何生成对象,包括对象转载 2017-08-14 11:42:16 · 237 阅读 · 0 评论 -
设计模式笔记--设计模式比较
一、创建类模式大PK创建类模式包括工厂方法模式、建造者模式、抽象工厂模式、单例模式和原型模式,它们都能够提供对象的创建和管理职责。其中的单例模式和原型模式非常容易理解,单例模式是要保持在内存中只有一个对象,原型模式是要求通过复制的方式产生一个新的对象,这两个不容易混淆。剩下的就是工厂方法模式、抽象工厂模式和建造者模式了,这三个之间有较多的相似性。 1、工厂方法模式VS转载 2017-08-14 11:42:57 · 1408 阅读 · 0 评论 -
三种工厂模式区别总结
工厂模式分为三种:简单工厂、工厂模式和抽象工厂模式。三者之间存在哪些异同呢?先分别看看各个模式的特点一、 简单工厂模式:实现了算法和界面的分离,也就是将业务逻辑和界面逻辑分开了,降低了耦合度。算法的封装: 定义一个抽象的算法接口,提供不同算法的公共接口方法。其他具体算法继承这个抽象类,并实现具体的算法。简单工厂类: 作为一个独立的类,实现了针对不同的算法转载 2017-08-14 11:43:10 · 500 阅读 · 0 评论 -
为什么工厂模式是华而不实的—浅谈工厂模式的利与弊
转载请注明出处:http://blog.youkuaiyun.com/singwhatiwanna/article/details/17428923说明:博主虚心接受大家的抨击,批评,指正前言我一直想介绍下工厂模式,我曾经搞过J2EE,用的是轻量级SSH框架,其中spring有IOC概念,可以称之为控制反转或者依赖注入,在系统开发中,IOC可以很好的替代工厂模式。若干年前,我只用过IOC,转载 2017-08-14 11:43:50 · 295 阅读 · 0 评论 -
Java 开发必会的 Linux 命令
作为一个Java开发人员,有些常用的Linux命令必须掌握。即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令。因为很多服务器上都是Linux系统。所以,要和服务器机器交互,就要通过shell命令。本文并不会对所有命令进行详细讲解,只给出常见用法和解释。具体用法可以使用--help查看帮助或者直接通过google搜索学习。1.查找文件转载 2017-08-15 17:27:50 · 334 阅读 · 0 评论 -
redis详解(三)-- 面试题
1. 使用redis有哪些好处?(1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)(2) 支持丰富数据类型,支持string,list,set,sorted set,hash(3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行(4) 丰富的特性:可用于缓存,消息,转载 2017-09-10 19:35:59 · 303 阅读 · 0 评论 -
Redis 和 Memcached 的区别
Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较:Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的GET/SET一样高效...转载 2017-09-10 19:37:55 · 401 阅读 · 0 评论 -
某电商网站Java面试题-2(高级开发,架构级别)
出自:http://my.oschina.net/huangzhuang/blog/380171摘要: 一、Java线程池的具体实现,用过哪些Java多线程并发控制框架? 二、多线程的锁是加在哪里的,synchronized与static synchronized 的区别? 三、Spring加载类的注解有哪几种? 四、详细说明Spring的事务传播特性 五、你对Spring的IoC和AOP是否有过...转载 2018-03-05 14:43:51 · 620 阅读 · 0 评论 -
对于Dubbo一些面试题自己的答案
Dubbo 头几天瞧到《Java顶尖口试必问-Dubbo口试题汇总》,对于内里得难点本人试着答复少许,有错误得请民众指正。 Dubbo固然大概不革新了,可是背靠阿里得措施能力,中文报告得多样,非常合适很多几中小型分散式类型得开辟。一、Dubbo通讯协议 第一、dubbo Dubbo 缺省协议采用单一长连接和 NIO 异步通讯,适合于小数据量大并发的服务调用,以及...转载 2017-09-10 19:51:33 · 143026 阅读 · 16 评论 -
深入理解JVM之四:详解垃圾收集器
前言前面已经对垃圾收集算法有了较为详细的介绍,这里我们将对JVM中具体的垃圾回收器进行介绍,在虚拟机规范中并没有对垃圾回收器如何实现具体介绍,因此每个厂商的垃圾回收器可能会完全不同,但是我们介绍的是基于JDK1.7之后的Hotspot虚拟机(包括前面对Java虚拟机的介绍也是基于jdk1.7版本的)。在Hotspot中,虚拟机的收集器主要有下:可以看到垃圾收集器是按对象的分代来划分的,可以用线条连...转载 2017-07-27 17:37:00 · 275 阅读 · 0 评论 -
深入理解JVM之一:Java内存区域
前言Java虚拟机运行时数据区分为以下几个部分:方法区、虚拟机栈、本地方法栈、堆、程序计数器。如下图所示:程序计数器程序计数器可以理解为当前线程执行的字节码的行号指示器,字节码解释器就是通过改变这个值来获取需要执行的下一条需要执行的字节码指令。对于多线程来说,每条线程都有自己的程序计数器,这样各线程之间的计数器互不影响,这类内存区域也叫作“私有内存”(可以看到其实并不是私有的),之所以这么设计,是...转载 2017-07-25 17:46:46 · 236 阅读 · 0 评论 -
115个Java面试题和答案——终极列表(上)
本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力。下面的章节分为上下两篇,第一篇将要讨论面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,第二篇主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servlet和JSP。开始!目录面向对象编程(OOP)常见的Jav...转载 2017-07-22 13:33:53 · 235 阅读 · 0 评论 -
40个Java集合面试问题和答案
1.Java集合框架是什么?说出一些集合框架的优点?每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。它还包括在Java并发包中,阻塞接口以及它们的实现。集合框架的部分优点如下:(1)使...转载 2017-07-22 11:08:27 · 257 阅读 · 0 评论 -
Spring面试问答Top 25
http://www.importnew.com/15851.html#ioc_di本人收集了一些在大家在面试时被经常问及的关于Spring的主要问题,这些问题有可能在你下次面试时就会被问到。对于本文中未提及的Spring其他模块,我会单独分享面试的问题和答案。欢迎大家向我推荐你在面试过程中遇到关于Spring的问题。我会把大家推荐的问题添加到下面的Spring常用面试题清单中供大家参考。问题清单...转载 2018-02-28 22:46:03 · 223 阅读 · 0 评论 -
Java面试题集(七)--Spring常见面试问题
http://blog.youkuaiyun.com/u014079773/article/details/52453002以下为spring常见面试问题:1、什么是Spring框架?Spring框架有哪些主要模块?Spring框架是一个为Java应用程序的开发提供了综合、广泛的基础性支持的Java平台。Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。Spring框架本身...转载 2018-02-28 22:44:25 · 212 阅读 · 0 评论 -
查看linux中某个端口(port)是否被占用
http://www.findme.wang/blog/detail/id/1.html 一、使用lsof 格式:1lsof -i:port比如我要查看80端口占用情况,可以使用 lsof -i:80可以很清楚的看到是被那个端口占用了备注:需要注意的时候,lsof需要拥有该进程的权限,方可以查看,占用情况。比如,我使用另一个用户,就无法查看了。当前的名为dequan用户...转载 2018-02-28 22:14:30 · 746 阅读 · 0 评论 -
Linux基础及常用命令(笔试面试必备)
http://lib.youkuaiyun.com/article/linux/39381一. 基本使用X window与文本模式的切换。通常我们也称文本模式为终端机接口, terminal 或 console喔!Linux默认的情况下会提供六个Terminal来让使用者登陆,切换的方式为使用:[Ctrl] + [Alt] + [F1]~[F6]的组合按钮。系统会将[F1] ~ [F6]命名为tty1 ~ t...转载 2018-02-28 22:10:43 · 247 阅读 · 0 评论 -
20条Linux命令面试问答
https://linux.cn/article-4790-1.html问:1 如何查看当前的Linux服务器的运行级别?答: 'who -r' 和 'runlevel' 命令可以用来查看当前的Linux服务器的运行级别。问:2 如何查看Linux的默认网关?答: 用 "route -n" 和 "netstat -nr" 命令,我们可以查看默认网关。除了默认的网关信息,这两个命令还可以显示当前的路...转载 2018-02-28 21:52:52 · 226 阅读 · 0 评论 -
面试 linux常用命令
完整链接:http://blog.youkuaiyun.com/ggxxkkll/article/details/19761075显示目录和文件的命令 Ls:用于查看所有文件夹的命令。 Dir:用于显示指定文件夹和目录的命令 Tree: 以树状图列出目录内容 Du:显示目录或文件大小 修改目录,文件权限和属主及数组命令 Chmod:用于改变指定文件的权限命令。 Chown:用于改变文...转载 2018-02-28 21:47:04 · 186 阅读 · 0 评论 -
【Java高级开发工程师】近一个月的面试总结
http://blog.youkuaiyun.com/pistolove/article/details/73610588时隔两年,再一次的面临离职找工作,这一次换工作有些许的不舍,也有些许的无奈。个人所在的技术团队不错,两年时间成长了很多,也很不舍这个团队。但是,由于公司的某些原因和对于自身未来发展的综合考虑,又不得不得离去,去寻找更合适的地方成长和发展。相比于两年前,现在找工作没有那么的着急,也没有那转载 2018-02-02 15:43:02 · 541 阅读 · 0 评论 -
【上海校区】整理的Dubbo面试题
http://bbs.itheima.com/forum.php?mod=viewthread&tid=386556本帖最后由 chenquanyi626 于 2017-12-21 10:43 编辑Dubbo是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,0转载 2018-02-02 11:05:14 · 7674 阅读 · 0 评论 -
彻底理解ThreadLocal
ThreadLocal是什么 早在JDK 1.2的版本中就提供Java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。 当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应...转载 2017-09-01 17:45:07 · 295 阅读 · 0 评论