- 浏览: 120656 次
- 性别:
- 来自: 杭州
最新评论
-
weiwangchao:
最后一段没看明白。
深入:文本格式和二进制格式到底有什么不同? -
zbingwen:
代码下载是个二进制文档啊
python通信+多线程动手项目——多用户IM -
逸情公子:
不错不错,总结的很好,呵呵,以后面试之前就不用自己去看源码了 ...
再探集合框架(二)——深入源码看数据结构 -
zhonglou001:
您好,代码下载之后,打开为乱码??
python通信+多线程动手项目——多用户IM -
luliangy:
编程之美嘿嘿
让CPU舞动起来
文章列表
如果大家看java.util.HashMap的源码的话,无非需要注意以下几点:
1、k-v如何put/get/remove
2、扩容机制
3、实际使用时,如何配置自己的table初始容量和装载因子的大小
4、如果是并发环境需要注意同步
5、key的hashcode与equals方法重写
下面,我将就这几点来谈谈我的想法:
1、k-v如何put/get/remove
首先请看懂这篇文章:http://www.iteye.com/topic/754887
上面这篇文章对put/get以及讲解的还是比较详细的,我自认为很难有新的东西讲出来,所以不赘述了。
不过,我想补充几点:
a 关于HashMa ...
我们都知道使用线程池能够控制线程的数量,尤其是大量的“短命”线程存在时,线程池将大大降低系统消耗(内存和CPU)。不过,线程池也同样需要管理,于是我写了本篇。
首先,我们来看看管理器的整个继承关系:
显而易见,有ThreadPoolExecutor和ScheduledThreadPoolExecutor两个实现类,当然Executor类里也有一些内部类实现了特定的功能(如class DelegatedScheduledExecutorService),我们也可以自己通过扩展这里所有的接口、抽象类、类来实现自己的特定功能,如继承ThreadPoolExecutor类,覆写bef ...
在开发Socket项目的时候,如果是开发一个自己玩玩,当然不用考虑效率、安全性等问题,可是如果是一个企业级的,你就不得不关注这几点。本系列文章将我们实验室里的Socket程序变成企业级的应用。
NIO编程肯定是一个很好的解决方案,不过这部分留在以后讨论。今天我想说说如何让你的阻塞的Scoket程序高效、安全的跑起来。
一开始,大家会编出一个单线程的Scoket程序,然后我们发现这个程序根本不能够连接多个客户端,于是我们引入“多线程”,使我们的程序能够同时处理多个客户端。
我相信,到现在为止如果没有深入研究过Socket编程,大家一般还是停留在“一客户一线程”的初级模式。如果是个位数的客户, ...
这篇我准备从源码的高度来看看集合中各个实现类的是如何组织我们存进去的数据的,主要包括Java类库中提供的几个具体的类:
LinkedList
ArrayList
HashMap
HashSet
TreeMap
TreeSet
PriorityQueue(顺序按下面的讲解顺序)
-----------------------------------------------------------------------------------------------------
1、java.util.LinkedList<E>
当我们创建一个LinkedList类的对象,并且试图 ...
URI URN URL区别联系
- 博客分类:
- Web
来自 RFC 3986的解释是:
A URI can be further classified as a locator, a name, or both. The term "Uniform Resource Locator" (URL) refers to the subset of URIs that, in addition to identifying a resource, provide a means of locating the resource by describing its primary access mechanism (e.g. ...
项目描述:实现多人异步文字聊天
技术选型:python的socket模块、Tkinter模块、threading
开发工具:vim
开发过程:
1、首先画出整个系统服务器和客户端的交互图,将整个的系统的逻辑理清【见附图3 服务器客户端交互 ...
分三块:
1、节点中的TCP/IP协议结构
2、direct routing举例
3、indirect routing举例
1、节点中的TCP/IP协议结构
Figure 1描述了一个TCP/IP网络中单interface的节点结构。TCP UDP协议属于transport layer,IP/ARP协议属于internet layer。在tcp/udp和上层的network application通信的时候通过port区分。因为ip module只有一个,所以,transport layer和internet layer层通信,ip header需要有一个标明tr ...
TCP/IP RFC
TCP/IP RFC
TCP/IP 标准是在一系列称为 RFC 的文档中发布的。RFC 是目前仍在发展的描述 TCP/IP 和 Internet 内部工作的一系列报告、协议的提议以及协议标准。
虽然 TCP/IP 标准通常由 RFC 发布,但不是所有的 RFC 都被最 ...
插入排序
直接插入排序 折半插入排序 二路插入排序 表插入排序 希尔排序
交换排序
冒泡排序 快速排序
选择排序
简单选择排序 堆排序
归并排序
2-路归并排序
基数排序
1 插入 ...
高效学习
显然,我们容易被网络信息时代各种信息包围。我们的工作学习容易被各种事件打断。比如你是学生,在寝室看书时同学玩游戏死命的叫,难免不影响到你。其他诸如电话、QQ、邮件等等都会打断我们专注的学 ...
测试截图:
实际上,这里只是试图给出判定前后点击的两个的单元格是否可以连通的一个通用算法。
连通的要求是
1、判断是否连通的始末两个单元格均不为空且值相同(即真正实现连连看的时候图片相同)
2、连通的路径上,有图片的单元格是不能通过的
3、路径不能走回头路,也就是说在路径上节点不能重复出现
4、不可以溢出图形的边缘寻找路径
下面贴出所有所有的代码,能够直接运行测试的。
如果你想试试是不是能跑,而又不想复制粘贴下面的代码,可以直接到附件里下载。
import java.util.Random;
import java.util.Stack;
/**
* 打印行的连连看模拟 ...
1、如何计算算法的时间复杂度
在计算算法时间复杂度时有以下几个简单的程序分析法则:
1.对于一些简单的输入输出语句或赋值语句,近似认为需要O(1)时间
2.对于顺序结构,需要依次执行一系列语句所用的时间可采用大O下"求和法则"
求和法则:是指若算法的2个部分时间复杂度分别为 T1(n)=O(f(n))和 T2(n)
=O(g(n)),则 T1(n)+T2(n)=O(max(f(n), g(n)))
特别地,若T1(m)=O(f(m)), T2(n)=O(g(n)),则 T1(m)+T2(n)=O(f(m) + g(n)) ...
此贴被lz删了!
自白:
帖是怎么回事?就是醒目的标题+流氓化的语言。
不是!
这些只是手段,帖背后是各种心态,各种观点,各种口水。
我当然希望将这个帖引向有意义的方向,尽管我一开始语言比较偏激,不过不偏激
就不吸引眼球,就像电影海报一样。
大家被吸引进来了,lz当然最好能将一个问题引导向平和和辩证的方向。
毕竟,真正有意义的不是为了看热闹、喷lz,更重要的是这个问题能深入讨论,能有些收获!
在这里发帖就得有准备去迎接口水,并且得笑着去迎接。
当然,我也特明白某些人发口水的心理。我想说的是,我已经尽量用平和的语气在后续的跟帖中说话了!
我想说,喜欢喷的人,回家对 ...
读这本看似晦涩的书,我所能依靠只是我在文学作品中、在仅有的生产实践中获得的心灵的敏捷,当然这种敏捷的获取离不开我个人的一些特质。当然除了依靠这些,人类长期时间积累下的经验、学说等等也都是我可以依靠的。
今天主要谈谈社会美、自然美。
人在江湖身不由己
红尘滚滚
……
等等一些文学上的句子,都隐晦表达出这样一种矛盾:现代科技工艺和工具理性的泛滥化所带来的人性丧失,人的非理性的个体生存价值的遗忘、失落和沦落,作为感性个体的人被吞食、被同化、被搁置在无处不在的科技理性的形式结构中而不再存在。人做了有自己所发现、掌握、扩大的形式力量和理性结构的奴隶。
现代浪漫派对科技工艺的感伤、否定的虚无主义 ...
写这些,我只是想获得一种对自由和自我行为的自觉性而已。
一、讨论问题需要有前提和情境!
读的过程中,我发现有不少问题和论述过去有隐约出现在我的头脑中,可是它们并没有经过思辨。
比如,在“美学是什么”这节一开始抛出这些疑问:世界是这样的生动活泼、变幻多样,为什么硬要找出一种可能并不存在的“规律”或“问题”来管辖它、规范它、破坏它呢?这种“规范”或“问题”真正存在吗?这是不是某种“本质主义”的荒谬?
如果什么都要问到底的话,我也觉得是问不出什么的。例如很多问题最后只能归结到,神的意志、自然界的客观规律等底线。所以,正如“中庸之道”里所提的,我们在作出判断、思辨、决定的时候,必须要有情 ...