摘要: 1.什么是线程? 线程是操作系统能够运行的最小调度单位,他被包含在进程中,是进程中实际运作的单位。 2.线程和进程的区别 线程是进程的子集,一个进程有很多线程,每个线程执行不同的任务,不同的进程使用不同的内存空间,而所有线程共享一片内存空间,每个线程都有单独的栈内存用来存储本地数据。 3.如何在ja 阅读全文
posted @ 2017-03-02 20:46 随心2017 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 1.spring事务有几种方式 注解和配置文件 2.spring事务的隔离级别和传播行为 a。 PROPAGATION_REQUIRED 支持当前事务,如果当前没有事务,就新建一个事务 b。PROPAGATION_SUPPORTS 支持当前事务,如果当前没有事务,就以非事务方式运行 c。PROPAG 阅读全文
posted @ 2017-03-02 19:37 随心2017 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 1.接口加默认方法,使用default关键字 2.匿名对象类调用使用lambda表达式 3.函数式接口 4.Date api 5. 注解 阅读全文
posted @ 2017-03-02 18:26 随心2017 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 1。类的加载过程 a。加载-链接-初始化-使用-卸载 加载: 查找并加载类的二进制数据 链接: 验证类的正确性,为类的静态变量分配内存,并将其初始化为默认值,把类的符号引用转换为直接引用。 初始化: 类加载: 把class文件读入内存中,放在方法区内,然后在堆区创建一个class对象,用来封装类在方 阅读全文
posted @ 2017-03-02 18:12 随心2017 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 1.redis不仅仅支持简单的k/v模型,同时还提供list,set,zset,hash等数据结构的存储 2.redis支持数据的备份,即master-slave模式 3.redis支持数据的持久化,可将内存中的数据保存在磁盘中,重启的时候可以再次加载使用。 阅读全文
posted @ 2017-03-02 17:29 随心2017 阅读(132) 评论(0) 推荐(0) 编辑
摘要: Nginx:一款能承受高并发的HTTP服务器,异步的,多个连接(万级别)可以对应一个进程,进行响应。基于事件驱动模型。 Nginx优点:负载均衡、反向代理、处理静态文件优势。 Apache:相对于Nginx来说,同步多进程模型,一个连接对一个进程方式处理请求。在速度上和消耗来说,Apache不能承受 阅读全文
posted @ 2017-03-02 17:12 随心2017 阅读(2025) 评论(0) 推荐(0) 编辑
摘要: 1. 基于数据库的悲观锁调用: select * from account where name=”Erica” for update 这条sql 语句锁定了account 表中所有符合检索条件(name=”Erica”)的记录。 本次事务提交之前(事务提交时会释放事务过程中的锁),外界无法修改这些 阅读全文
posted @ 2017-03-02 17:11 随心2017 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 1.纵向分表 a。根据活跃度来分表,变化频度慢,查询次数多,称为冷数据,变化频路高的数据,称为活跃数据。 b。冷数据使用mylsam可以更好的查询数据,活跃数据使用Innodb,可以有更好的更新速度 c。对于一些特殊的活跃数据,也可以考虑使用redis,memcache之类的缓存,或者mongodb 阅读全文
posted @ 2017-03-02 17:08 随心2017 阅读(442) 评论(0) 推荐(0) 编辑
摘要: 例如你有一个 学生表。 字段包含 学号, 班级, 姓名,性别, 出生年月日。 你创建一个 组合索引 ( 班级, 姓名) 那么 SELECT * FROM 学生表 WHERE 班级='2010级3班' AND 姓名='张三' 将使用索引. SELECT * FROM 学生表 WHERE 班级='201 阅读全文
posted @ 2017-03-02 17:02 随心2017 阅读(8473) 评论(0) 推荐(1) 编辑
摘要: 1.synchronized 用在方法和代码块的区别? a. 可以只对需要同步的使用 b.与wait(),notify()和notifyall()方法使用比较方便 2.wait() a。释放持有的对象锁,线程进入等待池,释放cpu,其他正在等待的线程可以获得锁,而sleep方法,线程会休眠一段时间, 阅读全文
posted @ 2017-03-02 17:01 随心2017 阅读(2947) 评论(0) 推荐(0) 编辑
摘要: 1.clone() a.是一个native方法,效率比非native高 b.是protected 修饰的,要用他必须继承object,默认都是继承object的 c.返回是一个object 对象,需要强制转换为需要的对象。 2.getClass() a.可以获得一个类的定义信息,根据这对象的方法可以 阅读全文
posted @ 2017-03-02 16:33 随心2017 阅读(1301) 评论(0) 推荐(0) 编辑