自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 redis

redis 高可用性 当数据保存时 redis挂调 1.RDB 隔断时间把数据存入本地磁盘中 不适用于实时系统2.AOF 实际工作中使用 写入日志中redis 几种 模式 1.主从模式:主节点 读写 两个从节点 读2.哨兵模式:四个节点 另一个哨兵节点 ,哨兵会监控,当主节点挂掉,会从从节点选举出一个作为主节点3.集群模式:多个主节点模式,实现高可用redis

2017-03-27 23:42:29 166

原创 java 虚拟机 垃圾回收机制

特指 存于内存中,不会在被使用的对象,而回收就是相当于把垃圾“倒掉 ”垃圾回收有很多算法:如引用计数法,标记压缩法,复制算法,分代,分区的思想。 -XX:MaxTenuringThreshold ,默认情况下为15 表示新生代经厉15次GC进入老年代

2017-03-26 21:55:57 228

原创 java 虚拟机 参数配置

堆分配参数(一)-Xms5m 设置Java程序启动时初始化大小-Xmx20m 设置Java程序能获得的最大堆大小-XX:+PrintGCDetails  可以产看详细细心,包括各个区的情况-XX:+UseSerialGC 配置窜行回收器-XX:+PrintCommandLineFlags 可以将隐式或显示传给虚拟机的参数输出public class Test01 {

2017-03-26 00:15:34 394

原创 java 虚拟机基础介绍

1.类加载子系统:负责从文件系统或者网络中加载Class的信息,加载的信息存放在一块称之为方法区的内存空间2.方法区:就是存放类信息,常量信息,常量池信息,包含字符串字和数字常量等3.java堆:在Java虚拟机启动的时候建立java堆,它是java程序最主要的内存工作区域,几乎所有对象的实力都存放在java堆中,堆空间是所有线程共享的。4.直接内存:java的NIO库允许java程序

2017-03-25 23:56:55 214

原创 java Activemq 结构介绍

1.Connection 方法的使用当一个Connection被创建时,它的传输默认是关闭的,必须使用start方法开启,一个Connection可以建立一个或多个Seesion。当一个程序执行完成后,必须关闭之前创建的Session,meassageProducer和messageConsumerConnection connectionFactory.createConnectio

2017-03-22 23:49:44 603

原创 java Activemq的HelloWorld

Activemq可以说是核心,是基础,是一个完全支持JMS规范的JMS Provider实现 ,实现JMS 接口的消息中间件简单介绍一下JMS的术语:Provider (messageProvider):生产者Consumer(messsageConsumer):消费者PTP:PONIT TO POINT 即点对点的消息模型;Pub/Sub: Publish/Subscri

2017-03-20 23:43:45 295

原创 java NIO 网络编程

IO(BIO) 和NIO 的区别:其本质就是阻塞和非阻塞的区别 阻塞概念:应用程序在获取网络数据的时候,如果网络传输数据很慢,那么程序就一直等着,直到传输完毕为止。 非阻塞概念:应用程序直接可以获取已经准备就绪好的数,无需等待。(会将数据放在缓存区,加载完后 会给客户端发送一个信号,客户端会读取数据)IO为同步阻塞模式,NIO为同步非阻塞模式,NIO并没有实现异步,而JDK1.7以

2017-03-19 22:26:41 234

原创 NIO流行框架 Mina 自定义编解码器

1.自定义的编解码工厂:要实现编解码工厂就要实现ProtocolCodecFactory这个接口.2.实现自定义编解码器:1)实现自定义解码器:实现ProtocolDecoder接口2)实现自动自定义的编码器:实现ProtocolEncoder接口3.为什么要使用自定义的编码器:因为中往往不是通

2017-03-19 22:21:53 487

原创 NIO流行框架 Mina IOBuffer接口

1.IOBuffer:基于javaNio中的ByteBuffer做了封装,用户操作缓冲区中的数据,包括基本数据类型以及字节数组和一些对象.其本质就是一个可动扩展的byte数组. 2.IoBuffer的索引属性:capacity:代表当前缓冲区的大小position:理解成当前读写位置,也可以理解成下一个可读数据单位的位置.Positionlimit:就是下一

2017-03-19 21:54:20 490

原创 NIO流行框架 Mina IOSession接口

1.IOSession:主要描述我们的网络通信双方所建立的连接之间描述.IOSession的作用:可以完成对于连接的一些管理.可以发送或则读取数据,并且可以设置我们会话的 上下文信息. 2.IOSessionConfig:提供我们对连接的配置信息的描述.比如读缓冲区的设置等等.IOSessionConfig,设置读写缓冲区的一些信息,读和写的空闲时间,以及设置读写超

2017-03-19 21:52:19 642

原创 NIO流行框架 Mina IOFilter接口

1.IOFilter:对应用程序和网络这块的传输,就是二进制数据和对象之间的相互转化,有相应的解码和编码器。这也是我们过滤器一种,我们队过滤器还可以做日志。消息确认等功能。 2.IOFilter类图:是在应用层和我们业务层之家过滤层 3.完成自定义过滤器:就是在往handler处理之前 需要调用相应的过滤器进行过滤.Client:业务hand

2017-03-19 21:35:28 473

原创 NIO流行框架 Mina 体系结构介绍

1.Mina在应用程序中处于什么样的地位主要屏蔽了网络通信的一些细节,对sokcet进行封装,并且是NIO的一个实现架构.可以帮助我们快速的开发网络通信.常常用户游戏的开发,中间件等服务端程序. 2.IOService接口用于描述我们的客户端和服务端接口,其子类是connector和Accptor,分别用于描述我们的客户端和服务端.IOproceser多线程环境

2017-03-19 11:06:12 329

原创 NIO流行框架 Mina helloword

一.Mina框架介绍Apche开发的一个开源的网络通信框架,基于我们javaNIO来实现二.练习简单的服务端步骤 1.NIOSocket 2.设置编码解码过滤器 3.设置一些session属性 4.绑定一个端口package com.ccop;import java.io.IOException;import java.net.

2017-03-19 10:52:38 420

原创 java 核心集合框架

一.集合的体系结构: List、Set、Map是这个集合体系中最主要的三个接口。 List和Set继承自Collection接口。 Map也属于集合系统,但和Collection接口不同。 Set不允许元素重复。HashSet和TreeSet是两个主要的实现类。Set 只能通过游标来取值,并且值是不能重复的。 List有序且允许元素重复。ArrayList、LinkedLi

2017-03-12 12:21:56 217

原创 NIO流行框架 Netty

Netty 实现通信的步骤:1.创建两个NIO线程组,一个专门用于网络事件处理(接受客户端的连接),另一个则进行网络通信读写。2.创建一个ServerBootstrap对象,配置Netty的一系列参数,例如接受传出数据的缓存大小等。3.创建一个实际处理数据的类Channellnitalizer,进行初始化的准备工作,比如设置接受传出数据的字符 格式 以及实际处理数据的接口4.绑定接

2017-03-09 23:38:56 680

原创 java Socket 网络编程

一个简单最古老的Socket 通信例子:应用程序通常通过Socket 向网络发出请求或者应答网络请求Socket 和ServerSocket  ServerSocket是服务器端,Socket是客户端建立网络连接时使用的,在连接成功时,应用程序两端都会产生一个Socket实例(1)服务器监听:是服务器端套接字并不定位具体的客户端套接字,而是出于等待连接的状态,实时监控网络状态(2)

2017-03-07 23:54:47 181

原创 java 多线程 锁

在Java多线程中,我们可以使用synchronized关键字来实现线程间的同步互斥工作,那么其实还有一个更优秀的机制去完成 这个同步互斥的工作他就是Lock对象重入锁,在需要进行同步的代码部分加上锁定,但不要忘记最后一定要释放锁定,不然会造成永远无法释放,其他线程永远进不来的结果。public class UseReentrantLock { private Lock lo

2017-03-04 18:43:14 192

原创 java 多线程 Concurrent.util常用类

CyclicBarrier使用:假设有只有一个场景:每个线程代表一个跑步运动员,当运动员都准备好后,才一起出发,只要有一个人没有准备好,大家都等待CountDownLacth使用:经常用于监听某些初始化操作,等初始化执行完毕后,通知主线程继续工作。(就是让当前线程阻塞)public class UseCountDownLatch { public static void mai

2017-03-04 17:45:46 811

原创 java 多线程 线程池

Executor 框架为了更好控制多线程,JDK提供为了一套线程框架Executor,帮助开发人员有效地进行线程控制,其中一个Executors 他扮演这线程工厂的角色,我们通过Executors 可以创建特定功能的线程池。Executors 创建线程池方法:newFixedThreadPool()方法,返回一个固定数量的线程池,改方法的线程数始终不变,当有一个任务提交时,若线程池中空

2017-03-04 16:09:18 227

空空如也

空空如也

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

TA关注的人

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