- 博客(15)
- 收藏
- 关注
转载 扫盲大队-线程池
一、是什么在聊线程池之前,想厘清并发和并行的概念。并发(Concurrency)的实质是一个物理CPU(也可以多个物理CPU) 在若干道程序(或线程)之间多路复用,并发性是对有限物理资源强制行使多用户共享以提高效率。从微观角度来讲:所有的并发处理都有排队等候,唤醒,执行等这样的步骤,在微观上他们都是序列被处理的,如果是同一时刻到达的请求(或线程)也会根据优先级的不同,而先后进...
2018-08-04 16:49:00
163
转载 Java基础—注解
一、是什么看到一句很牛逼也很能拿出来装逼的话:比较糟糕的技术文档主要特征之一就是——用专业名词来介绍专业名词。用这句话来解释官方文档对注解的解释很恰当:Java 注解用于为 Java 代码提供元数据。Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用。敲黑板划重点:An...
2018-07-27 15:25:00
155
转载 记一次xstream引起的内存泄漏
一、起支付系统突然出现频繁的超时,查看error日志没有什么发现,凭经验去gc日志瞅一眼,有频繁的full gc,而且每两次gc,老年代会有80%的内存无法被回收,基本确认是系统出现内存泄漏,导致老年代空间被占满,频繁触发full gc,full gc 触发stop the word,导致业务接口超时。二、承2.1、dump内存数据#netstat -tunlp|g...
2018-07-21 15:15:00
963
转载 服务治理
一、是什么 服务治理的内容应该是包含但不仅限于以下点:服务定义,服务版本治理,服务迁移,服务消息模型,统一鉴权(应用鉴权、用户鉴权、OAuth鉴权、ACL),服务发现(注册中心),服务变更管理,服务监控,服务扩容缩容,服务自我保护,服务降级,服务授权防攻击,服务上线验证和灰度发布,服务问题定位和跟踪,服务负载,服务实例的调度等等。其中,服务注册、服务订阅、服务变更下发是最基础的...
2018-07-15 23:40:00
135
转载 Java基础-脚本构建发布项目
一、开发环境:Maven+Tomcat+Spring二、项目构建1、以项目名称分别创建构建脚本文件ttyc-pay.sh和存放代码的文件文件夹ttyc-pay2、进入代码文件夹,从GitLab拉代码git clone git@gitlab.XXX3、编写构建脚本ttyc-pay.shsh ttyc-pay.sh三、项目发布1、进入构建脚本里的u...
2018-07-11 19:38:00
214
转载 SOA面向服务架构
一、是什么 SOA架构,是一种粗粒度、开放式、松耦合的服务结构,要求软件产品在开发过程中,按照相关的标准或协议,进行分层开发。以粗粒度的业务服务作为基础来对公司业务进行建模;以业务服务为基础来实现的IT系统更灵活、更易于重用、也更快地应对企业业务需求的变化。 SOA将应用程序的不同功能单元通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立...
2018-07-07 19:10:00
108
转载 微服务架构
一、是什么微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成,这些服务使用不同的编程语言实现,以及不同数据存储技术,并保持最低限度的集中式管理。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。微服务架构的目的是将大型的、复杂的、长期运行的应用程序构建为一组相互配合的...
2018-07-04 23:25:00
141
转载 Java基础-读写分离实现
一、是什么 所谓读写分离,就是应用程序对数据库的操作请求分发到读库和写库,查询操作分发到读库(从库),增删改操作分发到写库(主库)。二、有什么用 读写分离主要是为了解决业务数据量大后,读写操作在一个库上操作引起数据库性能问题,通过将请求按类型分发,缓解数据库压力,提高应用程序的执行效率。三、怎么用 目前读写分离实现方案主要有两种:中间件解决和业务层解决。 ...
2018-06-29 19:59:00
295
转载 Zookeeper入门
一、是什么 Zookeeper 作为一个分布式高可用、高性能的开源协调服务框架,主要用来解决分布式集群中应用系统的一致性和多个进程间的同步控制问题,分布式应用程序可以基于 Zookeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。Zookeeper提供基于类似于文件系统的目录节点树方式的数据存储,...
2018-06-21 20:59:00
101
转载 再回首,恍然如梦
一、fail-fast和fail-safefail-fast: 在用迭代器遍历一个集合对象时,如果遍历过程中(当前线程或者其他线程)对集合对象的内容进行了增删改,则会抛出Concurrent Modification Exception,称为迭代器的快速失败特性。 原理:迭代器在遍历时直接访问集合中的内容,并且在遍历过程中使用一个 modCount 变量。集合在被遍历...
2018-06-15 11:13:00
186
转载 kafka入门
一、是什么 Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志、消息系统。擅长实时的处理大量数据以满足各种需求场景:基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等。 kafka的设计目的:以时间复杂度为O(1)的方...
2018-06-14 00:02:00
113
转载 Java基础-多线程
一、是什么 从硬件或软件上实现多个线程并发执行的技术。 针对Java来说,Java编写程序都运行在在Java虚拟机(JVM)中,在JVM的内部,程序的多任务是通过线程来实现的。每用java命令启动一个java应用程序,就会启动一个JVM进程。在同一个JVM进程中,有且只有一个进程,就是它自己。在这个JVM环境中,所有程序代码的运行都是以线程来运行。 在Java程序中,J...
2018-06-10 21:28:00
106
转载 Netty入门
一、是什么 Netty是一个高性能、异步事件驱动、基于Java NIO的异步的可扩展的客户端/服务器网络编程框架。 Netty提供了对 TCP、UDP 和文件传输的支持,作为一个异步 NIO 框架,Netty 的所有 IO 操作都是异步非阻塞的,通过 Future-Listener 机制,用户可以方便的主动获取或者通过通知机制获得 IO 操作结果。 Netty对网络编程...
2018-06-06 21:30:00
106
转载 NIO
一、是什么 NIO:(non-bloking IO)非阻塞IO,为所有的原始类型提供缓存(buffer)支持。字符集编码解码解决方案。支持锁和内存映射文件的文件访问接口。提供多路非阻塞式的高伸缩性网络IO。(果然官网上都是一些非人类的东西)。 IO:广义的IO指的是计算机与外部世界或者是程序与计算器其他部分的接口。狭义上Java里的IO只的是面向流的老IO接口。 1.1...
2018-06-03 23:56:00
94
转载 Java基础-集合
一、是什么 集合就是存放多个数据的对象。容器类。 集合最基础的祖师爷接口Collection和Map。Collection是存放多个符合某些规则(List接口有序可重复、Set接口无序不可重复、Queue接口先进先出)的数据,每个位置只有一个元素;Map存放多个键值对数据,每个位置是一个键值对,键唯一,值可不唯一。 Iteartor接口被所有集合类实现,用于遍历集合。...
2018-05-29 22:20:00
111
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人