摘要: 对于运行的程序,可以被认为是一个端系统上的进程,当多个进程运行在相同的端系统上时,他们使用进程间通信机制相互通信。而对于不同端系统上的进程间的通讯则需要用到计算机网络。两台计算机发送的内容称为报文。进程通过一个称为套接字(socket,也称为api)的软件接口向网络发送报文和从网络接收报文。可以理解... 阅读全文
posted @ 2019-05-18 16:34 zohy 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 研一的时候软件工程课上老师让实现一个计算文本中某字符串的频率,第一想法就是hashmap键值对,然后老师将给定的1M文本换成了100M,1G。。我还记得第一节课100M测试文档我用笔记本跑了十分钟。。后来师兄提醒用字典树,然后靠着度娘“实现”了老师的要求。。今天心血来潮,又把字典树捡起来简单写了一遍... 阅读全文
posted @ 2019-03-26 17:38 zohy 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 它是在BST的基础上又加了限制条件,限制任一结点的左右子树的高度差不能大于1.也就是说AVL看起来要更加规整。若理想情况--左右子树高度相等,其搜索时间复杂度为log(N),若不理想--线性树,时间复杂度变为O(N)。AVL平衡失控的原因是因为加入了新结点。它有四种失衡状态:AVL树失去平衡之后,可... 阅读全文
posted @ 2019-02-24 10:42 zohy 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 定义:每个节点至多有两个孩子结点,且子树有左右序之分,左子树的键值永远比右子树小,并且小于根键值,且没有键值相等的结点。操作:插入、查找操作注意左右键值大小这一特点。删除操作是重点,若没有子结点或只有一个子结点很好处理,若有两个子结点,删除父结点谁来继位?找到左子树中键值最大的点!用它来代替被删除结... 阅读全文
posted @ 2019-02-24 10:15 zohy 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 在Java开发特别是数据库开发中,经常会用到Class.forName( )这个方法。通过查询Java Documentation我们会发现使用Class.forName( )静态方法的目的是为了动态加载类。在加载完成后,一般还要调用Class下的newInstance( )静态方法来实例化对象以便... 阅读全文
posted @ 2019-02-23 10:07 zohy 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 成员变量有2种:类变量和实例变量类变量(又叫静态变量):前面加static关键字修饰;1、 jvm把.class类加载到方法区里,然后在堆中为.class的类变量开辟内存;堆中的地址存放于栈以便高速访问;2、类变量的生命周期一直持续到整个“系统”关闭;3、一旦赋值它的值就在你new出来的任何一个实例... 阅读全文
posted @ 2019-02-18 19:47 zohy 阅读(451) 评论(0) 推荐(0) 编辑
摘要: 什么是多态?概念:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。简单的说:就是用基类的引用指向子类的对象。 为什么要用多态呢?原因:我们知道,封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了——代码重用。而多态除了代码的复用... 阅读全文
posted @ 2019-02-17 11:23 zohy 阅读(525) 评论(0) 推荐(0) 编辑
摘要: 基础概念编译时编译时顾名思义就是正在编译的时候.那啥叫编译呢?就是编译器帮你把源代码翻译成机器能识别的代码.(当然只是一般意义上这么说,实际上可能只是翻译成某个中间状态的语言.比如Java只有JVM识别的字节码,.另外还有啥链接器.汇编器.为了了便于理解我们可以统称为编译器)那编译时就是简单的作一... 阅读全文
posted @ 2019-02-17 10:27 zohy 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-02-16 15:35 zohy 阅读(328) 评论(0) 推荐(0) 编辑
摘要: public:具有最大的访问权限,可以访问任何一个在classpath下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。protected:主要的作用就是用来保护子类的。它的含义在于子类可以用它修饰的成员,其他的不可以,它相当于传递给子类的一种继承的东西default:... 阅读全文
posted @ 2019-02-16 15:26 zohy 阅读(86) 评论(0) 推荐(0) 编辑