操作系统原理之基础知识 发表于 2017-07-15 | 分类于 学习 操作系统原理之基础知识操作系统是很重要的基础知识,尽管现在的软件开发中不是特别需要考虑很底层的东西,但是了解操作系统的知识,对编程的深入理解也是有裨益的。现在结合这篇博客对操作系统基础知识做一些巩固和总结。 基本概念在信息化时代,软件被称为计算机系统的灵魂。而作为软件核心的操作系统,已经与现代计算机 ... 阅读全文 »
一个有趣的面试题:Integer的缓存机制 发表于 2017-07-12 | 分类于 学习 一个有趣的面试题:Integer的缓存机制微信上看到了一个有趣的面试题,其实也是关于Integer的底层实现的一些细节。整理记录一下哈哈。 面试题这是一个简单的Java程序,真的很简单的。1234567891011121314public class IntegerCacheTest { ... 阅读全文 »
MVC设计模式和三层结构联系 发表于 2017-07-10 | 分类于 学习 MVC设计模式和三层结构的联系这个是最近在简书上看到的,转载了原作者文章,并且自己也做了补充。 简述在软件开发中,MVC与三层架构这两个专业词汇经常耳闻,同时总有很多人将它们混为一谈,认为三层架构就是指MVC,给它画上等号,但实际上,这是错误的认知,并不是说它们没有任何关系,而是MVC与三层架构不 ... 阅读全文 »
Java的异常分类和处理原则 发表于 2017-05-04 | 分类于 学习 Java的异常分类和处理原则刚刚学习Java时,感觉异常处理很累赘,在发生异常时就随便的try-catch或者throw,也不理解为什么要设立这个复杂的处理机制。直到真正着手做一些练习或者项目时,才日益发觉异常处理的重要性,胡乱处理既给开发的程序留下隐患,也对开发调试不利。为此,整理了一下异常相关的 ... 阅读全文 »
算法的时间和空间复杂度 发表于 2017-02-19 | 分类于 算法 算法的时间和空间复杂度算法分析是很重要的过程,一个算法的好坏由很多因素可以判断。算法也是应用的精髓,比如导航中的算法等等。 算法分析为什么要进行算法分析预测算法所需的资源: 计算时间(CPU 消耗)内存空间(RAM 消耗)通信时间(带宽消耗) 预测算法的运行时间: 在给定输入规模时,所执行的基 ... 阅读全文 »
Java中的进制转换和ScaleConvertUtils 发表于 2016-12-28 | 分类于 学习 Java中的进制转换和ScaleConvertUtils复习Java基础时,学到了进制转换部分,就想着自己搞了一个进制转换的工具类,当然工具类还有不完善的地方。 工具简介进制转换在JavaAPI中已经封装,但是自己实现还是有很多要学习的地方,涉及到无符号数的表示、负数的转换、浮点数在计算机中的表示、 ... 阅读全文 »
过桥问题和倒水问题 发表于 2016-12-19 | 分类于 算法 过桥问题和倒水问题过桥问题和倒水问题都是笔试面试中的热门智力题,不但微软、GOOGLE、百度、腾讯等公司采用,甚至在IQ测试与公务员考试中都能见到。 在此整理下具体的做法。 过桥问题 在漆黑的夜里,四位旅行者来到了一座狭窄而且没有护栏的桥边。如果不借助手电筒的话,大家是无论如何也不敢过桥去的。不幸的 ... 阅读全文 »
结合UML图理解类之间的关系(Java) 发表于 2016-11-18 | 分类于 学习 结合UML图理解类之间的关系(Java)Java是一门面对对象的语言,用来抽象的描述不同对象之间的关系。对象之间的关系主要有泛化、实现、依赖、关联、聚合、组合。刚刚学习Java时,觉得很陌生,现在查阅一些资料后,整理出这篇博客。 基本概念泛化(generalization)概念:指的是一个类(称为子 ... 阅读全文 »
为什么计算机存储负整数为反码+1 发表于 2016-10-28 | 分类于 学习 为什么计算机存储负整数为反码+1在学习计算机基础时,数值存储在计算机中均是补码形式,正整数在计算机存储是原封不动的,原来什么样,存储也是什么样,也就是说补码=原码=反码;而负整数却是补码=反码+1,反码为原码的除符号位均取反。那么为什么负整数要这样存储? 负整数的存储首先看两个正整数相加,比如 7 ... 阅读全文 »
理解字符集和编码以及Java中的乱码解决 发表于 2016-10-02 | 分类于 学习 理解字符集和编码以及Java中的乱码解决回顾复习一下字符集和编码,以及如何解决Java中乱码的问题,也查阅整理了Java中char的含义。 基本概念1、字符、字节、字 字符:人类使用的记号,抽象意义上的一个符号。比如阿拉伯数字“1”,英文字母“A”,中文汉字“中”。 字节:计算机中的一个存储单位,8 ... 阅读全文 »