2018年10月11日

java四种线程池类型以及可选择的阻塞队列

摘要: 之前笔记有记录java线程池的拒绝策略,回顾一下线程池的处理任务的优先级: 先考虑corePoolSize、任务队列(缓冲队列)workQueue、最大线程maximumPoolSize,如果三者都满了,使用handler处理被拒绝的任务。 即: 如果运行的线程少于corePoolSize,则 Ex 阅读全文

posted @ 2018-10-11 10:51 植物大戰僵尸 阅读(8333) 评论(0) 推荐(1) 编辑

复习-java向上转型

摘要: 父类的静态块或静态变量(这两种的等级相同,根据代码的先后顺序而定,其他同理)→子类的静态块或静态变量→父类的非静态块或非静态变量→父类的构造函数→子类的非静态块或非静态变量→子类的构造函数 使用父类类型的引用指向子类的对象,即向上转型Parent parent = new Son();该引用只能调用 阅读全文

posted @ 2018-10-11 10:16 植物大戰僵尸 阅读(142) 评论(0) 推荐(0) 编辑

2018年10月10日

synchronized 加在方法和代码块底层实现区别

摘要: 1、同步方法块 被括起来的块分别有指令:monitorenter 和 monitorexit monitorenter: 从之前的笔记知道,每个对象都有一个监视器锁(monitor),当monitor被占用时就会处于锁定状态。线程就是执行monitorenter命令获取monitor锁的。 1、如果 阅读全文

posted @ 2018-10-10 13:51 植物大戰僵尸 阅读(1444) 评论(0) 推荐(0) 编辑

synchronized 和 lock 的区别

摘要: 先谈sleep与wait:sleep()方法导致了程序暂停执行指定的时间,让出cpu给其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运 行状态。另外,在调用sleep()方法的过程中,线程不会释放对象锁。 而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定 阅读全文

posted @ 2018-10-10 13:08 植物大戰僵尸 阅读(234) 评论(0) 推荐(0) 编辑

hashmap-put方法过程

摘要: 1、执行hash(Object key)得到hash值,再判断table是否为空,为空表明这是第一个元素插入,则先resize,初次大小默认16。 2、若不需要初始化,则判断要插入结点的位置是否为空,也就是没有产生Hash地址冲突,是则直接放入table。 3、否则产生了冲突,那么有两种情况:key 阅读全文

posted @ 2018-10-10 11:20 植物大戰僵尸 阅读(2701) 评论(0) 推荐(0) 编辑

2018年10月9日

mybatis-防止sql注入

摘要: 当参数使用 #{xxx} 时,参数不参与到编译过程,编译后用 ? 代替响应的位置,可以预防sql注入。另外,在多次执行同一个sql语句时,也能提高执行速度。 但是使用 ${xxx} 时,参数会参与到编译过程,会引起sql注入,要手工做好过滤工作。 #{xxx} 原理:JDBC PreparedSta 阅读全文

posted @ 2018-10-09 16:29 植物大戰僵尸 阅读(135) 评论(0) 推荐(0) 编辑

synchronized-粗略过程

摘要: JVM书400页中介绍到在HotSpot虚拟机,每个对象的对象头信息中的“Mark Word”含有锁标志位。当对象被synchronized修饰时标志位为10即重量级锁。 在具体的过程中,每个对象都对应一个ObjectMonitor,获得锁即获得ObjectMonitor对象。(一切皆对象) Obj 阅读全文

posted @ 2018-10-09 13:37 植物大戰僵尸 阅读(139) 评论(0) 推荐(0) 编辑

消息队列-观察者模式和发布订阅模式区别

摘要: 发布订阅模式是最常用的一种观察者模式的实现,并且从解耦和重用角度来看,更优于典型的观察者模式。 在观察者模式中,观察者需要直接订阅目标事件;在目标发出内容改变的事件后,直接接收事件并作出响应。在发布订阅模式中,发布者和订阅者之间多了一个发布通道;一方面从发布者接收事件,另一方面向订阅者发布事件;订阅 阅读全文

posted @ 2018-10-09 09:45 植物大戰僵尸 阅读(1317) 评论(2) 推荐(0) 编辑

2018年10月1日

复习-进程的调度算法

摘要: 1、先来先服务(FCFS):非抢占 2、轮转(RR):时间片用完后抢占 3、最短进程优先(SPN):非抢占,下一次选择预计处理时间最短的进程 4、最短剩余时间(SRT):SPN的抢占版,新进程到达时抢占 5、最高响应比优先:非抢占……算了这个懒得看了 6、(多级)反馈:时间片用完后抢占。方案345都 阅读全文

posted @ 2018-10-01 15:01 植物大戰僵尸 阅读(160) 评论(1) 推荐(0) 编辑

2018年9月30日

如果TCP采用两次握手

摘要: 如果TCP采用两次握手: A向B建立连接请求,如果TCP采用两次握手,即只需要B确认了就能成功建立连接。 那么当出现这样的情况:A的第一个连接请求长时间滞留,直到A再次与B成功连接交换完数据并释放后(整整一个过程),B突然收到了一个在互联网中滞留的请求,这样B就会误认为是A的新连接请求,在那边干等A 阅读全文

posted @ 2018-09-30 17:25 植物大戰僵尸 阅读(199) 评论(1) 推荐(0) 编辑

导航