
java
文章平均质量分 78
former87
完善资料给积分
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Mina服务端客户端心跳机制
心跳:1、自定义数据包,在业务逻辑里接收,客户端判断读写空闲,大于一个半的心跳之后,在空闲处理里将session关闭,注册的监听里断线重连2、tcp的keepalive,服务端、客户端相互发确认心跳,设置好对应的心跳场景(服务端写空闲大于n秒后,每隔一个时间周期发送一个心跳1111,客户端读空闲大于n秒后,每隔一个时间周期发送一个心跳2222) 客户端设置超时时间,大于超时时间后,没有收到原创 2017-12-01 12:20:47 · 2540 阅读 · 1 评论 -
swagger2常用注解说明
2017年08月01日 14:00:38阅读数:34494 说明: 1.这里使用的版本:springfox-swagger2(2.4)springfox-swagger-ui (2.4) 2.这里是说明常用注解的含义和基本用法(也就是说已经对swagger进行集成完成) 没有集...转载 2018-06-17 11:23:39 · 927 阅读 · 0 评论 -
HashMap的实现原理
HashMap概述HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。HashMap的数据结构在Java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外。HashMap实际上是一个“链表散列...转载 2018-04-12 15:33:34 · 179 阅读 · 0 评论 -
如何成为架构师
基础题目Java线程的状态进程和线程的区别,进程间如何通讯,线程间如何通讯HashMap的数据结构是什么?如何实现的。和HashTable,ConcurrentHashMap的区别Cookie和Session的区别索引有什么用?如何建索引?ArrayList是如何实现的,ArrayList和LinkedList的区别?ArrayList如何实现扩容。equals方法实现面向对象线程状态,BLOC...转载 2018-04-12 11:58:29 · 246 阅读 · 0 评论 -
深入理解JAVA虚拟机(一)自动内存管理机制
工作N年有余,一直都是使用内存调优,但没有具体了解过细节,最近时间充裕,可以有时间深入理解一下JVM,根据机械工业出版社《深入理解JAVA虚拟机》一书,做一下读书笔记一、自动内存管理机制运行时区域分为:方法区堆虚拟机栈本地方法栈程序计数器1.1程序计数器 线程私有,java虚拟机规范中没有规定任何OutMemoryError情况的区域,如果是一个java方法,计数器记录的是正在执行的虚拟机字...原创 2018-04-17 22:53:14 · 266 阅读 · 0 评论 -
三、kafka常用命令
查看所有topic ./kafka-topics.sh --zookeeper 172.17.161.177:2181,172.17.161.178:2181,172.17.161.179:2181/kafka --list创建topic ./kafka-topics.sh --zookeeper 172.17.161.177:2181,172.17.161.178:2181,172.1...原创 2018-02-28 16:43:39 · 773 阅读 · 0 评论 -
一、kafka原理、部署安装、常用命令
kafka的基本原理kafka的安装部署kafka的常用命令一、Kafka基本原理Kafka架构它的架构包括以下组件:Broker:Kafka节点,一个Kafka节点就是一个broker,多个broker可以组成一个Kafka集群。Topic:一类消息,消息存放的目录即主题,例如page view日志、click日志等都可以以topic的形式存在,Kafka集群能够同时负责多个topic的分发。P...原创 2018-02-28 11:57:34 · 3473 阅读 · 0 评论 -
JAVA 培训(五) Netty
Bootstrap继承结构 ChannelPipeline 责任链模式在Netty里,Channel是通讯的载体,而ChannelHandler负责Channel中的逻辑处理。那么ChannelPipeline是什么呢?我觉得可以理解为ChannelHandler的容器:一个Channel包含一个ChannelPipelin原创 2018-01-20 12:43:04 · 257 阅读 · 0 评论 -
JAVA 培训(三) Socket
Java Socket编程Java最初是作为网络编程语言出现的,其对网络提供了高度的支持,使得客户端和服务器的沟通变成了现实,而在网络编程中,使用最多的就是Socket。像大家熟悉的QQ、MSN都使用了Socket相关的技术。下面就让我们一起揭开Socket的神秘面纱。 1、两台计算机间进行通讯需要以下三个条件:IP地址、协议、端口号2、TCP/IP协议:是目前世界上应用最原创 2018-01-20 00:12:39 · 346 阅读 · 0 评论 -
JAVA 培训(一)
本次培训的内容主要有java iojava niojava socketnio 几种框架的选择netty一、java ioJava IO即Java 输入输出系统。不管我们编写何种应用,都难免和各种输入输出相关的媒介打交道,其实和媒介进行IO的过程是十分复杂的,这要考虑的因素特别多,比如我们要考虑和哪种媒介进行IO(文件、控制台、网络),我们还要考虑具体和它们的通信方式(顺序、随原创 2018-01-12 11:54:33 · 286 阅读 · 1 评论 -
JAVA 培训(四) NIO框架对比
Mina、Netty1. mina、netty的线程模型mina与netty都是Trustin Lee的作品,所以在很多方面都十分相似,他们线程模型也是基本一致,采用了Reactors in threads模型,即Main Reactor + Sub Reactors的模式。由main reactor处理连接相关的任务:accept、connect等,当连接处理完毕并建立一个socke原创 2018-01-20 01:08:57 · 574 阅读 · 0 评论 -
JAVA 培训(二) NIO
异步IO异步 I/O 是一种没有阻塞地读写数据的方法。通常,在代码进行 read() 调用时,代码会阻塞直至有可供读取的数据。同样,write()调用将会阻塞直至数据能够写入,关于同步的IO请参考另一篇文章Java IO。另一方面,异步 I/O 调用不但不会阻塞,相反,您可以注册对特定 I/O 事件诸如数据可读、新连接到来等等,而在发生这样感兴趣的事件时,系统将会告诉您。异步 I/转载 2018-01-19 23:49:19 · 166 阅读 · 0 评论 -
JAVA 培训(二)
1.1 I/O简介I/O即输入输出,是计算机与外界世界的一个借口。IO操作的实际主题是操作系统。在java编程中,一般使用流的方式来处理IO,所有的IO都被视作是单个字节的移动,通过stream对象一次移动一个字节。流IO负责把对象转换为字节,然后再转换为对象。1.2 什么是NIO在Java API中提供了两套NIO,一套是针对标准输入输出NIO,另一套就是网络编程NIO原创 2018-01-19 23:28:11 · 198 阅读 · 0 评论 -
HttpServletRequest接收参数的几种方法
我们经常用servlet和jsp, 经常用request.getParameter() 来得到数据。 request.getParameter()request.getInputStream()request.getReader()这三个方法都是从request对象中得到提交的数据,但是用途不同。要根据表单提交数据的编码方式选择不同的方法。HTML中的form表单的一个关键属性 enctype:1转载 2018-01-19 14:11:26 · 19633 阅读 · 1 评论 -
netty内存泄漏,困扰了好几天的问题找到原文了
自从Netty 4开始,对象的生命周期由它们的引用计数(reference counts)管理,而不是由垃圾收集器(garbage collector)管理了。ByteBuf是最值得注意的,它使用了引用计数来改进分配内存和释放内存的性能。 基本的引用计数 每个对象的初始计数为1: Java代码 ByteBuf buf = ctx.alloc().dir原创 2017-12-17 20:17:56 · 32835 阅读 · 2 评论 -
jconsole visualvm连接远程服务器
因为线上服务器有个socketc程序莫名其妙的cpu很高,我就打算练上去看一下,结果搞了一下午远程连接,最后还是被阿里云给坑了启动程序加一下参数-Djava.awt.headless=true -Djava.rmi.server.hostname=ip-Dcom.sun.management.jmxremote -Dcom.sun.management.原创 2017-12-14 16:17:37 · 330 阅读 · 0 评论 -
Swagger使用
1. Swagger UI按以下步骤配置,项目启动后访问:http://localhost:8080/swagger-ui.html1.1 添加依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</ar...转载 2018-06-17 11:25:02 · 1650 阅读 · 0 评论