摘要: 同步和异步 同步和异步通常用来形容一次方法的调用。同步方法的调用必须等到该方法返回后才能继续接下来的行为。异步方法更像一个消息传递,一旦调用就会立即返回,调用者可以继续接下来的操作,而异步方法通常会在另一个线程中执行,不会妨碍调用者的工作。 并发和并行 并发和并行都可以表示多个任务一起执行,但是侧重 阅读全文
posted @ 2019-02-22 21:28 linchutao_shsf 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 简单工厂模式 简单工厂其实不是一个设计模式,反而比较像是一种编程习惯。 缺点:每次增加一个新的具体产品类(比如新加一个排球类),都得修改工程类的方法增加一个判断,不符合开闭原则(对扩展开放,对修改封闭) 工厂方法模式: 工厂模式解决了简单工厂中的增加一个产品类要修改工厂类代码的问题。每次新增新的产品 阅读全文
posted @ 2018-07-30 21:48 linchutao_shsf 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 垃圾回收器回收哪部分内存? 关于jvm内存结构可查看另一篇随笔:https://www.cnblogs.com/shamgod-lct/p/9341567.html 程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊的执行着出栈和入栈的操作。这几 阅读全文
posted @ 2018-07-29 15:38 linchutao_shsf 阅读(98) 评论(0) 推荐(0) 编辑
摘要: Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人想出来。——《深入理解Java虚拟机》周志明 Java的运行时数据区域 程序计数器:是一块较小的内存空间,是当前线程所执行的字节码的行号指示器。该区域是线程私有的,也是唯一一个不会抛出OutOfMem 阅读全文
posted @ 2018-07-22 15:34 linchutao_shsf 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 类加载的时机:类从被加载到虚拟机的内存中,到卸载内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载7个阶段。其中验证、准 阅读全文
posted @ 2018-07-21 23:38 linchutao_shsf 阅读(552) 评论(0) 推荐(0) 编辑
摘要: Server元素:是整个server.xml文件的根元素,代表整个tomcat容器。一个Server元素中可以有一个或多个Service元素,每个Service元素代表一个对外的服务。 Service元素:对外提供服务,可以包含多个Connector,但是只能包含一个Engine,Connector 阅读全文
posted @ 2018-07-18 11:12 linchutao_shsf 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 多态是同一个行为具有多个不同表现形式或形态的能力。 多态的优点:1、低耦合 2、易扩展 3、可替换性 多态存在的必要条件:继承 重写 父类引用指向子类对象 成员变量的多态性: 编译的时候,参考父类中的成员变量,如果有,编译成功,如果没有,编译失败。 运行的时候,运行的是父类中的变量值。 1 pack 阅读全文
posted @ 2018-07-17 16:22 linchutao_shsf 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 1、表锁和行锁 表锁和行锁锁的粒度不一样,表锁锁住的是一整张表,行锁锁住的是表中的一行数据,行锁是开销最大的锁策略,表锁是开销最小的锁策略。 InnoDB使用的是行级锁,MyISAM使用的是表级锁。 注意:在InnoDB中,例如模糊查询select * from tb where name like 阅读全文
posted @ 2018-07-16 15:49 linchutao_shsf 阅读(6575) 评论(6) 推荐(1) 编辑
摘要: 一、继承Thread类 java中类是单继承的,继承了该类就无法继承其他类,增加了代码的耦合度,现在提倡的是面向接口编程。 二、实现Runnable接口 相比与方式一,使用实现接口来实现,降低了程序间的耦合度,缺点是没有返回值。 三、实现Callable接口,将Callable实例传给FutureT 阅读全文
posted @ 2018-07-16 15:24 linchutao_shsf 阅读(276) 评论(0) 推荐(0) 编辑