摘要:
Unix 5 I/O模型 I/O操作分为两步: (1)先将数据从 存储介质 (磁盘或者网络等)拷贝到 内核缓冲区,此时称为数据准备好,可以被用户读取。 (2)由用户应用程序拷贝内核缓冲区数据 到用户缓冲区。 1.阻塞I/O模型 函数 recfrom 视为系统调用。 不论该函数如何实现, 都会有 从应 阅读全文
摘要:
设计模式 单例模式 在开发中经常会用到单例设计模式,目的就是为了在程序的整个生命周期内,只会创建一个类的实例对象,而且只要程序不被杀死,该实例对象就不会被释放。 指在 JVM 范围内。 定义 保证一个类仅有一个实例,并提供一个访问它的全局访问点 优缺点 1、由于单例模式要求在全局内只有一个实例,因而 阅读全文
摘要:
Java基础 泛型 泛型是通过擦除来实现的。因此泛型只在编译时强化它的类型信息,而在运行时丢弃(或者擦除)它的元素类型信息。擦除使得使用泛型的代码可以和没有使用泛型的代码随意互用。 原始类型和带参数类型 之间的主要区别是: 在编译时编译器不会对原始类型进行类型安全检查,却会对带参数的类型进行检查 通 阅读全文
摘要:
Java基础 final关键字 stop Value change stop Method Overridding Stop Inheritance 1. 修饰类 不想被继承 2. 修饰方法 当一个方法不想被子类覆写(Override)时,可以用final来修饰。另外一方面,把方法用final来修饰 阅读全文
摘要:
Java基础 深拷贝浅拷贝 非基本数据类型 需要new新空间 参考资料 "谨慎覆盖clone" "Java中的clone() 深拷贝 浅拷贝" 阅读全文
摘要:
Java 不可变类 immutable object 不可变类是指这个类的实例一旦创建完成后,就不能改变其成员变量值。 如JDK内部自带的很多不可变类:Interger、Long和String等。 不可变类,指的是 该类的实例不可变,而非指向该实例的引用的不可变 优点 线程安全 当一个对象是不可变的 阅读全文
摘要:
SQL Join 语句 SQL 中每一种连接操作都包括一个连接类型和连接条件。 连接类型 决定了如何处理连接条件不匹配的记录。 连接类型 返回结果 inner join 只包含左右表中满足连接条件的记录 left outer join 在内连接的基础上,加入左表中不与右表匹配的记录,剩余字段赋值为n 阅读全文
摘要:
Git工作流 Fork工作流 每个开发者两个仓库, 一个公开的服务器的仓库和一个私有本地的仓库。 Fork工作流的主要优点在于贡献可以轻易地整合进项目,而不需要每个人都推送到单一的中央仓库。开发者推送到他们 自己的 服务端仓库,只有项目管理者可以推送到官方仓库。这使得管理者可以接受任何开发者的提交, 阅读全文
摘要:
Java 基础 内部类 内部类(嵌套类) nested class 目的为外围类enclosing class提供服务。 四种: 静态成员类 static member class 非静态成员类 nonstatic member class 匿名类 anonymous class 局部类 local 阅读全文
摘要:
Java并发 线程池 关注点 : ThreadPoolExecutor类,创建线程池的核心类。Executors静态工厂方法,通过这个类来创建线程池。 ExecutorService接口 An Executor that provides methods to manage termination 阅读全文