- 博客(13)
- 收藏
- 关注
原创 进程、线程、协程
文章目录executor进程、线程、协程并发模型1. 单进(线)程·循环处理请求2. 多进程4. 单线程·回调(callback)和事件轮询NginxNode.js3. 多线程总结PS:函数式编程线程1、如何创建并运行java线程2、线程的六种状态3、Java线程中断**什么是中断?**中断的相关方法**如何使用中断?****1.设置中断监听****2.触发中断****如何安全地停止线程?****...
2020-02-16 23:57:57 994
原创 并发编程(AQS)
文章目录并发编程AQS1、AQS的产生背景2、**AQS的设计和结构****2.1** **设计思想****2.1.1** **同步状态****2.1.2** **阻塞****2.1.3** **队列****2.1.4** **条件队列****2.2** **方法结构****3**、AQS的源代码实现**3.1** **独占式同步状态的获取和释放****3.2** **共享式同步状态的获取和释放*...
2020-02-16 23:57:01 1191
原创 dubbo常见面试
1.Dubbo是什么?Dubbo 是一个分布式、高性能、透明化的 RPC 服务框架,提供服务自动注册、自动发现等高效服务治理方案, 可以和 Spring 框架无缝集成。RPC 指的是远程调用协议,也就是说两个服务器交互数据。2.Dubbo的由来?互联网的快速发展,Web应用程序的规模不断扩大,一般会经历如下四个发展阶段。单一应用架构当网站流量很小时,只...
2020-01-19 11:12:37 384
原创 dubbo第五课(服务化最佳实践)
服务化最佳实践分包建议将服务接口、服务模型、服务异常等均放在 API 包中,因为服务模型和异常也是 API 的一部分,这样做也符合分包原则:重用发布等价原则(REP),共同重用原则(CRP)。如果需要,也可以考虑在 API 包中放置一份 Spring 的引用配置,这样使用方只需在 Spring 加载过程中引用此配置即可。配置建议放在模块的包目录下,以免冲突,如:com/alibaba/chi...
2019-12-28 14:19:46 204
原创 dubbo第四课 (dubbo集群容错)
dubbo集群容错缺省修改集群容错方式<dubbo:service cluster="failsafe" />Failover cluster失败的时候自动切换并重试其他服务器。 通过retries=2。 来设置重试次数Failfast cluster快速失败,只发起一次调用写操作。比如新增记录的时候, 非幂(服务调用后端某一接口发起多次结果不变)等请求inse...
2019-12-28 14:19:14 130
原创 dubbo第三课(dubbo负载均衡)
负载均衡负载均衡,它的职责是将网络请求,或者其他形式的负载“均摊”到不同的机器上。避免集群中部分服务器压力过大,而另一些服务器比较空闲的情况。通过负载均衡,可以让每台服务器获取到适合自己处理能力的负载。在为高负载服务器分流的同时,还可以避免资源浪费,一举两得。负载均衡可分为软件负载均衡和硬件负载均衡。在我们日常开发中,一般很难接触到硬件负载均衡。但软件负载均衡还是可以接触到的,比如 Nginx...
2019-12-28 14:18:40 167
原创 dubbo第二课(dubbo服务注册与发现,调用)
dubbo服务注册与发现,调用dubbo常用配置<dubbo:service/> 服务配置,用于暴露一个服务,定义服务的元信息,一个服务可以用多个协议暴露,一个服务也可以注册到多个注册中心。<dubbo:service ref="demoService" interface="com.unj.dubbotest.provider.DemoService" />&...
2019-12-28 14:18:08 768
原创 dubbo第一课(dubbo介绍)
课程目录1.dubbo框架介绍2.dubbo服务注册与发现,调用3.dubbo负载均衡4.dubbo集群容错5.dubbo与springboot整合带着问题去学习了解一个框架并不是说,知道这个东西怎么用就好了,而是要去细致的了解这个框架,这个应用可以干什么,可以为我们带来什么便利。1. dubbo是什么Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心...
2019-12-28 14:17:28 136
原创 一次mysql死锁的发现
一次mysql死锁的发现这篇文章主要介绍了笔者在业务扩展的时候,设计欠妥,导致的死锁,以及解决方案本题难点在于下面这几部分:INSERT并发执行:在DDB的RC事务下面的并发插入INSERT、DELETE并发执行:INTENTION LOCK产生的原因与前提:INSERT并发执行对于INSERT操作来说,若发生唯一约束冲突,则需要对冲突的唯一索引加上S Next-key L...
2019-01-24 11:41:02 537 1
原创 Java线程模型
Java线程模型JAVA大行其道的今天,已经距离JAVA产生已经二十多年,并不意味着JAVA就已经尽善尽美了,他依旧存在不足与值得思考的地方线程三大模型线程通常被定义为一个进程中代码的不同执行路线,一个进程可包含多个线程。从实现方式上划分,线程有两种类型:“用户级线程”和“内核级线程”(kernel-level treads)。而线程模型就是根据内核线程和用户线程之间的映射关系区分出来的...
2018-12-04 21:54:37 3658
原创 URLClassLoader详解
URLClassLoader详解ClassLoader翻译过来就是类加载器,普通的java开发者其实用到的不多,但对于某些框架开发者来说却非常常见。理解ClassLoader的加载机制,也有利于我们编写出更高效的代码。ClassLoader的具体作用就是将class文件加载到jvm虚拟机中去,程序就可以正确运行了。但是,jvm启动的时候,并不会一次性加载所有的class文件,而是根据需要去动态...
2018-04-26 11:26:21 41453 2
原创 对于架构优化的一些思考
对于架构优化的一些思考纯属意淫,如有雷同,倍感荣耀优化与过度优化弱依赖,强依赖与过度依赖整体与部分优化与过度优化 性能优化,是指性能出现问题,流量出现瓶颈才进行的优化,不要出现优化而优化过度优化,这个词可能出现在SEO里面比较多一些,但是在实际行为中,这种情况也是比较常见的 public String test(@RequestParam("a") int a){
2018-04-20 20:47:33 976
原创 TCP详解
最近去阿里,腾讯等面试,经常会被问到TCP的问题,就整理了一下思路,写给大家,装载请注明作者 三次握手就不多解释:TCP三次握手的过程如下:客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SEND状态。服务器端收到SYN报文,回应一个SYN (SEQ=y)ACK(ACK=x+1)报文,进入SYN_RECV状态。客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,...
2017-04-27 16:12:19 429 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人