- 军军小站|张军博客
搜索到与相关的文章
编程技术

如何阅读他人的程序代码

作者简介:王建兴,清华大学资讯工程系的博士研究生,研究兴趣包括计算机网络、点对点网络、分布式网络管理、以及行动式代理人,专长则是Internet应用系统的开发。曾参与过的开发项目性质十分广泛而且不同,从ERP、PCGame到P2P网络电话都在他的涉猎范围之内。一、读懂程序代码,使心法皆为我所用程序代码是别人写的,只有原作者才真的了解程序代码的用途及涵义。许多程序人心里都有一种不自觉的恐惧感,深怕被迫去碰触其他人所写的程序代码。但是,与其抗拒接收别人的程序代

系统 2019-08-29 22:57:47 1732

编程技术

遍历二叉树的各种操作

先使用先序的方法建立一棵二叉树,然后分别使用递归与非递归的方法实现前序、中序、后序遍历二叉树,并使用了两种方法来进行层次遍历二叉树,一种方法就是使用STL中的queue,另外一种方法就是定义了一个数组队列,分别使用了front和rear两个数组的下标来表示入队与出队,还有两个操作就是求二叉树的深度、结点数。。。#include"iostream"#include"queue"#include"stack"usingnamespacestd;//二叉树结点的

系统 2019-08-29 22:43:14 1732

编程技术

ConcurrentLinkedQueue的实现原理分析

1.引言在并发编程中我们有时候需要使用线程安全的队列。如果我们要实现一个线程安全的队列有两种实现方式:一种是使用阻塞算法,另一种是使用非阻塞算法。使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现,而非阻塞的实现方式则可以使用循环CAS的方式来实现,本文让我们一起来研究下DougLea是如何使用非阻塞的方式来实现线程安全队列ConcurrentLinkedQueue的,相信从大师身上我们能学到不少并发编程的技

系统 2019-08-29 22:40:24 1732

编程技术

又一个周六,再次被偷。在城市,你被偷过几次?

又是周六,昨天下楼一看,电动车电池被偷。。。。。。而就是一个月前,也是周六,自行车被偷,小偷似乎会定期清扫小区,或者说他的目标区域上已经走了一个轮回,现在是又一轮了,哎如果见到这个贼,我杀它的心都有....两次被偷让我又想起了05年,12月份,也是被偷,两辆自行车:第一辆:全新,刚买第19天,蒲东农工商超市门口,已上锁,连车带锁被偷第二辆:前面被偷,同事有个闲置自行车,80元拿到,同事保养好,八成新,过21天,被偷,锁剪断,锁留下,车被偷似乎有上这么几年不

系统 2019-08-29 22:38:24 1732

编程技术

带动画效果的简单Tips显示

项目地址:https://github.com/nhaarman/supertooltips我比较懒,懒得以后重新写了,所以直接copy了。用法:packagecom.haarman.supertooltips;importandroid.app.Activity;importandroid.os.Bundle;importandroid.os.Handler;importandroid.view.LayoutInflater;importandroid.

系统 2019-08-29 22:17:54 1732

编程技术

我跳槽是因为他们的显示器更大

好的技术人员向往具有很强的企业技术文化氛围的工作场所。但如何你能从外部看清一个企业的技术文化状态?这里要讲的是我使用的两个简单而好用的参考指标。首先我要讲讲“企业技术文化”这个词指的是什么。它是指技术人员在一个企业内受重视的程度和重要性。它能从一些事情上体现出来:公司里的决策是如何制定出来的?在一个具有很好的技术文化的公司里,技术人员参与要做什么、何时做、由谁来做等决策制定。并不是说有最终拍板权,而是有真正的发言权。对开发软件这个工种是否尊重?开发软件是一

系统 2019-08-29 22:13:28 1732

编程技术

openfire插件 servlet开发

1、首先建一个SampleServlet类,(名字随意。)继承HttpServletpackagecom.maojd.test;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequ

系统 2019-08-29 22:10:42 1732

编程技术

一、二级缓存([尚硅谷]_张晓飞_Mybatis 学习笔

1.一级缓存:基于PerpetualCache的HashMap本地缓存,其存储作用域为Session,当Sessionflush或close之后,该Session中的所有Cache就将清空。2.二级缓存与一级缓存其机制相同,默认也是采用PerpetualCache,HashMap存储,不同在于其存储作用域为Mapper(Namespace),并且可自定义存储源,如Ehcache。3.对于缓存数据更新机制,当某一个作用域(一级缓存Session/二级缓存Na

系统 2019-08-29 22:10:20 1732

编程技术

第二十二章 集成验证码——《跟我学Shiro》

目录贴:跟我学Shiro目录贴在做用户登录功能时,很多时候都需要验证码支持,验证码的目的是为了防止机器人模拟真实用户登录而恶意访问,如暴力破解用户密码/恶意评论等。目前也有一些验证码比较简单,通过一些OCR工具就可以解析出来;另外还有一些验证码比较复杂(一般通过如扭曲、加线条/噪点等干扰)防止OCR工具识别;但是在中国就是人多,机器干不了的可以交给人来完成,所以在中国就有很多打码平台,人工识别验证码;因此即使比较复杂的如填字、算数等类型的验证码还是能识别的

系统 2019-08-29 22:00:40 1732

编程技术

UNIX环境高级编程 进程间通讯

相关函数列表//管道#includeintpipe(intfd[2]);//标准I/O库提供了两个函数,实现的操作是创建一个管道fork一个子进程关闭未//使用的管道端,执行一个shell运行命令,然后等待命令终止//type类似fopen函数,有"r","w"或者"rw"等#includeFILE*popen(constchar*cmdstring,constchar*type);intpclose(FILE*fp)

系统 2019-08-12 09:29:37 1732