摘要:
TCP UDPTCP与UDP基本区别 1.基于连接与无连接 2.TCP要求系统资源较多,UDP较少; 3.UDP程序结构较简单 4.流模式(TCP)与数据报模式(UDP); 5.TCP保证数据正确性,UDP可能丢包 6.TCP保证数据顺序,UDP不保证 UDP应用场景: 1.面向数据报方式 2.网络 阅读全文
摘要:
本文原创,原文地址为:http://www.cnblogs.com/fengzheng/p/5847441.html SOA和微服务到底是什么关系? 说实话,我确实不明白SOA和微服务到底有什么本质上的区别,两者说到底都是对外提供接口的一种架构设计方式。我倒觉得微服务其实就是随着互联网的发展,复杂的 阅读全文
摘要:
首先了解什么叫RPC,为什么要RPC,RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。 RPC 功能目标 RPC 的主要功能目标是让构建分布式计算(应 阅读全文
摘要:
实现集群,一个重要的保证就是高可用性,要在各种软件和硬件的故障情况下仍然能够提供服务。一般来说有两种解决思路,一种是每一个节点互相之间都会进行数据交互以及监控,出现故障的时候,各个节点都可以做协调任务。另一种就是增加一个协调组件来对集群进行实时监控以及故障处理。现在使用比较广泛的是第二种方案,各个模 阅读全文
摘要:
Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较: 具体为什么会出现上面的结论,以下为收集到的资料: 1、数据类型支持不同 与Memcached仅支持简单的key-value结构的数据记录不同,Redis支持的数据类型要丰富得多。最为常用的数据类型 阅读全文
摘要:
1、锁提供了两种主要特性:互斥(mutual exclusion) 和可见性(visibility)。 互斥即一次只允许一个线程持有某个特定的锁,因此可使用该特性实现对共享数据的协调访问协议,这样,一次就只有一个线程能够使用该共享数据。 可见性要更加复杂一些,它必须确保释放锁之前对共享数据做出的更改 阅读全文
摘要:
Mina是Apache社区维护的一个开源的高性能IO框架,在业界内久经考验,广为使用。Mina与后来兴起的高性能IO新贵Netty一样,都是韩国人Trustin Lee的大作,二者的设计理念是极为相似的。在作为一个强大的开发工具的同时,这两个框架的优雅设计和不俗的表现,有很多地方是值得学习和借鉴的。 阅读全文
摘要:
1、HttpSession的方法 Object getAttribute(String); Enumeration<String> getAttributeNames(); long getCreationTime(); String getId(); String getLastAccessedT 阅读全文
摘要:
IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。 一、BIO 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待 阅读全文
摘要:
create table test23(indexH int,name varchar(20),subject varchar(20),grade int)insert allinto test23 values(1,'小张','语文',70)into test23 values(2,'小张','英 阅读全文
摘要:
ConcurrentHashMap是Java并发包中提供的一个线程安全且高效的HashMap实现(若对HashMap的实现原理还不甚了解,可参考我的另一篇文章HashMap实现原理及源码分析),ConcurrentHashMap在并发编程的场景中使用频率非常之高,本文就来分析下ConcurrentH 阅读全文
摘要:
架构以及我理解中架构的本质 在开始谈我对架构本质的理解之前,先谈谈对今天技术沙龙主题的个人见解,千万级规模的网站感觉数量级是非常大的,对这个数量级我们战略上 要重 视 它 , 战术上又 要 藐 视 它。先举个例子感受一下千万级到底是什么数量级?现在很流行的优步(Uber),从媒体公布的信息看,它每天 阅读全文
摘要:
Redis中数据存储模式有2种:cache-only,persistence; cache-only即只做为“缓存”服务,不持久数据,数据在服务终止后将消失,此模式下也将不存在“数据恢复”的手段,是一种安全性低/效率高/容易扩展的方式; persistence即为内存中的数据持久备份到磁盘文件,在服 阅读全文
摘要:
什么是 Volatile 变量? Volatile 是 Java 中的一个关键字。你不能将它设置为变量或者方法名,句号。 认真点,别开玩笑,什么是 Volatile 变量?我们应该什么时候使用它? 哈哈,对不起,没法提供帮助。 volatile 关键字的典型使用场景是在多线程环境下,多个线程共享变量 阅读全文
摘要:
LinkedTransferQueue 出身 Google ,现在已经被集成在 JDK7 中,但目前主流的 JDK 平台仍然是 JDK6 ,所以很多时候我们需要这样引入: import com.google.code.yanf4j.util ; 她的作者依然是 Doug Lea 大神,他说: Lin 阅读全文
摘要:
ReenTrantLock可重入锁(和synchronized的区别)总结 可重入性: 从名字上理解,ReenTrantLock的字面意思就是再进入的锁,其实synchronized关键字所使用的锁也是可重入的,两者关于这个的区别不大。两者都是同一个线程没进入一次,锁的计数器都自增1,所以要等到锁的 阅读全文
摘要:
一、Java内存模型 想要理解volatile为什么能确保可见性,就要先理解Java中的内存模型是什么样的。 Java内存模型规定了所有的变量都存储在主内存中。每条线程中还有自己的工作内存,线程的工作内存中保存了被该线程所使用到的变量(这些变量是从主内存中拷贝而来)。线程对变量的所有操作(读取,赋值 阅读全文
摘要:
如果现在有五个线程A、B、C、D、E,请问如何用E线程用于统计A、B、C、D四个线程的结果? 题意需要用E线程统计A、B、C、D四个线程,也就是说E线程必须要等到前面四个线程运行结束之后才能执行。那么如何使用E线程来统计前面四个线程的结果呢? 下面介绍两种实现方法: 一、CountDownLatch 阅读全文
摘要:
一、基本概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。 二、基本思想与策略 基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为 阅读全文
摘要:
本文只作为学习笔记,如若侵权请告知,一定及时删除 题目 1 2 思路 1 2 代码 阅读全文