
java
jsbintask22
blog: https://jsbintask.cn
简书:https://www.jianshu.com/u/bb01ed26c070
github: https://github.com/
微信公众号:jsbintask
展开
-
从未这么明白的设计模式(一):单例模式
什么是单例?为什么要用单例?一个类被设计出来,就代表它表示具有某种行为(方法),属性(成员变量),而一般情况下,当我们想使用这个类时,会使用new关键字,这时候jvm会帮我们构造一个该类的实例。而我们知道,对于new这个关键字以及该实例,相对而言是比较耗费资源的。所以如果我们能够想办法在jvm启动时就new好,或者在某一次实例new好以后,以后不再需要这样的动作,就能够节省很多资源了。哪些类可...原创 2019-01-29 16:51:48 · 413 阅读 · 0 评论 -
谈一谈ConcurrentModificationException
ConCurrentModificationException`是jdk用于限制并发情况下容器结构改变的异常类。当一个线程操作一个容器时,此时如果有另一个线程修改了容器大小,将抛出这个异常原创 2019-04-10 11:56:02 · 323 阅读 · 0 评论 -
这可能是ThreadLocal说得最清楚的一篇文章
本文原创地址,我的博客:https://jsbintask.cn/2019/04/01/jdk/jdk8-threadlocal/(食用效果最佳),转载请注明出处!前言ThreadLocal是jdk中一个非常重要的工具,它可以控制堆内存中的对象只能被指定线程访问,如果你经常阅读源码,基本在各大框架都能发现它的踪影。而它最经典的应用就是事务管理,同时它也是面试中的常客。原理我们知道,堆...原创 2019-04-01 16:41:19 · 335 阅读 · 0 评论 -
SpringCloud-Zuul(一):技术选型及请求流程源码走读
本文原创地址,我的博客:https://jsbintask.cn/2019/03/28/springcloud/springcloud-zuul-process/(食用效果最佳),转载请注明出处!前言最近公司最新架构确定使用微服务之后,经过讨论,最终还是选用了SpringCloud的体系。我负责网关,鉴权服务的研发。记录下这段时间新接触的知识。网关技术选型springcloud选用了最...原创 2019-03-28 11:21:16 · 658 阅读 · 0 评论 -
SpringCloud-Zuul(三):常用配置详解
本文原创地址,我的博客:https://jsbintask.cn/2019/04/11/springcloud/springcloud-zuul-config/(食用效果最佳),转载请注明出处!SpringCloud Zuul同系列文章:SpringCloud-Zuul(一):技术选型及请求流程源码走读SpringCloud-Zuul(二):自定义Filter及内部路由源码解析Sp...原创 2019-04-11 15:34:04 · 473 阅读 · 0 评论 -
从未这么明白的设计模式(二):观察者模式
本文原创地址,我的博客:https://jsbintask.cn/2019/04/15/designpattern/observer/(食用效果最佳),转载请注明出处!前言观察者模式定义了对象间的一种一对多依赖关系,当一个对象状态发生改变时,观察者们都可以做出相应的更新,使得系统更易于扩展!案例小丽长得很漂亮,“天生丽质难自弃”, 是一个不折不扣的"女神"。小丽身边有很多”备胎...原创 2019-04-15 17:35:30 · 315 阅读 · 0 评论 -
SpringCloud-Zuul(二):自定义Filter及内部路由源码解析
本文原创地址,我的博客:https://jsbintask.cn/2019/04/03/springcloud/springcloud-zuul-customfilters/(食用效果最佳),转载请注明出处!前言上一篇介绍了SpringCloud使用Zuul的调用流程,明白了Zuul的工作原理关键在于ZuulServlet和它的内置Filter,所以在实际工作中,编写业务逻辑的关键就在...原创 2019-04-03 16:17:59 · 560 阅读 · 0 评论 -
JDK中关于BIO,NIO,AIO,同步,异步介绍
本文原创地址,我的博客:https://jsbintask.cn/2019/04/16/essay/nio/(食用效果最佳),转载请注明出处!在理解什么是BIO,NIO,AIO之前,我们首先需要了解什么是同步,异步,阻塞,非阻塞。假如我们现在要去银行取钱:同步 : 自己亲自出马持银行卡到银行取钱(使用同步IO时,Java自己处理IO读写);异步 : 委托一小弟拿银行卡到银行取钱,然后...原创 2019-04-16 17:19:18 · 429 阅读 · 0 评论 -
神奇的Unsafe,你get了吗
本文原创地址,我的博客:https://jsbintask.cn/2019/05/05/jdk/jdk8-unsafe/(食用效果最佳),转载请注明出处!简介Unsafe是jdk提供的一个直接访问操作系统资源的工具类(底层c++实现),它可以直接分配内存,内存复制,copy,提供cpu级别的CAS乐观锁等操作。它的目的是为了增强java语言直接操作底层资源的能力,无疑带来很多方便。但是...原创 2019-05-06 09:00:43 · 527 阅读 · 0 评论 -
从未这么明白的设计模式(三):装饰器模式
本文原创地址:jsbintask的博客(食用效果最佳),转载请注明出处!前言装饰器模式是为了运行时动态的扩展一个类的功能。它谨遵开闭原则,它实现的关键在于继承和组合的结合使用,解耦对象之间的关系。各种设计模式学习地址:https://github.com/jsbintask22/design-pattern-learning栗子首先我们列举一个案例,并且按照面向对象的思想来对应实...原创 2019-05-23 14:10:45 · 450 阅读 · 0 评论 -
HashSet源码解析从一道面试题说起:HashSet内部是怎么实现的?
本文原创地址,我的博客:https://jsbintask.cn/2019/03/27/jdk/jdk8-hashset/(食用效果最佳),转载请注明出处!前言前段时间朋友面试遇到这个问题:谈一谈HashSet的特点,它是怎么实现的,使用时有什么需要注意的点呢?恰好最近在写这方面的文章,于是正好通过本篇文章讲解下HashSet的源码实现,需要注意的点。HashSet实现了Set接口,是一...原创 2019-03-27 15:49:04 · 383 阅读 · 0 评论 -
jdk1.8 LinkedList源码全分析
本文原创地址,我的博客:https://jsbintask.cn/2019/03/26/jdk/jdk8-linkedlist/(食用效果最佳),转载请注明出处!前言LinkedList内部是一个链表的实现,一个节点除了保持自身的数据外,还持有前,后两个节点的引用。所以就数据存储上来说,它相比使用数组作为底层数据结构的ArrayList来说,会更加耗费空间。但也正因为这个特性,它删除,插入...原创 2019-03-26 16:22:41 · 393 阅读 · 0 评论 -
jdk1.8源码解析-ArrayList
本文原创地址,我的博客:https://jsbintask.cn/2019/03/22/jdk/jdk8-arraylist/(食用效果最佳),转载请注明出处!前言ArrayList是一个长度可调节的数组,使用者只需向其中添加,删除,获取元素,可以向其中添加任何对象(包括null值),无需关系它的扩容,,缩减问题。它实现了list接口所有方法,它基本等价于Vector,唯一不同的是它没...原创 2019-03-22 17:02:35 · 297 阅读 · 0 评论 -
netty极简教程(一):从helloworld到编写一个聊天室
netty介绍Nowadays we use general purpose applications or libraries to communicate with each other. For example, we often use an HTTP client library to retrieve information from a web server and to i...原创 2019-01-31 11:01:53 · 350 阅读 · 0 评论 -
mysql面试题:如何实现 MySQL 的读写分离?MySQL 主从复制原理是啥?如何解决 MySQL 主从同步的延时问题?
面试题你有没有做 MySQL 读写分离?如何实现 MySQL 的读写分离?MySQL 主从复制原理的是啥?如何解决 MySQL 主从同步的延时问题?考点分析高并发这个阶段,肯定是需要做读写分离的,啥意思?因为实际上大部分的互联网公司,一些网站,或者是 app,其实都是读多写少。所以针对这个情况,就是写一个主库,但是主库挂多个从库,然后从多个从库来读,那不就可以支撑更高的读并发压力了吗?面试...原创 2019-02-17 19:03:23 · 3874 阅读 · 0 评论 -
(干货)Android入门完整项目:一个有定时提醒功能的备忘录
本文原创地址,我的博客:https://jsbintask.cn/2019/02/23/android/android-memo/(食用效果最佳),转载请注明出处!介绍今天给大家分享一个以前学习android时做的小项目,一个带有定时提醒功能的备忘录,主要用到RecycleView, sqlite, butterknife,效果如下:apk地址详细功能实现建立db,编写db h...原创 2019-02-23 16:03:34 · 4861 阅读 · 14 评论 -
高并发下数据库分库分表面试题整理
面试题1为什么要分库分表(设计高并发系统的时候,数据库层面该如何设计)?用过哪些分库分表中间件?不同的分库分表中间件都有什么优点和缺点?你们具体是如何对数据库如何进行垂直拆分或水平拆分的?面试题剖析为什么要分库分表?(设计高并发系统的时候,数据库层面该如何设计?)说白了,分库分表是两回事儿,大家可别搞混了,可能是光分库不分表,也可能是光分表不分库,都有可能。我先给大家抛出来一个场景。...原创 2019-02-17 19:43:48 · 8028 阅读 · 2 评论 -
HashMap源码全解析从一道面试题说起:请一行一行代码描述下hashmap put方法
本文原创地址,我的博客:https://jsbintask.cn/2019/02/27/jdk/jdk8-hashmap-sourcecode/(食用效果最佳),转载请注明出处!前言前阵子(估计也快半年了吧)遇到这么一个面试题:请一行代码一行代码描述下HashMap put方法。我:。。。哈哈,其实也没有无语,当时知道HashMap的原理,数据结构,以及一些要注意的点,没想到面试官...原创 2019-02-28 17:22:02 · 1779 阅读 · 0 评论 -
线程池?面试?看这篇就够了!
本文原创地址,我的博客:https://jsbintask.cn/2019/03/10/jdk/jdk8-threadpool/(食用效果最佳),转载请注明出处!前言在实际工作中,线程是一个我们经常要打交道的角色,它可以帮我们灵活利用资源,提升程序运行效率。但是我们今天不是探讨线程!我们今天来聊聊另一个与线程息息相关的角色:线程池.本篇文章的目的就是全方位的解析线程池的作用,以及jdk...原创 2019-03-12 16:45:28 · 719 阅读 · 0 评论 -
你真的了解restful api吗?
本文原创地址,我的博客:https://jsbintask.cn/2019/03/20/api/restful-api-best-practices/(食用效果最佳),转载请注明出处!前言在以前,一个网站的完成总是“all in one”,页面,数据,渲染全部在服务端完成,这样做的最大的弊端是后期维护,扩展极其痛苦,开发人员必须同时具备前后端知识。于是慢慢的后来兴起了前后端分离的思想:...原创 2019-03-21 09:15:27 · 796 阅读 · 0 评论 -
你的rest服务幂等吗?
本文原创地址,我的博客:https://jsbintask.cn/2019/03/21/api/restful-api-idempotent/(食用效果最佳),转载请注明出处!前言上一篇我们介绍了restful api相关知识,本篇我们介绍另一个于rest息息相关的概念:幂等;你真的了解rest api吗?介绍我们知道,springcloud做微服务时,服务之间的调用,服务的...原创 2019-03-21 18:09:17 · 326 阅读 · 0 评论 -
你的rest服务幂等吗?
本文原创地址,我的博客:https://jsbintask.cn/2019/03/21/api/restful-api-idempotent/(食用效果最佳),转载请注明出处!前言上一篇我们介绍了restful api相关知识,本篇我们介绍另一个于rest息息相关的概念:幂等;你真的了解rest api吗?介绍我们知道,springcloud做微服务时,服务之间的调用,服务的...原创 2019-03-22 09:05:08 · 250 阅读 · 0 评论 -
分布式系统面试题:分布式事务解决方案?
面试题分布式事务了解吗?你们是如何解决分布式事务问题的?面试题剖析一般来说,分布式事务的实现主要有以下 5 种方案:XA 方案TCC 方案本地消息表可靠消息最终一致性方案最大努力通知方案两阶段提交方案/XA方案所谓的 XA 方案,即:两阶段提交,有一个事务管理器的概念,负责协调多个数据库(资源管理器)的事务,事务管理器先问问各个数据库你准备好了吗?如果每个数据库都回复 ok...转载 2019-03-25 21:37:04 · 1091 阅读 · 0 评论 -
从未这么明白的设计模式(四):策略模式
本文原创地址:jsbintask的博客(食用效果最佳),转载请注明出处!前言策略模式是一种行为模式,它用以运行时动态的改变类的行为,通过将一系列类似的算法封装成不同的类来达到目的,可以有效减少代码中if else的冗余。它实现的关键是面向接口接口编程以及有一个算法切换者。它的优点是扩展性良好,可以自由切换策略。栗子周末天气不错,小明准备去爬武功山,于是他请教它的出行助手应该选择怎样...原创 2019-07-10 16:31:11 · 490 阅读 · 0 评论