本文所有源码来自 JDK 1.8.0_181 HashMap简介 Map是Key-Value对映射的抽象接口,Map用于保存具有映射关系的数据。Map集合里有两组值,一组值用于保存Map里的key,另外一组值用于保存Map里的value,key和value都可以是任何引用类型的数据。key不允许重复,key和value之间存在单向一对一关系,通过key能找到相应的value。 Has... 作者:ldx19980108 发表于 2018/08/24 15:25:44 原文链接 https://blog.csdn.net/ldx19980108/article/details/82019463 阅读:96 继续阅读 >>


李猛 18/08/24 15:25:44
引入 与很多高校一样,西安皇家邮电大学一直钟爱于正方教务管理系统。 前一段时间爬了学校的旧版的教务系统,旧版主页 想了解更多请点击这里:爬取学校教务系统获取学生信息 不知道学校是不是把装空调的拿去买新教务系统了,新教务系统主页 可以看出,学校用的仍然是正方教务系统,不过版本升级了,新教务系统是用Java写的后台,前端用了Bootstrap框架。与旧系统相比,界面美观大方,易用性也... 作者:ldx19980108 发表于 2018/08/20 10:00:19 原文链接 https://blog.csdn.net/ldx19980108/article/details/81866351 阅读:5472 评论:18 查看评论 继续阅读 >>


李猛 18/08/20 10:00:19
引入 前一段时间爬了学校的旧版的教务系统,想了解更多请点击这里:爬取学校教务系统获取学生信息 旧版教务系统主页 不知道学校是不是把装空调的拿去买新教务系统了,新教务系统主页 可以看出,学校用的仍然是正方教务系统,不过这是新的版本。新教务系统是后台是用Java写的,前端用了Bootstrap等,比就系统好看多了,易用性也明显提高。 准备 模拟登陆前,我们首先要清楚需要提交那些数据。 打开F12,我们在访问主页时,除了加载了JS的HTML还向服务器发送了一个get请求。 直接访问它可以获取一个json: {"exponent":"AQAB","modulus":"AIMNm8zi5XkWLRDUy7w6bjypS+d8ng7an00UYH8UZMhUvrDAvpuifsFu+rU6dmMFQHpHGo9ZlyEy9GWy6ev3s8ro15869OIKo\/nwexEnb8AD0DO7NaV9jzDjqRjEldAs5ct9pdjo7SxQccJYfSbFbwb6206w1q4 继续阅读 >>


李猛 18/08/18 17:59:04
生产者消费者问题 一、问题描述 生产者消费者问题(Producer-consumer problem),也称有限缓冲问题(Bounded-buffer problem),是一个多线程同步问题的经典案例。生产者生成一定量的数据放到缓冲区中,然后重复此过程;与此同时,消费者也在缓冲区消耗这些数据。生产者和消费者之间必须保持同步,要保证生产者不会在缓冲区满时加入数据,消费者也不会在缓冲区空时消耗... 作者:ldx19980108 发表于 2018/08/16 08:40:50 原文链接 https://blog.csdn.net/ldx19980108/article/details/81707751 阅读:1142 继续阅读 >>


李猛 18/08/16 08:40:50
关于Java线程的状态网上的说法不一,有的说是6种状态,有的说是5中状态,索性就查看了一下Java源码。Thread类里面有一个枚举类,如下: public enum State { NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED; } 这个枚举类里面有6种类型,所以Java中... 作者:ldx19980108 发表于 2018/08/15 08:19:50 原文链接 https://blog.csdn.net/ldx19980108/article/details/81675241 阅读:419 继续阅读 >>


李猛 18/08/15 08:19:50
本以为JVM中有一个强大的垃圾收集器,能够实时监控资源并即时清除已经死掉的对象。事实上直到现在为止还没有万能的收集器,我们选择的只是对具体应用最合适的收集器,下面就简单说说集中收集器吧。 Serial 收集器 最基本、发展历史最悠久的收集器,在JDK 1.3.1之前是虚拟机新生代收集的唯一选择。它是一个单线程收集器,在它就行垃圾收集工作时,必须暂停其他所有的线程,直到它收集结束。 具有简单高... 作者:ldx19980108 发表于 2018/08/14 08:51:34 原文链接 https://blog.csdn.net/ldx19980108/article/details/81660330 阅读:47 继续阅读 >>


李猛 18/08/14 08:51:34
一、 对象已死嘛 引用计数法 给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被利用的。 引用计数法的实现简单,判定效率也高,但是它很难解决对象间相互循环引用的问题。 比如对象A和B都有字段instance,赋值令A.instance = B且B.instance = A,除此之外,这两个对象再无任何引... 作者:ldx19980108 发表于 2018/08/10 15:04:26 原文链接 https://blog.csdn.net/ldx19980108/article/details/81563606 阅读:65 继续阅读 >>


李猛 18/08/10 15:04:26
一、运行时的数据区域 程序计数器 程序计数器(Program Counter Register)是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。每个线程都有一个独立的程序计数器,彼此间计数器互不影响,独立存储,即是“线程私有”的内存。 在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、跳转、循坏、异常处理、线程恢复等... 作者:ldx19980108 发表于 2018/08/08 08:20:41 原文链接 https://blog.csdn.net/ldx19980108/article/details/81501493 阅读:48 继续阅读 >>


李猛 18/08/08 08:20:41
synchronized 同步方法 方法内的变量为线程安全,实例变量非线程安全。调用关键字synchronized声明的方法一定是排队运行的,如果不是共享资源,那么根本就没有同步的需要。 关键字synchronized取得的锁都是对象锁,而不是把一段代码或方法(函数)当做锁。对于多线程访问同一对象,哪个对象先执行带synchronized关键字的方法,哪个线程就持有该方法所属对象的锁Lock,... 作者:ldx19980108 发表于 2018/08/06 19:22:51 原文链接 https://blog.csdn.net/ldx19980108/article/details/81458620 阅读:262 继续阅读 >>


李猛 18/08/06 19:22:51
上篇博文写到爬取教务系统获取信息时,登录时的验证码是手动输入的,所以就想试试能不能自别识别验证码并填充。查阅了很多信息,选取了Tesseract。 What is Tesseract ? Tesseract是能够运行在多种操作系统上的开源ORC(Optical Character Recognition , 光学字符识别)引擎,目前由Google维护,是最精确的开源ORC引擎之一。与Mic... 作者:ldx19980108 发表于 2018/07/28 16:17:30 原文链接 https://blog.csdn.net/ldx19980108/article/details/81240414 阅读:457 评论:1 查看评论 继续阅读 >>


李猛 18/07/28 16:17:30