
随笔写
icodeyou
我的github主页: https://github.com/icodeu
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
浅谈用java搭建web服务器之Socket编程——更好的理解Apache、Tomcat等软件的工作模式
之前做web应用一直是在本地装个Apache、Tomcat之类的软件,然后把做好的网页文件放在他们的工作目录下(如Apache的htdocs),然后打开浏览器输入127.0.0.1或localhost就可以直接访问了,好神奇,可是为什么,怎么实现的呢,早就知道有Socket(套接字)这个东西,可之前就是没有把这两方面结合起来,今天我们就一起来看一看这究竟是为什么。 有同学说还不懂Socket是什原创 2014-10-18 21:00:40 · 7689 阅读 · 6 评论 -
再谈用java实现Smtp发送邮件之Socket编程
前几天利用Socket实现了用java语言搭建web服务器,全程下来应该会对Socket这个东西已经使用的非常熟悉了,虽然抽象,但是使用过一次之后就会感受到它在网络通信上的作用是多么的强大!正好,今天就继续用Socket来练习使用以下Smtp协议发送一封简单的电子邮件。今天的故事呢,是我要约我女神出去吃饭啦啦啦~~~所以,面对Smtp,只许成功,不许失败! 全局假定我的邮箱为cnsmtp01@1原创 2014-10-20 23:18:16 · 15236 阅读 · 18 评论 -
使用wireshark抓包分析的思考
上一篇文章提到了一个问题,即为什么telnet登陆pop邮箱的时候用的是明文,至今不解,为了打消telnet会帮我进行加密传输的小疑问,所以就使用wireshark来看一下数据包的内容。依旧使用163邮箱作为实验。打开wireshark,让其抓取我本机网卡的数据包,开始抓包后,通过在cmd中 telnet pop.163.com 110 登陆163服务器,在wireshark里设置过滤规则:原创 2014-10-25 17:57:22 · 12978 阅读 · 2 评论 -
Python安装第三方库时提示找不到python安装路径 出错信息为 Python version 2.7 required, which was not found in the registry
今天在使用python第三方库时,出现了问题,安装PIL这个用于图片处理的库的时候提示我 “Python version 2.7 required, which was not found in the registry”,但是我确实把python加入到环境变量PATH当中了,在CMD当中输入python也是可以的,但安装第三方库时就是找不到python路径。查了一下,问题在于,当python的版原创 2015-02-22 16:07:04 · 3815 阅读 · 0 评论 -
Octopress 搭建静态博客网站
极客学院:在IT领域,很多大牛通过写博客来分享自己的成果,让更多的人能够学习;在面试时,一个有高质量博客的程序员也会更加受到青睐。对于IT人来说,写博客这件事很重要,同时用什么方式来写更能体现一个人的水平。在此,我们弃用传统的 Wordpress,而真正使用程序员的方式来写属于我们自己的博客。原创 2015-05-13 17:51:36 · 593 阅读 · 1 评论 -
ConcurrentHashMap 浅层次总结
学习了 ConcurrentHashMap 的源码,不由地为设计者的思想点赞,现在时间有限,先总结一些我觉得比较有用的知识点,先占个坑,等有时间再详细分析源码。Java 内存模型重排序编译器生成指令的次序,可以不同于源代码所暗示的“显然”版本处理器可以乱序或者并行的执行指令缓存会改变写入提交到主内存的变量的次序内存可见性执行线程 A 的处理器把变量 V 缓存到寄存器中执行线程 A 的处理原创 2015-11-01 11:09:51 · 1364 阅读 · 0 评论 -
CopyOnWrite 浅层次总结
同 ConcurrentHashMap 一样,CopyOnWrite 也是一种多线程并发中使用的容器,实现起来要比 ConcurrentHashMap 简单不少。从 JDK1.5 开始 Java 并发包里提供了两个使用 CopyOnWrite 机制实现的并发容器,它们是 CopyOnWriteArrayList 和 CopyOnWriteArraySet。CopyOnWrite 容器非常有用,可以在原创 2015-11-01 11:12:11 · 771 阅读 · 0 评论 -
单链表逆置
明天阿里面,并无卵用的假装复习一下数据结构,总结一下单链表的逆置算法,包括 复制逆置 和 就地逆置。复制逆置所谓复制逆置,就是再开一个同样的空间,用于存储新的单链表,空间复杂度为O(n)。具体做法:从原链表顺序取元素,采用头插法插入到新的空链表中,完成逆置。复制逆置没有什么难度,主要考的还是 就地逆置。就地逆置就地逆置要保证时间复杂度为O(n) && 无辅助空间。总的来说:设置一指针p总是指向第一个原创 2015-11-01 11:05:07 · 1272 阅读 · 0 评论