设计模式和设计原则

策略模式

定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。

观察者模式

定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。

构造器模式(类中构造静态类Builder,用于构建合法域内的对象,而非使用构造函数)
策略模式
模板模式
装饰者模式
享元模式(多个对象都是同一个值,这些对象都是不可变的,就可以共享这些值,比如Integer.ValueOf)
单例模式

设计原则

  • 找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。
  • 针对接口编程而不是针对实现编程。
  • 多用组合,少用继承。
  • 为了交互对象之间的松耦合设计而努力。

笔试题错题集锦

最近在刷笔试题,实在是看不下去,可还是得硬着头皮看下去,毕竟要想活得比别人漂亮,找个好工作很关键啊!!!所以收集一些平时不太了解或者易错的题。未完,待续~~

C/C++

一:

先看下面一段简单的程序:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<stdio.h>
int main()
{
double i = 10.0000;
if(i == 10)
printf("i是10\n");
for(i = 0; i != 10; i += 0.1)
{
printf("%.1f\n", i);
if(i == 10)
break;
}
return 0;
}

运行结果如下:

JAVA基础知识点摘录2

String

String类具有不可变性。使用 StringBuilder 或 StringBuffer 就可以避免这个问题。

StringBuilder 和StringBuffer,它们基本相似,不同之处,StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,所以性能略高。因此一般情况下,如果需要创建一个内容可变的字符串对象,应优先考虑使用 StringBuilder 类。

除了String类,所有数值类,Integer,Double,Character,BigInteger也是不可变的。

包装类

基本数据类型不具备对象特性,不能调用方法,所以java为每个基本数据类型都提供了一个包装类,使其具有对象特性。基本类型和包装类对应关系。

包装类主要提供了两大类方法:

  1. 将本类型和其他基本类型进行转换的方法

  2. 将字符串和本类型及包装类互相转换的方法

git常用命令

git config 配置或读取相应的工作环境变量

git config –global user.name “name”
git config –global user.email “email”

git init 创建本地仓库

git add file 工作区提交到暂存区

git commit -m “instruction” 提交到本地仓库

git status 查看是否有文件被修改过

git diff file 工作区与暂存区的比较

git diff –cached 暂存区与本地库比较

git diff HEAD file 工作区域本地库比较

编译性语言、解释性语言和脚本语言

【摘抄】

计算机只能直接理解机器语言,所以任何语言,都必须将其翻译成机器语言。

编译和解释

翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。

编译型语言写的程序在被执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。

解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。

linux 常用命令

学习linux是一个很漫长的过程,需要不断地动手练习才能灵活使用它。

基础指令

date、cal、bc(计算器)

文件与目录管理

touch、mkdir、cp(在本机进行拷贝不能跨服务器)、scp(scp传输是加密的,基于ssh登陆进行安全的远程文件拷贝,win下有pscp)、mv(相同目录下使用为重命名,不同目录下为剪切)、rm(rm -rf一定要少用!!!深受其害!!! ~~o(>_<)o ~~)、file(查看文件类型)、pwd(查看当前路径)、ls(ls -l -a -h)、whoami(目前身份)

链接命令

ln(常用ln -s 建立软链接,硬链接不常用)