随笔 - 232  文章 - 1  评论 - 24  阅读 - 45万

随笔分类 -  Java

1 2 下一页
Netty的TCP粘包/拆包(源码二)
摘要:假设客户端分别发送了两个数据包D1和D2给服务器,由于服务器端一次读取到的字节数是不确定的,所以可能发生四种情况: 1、服务端分两次读取到了两个独立的数据包,分别是D1和D2,没有粘包和拆包。 2、服务端一次接收到了两个数据包,D1和D2粘合在一起,被称为TCP粘包。 3、服务端分两次读取到了两个数 阅读全文
posted @ 2016-12-09 00:54 松伯 阅读(598) 评论(0) 推荐(0) 编辑
Netty服务端与客户端(源码一)
摘要:首先,整理NIO进行服务端开发的步骤: (1)创建ServerSocketChannel,配置它为非阻塞模式。 (2)绑定监听,配置TCP参数,backlog的大小。 (3)创建一个独立的I/O线程,用于轮询多路复用器Selector。 (4)创建Selector,将之前创建的ServerSocke 阅读全文
posted @ 2016-12-06 23:42 松伯 阅读(2133) 评论(0) 推荐(0) 编辑
NIO源码阅读
摘要:自己对着源码敲一遍练习,写上注释。发现NIO编程难度好高啊。。虽然很复杂,但是NIO编程的有点还是很多: 1、客户端发起的连接操作是异步的,可以通过在多路复用器注册OP_CONNECTION等待后续结果,不需要像BIO的客户端一样被同步阻塞。 2、SocketChannel的读写操作都是异步的,如果 阅读全文
posted @ 2016-12-05 23:50 松伯 阅读(1404) 评论(0) 推荐(0) 编辑
数据集成中间件知识点总结
摘要:数据集成是把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享。 一、模型分类 (1)联邦式数据库系统(Federated Distributed Database System),这种分布式数据库的特点是结点自治和没有全局数据模式,每个结点所看到的数据模式仅仅限 阅读全文
posted @ 2016-09-26 00:54 松伯 阅读(2458) 评论(0) 推荐(0) 编辑
XML编程知识点总结
摘要:DOM和SAX DOM的全称是Document Object Model,也即文档对象模型。基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合,应用程序挣是通过对这个对象模型的操作,来实现对XML文档数据的操作。 DOM接口提供了一种通过分层对象模型来访问XML文档信息的方式,这些分层 阅读全文
posted @ 2016-09-22 11:25 松伯 阅读(438) 评论(0) 推荐(0) 编辑
读写hdfs文件(工作笔记)
摘要:应用场景为,读取hdfs上的文件,并转化成<k,v>形式存入内存。 阅读全文
posted @ 2016-09-18 15:09 松伯 阅读(692) 评论(0) 推荐(0) 编辑
JAVA源码走读(二)二分查找与Arrays类
摘要:给数组赋值:通过fill方法。 对数组排序:通过sort方法,按升序。比较数组:通过equals方法比较数组中元素值是否相等。查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作。 使用如下: 源码解析:package test; 今日太晚,明日再干~ 阅读全文
posted @ 2016-09-13 02:24 松伯 阅读(822) 评论(0) 推荐(0) 编辑
JAVA源码走读(一) HashMap与ArrayList
摘要:HashMap 一、HashMap基本概念: HashMap是基于哈希表的Map接口的实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 HashMap不是线程安全的,如果想要线程安全的HashMap,可以通过Collectio 阅读全文
posted @ 2016-09-13 01:21 松伯 阅读(393) 评论(0) 推荐(0) 编辑
Socket与Http方式解析发送xml消息封装中间件jar包
摘要:最近项目代码中太多重复的编写Document,不同的接口需要不同的模板,于是重写提取公共部分打成jar包,方便各个系统统一使用~ 提取结构: Http连接方式: Socket方式: package SocketClient; import java.io.DataInputStream; impor 阅读全文
posted @ 2016-08-11 12:52 松伯 阅读(2116) 评论(0) 推荐(0) 编辑
java解析命令行参数(common-cli)练习
摘要:A class that implements the CommandLineParser interface can parse a String array according to the Options specified and return a CommandLine. 阅读全文
posted @ 2016-07-10 22:52 松伯 阅读(2492) 评论(0) 推荐(0) 编辑
JDK1.7新特性
摘要:jdk1.7新特性 1 对集合类的语言支持; 2 自动资源管理; 3 改进的通用实例创建类型推断; 4 数字字面量下划线支持; 5 switch中使用string; 6 二进制字面量; 7 简化可变参数方法调用。 下面我们来仔细看一下这7大新功能: 1 对集合类的语言支持 Java将包含对创建集合类 阅读全文
posted @ 2016-04-24 12:56 松伯 阅读(809) 评论(0) 推荐(0) 编辑
Java方法总结与源码解析(未完待续)
摘要:使用StringTokenizer去掉字符串中的空格 主要是通过st.hasMoreTokens实现的去除空格,那么我们观察下源码: public StringTokenizer(String str, String delim, boolean returnDelims) { currentPos 阅读全文
posted @ 2016-04-23 23:22 松伯 阅读(327) 评论(0) 推荐(0) 编辑
LinkedHashMap的实现原理(复习)
摘要:1. LinkedHashMap概述: LinkedHashMap是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 LinkedHashMap实现与HashMap的不同之处在... 阅读全文
posted @ 2015-12-10 20:53 松伯 阅读(270) 评论(0) 推荐(0) 编辑
HashMap 实现原理(复习)
摘要:1. HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。 数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储区间离散,占用内存比较宽松,故空间复杂度很小,... 阅读全文
posted @ 2015-12-09 23:10 松伯 阅读(202) 评论(0) 推荐(0) 编辑
JAVA基础知识
摘要:1. 什么是 Java 虚拟机?为什么 Java 被称作是 “ 平台无关的编程语言 ” ? Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程。 Java 源文件被编译成能被 Java 虚拟机执行的字节码文件。 Java 被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台 阅读全文
posted @ 2015-12-01 23:41 松伯 阅读(327) 评论(0) 推荐(0) 编辑
二叉树的深度
摘要:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 递归函数以参数节点root为根节点的子树的深度 public class TreeNode { int val = 0; TreeNode left = null; TreeNo 阅读全文
posted @ 2015-11-29 19:57 松伯 阅读(162) 评论(0) 推荐(0) 编辑
字符串的排列
摘要:输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。public ArrayList Permutation(String str) { A... 阅读全文
posted @ 2015-11-24 00:17 松伯 阅读(344) 评论(2) 推荐(0) 编辑
从上往下打印二叉树
摘要:从上往下打印出二叉树的每个节点,同层节点从左至右打印。使用两个队列,一个存放节点,一个存放值。将根节点加入到队列中,然后遍历队列中的元素,遍历过程中,访问该元素的左右节点,再将左右节点依次加入到队列中。public ArrayList PrintFromTopToBottom(TreeNode ro... 阅读全文
posted @ 2015-11-22 20:41 松伯 阅读(285) 评论(0) 推荐(0) 编辑
栈的压入、弹出序列
摘要:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。import java.util.A... 阅读全文
posted @ 2015-11-21 22:25 松伯 阅读(249) 评论(0) 推荐(0) 编辑
包含min函数的栈
摘要:定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。public:/*入栈时,判断存放最小元素的栈是否为空,入栈元素是否小于存放最小元素栈的栈顶元素*/ void push(int value) { stacktemp.push(value); i... 阅读全文
posted @ 2015-11-17 23:24 松伯 阅读(241) 评论(0) 推荐(0) 编辑

1 2 下一页
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示