
知识点总结
CoderYanyan
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
简单总结一下设计模式,重点是单例模式
设计模式一单例模式 几大原则 单一职责原则 (一个类只负责一个功能领域中的相应职责) 高内聚 低耦合 开闭原则(对扩展开放,对修改关闭) 里氏替换原则(所有引用基/父类的地方必须能透明地使用其子类的对象) 喜欢动物,那一定喜欢狗 依赖倒置原则(抽象不应该依赖于细节,细节应当依赖于抽象,针对接口编程) 接口隔离原则(客户端不应该依赖那么它不需要的接口,大接口化小) 迪米特原则(最少知识原则) 又...原创 2019-04-12 14:02:36 · 132 阅读 · 0 评论 -
传输层之TCP与UDP总结(一)
传输层 传输层是整个网络体系结构中的关键层次之一,主要负责向两个主机中进程之间的通信提供服务,传输层向高层用户屏蔽了下面网络层的核心细节,使应用程序看起来像是在两个传输层实体之间有一条端到端的逻辑通信信道。 复用是指:发送方的不同的应用进程都可以使用同一个传输层协议传送数据; 分路技术是指:接收方的传输层剥去报文首部之后能把这些数据正确的传输到正确的应用进程上。 UDP首部 首部字段只有 8...原创 2019-08-03 22:24:42 · 264 阅读 · 0 评论 -
Java中的String,StringBuilder,StringBuffer三者的区别
Java中的String,StringBuilder,StringBuffer三者的区别 下面从源码角度深入分析下三者 String public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for...原创 2019-05-23 12:35:50 · 147 阅读 · 0 评论 -
JAVA中的"=="和equals的区别
JAVA中的"=="和equals的区别 1 “==” == 操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同 比较基本类型和引用变量时只能用== 如果是对象类型,Objet obj = new Object() obj占用栈内存 比较内存首地址 new Object()占用堆内存 比较内存中的数值 2 equals比较两个独立对象...原创 2019-05-23 11:45:00 · 115 阅读 · 0 评论 -
接口和抽象类
接口和抽象类是JAVA面向对象设计的两个基础机制 接口是对行为的抽象,它是抽象方法的集合,利用接口可以达到 API 定义和实现分离的目的。 抽象类的目的是代码重用 接口 抽象类 构造方法 无 可有 普通成员变量 必须为public f...原创 2019-05-12 23:28:39 · 111 阅读 · 0 评论 -
IO相关总结
IO 1 同步异步、阻塞非阻塞 1.1 同步与异步 1.2 阻塞IO与非阻塞IO 1.3 区别 2 IO模型 2.1 阻塞IO模型 2.2 非阻塞IO模型 2.3 多路复用IO模型 2.4 信号驱动IO模型 2.5 异步IO模型 3 JAVA NIO 3.1 NIO 简介 3.2 NIO 组件 4 IO多路复用底层实现 4.1 select 4.2 poll 4.3 epoll 4.4 总结: 5 Reference原创 2019-05-12 17:19:24 · 342 阅读 · 0 评论 -
Spring IOC的简单实现
Spring IOC XML 解析 基础方法 DOM解析 SAX解析 只适用于java平台的方法 JDOM解析 DOM4J解析 参见博客:https://www.cnblogs.com/longqingyang/p/5577937.html 实现一个简单的IOC容器 1、DOM4J解析xml文档 2、反射创建类实例 3、hashmap存储实例 4、getBean返回实例 实现参考了大佬博客:h...原创 2019-04-25 14:49:33 · 133 阅读 · 0 评论 -
ReentrantLock和synchronized的对比
ReentrantLock和synchronized的对比 相同点 1、独占 ReentrantLock和synchronized都是独占锁,只允许线程互斥的访问临界区。但是实现上两者不同:synchronized加锁解锁的过程是隐式的,用户不用手动操作,优点是操作简单,但显得不够灵活。一般并发场景使用synchronized的就够了;ReentrantLock需要手动加锁和解锁,且解锁的操作尽量...原创 2019-05-05 19:47:06 · 319 阅读 · 0 评论 -
Redis数据结构与对象(一)
Redis数据结构与对象 字符串 Redis,自己构建了一种名为简单动态字符串的抽象类型SDS 数据结构 struct sdshdr{ // 记录buf数组中已经使用字节的数量 // 等于SDS所保存字符串的长度 int len; // 记录buf数组中未使用的字节的数量 int free; // 字节数组,用于保存字符串 char buf[...原创 2019-04-29 20:02:38 · 126 阅读 · 0 评论 -
JAVA异常处理机制
JAVA异常处理机制 分类 受检查异常和不受检查异常 不受检查异常 也称为运行时异常,多指程序逻辑上出现问题,编译器把处理该异常的工作交给了程序员 受检查异常 必须使用throws或者try-catch语句内throw抛出异常,不然无法编译通过 Throwable Java异常体系的基类是Throwable,它主要有两个子类:Error 和 Exception。其结构如下图: ...原创 2019-04-24 23:35:03 · 230 阅读 · 0 评论 -
JVM GC简单总结
JVM GC漫谈 GCRoots GC Roots是一些由堆外指向堆内的引用,可作为GC Roots的对象包含但不限于 虚拟机栈中引用的对象 方法区中类静态属性引用的对象 方法区中常量引用的对象 本地方法栈中引用的对象 哪些对象需要垃圾回收? 对象到GC Roots没有引用链 jvm如何判断对象是否存活? 引用计数法 每个对象自身持有一个计数器,每当对象被一个地方引用那么计数...原创 2019-04-17 11:52:33 · 253 阅读 · 0 评论 -
ThreadLocal
ThreadLocal简介 ThreadLocal是一个本地线程副本变量工具类。主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰,在高并发场景下,可以实现无状态的调用,特别适用于各个线程依赖不同的变量值完成操作的场景。—— 线程安全 深入ThreadLocal源码 Thread源码中有这样一个threadLocals变量: ThreadLocal.ThreadLoca...原创 2019-07-28 13:54:00 · 137 阅读 · 0 评论