自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (2)
  • 收藏
  • 关注

原创 ActiveMQ

Activemq消息发送producer 消息消费consumer1.JMS 是 Java 的一套 API 标准,Activemq遵从JMS标准的消息队列,作用:异步、解耦(注册、发邮件)、流量削峰过载保护(大量请求服务处理不过来可能造成宕机,将消息放到队列再慢慢消费处理),顺序保证(数据处理的顺序很重要,保证数据能按特定的顺序处理。购票、股票委托),可恢复性,可扩展性(解耦了,更容易扩展)2.角色:broker(消息服务器),consumer(消费者),producer(生产者)3.消息模型

2021-02-26 10:30:49 249

原创 dubbo

dubbo rpc 服务治理框架1.面向接口的远程方法调用2.服务的自动注册与发现3.智能容错和负载均衡4.注册中心:列表-》接口名:ip:服务技术(负载倾斜)组成:consumer服务消费者,provider服务提供者,contain容器:依赖于spring启动,monitor :监控中心zookeeper:官方推荐@Reference 注解注入,远程调用接口@Service注解要用apache的5.dubbo admin微服务:横向扩容和纵向扩容Dubbo协议底层默认使用的是n

2021-02-24 11:32:05 86

原创 mysql调优

1.性能监控show variables like 'profiling'; -- 默认是offset profiling=on; -- 开启,只在当前客户端有效,每次都需要开启select * from city where name='Tilburg';show profiles; -- 分析当前会话中sql语句执行的资源消耗情况的工具,可以分析cpu,内存,磁盘io次数等show profile cpu for query 67;show profile all for quer

2021-02-23 18:15:58 76

原创 zookeeper

zookeeper1.ZooKeeper是一个高可用的分布式系统协调框架,保证了分布式环境中数据的强一致性。当部署了多台应用服务器的时候,需要能够做到在一台机器上修改配置文件或者变量,然后在同步到所有应用服务器2.用途:配置中心(发布订阅)、注册中心(ip,端口,服务名提交给zookeeper,维护服务列表,客户端拉取缓存到本地),分布式锁3.特性顺序一致性 - 客户端的更新将按发送顺序进行应用。原子性 - 更新要么成功,要么失败。没有部分结果。单一系统映像 - 客户将看到相同的服务

2021-02-22 18:56:11 103

原创 Redis

1.redis 单机(容量小,压力大)->主从复制(主节点读写,从节点只读)-> 哨兵sentinal(选举出新的主节点)->集群,多主多从,哈希环有16348个哈希槽,redis的key通过哈希一致性算法,和16348进行取模运算,根据得出的数值将数据存储到哪个主节点,每个节点负责一部分哈希槽。redis是缓存数据库,存储键值对。磁盘寻址ms计算,内存寻址ns计算,比磁盘快10万倍。redis是单进程单线程单实例redis采用epoll,多路复用nio,处理大量的连接2.数据类型:

2021-02-21 23:14:24 95

原创 设计模式

单例(SingleTon):类的对象在内存中有且只有一个,类只有一个实例。懒汉式,饿汉式/** * 饿汉式 * 类加载到内存后,就实例化一个单例,JVM保证线程安全 * 简单实用,推荐使用! * 唯一缺点:不管用到与否,类装载时就完成实例化 * Class.forName("") * (话说你不用的,你装载它干啥) */public class Mgr01 { private static final Mgr01 INSTANCE = new Mgr01(); priva

2021-02-19 13:17:31 75

原创 网络编程BIO NIO

BIO:客户端是Socket,服务端ServerSocket,accept() 方法是阻塞方法,一直阻塞直到有客户端连接。可以通过一个while(true)循环,一有客户端连接就创建一个线程,我们可以设想一下如果这个连接不做任何事情的话就会造成不必要的线程开销,线程的创建和销毁是非常消耗资源的,而且一个线程最小占用1M内存,线程之间的切换也消耗资源注意:1.网络编程BIO 谨记:关闭了客户端的socket,也要同时关闭服务端的socket,否则会报错,一端会不断接收另外一端数据2.socket

2021-02-15 16:20:17 88

原创 JVM调优

1.类初始化过程:classloading (加载)classlinking verification(验证,验证文件是否符合JVM规定) -> preparation(准备,静态变量赋默认值) ->Resolution(解析,将类、方法、属性等符号引用解析为直接引用)class initialization (初始化,静态变量初始化)2.对象初始化:申请对象内存 -> 成员变量赋默认值 ->调用构造方法 (成员变量赋初始值)3.类加载器:

2021-02-10 11:51:35 85

原创 JAVA多线程高并发2

2021-02-07完结篇,建议先看我的第一篇多线程高并发~~1.CPU轮询调度,哪个线程获得CPU时间片,获得CPU时间片的线程执行。主线程main,其他线程并行:多核cpu,同一时刻多个线程一起执行 并发:在同一个核心,cpu在多个线程之间切换,看哪个线程获取了cpu的时间片则执行。2.TimeUnit.MILLISECONDS.sleep(1000); TimeUnit.SECONDS.sleep(1); 睡眠1s3.创建线程3种方式:继承Thread类重写run()方法,实

2021-02-07 15:40:38 476 2

文档编辑工具Editplus

Editplus,初学软件开发者常用的代码编辑工具。内有注册码

2019-02-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除